Eclipse Hono
Eclipse HONO est un projet dédié à l’IoT qui fourni les interfaces pour connecter un grand nombre de capteurs, collecter des quantités importantes de données et permettre aux services de contrôler les capteurs.
Description
Le projet HONO vise à fournir un middleware qui soit capable de répondre aux besoins de systèmes évolués avec un nombre important de capteurs. Son objectif est de fournir des interfaces capables de résister à une quantité importante de données émanant d'un nombre important de capteurs.
4 interfaces distinctes sont proposées par le projet HONO:
Device registration
Permet de connecter des périphériques avec HONO, soit directement, soit par l’intermédiaire d’un adapter comme http://air.imag.fr/index.php/LwM2M ou http://air.imag.fr/index.php/MQTT
Telemetry & Event
APIs utilisées par les device pour remonter leurs informations, ces APIs sont aussi utilisées par les services pour récupérer les informations des devices.
L’API event est séparée de l’API telemetry bien que similaire car elle vise à recevoir des informations qui déclenchent une décision du côté des services. Elle est séparée pour que ces événements ne se retrouvent par perdus dans le flot de données des capteurs.
Command and control
API utilisée par le backend pour envoyer des commandes sur les appareils du système. (Exemple: Actions particulières sur un capteur, comme la mise à jour de son firmware)
Composants
Hono est composé de 4 composants principaux:
Serveur
Le composant principal auquel les appareils peuvent se connecter directement via AMQP 1.0 Ce composant fourni les API et gère l’authentification des appareils.
Adapters MQTT et REST
Par défaut, HONO fourni des interfaces MQTT et REST, mais il est possible de développer d’autres interfaces.
Routeur
Composant qui permet de récupérer les données des capteurs et d’en enregistrer de nouveaux. Ce composant est tiré du projet Apache Qpid.
Protocoles
Toutes les API du projet sont accessibles via le protocole AMQP 1.0.
Architecture
Déploiement
Le déploiment de HONO se fait à l’aide de docker. Des images sont fournies et un fichier docker-compose permet de démarrer les conteneurs avec une configuration prète à l’utilisation.
Liens
https://medium.com/@hekonsek/scalable-iot-messaging-with-eclipse-hono-1d3f6a1b68c3#.h48xmnc4i
https://projects.eclipse.org/projects/iot.hono
https://dzone.com/articles/eclipse-hono-connect-command-control-even-on-openshift