Tutoriels Open the Box

Atelier Open the Box

Table des matières :

1      Introduction
1.1         Architecture et équipements nécessaire à une session Atelier Open the Box
1.2         Choix de déploiement de l’’infrastructure Open the Box
2      Installation et licence d’utilisation
3      Tutoriels
3.1         Développement d’une application Open the Box
3.2         Gestion des équipements
4      Squelette d’application
5      Projets Open Source associés
6      Acronymes

 Objectif : aider le développeur à prendre possession d’’un « atelier de développement Open the Box », tel qu’’il sera mis à sa disposition par exemple dans le cadre d’’une session de créativité, type Hackathon ou FAB LAB. Dans cette session, il aura à sa disposition un PC de développement, une HAB (par défaut du type Raspberry), des dongles USB de connectivité, et un jeu d’’équipements.

Dans ce cadre, il s’’agit de permettre à un développeur Java d’’utiliser l’’infrastructure Open the Box pour produire une application Smart Home basée sur des équipements déjà caractérisés et intégrés dans l’’environnement de développement, et de déployer cette application sur une carte d’’évaluation Raspberry Pi.

Prérequis : connaissance générale de l’’environnement Java/OSGi, y compris compendium OSGi, ainsi que des outils classiques des IDE Java tels qu’’Eclipse et Maven,  éventuellement familiarisation avec les concepts ZigBee, SimpleBee, etc.

Navigation : cette page est la racine d’’un ensemble de fichiers de documentation. Elle en présente le plan général, une liste d’acronymes et des liens vers les projets Open Source associés. Chaque page annexe commence par l’’intitulé Atelier Open the Box qui est un lien vers cette page d’accueil, permettant ainsi de naviguer facilement entre les documents.

1         Introduction

Cette introduction présente  brièvement l’’organisation technique d’’une session d’’Atelier Open the Box. Ces sessions consistent à mettre une infrastructure Open the Box à disposition d’’utilisateurs « métiers » (i.e. qui imaginent des services dans le cadre de leur domaine d’’expertise), afin qu’’ils maquettent rapidement les services qu’’ils ont imaginés. La durée d’’une session peut s’’étaler sur quelques heures.

En préambule, la section « Présentation Open the Box » donne une esquisse des principes et des grands choix techniques de l’’infrastructure Open the Box.

1.1       Architecture et équipements nécessaire à une session Atelier Open the Box

Une session Atelier Open the Box offre un certain nombre de postes de travail (typiquement 5) dont le fonctionnement s’’appuie sur une infrastructure Open the Box.

Le poste de travail comprend :

  • une Home Automation Box (HAB) (typiquement une carte Raspberry Pi) munie d’’une ou plusieurs connectivités radio sous forme de dongles USB (un par technologie de connectivité) ;
  • une station de travail/développement (typiquement un PC sur lequel a été déployé un environnement de développement basé sur Eclipse) ;
  • un jeu d’’équipements connectables via une des connectivités dont est munie la HAB.

L’’infrastructure Open the Box comprend :

  • une Plate-forme de gestion des HABs (PFG) capable d’’administrer les applications déployées sur les HABs par l’’intermédiaire d’’un Auto Configuration Server (ACS) ;
  • un Magasin d’’application / Application Store (AS) présentant à l’’utilisateur via une interface Web (IHM) un catalogue d’’applications susceptibles d’’être déployées sur sa HAB par la PFG.

1.2       Choix de déploiement de l’’infrastructure Open the Box

L’’infrastructure Open the Box est destinée in fine au support d’’un ensemble de HABs situées au domicile des clients. L’’AS et la PFG sont destinées à être partagées par plusieurs HABs et ont donc vocation à être placées dans le WAN alors que chaque HAB sera placée dans le réseau local du domicile.

