Aujourd’hui, l’Internet des Objets (IoT) prend une place de plus en plus importante 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 autres modules Tessel, la baisse du coût de production des objets électroniques a permis une large diffusion de ces nouvelles technologies.
En 2012, les premiers Raspberry Pi sont lancés sur le marché, et j’en ai immédiatement acquis un. Depuis, j’ai collectionné presque tous les modèles : B rev1, B rev2, B+ et B2 ;-). J’ai également repris mon fer à souder, comme à l’époque du lycée. Mais contrairement à cette époque où l’on disposait de peu de ressources internet, peu de standards et peu de matériel, aujourd’hui nous avons presque tout à notre disposition. Il ne reste plus qu’à assembler des briques physiques avec des briques logicielles plus ou moins évoluées.
Un précédent projet pour un constructeur automobile m’avait particulièrement intéressé. Il s’agissait d’intégrer dans les voitures des applications web, un magasin d’applications et une connexion internet embarquée. J’ai alors commencé à me documenter sur les technologies M2M (Machine-to-Machine), ce qui m’a naturellement orienté vers des protocoles comme MQTT ou AMQP, les frameworks EIP (Enterprise Integration Patterns) et d’autres matériels que le Raspberry Pi.
Avec certains de mes amis de chez Red Hat (bonjour Henryk, Claus et Rob), nous avons lancé un nouveau projet lié à Apache Camel, ActiveMQ et à l’Internet des Objets. Ce projet, baptisé Camel IoT Labs, est disponible sur GitHub.
Ce que nous sommes en train de réaliser
La première version du projet intégrera 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
Nous sommes également en train de créer un Camel IoT DevKit. Ce kit de développement permettra de construire rapidement des exemples d’intégration combinant les technologies suivantes : Camel, Raspberry Pi, LED, GPS, etc. Un premier exemple est déjà disponible sur ce blog ici.
Backend dans le cloud
Une solution IoT ne peut pas exister sans un backend dans le cloud. C’est pourquoi nous planifions la création de Cloudlets (microservices basés sur Apache Camel intégrant un certain nombre de fonctions de base pour le backend). La première cible sera Fabric8 avec OpenShift.
Envie de contribuer ?
Ce projet vous semble intéressant ? Conjuguons nos efforts ! Parcourez la liste des demandes, nous sommes ouverts à toutes les nouvelles idées. Les Pull Requests sont les bienvenues ;-).
Plus de liens
- Ce post est basé sur la version anglaise d’Henryk Konsek (merci à lui)
- Le blog d’Henryk Konsek (IoT, MQTT, etc.)
- Camel IoT Labs sur GitHub
- Bibliothèque Pi4j
- Raspberry Pi
- Apache Camel