Eclipse Kura
Eclipse Kura est un framework Java opensource consacré à l'IoT.
Description
Comme son nom l’indique Eclipse Kura fait partie du projet open source Eclipse bien connu, il est réalisé en collaboration avec Eurotech qui est un des principaux fournisseurs de technologies, produits et systèmes embarqués.
Kura a pour but de répondre aux besoins des systèmes de contrôles et d’analyse afin de mettre en place des passerelles pour la gestion de ces systèmes.
Il peut fonctionner sur différents dispositifs : ordinateurs, portables, consoles etc...
Basé sur la plateforme Java, il peut être également installé sur tous les appareils fonctionnant sur Linux. ( comme une Raspberry Pi par exemple )
Services proposés
Eclipse Kura vise à fournir un conteneur basé sur OSGi pour les applications M2M s’exécutant dans les passerelles de service, il définit un Framework qui offre un ensemble de services communs pour les développeurs participant à des projets IOT.
Il fournit un système gérable à distance, intégrant tous les services de base dont les applications ( iot ) ont besoin ainsi qu’une couche d’abstraction simplifiant l’accès au matériel de la passerelle
- Kura offre également un moyen de connexion à la plateforme d’intégration Cloud, la gestion à distance des systèmes, il met à disposition de l’utilisateur un ensemble d’API lui permettant d’écrire et de déployer son application de manière fiable et simplifiée ce qui permet un gain de temps énorme.
- Il permet notamment la Gestion des différents ports de communication disponibles dans l'IoT (série, USB, Bluetooth, GPS, ...)
- Il offre un Data Services qui permet la gestion des données pour avoir un reporting comme des statistiques sur les flux et publication à distance.
- Configuration Service : via OSGi, permet d'importer / d'exporter la configuration de tous les services enregistrés dans le conteneur.
- Network service : permet de configurez les interfaces réseau disponibles dans la passerelle, comme les modems Ethernet, Wifi et cellulaire.
- Watchdog Service : Permet la surveillance des composants critiques et ainsi pouvoir lancer une réinitialisation du matériel en cas de défaillance
' Kura propose une interface d'administration Web exécutée dans le conteneur Kura pour gérer la passerelle.
Architecture
Kura est une brique parmi tant d'autres dans le monde de l'IoT.
C'est avant tout un module d'assistance pour la gestion et d'administration des passerelles en IoT.
Ainsi, on voit que Kura est présent sur plusieurs couches de l'IoT, de l'application aux passerelles IoT.
Versions
Du 21 octobre 2015 au 29 mars 2018 , Il y a eu 10 versions , la plus récente et la trés attendu version 2.0 qui est sortie le 29 mars 2018 .
Kura Wires
Kura Wires un nouveau outil visuel de gestion de flots de données qui permet de définir des cycles de récupération et de traitement de données en sélectionnant simplement des composants sur une palette graphique et en les connectant les uns aux autres. Par exemple, un capteur de température peut être connecté à une passerelle de service Kura pour publier ses données de température sur une plate-forme cloud assez rapidement
Projets utilisant Kura
- [Industrial Equipment Monitoring] https://tobiddev.wordpress.com/
- [Vehicle Monitoring] http://diyapps.blogspot.fr/
- [Eclipse IoT Challenge Tumbl] http://openiotchallenge.tumblr.com/
Liens
Comment bien commencer avec Kura
http://wiki.eclipse.org/Kura/Getting_Started
Dépendances
Eclipse Kura
http://www.eclipse.org/kura/
OSGi
https://www.osgi.org/
NMEA
http://www.gpsinformation.org/dale/nmea.htm
MQTT
http://air.imag.fr/index.php/MQTT
Apache Camel
http://camel.apache.org/
Getting started
Launch the gateway in a Docker container
docker run --name=kura -d -p 8080:8080 ctron/kura-emulator:3.0.0-RC1
Browse the console http://admin:admin@localhost:8080/kura
Copy the following routes into the "Camel XML router" section.
<routes xmlns="http://camel.apache.org/schema/spring" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://camel.apache.org/schema/spring https://camel.apache.org/schema/spring/camel-spring-2.17.3.xsd"> <route id="camle-kura"> <from uri="timer:trigger" /> <setBody> <simple>${random(100)}</simple> </setBody> <to uri="stream:out" /> </route> </routes>
Follow the log
docker logs -f kura
TODO avec CC2541 SensorTag Development Kit https://eclipse.github.io/kura/wires/kura-wires-sensortag.html