Outils pour utilisateurs

Outils du site


cours:cours_home_automation_bat5_2014_2015

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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/09/19 16:41]
tigli [Equipements Pédagogiques]
cours:cours_home_automation_bat5_2014_2015 [2014/11/24 12:42] (Version actuelle)
philibert [Equipements Pédagogiques]
Ligne 3: Ligne 3:
 Intervenant : Baptiste Philibert Intervenant : Baptiste Philibert
  
 +@
 ==== Equipements Pédagogiques ==== ==== Equipements Pédagogiques ====
  
Ligne 8: Ligne 9:
  
   * Domus Box de l'​entreprise [[http://​fr.domus-automation.fr/​|Domus Automation]]   * Domus Box de l'​entreprise [[http://​fr.domus-automation.fr/​|Domus Automation]]
 +
  
 === 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 ===
 +
 +
 +  - IDE<​code>​
 +https://​developer.android.com/​sdk/​installing/​studio.html
 +
 +Requirements:​
 +    - Java Development Kit (JDK) 6 or higher
 +</​code>​
 +  - Emulator<​code>​
 +http://​www.genymotion.com
 +    - Liste à puceInstaller la distrib incluant VirtualBox et Genymotion installer.
 +    - Installer le plugin pour IntelliJ:
 +" The installation of the plugin can be done by launching IDEA and going to "File / Settings"​ menu, then go to "IDE Settings"​ section, then "​Plugins"​.
 +Click on "​Browse repositories"​ button and search "​Genymotion"​ entry. Follow the steps indicated by IDEA. 
 +Warning: to use this plugin, Genymotion must be installed on your system. "
 +    - Créer un compte sur Geny Motion.
 +</​code>​
 +
 +=== Programme Pédagogique ===
 +
 +
 +  * Séance 1 :
 +<​code>​
 +    - Présentation du module
 +    - Présentation de la DomusBox
 +    - Installation et découverte de l'​environnement de développement
 +    - Création du projet AndroidStudio "​Domus"​
 +    - Présentation de l'​architecture d'un projet AndroidStudio
 +</​code>​
 +
 +  * Séance 2 :
 +<​code>​
 +    - Présentation détaillée de l'​architecture de projet AndroidStudio : Manifest, resources, build gradle, Activity, Fragments, vues Layout et composants
 +    - Déploiement du projet sur le simulateur GenyMotion, le simulateur Android, de vrais téléphones Android
 +    - Démarrage du projet "​Domus"​ : gestion de l'​écran de connexion
 +</​code>​
 +
 +  * 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>​
cours/cours_home_automation_bat5_2014_2015.1411137671.txt.gz · Dernière modification: 2014/09/19 16:41 par tigli