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édentesRévision précédente
Prochaine révision
Révision précédente
cours:cours_home_automation_bat5_2014_2015 [2014/10/19 22:33] – [Equipements Pédagogiques] philibertcours:cours_home_automation_bat5_2014_2015 [2014/11/24 11:42] (Version actuelle) – [Equipements Pédagogiques] philibert
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 ===
  
  
-  - IDE +  - IDE<code>
 https://developer.android.com/sdk/installing/studio.html https://developer.android.com/sdk/installing/studio.html
  
 Requirements: Requirements:
-  * Java Development Kit (JDK) 6 or higher +    - Java Development Kit (JDK) 6 or higher 
- +</code> 
-  - Emulator+  - Emulator<code>
 http://www.genymotion.com http://www.genymotion.com
-    - Installer la distrib incluant VirtualBox et Genymotion installer.+    - Liste à puceInstaller la distrib incluant VirtualBox et Genymotion installer.
     - Installer le plugin pour IntelliJ:     - 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".+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.  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.+Warning: to use this plugin, Genymotion must be installed on your system. "
     - Créer un compte sur Geny Motion.     - Créer un compte sur Geny Motion.
 +</code>
  
 === Programme Pédagogique === === Programme Pédagogique ===
Ligne 38: Ligne 65:
  
   * Séance 1 :   * 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 :   * 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 :   * 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.1413758035.txt.gz · Dernière modification : 2014/10/19 22:33 de philibert