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 :
- 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