Eclipse Hono

From air
Revision as of 12:02, 13 March 2017 by Clement.Brocard (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

Architecture hono.png

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://www.eclipse.org/hono/

https://paolopatierno.wordpress.com/2017/02/17/eclipse-hono-connect-command-control-even-on-openshift/

https://iot.eclipse.org/resources/white-papers/Eclipse%20IoT%20White%20Paper%20-%20The%20Three%20Software%20Stacks%20Required%20for%20IoT%20Architectures.pdf

https://medium.com/@hekonsek/scalable-iot-messaging-with-eclipse-hono-1d3f6a1b68c3#.h48xmnc4i

https://www.eclipsecon.org/na2016/sites/default/files/slides/A%20cloud%20scale%20IoT%20Server%20Platform.pdf

https://projects.eclipse.org/projects/iot.hono

https://dzone.com/articles/eclipse-hono-connect-command-control-even-on-openshift