Guide d’installation

Atelier Open the Box

Table des matières

1 Installer l’IDE
1.1 Environnement VM Linux
1.2 Environnement Eclipse
1.3 Installer son propre environnement de développement
2 Installer le dashboard
2.1     Tablette
2.2     Installer l’application
2.3     Configurer l’application
3 Installer et configurer le framework OSGi Open the Box
3.1    Installer le framework
3.2     Configurer le framework
3.3     Démarrage du framework
4 Environnement Raspberry pour les tutoriels Open The Box organisés par l’équipe Orange

1       Installer l’IDE

Tout l’environnement de programmation nécessaire aux développeurs est fourni dans une VM Linux (ubuntu 14.04), comprenant un espace de travail Eclipse. Cette section décrit l’installation de la machine virtuelle ainsi que l’environnement Eclipse.

1.1 Environnement VM Linux

  • Installer Oracle VM VirtualBox 4.3.20 (téléchargement).
  • Récupérer les 5 parties de la VM sur le site http://openthebox.org/vm/.
  • Utiliser WinRar pour rassembler les 5 morceaux. Pour cela, ouvrir simplement le premier morceau avec WinRAR.
  • La lancer en double-cliquant sur OTB_Hack.vbox.
  • Se connecter sur la VM (login/mot de passe : otb/otb).
  • En cas de problème, vérifier la configuration réseau : suivre le menu « Périphériques / Réseau / Réglages réseau », choisir « Mode d’accès réseau : Accès par pont » et « Nom : <le nom de votre carte Ethernet> ». Taper ifconfig dans un terminal, vous devez voir apparaitre une interface Ethernet d’adresse IP. Cette configuration n’est à faire qu’une seule fois.

1.2 Environnement Eclipse

  • Lancer Eclipse sur la VM. Le workspace contient par défaut un projet tutoriel ZigBee et le squelette d’application décrit ici.
  • Pour builder lune application, il faut lancer un terminal, aller dans le répertoire projet (e.g. cd ~/workspace/hackathon.template.app) et utiliser les commandes Maven (e.g. mvn clean install).

1.3 Installer son propre environnement de développement

Si le développeur préfère utiliser son propre environnement (fortement déconseillé, nous ne pouvons garantir le fonctionnement correct), il est recommandé d’utiliser Eclipse Luna (Open the Box n’a été testé sur aucun autre IDE) et Maven 3. Les projets Open the Box ayant des dépendances Maven vers des librairies Orange non publiques, il est indispensable d’utiliser un repository local fourni ici. Cette section est donnée à titre indicatif, ou pour pouvoir installer Open the Box sur un environnement non préparé.

2         Installer le dashboard

Le dashboard Open the Box est une application à utiliser sur tablette Android (apk).

2.1       Tablette

La version Android doit être au moins 4.2.2.
L’écran doit être de taille 7 pouces minimum (10 pouces pour une meilleure ergonomie).
La tablette doit être connectée en wifi avec le routeur (l’identifiant est inscrit sur une étiquette sur le routeur TPLink fourni, mot de passe openthebox).

2.2       Installer l’application

Récupérer ici la dernière version du paquet « Dashboard ». On peut transférer facilement cette application sur la tablette en l’envoyant par mail consultable depuis la tablette, ou en la copiant par transfert USB.
Procéder à l’installation de l’APK.

2.3       Configurer l’application

Après avoir lancé l’application, se rendre dans le menu Configuration (icone  en haut à droite).

En mode « Auto HAB discovery », le dashboard devrait trouver lui-même la HAB du réseau si elle est unique, mais dans le cadre Hackathon, vu qu’il y a plusieurs sous-réseaux sur une même Livebox, il faut choisir l’option « Manual HAB discovery » et entrer les valeurs :

  • HAB ip address : 10.0.10.1n
  • HAB port : 8081

 En ce qui concerne l’adresse de l’AppStore, entrer :

http://ohomeint.orange-labs.fr:9000/OpenTheBox/oas_for_otb?clientId=<hab_serial_number>

où <hab_serial_number> est la valeur entrée dans le champ DeviceInfo.SerialNumber du fichier de configuration usine.txt de la HAB (cf. § 3.2). Cette valeur est indiquée sur l’étiquette sur la Raspberry Pi. Exemple :

http://ohomeint.orange-labs.fr:9000/OpenTheBox/oas_for_otb?clientId=hackathon-hab-n

Le login/password doit rester identique (otb1/otb1).

3 Installer et configurer le framework OSGi Open the Box sur Raspberry Pi

Note importante : Cette section n’est à réaliser que si vous souhaitez installer Open The Box sur votre propre Raspberry Pi. Lors des tutoriels présentées par l’équipe Orange, les Raspberry Pi sont prêt à l’emploi (cf section 4 Environnement Raspberry pour les tutoriels Open The Box organisés par l’équipe Orange).

Prérequis : Installer sur le raspberry pi la distribution Raspbian disponible ici https://www.raspberrypi.org/downloads. Cette distribution inclut nativement la JVM Oracle 8.
On pourra suivre le tutoriel suivant pour l’installation de la distribution Raspbian : https://www.raspberrypi.org/documentation/installation/installing-images/README.md

Le framework OTB a été testée avec la JVM Oracle 8 Embedded Compact 1 sur Raspberry Pi 2. Selon les besoins, cette JVM peut être téléchargée ici: http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/index.html#javase8

3.1 Installer le framework

Le framework OpenTheBox est disponible sous la forme d’un paquet APT. Ce package est disponible sur le répertoire de paquet OpenTheBox
Se connecter en SSH sur le raspberry pi en utilisant le login pi et le mot de passe raspberry.

