homeagain
TRANSCRIPT
HOMEAGAINPol 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
ORGANISATIONFonctionnement en sprints
• Objectifs successifs très clairs
• Rencontres régulières avec Klee
• Agilité
1 2 3
ORGANISATIONUn 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
DOCUMENTATION TECHNIQUE
• API DOC
• Décrit les interactions avec l’API
• Disponible en ligne
• Disponible en HTML
PRISE EN MAIN
Tutoriel
DÉMO
CONCLUSION
SOLUTIONS TECHNIQUES
Capteurs !!!Température 1 Humidité Porte Température 2
Hub central de récupération
API Interne BDDInterface WEB d’admin
API Externe Serveur Cloud
App 1 App 2 App 3 App 4 App 5
HomeAgain App Store
54
APPLICATIONS
POWERSAVE