Pour les Ateliers Open the Box et dans un but de simplification maximale du déploiement les dispositions suivantes ont été adoptées :

  • Toute l’’infrastructure Open the Box ainsi que les différents postes de travail seront placés sur un LAN unique géré par un routeur qui offrira également un point d’accès WiFi.
  • Les PC hébergeant les stations de développement seront également placés sur ce réseau unique. Ils auront un accès internet haut débit.
  • En général le routeur intégrera une passerelle internet (typiquement ADSL ou Fibre mais éventuellement réseau cellulaire mobile : 3/4G).
  • La PFG, l’’AS et l’’ACS seront uniques et tous trois disponibles en ligne.

Pour les détails techniques de configuration, voir Installation.

2         Installation et licence d’utilisation

Les pré-requis :
Matériel nécessaire

  • Un ordinateur sous Windows ou Linux. Bientôt disponible aussi pour MacOS…
  • Une tablette Android en version >= 4.2.2.
  • Un équipement Raspberry Pi.

Logiciel à installer sur le PC

Logiciel à installer sur le Raspberry Pi

La section « Guide d’’installation » indique comment installer et configurer l’’environnement de travail.

La licence d’utilisation du logiciel Open the Box et de ses APIs est décrite ici.

3         Tutoriels

3.1       Développement d’’une application Open the Box

La section « Guide de développement d’applications Open the Box » présente en détail ce qu’’est une application Open the Box, comment en développer une, comment l’’installer, la tester et la déployer. Ce papier fournit également un exemple simple d’’application Open the Box. Sa lecture est fortement recommandée pour les développeurs d’’applications Open the Box.

3.2       Gestion des équipements

La section « Guide des équipements Open the Box » présente les différentes technologies de connectivités d’équipements (Zigbee, EnOcean, Philips Hue, etc.), utilisables grâce à des base drivers fournis par l’’infrastructure Open the Box, et comment les intégrer dans une application.

4         Squelette d’’application

Cette section propose un squelette d’’application Open the Box, qui peut servir de « template », et donc de point de départ pour écrire une nouvelle application. On y trouvera, outre une présentation générale, un fichier zip contenant l’’application proprement dite, sous forme d’’un projet Maven, code Java et fichiers de configuration compris.

5         Projets Open Source associés

[EnOcean] Base driver EnOcean, projet open source sous license Eclipse, en cours de transfert dans le projet Eclipse Smart Home.

[Modus] Client TR-069, projet open source sous license Apache.

[SimpleBee] Base driver SimpleBee, projet open source sous license Apache.

[SimpleBee4Arduino] SimpleBee on Arduino, projet open source sous license Apache.

6         Acronymes

Acronyme Définition
ACS Auto-Configuration Server : serveur permettant de gérer à distance des équipements de type gateway (notamment les Livebox) via un protocole standard du Broadband Forum (BBF TR-069). Il permet également le déploiement de programmes sur les clients (protocole BBF TR-157).
AS Application Store : plate-forme de service servant une interface web énumérant la liste des applications disponibles aux utilisateurs.
Base Driver Bundle OSGi servant d’’interface pour communiquer avec des équipements d’’une technologie donnée (Zigbee, SimpleBee, etc.)
Dashboard Tableau de bord : service Open the Box qui permet de piloter localement, depuis une tablette Android, la plate-forme locale Open the Box (applications, devices, accès à l’’AS).
HAB Home Automation Box : plate-forme logicielle embarquée déployée sur une box smart home (over the top) ou sur une passerelle domestique (triple play). La HAB installe et exécute des applications et est administrée par un ACS.
HABAM HAB Application Management : interface logicielle pour les interactions des applications Open the Box et le framework OSGi (notamment la gestion des permissions) d’’une part, avec Modus et la PFG d’’autre part, et enfin avec le dashboard.
Modus Client Java/OSGi open source, intégré dans la plate-forme cible Open the Box, qui sert d’’interlocuteur local à l’’ACS (Modus TR069).
PFG Plate-forme de gestion : plate-forme de service Open the Box gérant toutes les HABs déployées et toutes les applications Open the Box qui y sont installées. L’’AS s’y connecte pour gérer les applications publiques et les installer sur les HABs.