3.1.1 Configurer APT

Créer le fichier otb.list dans le dossier /etc/apt/sources.list.d et rajouter la ligne suivante:
deb http://openthebox.org/packages/ internal/
Mettre à jour les paquets en exécutant la commande:
sudo apt-get update

3.1.2 Installation du paquet OpenTheBox

Exécuter la commande:
sudo apt-get install otb.framework
Il sera demandé une confirmation d’installation des paquets libjansson4, otb.framework et sdevice. Taper ‘Y’ pour confirmer.
Les paquets sdevice et otb.framework ne sont pas signés. Taper une nouvelle fois ‘Y’ pour procéder tout de même à l’installation.
Le framework OTB est installé dans le dossier /usr/share/otb-framework

3.2 Configurer le framework

Cette section décri=t les différents fichiers de configuration du framework notamment le fichier de configuration du client TR69 Modus et celui de la plateforme de gestion.

Lorsque vous atteindrez cette section, il est nécessaire de prendre contact avec l’équipe OpenTheBox afin d’obtenir un numéro de série valide pour votre Raspberry Pi. Nous vous aiderons à configurer et à tester votre installation.

A titre d’information, les sous-sections suivantes décrivent les différents fichier de configuration.

3.2.1 Configurer le client Modus

Le fichier data/usine.txt sert à configurer le client Modus qui permet la communication avec l’ACS. Pour information, le tableau suivant résume les paramètres importants de ce fichier :

Paramètre Valeur Description
DeviceInfo.SerialNumber <valeur unique>, e.g. hackathon-hab-n Identifiant utilisé par l’ACS. Se reporter à l’étiquette collée sur le Raspberry Pi.
DeviceInfo.Description Raspberry
ManagementServer.URL http://g-acsrd.orange-labs.fr:8080/edge/tr69 URL de l’ACS
ManagementServer.STUNEnable false La brique STUN doit être désactivée dans cette configuration

Note importante : le champ DeviceInfo.SerialNumber doit posséder une valeur unique pour discriminer toutes les HABs gérées par le même ACS. Il se compose uniquement de caractères alphanumériques. La valeur par défaut hackathon-hab-n comporte un n final qui varie en fonction des postes, typiquement de 1 à 5.

3.2.2 Configurer HABAM

Le fichier data/config.cfg sert à configurer le module Open the Box HABAM qui permet la communication avec la PFG :

Paramètre Valeur Description
ipAddress 10.0.10.1n Adresse IP du Raspberry Pi
PFG_address http://ohomeint.orange-labs.fr:9000 Adresse IP de la PFG
PFG_login otb1 Login de connexion à la PFG
PFG_password otb1 Mot de passe pour la connexion à la PFG

3.2.3 Configurer le framework Knopflerfish

Les fichiers props.xargs et otb_hackathon.xargs contiennent respectivement les options de paramétrage du framework Knopflerfish et la liste ordonnée des bundles à installer et lancer. Ils ne sont a priori pas à modifier, ou seulement à la marge (par exemple changer la propriété -Forg.knopflerfish.log.out=true dans props.xargs pour l’affichage des traces).

3.3 Démarrage du framework

Se rendre dans le dossier /usr/share/otb-framework et taper la commande :
sudo ./startRsp_hackathon.sh

4 Environnement Raspberry pour les tutoriels Open The Box organisés par l’équipe Orange

Les cibles Raspberry Pi fournies ont été préparées, les packages nécessaires installés. Chaque cible possède une adresse IP 10.0.10.1n (n variant de 1 au nombre de postes préparés), en fonction de la configuration de la Livebox. L’adresse IP est spécifiée sur l’étiquette collée sur la face avant du Raspberry Pi. Vérifier qu’elle est branchée électriquement.

La cible héberge le framework OSGi Open the Box. L’accès se fait depuis la VM par la commande ssh pi@10.0.10.1n (mot de passe raspberry). Il peut également se faire depuis le PC via une console SSH (type putty), port 22, login/mot de passe : pi/raspberry.

  • cd /home/pi/hack/otb-framework-knopflerfish
  • La configuration est en place. Pour information (voir section 3 pour les détails), elle est constituée des fichiers :
    • data/usine.txt pour la configuration Modus (lien avec l’ACS) ;
    • data/config.cfg pour la configuration PFG / AS ;
    • props.xargs pour les options de paramétrage du framework OSGi Knopflerfish ;
    • otb_hackathon.xargs pour la liste et l’ordonnancement des bundles OSGi à lancer.
  • Pour lancer le framework : sudo ./startRsp_hackathon.sh (ne pas oublier le sudo !)

Notes

[1] Pour permettre le bon fonctionnement de la plate-forme Open the Box, il a été nécessaire d’effectuer des corrections de bugs sur le framework Knopflerfish (en particulier sur la gestion des permissions). Les patchs correspondants ont été soumis au projet Knopflerfish et seront intégrés à la prochaine version de maintenance de KF 4.x. En attendant la publication de cette version corrective, il est nécessaire d’utiliser la version fournie, intégrant ces corrections, et non une version téléchargée sur leur site.
[2] Pour utiliser les permissions, le framework Knopflerfish doit être configuré de manière à ce que ces dernières soient activées (ce n’est pas le cas par défaut). Cela se fait par le fichier de configuration props.xargs, via les lignes suivantes :

# Security
-Forg.osgi.framework.security=osgi
-Forg.knopflerfish.framework.service.permissionadmin=false