Installation et prise en main de la plateforme IoT
Cette fiche vous explique comment mettre en place ThingsBoard, une plateforme IoT open source, qui vous permet de gérer vos appareils connectés, collecter, traiter et visualiser les données de télémétries provenant de vos capteurs.
Prérequis
Connaissances de base en linux
Matériel requis
Avoir un réseau de capteurs déployé.
La configuration matérielle requise dépend de la base de données choisie et du nombre d’appareils connectés au système :
-
ThingsBoard + base de données Postgres : environnement de production minimal (2Go de RAM minimum;4 Go de Ram recommandés).
-
ThingsBoard + base de données Cassandra : environnement de production optimisé (4Go de RAM minimum; 8 Go sont recommandés).
-
ThingsBoard + base de données HSQLDB embarquée : environnement de développement (Non recommandé).
Pour quoi faire?
Comme expliqué dans notre précédente fiche relative aux plateformes IoT, ThingsBoard nous semble être la solution la plus pertinente par rapport aux critères de sélection que nous avions énoncés (besoin d’être open source, de supporter la gestion des appareils, de collecter les données via les protocoles HTTP, MQTT et CoAP, d’inclure un outil de visualisation des données et une base de données “IoT”,...).
Get Started - ThingsBoard CE & Docker
Pour effectuer l’installation de la plateforme IoT Open Source ThingsBoard, plusieurs solutions s’offrent à vous. Il est possible d’installer ThingsBoard sur plusieurs plateformes comme indiqué sur la documentation officielle. Dans notre cas, nous installerons ThingsBoard sur Docker, dans une machine virtuelle Debian.
Etape 1 - Installation de Docker
Docker est un outil qui permet de packager des applications afin de faciliter leurs partages et leurs utilisations.
Pour effectuer l’installation sur une machine Linux, il vous faut télécharger le fichier docker-install.sh puis l'exécuter avec la commande suivante :
wget get.docker.com -o docker-install.sh && sudo sh docker-install.sh
Si des erreurs surviennent, veuillez effectuer l’installation pas à pas avec la documentation officielle de Docker disponible sur ce lien.
Etape 2 - Installation et prise en main de ThingsBoard
Pour l’installation de ThingsBoard, trois configurations de base de données s’offrent à vous :
-
ThingsBoard + base de données Postgres : environnement de production minimal (2Go de RAM minimum;4 Go de Ram recommandés).
-
ThingsBoard + base de données Cassandra : environnement de production optimisé (4Go de RAM minimum; 8 Go sont recommandés).
-
ThingsBoard + base de données HSQLDB embarquée : environnement de développement (Non recommandé).
Dans ce tutoriel, nous utiliserons la configuration légère ThingsBoard Postgres car elle répond parfaitement à notre besoin de démonstration.
2.1 Installation de ThingsBoard CE
Maintenant que Docker est opérationnel, vous pouvez installer et exécuter l’outil via la commande suivante :
docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -v ~/.mytb-data:/data -v ~/.mytb-logs:/var/logs/thingsboard --name mytb --restart always thingsboard/tb-postgres
2.2 Login
Pour accéder à l’outil ThingsBoard, il est nécessaire d’identifier votre adresse IP (par exemple, si vous avez installé ThingsBoard sur votre odinateur, l’adresse est “localhost”) :
-
http://$YOUR-IP$:9090
Une fois sur l’interface ThingsBoard, il vous faut vous connecter au compte administrateur avec les informations suivantes :
-
Email par défaut : tenant@thingsboard.org,
-
Mot de passe par défaut : tenant.
2.3 Création d’un device
Pour créer votre premier appareil connecté, vous devez :
1. vous rendre sur l’onglet “Dispositifs” ou “Devices”,
2. cliquez ensuite sur le “+” en bas à droite puis “Ajouter un nouveau dispositif”,
3. donnez-lui un nom et attribuez-lui un type,
4. cliquez sur “Ajouter”.
Votre device est désormais créé.
2.4 Simulation d’un device
Afin de simplifier la démonstration, nous utiliserons dans ce tutoriel un appareil connecté simulé. Pour simuler le senseur, nous allons utiliser le système de “Chaîne de règle” de ThingsBoard :
1. Cliquez sur l’onglet “Chaîne de règles” (ou “Rule chains” en anglais), puis créez une nouvelle chaîne de règles.
2. Donnez-lui un nom et cliquez sur “Ajouter”.
Il faut désormais configurer cette chaîne de règles :
1. Pour simuler un device, nous allons avoir besoin d’un “Generator” : sélectionnez, dans la catégorie “Action”, le bloc rouge nommé “Générator”,
2. Dans son écran de configuration, attribuez-lui un nom,
3. Choisissez le nombre de secondes entre chaque message généré par le device. Dans notre exemple nous prendrons 2 secondes.
4. Sélectionnez ensuite “Dispositif” comme origine et choisissez le device créé précédemment. Enfin, notre fonction de démonstration est la suivante :
var msg = { temp: 25+Math.floor(Math.random() * Math.floor(5)), humidity: 77 };
var metadata = { data: 40 };
var msgType = "POST_TELEMETRY_REQUEST";
return { msg: msg, metadata: metadata, msgType: msgType };
5. Cliquez ensuite sur “Ajouter”,
6. Ensuite, sélectionnez dans la catégorie “Action”, un bloc rouge “Save timeseries”, ajoutez-le, nommez-le et cliquez sur “Ajouter”. Ce bloc va vous permettre de stocker vos données.
7. Reliez le bloc “Generator” au bloc “Save timeseries” en choisissant “Success” comme “Étiquette de liens” et cliquez sur “Ajouter”. Ne vous préoccupez pas du bloc vert “Input”.
Votre device est maintenant simulé et vous pouvez le vérifier comme suit :
1. Cliquez sur l’onglet “Dispositif”,
2. Cliquez sur le device créé précédemment,
3. Cliquez sur l’onglet “Dernière télémétrie”. Vous pouvez désormais observer la température et l’humidité qui sont mises à jour toutes les deux secondes.
2.5 Visualisation des données dans le dashboard
Maintenant que vous avez un appareil simulé opérationnel, vous allez pouvoir visualiser les informations qu’il renvoit sur un écran de contrôle appelé “Dashboard” grâce aux étapes suivantes :
1. Cliquez sur l’onglet “Tableaux de bord“ (ou “Dashboards” en anglais).
2. Cliquez ensuite sur le “+” en bas à droite puis “Créer un nouveau tableau de bord”,
3. Nommez-le et cliquez sur “Ajouter”. Il est possible d’attribuer ce Dashboard à un utilisateur en cliquant sur l'icône “Gérer les clients affectés” à côté de l'icône supprimer.
Après avoir cliqué sur le dashboard, il faut définir l’alias qui sera utilisé. Il s’agit d’un nom secondaire qui va être attribué à un certain device. Pour se faire :
1. cliquez sur le bouton orange “Edition” en bas à droite,
2. cliquez ensuite sur l’icône “Alias d’entité” à gauche du bouton plein écran. Vous pouvez alors ajouter votre alias en saisissant un nom.
3. Dans votre cas, sélectionnez le filtre “Entité unique” puis le type dispositif avec le nom de votre device.
Votre alias est désormais créé. Vous pouvez désormais ajouter des éléments à votre dashboard en cliquant sur “Ajouter un nouveau widget” (une carte, une jauge de température, un graphique temporel...).
La démonstration en vidéo
Retrouvez la démonstration de la plateforme IoT ThingsBoard grâce cette vidéo
Pour aller plus loin
Si vous désirez en savoir plus sur ThingsBoard, nous vous invitons à consulter la documentation officielle disponible ici.