Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

cours:cours_home_automation_bat5_2014_2015

Module Home Automation BAT5

Intervenant : Baptiste Philibert

@

Equipements Pédagogiques

Equipements Matériels

Equipements Logiciels

  • Protocole de communication avec la Domus Box
  1. adresse IP par défaut : 192.168.1.123
  2. login et mot de passe par défaut : admin / domus
  3. mode de connexion : socket TCP, par défaut sur le port 30303
  4. communication à travers des payloads 'ascii'
  5. Contrôle des Relais (1 à 6)
 
    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}#
    
  1. Contrôle des Sorties analogiques (1 et 2)
db#{PASSWORD}#69#{X}{YYY}#
  1. Les status des la DomusBox sont envoyés automatiquement toutes les secondes à travers la connexion TCP sous la forme :
db#12#{RELAIS}#{ENTREES_DIGITALES}#{IA}#{IB}#{OA}#{OB}
  1. 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

Procédure d'installation de l'environnement logiciel de travail sur vos PCs

  1. IDE
    https://developer.android.com/sdk/installing/studio.html
    
    Requirements:
        - Java Development Kit (JDK) 6 or higher
  2. Emulator
    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.

Programme Pédagogique

  • Séance 1 :
    - 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
  • Séance 2 :
    - 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
  • Séance 3 :
    - 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!
  • Séance 4 :
    - 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"
  • Séance 5 :
    - 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
  • Séance 6 :
    - 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
cours/cours_home_automation_bat5_2014_2015.txt · Dernière modification: 2014/11/24 12:42 par philibert