HOMEAGAIN
Pol Maire, Julian Guerin, Noé Malzieu	

Philippe Chrétien, Pascal Lepaisant, Pierre Besson	

10/04/2014	

KleeGroup
1
26	

Milliards
chiffre Gartner
HOMEAGAIN	

-	

OBJETS CONNECTES DE
LA MAISON
8
Constructeurs Développeurs
API API
API	

APPLICATION PROGRAMMING INTERFACE
Logiciel	

!
Application web
Demande d’information
Envoi d’informations
Applications
tierces
API	

Documentation
A	

P	

I
Constructeurs Développeurs
API API
ADMINAPP
HOMEAGAIN	

STORE
• Gestion du profil
HomeAgain	

• Administration des
capteurs
• Bibliothèque
d’applications	

• Achat d’applications
MONITORING
APP
POWERSAVE
• Visualisation des
données	

• Vue par pièces
• Mesure des dépenses
énergétiques	

• Jeu social pour les
améliorer
ARCHITECTURE	

D’ENSEMBLE
17
Capteurs	

!
!
!Température 1 Humidité Porte Température 2
Capteurs	

!
!
!Température 1 Humidité Porte Température 2
Hub central de récupération
Capteurs	

!
!
!Température 1 Humidité Porte Température 2
Hub central de récupération
API Interne BDD
API Externe
Serveur Cloud
Capteurs	

!
!
!Température 1 Humidité Porte Température 2
Hub central de récupération
API Interne BDD
API Externe
Serveur Cloud
App 1 App 2 App 3 App 4 App 5
21
SOLUTIONS	

TECHNIQUES
22
Capteurs
Hub
Applications
Serveur cloud
Capteurs
Hub
Applications
Serveur cloud
Arduino
Arduino: l’électronique à la portée de tous
Avant	

• circuits électroniques dédiés	

• coûts élevés	

• compétences spécifiques requises	

!
« L’électronique programmée »:	

• un circuit unique et générique	

• un microcontrôleur (mini ordinateur) programmable qui peut être adapté à de
nombreux usages (programmation en C)	

!
Les avantages d’Arduino (2005):	

• le prix: 25€TTC	

• logiciel gratuit et open source	

• cartes électroniques dont les schémas sont en libre circulation	

!
→ outil de choix pour le prototyping rapide de solutions techniques	

!
Capteurs
Hub
Applications
Serveur cloud
!
• Branchement des capteurs sur les entrées
périphériques	

!
• Collecte de données brutes	

!
• Envoi au Hub de récupération via USB
Arduino
Capteurs
Hub
Applications
Serveur cloud
Raspberry Pi
RaspberryPi: le nano-ordinateur à bas prix
Un véritable ordinateur …	

• Processeur	

• Mémoire vive (RAM)	

• Port USB (clavier, souris…)	

• Sortie vidéo et audio	

• Système d’exploitation: Linux	

!
Le tout en version « mini » …	

• Puissance / 4	

• Mémoire / 8	

• Espace disque / 30	

!
À un prix dérisoire	

• 30 € l’unité
Capteurs
Hub
Applications
Serveur cloud
• Reçoit les données de l’Arduino via USB	

!
• Agrège, traite et organise ces données	

!
• Envoie ces données au Serveur Cloud central
via Internet (HTTP)
Raspberry Pi
Capteurs
Hub
Applications
Serveur cloud
NodeJS: le Javascript côté serveur
Javascript	

• 1995	

• Langage de programmation	

• Utilisé dans les pages web interactives (exécuté par le client: l’utilisateur qui
arrive sur la page web)	

!
!
NodeJS	

• 2009	

• Ce n’est pas un langage	

• Javascript côté serveur (exécuté par le serveur qui fournit la page web)	

• Orienté serveur web (fonctionnalités intégrées)	

• Asynchrone: permet le traitement de nombreuses requêtes simultanées
MongoDB: la base de donnée pour « documents »
Les bases de données relationnelles	

• Stockage d’objets structurés et en relation	

• MySQL, Oracle, PostgreSQL: langage de requêtes SQL	

!
!
Les bases de données NoSQL (Not only SQL)	

• Documents non structurés (pas de tables, lignes, colonnes…)	

• Moins de relations entre les documents explicite	

• Très rapides	

• Capable de stocker énormément de données tout en restant performantes	

!
MongoDB	

• 2009	

• Très réputée	

• Utilisateurs réputés (Forbes, IBM, Salesforce Cisco, Foursquare, GitHub…)
Capteurs
Hub
Applications
Serveur cloud
Le coeur de notre système	

!
• Notre API	

!
• Traitement des requêtes Web	

!
• Reçoit les requêtes des Hubs de récupération	

!
• Requêtes vers la base de données
Notre système de stockage	

!
• Adapté à un très grand nombre de données	

!
• Stockage des données générées par les capteurs
Capteur
Hub
Applications
Serveur cloud
ORGANISATION
ORGANISATION
Outil de collaboration
• Découpage par tâches :	

• Simplicité	

• Rapidité
ORGANISATION
Versionnage des sources
• Historique des modifications	

• Collaboration entre développeurs	

• Revue de code entre développeurs
ORGANISATION
Hébergement des sources
• Réputation	

• Visibilité	

• Gratuit pour l’open-source
ORGANISATION
Fonctionnement en sprints
• Objectifs successifs très clairs	

• Rencontres régulières avec Klee	

• Agilité
1 2 3
ORGANISATION
Un sprint se définit par :
• Objectifs précis	

• Date de fin figée	

• Charge de travail “calibrée”
1 2 3
LIVRABLE
Capteur
Hub
AdminApp
Monitoring App
Serveur cloud
Capteur
• 4 capteurs supportés	

• Capteurs configurables	

• Connexion au hub
Capteur
Hub
AdminApp
Monitoring App
Serveur cloud
Hub
• Transfert des données	

• Gestion basique des
erreurs	

• Connexion série ou
simulateur
Capteur
Hub
AdminApp
Monitoring App
Serveur cloud
Serveur cloud
• Réception / stockage	

• API HTTP
Capteur
Hub
AdminApp
Monitoring App
Serveur cloud
AdminApp / MonitoringApp
• Administration	

• Dashboard	

• Gestion des capteurs
par pièce
CODE SOURCE
!
• Disponible sur GitHub	

	

 https://github.com/HomeAgain/
DOCUMENTATION
TECHNIQUE
• API DOC	

• Décrit les interactions avec l’API	

• Disponible en ligne 	

• Disponible en HTML
PRISE EN MAIN
Tutoriel
DÉMO
CONCLUSION
Merci pour votre attention
http://github.com/HomeAgain/
SOLUTIONSTECHNIQUES
Capteurs	

!
!
!Température 1 Humidité Porte Température 2
Hub central de récupération
API Interne BDD
Interface WEB d’admin
API Externe
Serveur Cloud
App 1 App 2 App 3 App 4 App 5
HomeAgain	

App Store
54
APPLICATIONS
POWERSAVE
HomeAgain
HomeAgain
HomeAgain
HomeAgain

HomeAgain