L’Internet des Objets (IoT) prend une place croissante dans l’industrie informatique et au-delà. Des montres connectées Withings aux Raspberry Pi vendus à plus de 5 millions d’unités, en passant par les cartes Arduino à bas coût et les modules Tessel, la baisse du coût de production des composants électroniques a permis une large diffusion de ces technologies.
En 2012, les premiers Raspberry Pi sont lancés sur le marché. Depuis, la collection s’est étoffée : B rev1, B rev2, B+ et B2. Le fer à souder a repris du service, comme à l’époque du lycée. Mais contrairement à cette époque où les ressources internet, les standards et le matériel étaient rares, aujourd’hui presque tout est à disposition. Il ne reste plus qu’à assembler des briques physiques avec des briques logicielles.
Un précédent projet pour un constructeur automobile avait ouvert la voie : intégrer dans les voitures des applications web, un magasin d’applications et une connexion internet embarquée. Cette expérience a conduit à explorer les technologies M2M (Machine-to-Machine), les protocoles comme MQTT ou AMQP, les frameworks EIP (Enterprise Integration Patterns) et d’autres matériels que le Raspberry Pi.
Avec des collègues de chez Red Hat (Henryk, Claus et Rob), un nouveau projet lié à Apache Camel, ActiveMQ et à l’Internet des Objets a vu le jour. Ce projet, baptisé Camel IoT Labs, est disponible sur GitHub.
Ce qui est en cours de réalisation
La première version du projet intègre différents composants pour Camel :
- Support Raspberry Pi GPIO et I2C basé sur la bibliothèque Pi4j
- Support Device IO basé sur l’API Device IO
- Intégration avec Tinkerforge
- Support Eclipse Kura WiFi
Le matériel
Un Camel IoT DevKit est également en cours de création. Ce kit de développement permettra de construire rapidement des exemples d’intégration combinant Camel, Raspberry Pi, LED, GPS, etc. Un premier exemple est disponible sur ce blog.
Backend dans le cloud
Une solution IoT ne peut pas exister sans un backend dans le cloud. D’où la création planifiée de Cloudlets — des microservices basés sur Apache Camel intégrant des fonctions de base pour le backend. La première cible sera Fabric8 avec OpenShift.
Envie de contribuer ?
Le projet semble intéressant ? La liste des demandes est ouverte à toutes les nouvelles idées. Les Pull Requests sont les bienvenues.
Liens
- Ce post est basé sur la version anglaise d’Henryk Konsek
- Le blog d’Henryk Konsek (IoT, MQTT, etc.)
- Camel IoT Labs sur GitHub
- Bibliothèque Pi4j
- Raspberry Pi
- Apache Camel