Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cours:cours_home_automation_bat5_2014_2015 [2014/10/20 00:47] philibert [Equipements Pédagogiques] |
cours:cours_home_automation_bat5_2014_2015 [2014/11/24 12:42] (Version actuelle) philibert [Equipements Pédagogiques] |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
=== Equipements Logiciels === | === Equipements Logiciels === | ||
+ | * Protocole de communication avec la Domus Box | ||
+ | - adresse IP par défaut : 192.168.1.123 | ||
+ | - login et mot de passe par défaut : admin / domus | ||
+ | - mode de connexion : socket TCP, par défaut sur le port 30303 | ||
+ | - communication à travers des payloads 'ascii' | ||
+ | - Contrôle des Relais (1 à 6) | ||
+ | <code> | ||
+ | db#{PASSWORD}#12#r{X}on# | ||
+ | db#{PASSWORD}#12#r{X}of# | ||
+ | db#{PASSWORD}#12#r{X}tg# | ||
+ | db#{PASSWORD}#12#r{X}pu|{SSS}# | ||
+ | </code> | ||
+ | - Contrôle des Sorties analogiques (1 et 2) | ||
+ | <code>db#{PASSWORD}#69#{X}{YYY}#</code> | ||
+ | - Les status des la DomusBox sont envoyés automatiquement toutes les secondes à travers la connexion TCP sous la forme : | ||
+ | <code>db#12#{RELAIS}#{ENTREES_DIGITALES}#{IA}#{IB}#{OA}#{OB}</code> | ||
+ | - Legende : | ||
+ | * {PASSWORD} : à remplacer par le mode de passe entré dans la page de configuration, par défaut 'domus' | ||
+ | * {X} : à remplacer par le numéro du relais ou de la sortie analogique, c'est une valeur pouvant aller de 1 à 6 dans le cas du relais, et 1 à 2 dans le cas des sorties analogique. En entrant la valeur 0 il est possible de commuter l'ensemble des relais en une seule commande. | ||
+ | * {SSS} : à remplacer par le nombre de secondes à attendre avant de re-basculer le relais dans son état initial | ||
+ | * {YYY} : à remplacer par nombre de 1 à 254 permettant de faire varier la tension de sortie de 0 à 10V | ||
+ | * {RELAIS} : 1 nombre entier qui représente l'état de l'ensemble des sorties. Utiliser un masque logique pour connaitre l'état de la sortie voulue. | ||
+ | * {ENTREES_DIGITALE} : 1 nombre entier qui représente l'état de l'ensemble des entrées digitale. Utiliser un masque logique pour connaitre l'état de l'entrée voulue. | ||
+ | * {IA},{IB} : 1 nombre de 0 à 254 qui représente la valeur de l'entrée analogique A ou B | ||
+ | * {OA},{OB} : 1 nombre de 0 à 254 qui représente la valeur de la sortie analogique A ou B | ||
+ | | ||
+ | * Schéma de raccordement de la DomusBox : http://www.ecaste.com/raccordementLT.png | ||
+ | |||
=== Procédure d'installation de l'environnement logiciel de travail sur vos PCs === | === Procédure d'installation de l'environnement logiciel de travail sur vos PCs === | ||
Ligne 53: | Ligne 81: | ||
* Séance 3 : | * Séance 3 : | ||
+ | <code> | ||
+ | - Mise en place du "flow" de l'application : démarrage de la "MainActivity", création du fragment "ConnexionFragment" | ||
+ | - Rappel des concepts de programmation objet, de l'héritage | ||
+ | - Gestion des événements "click" sur les éléments d'interface, affichage des "Toast" Android | ||
+ | - Déploiement de l'application sur émulateur ou téléphone réél | ||
+ | - Débug des environnements de développements...hétérogènes! | ||
+ | </code> | ||
- | ... | + | * Séance 4 : |
+ | <code> | ||
+ | - Gestion des préférences utilisateurs : intégration d'une librairie tierce permettant la rétro-compatibilité | ||
+ | - Création d'un écran de "réglages utilisateurs" pour sauver l'adresse IP et le numéro de port TCP de la box à connecter automatiquement | ||
+ | - Re-lecture des clés "shared-preferences" pour exploitation dans la logique fonctionnelle et graphique de l'application | ||
+ | - Traitement des cas d'erreurs depuis l'écran de connexion utilisant ces "réglages utilisateurs" | ||
+ | </code> | ||
+ | |||
+ | * Séance 5 : | ||
+ | <code> | ||
+ | - Plus d'autonomie : création libre d'un déroulé type à partir de l'écran de connexion | ||
+ | - Création du fragment "control" (code + layout XML), chargement du fragment depuis l'écran de connexion | ||
+ | - Création d'une interface avec "ToggleBouton", récupération et traitement des événements de clique | ||
+ | - Préparation pour l'envoi de commandes vers la box | ||
+ | </code> | ||
+ | |||
+ | * Séance 6 : | ||
+ | <code> | ||
+ | - Connexion socket | ||
+ | - Création d'une classe DomusSettings avec constructeur, getter et setter personnalisé | ||
+ | - Utilisation des AsynTask pour réaliser une connexion socket à la box en dehors du UI thread depuis le ControlFragment | ||
+ | - Gestion des Try Catch et de la classe de Log | ||
+ | - Debug d'une application Android à l'aide des points d'arrêt et du debugger | ||
+ | </code> |