"Eclipse couvre désormais toute la chaîne de développement d’applications M2M embarquées"

Depuis bientôt deux ans, la Fondation Eclipse s’intéresse de très près au marché des communications de machine-à-machine. Chairman du groupe de travail M2M au sein de l’organisme et expert M2M Open Source chez le fabricant franco-canadien Sierra Wireless, Benjamin Cabé détaille pour L’Embarqué les avancées des projets open source Eclipse qui ont vocation à simplifier le développement d’applications M2M embarquées. ...

L'EMBARQUE Hier 26 juin 2013, la Fondation Eclipse a officialisé la disponibilité de Kepler, la dernière en date des mises à jour annuelles de la célèbre plate-forme de développement open source. Y figure notamment la version 1.0 des outils définis dans le cadre du projet Eclipse Koneki qui s’intéresse plus particulièrement aux applications M2M. Rappelez-nous l’origine de ce projet… BENJAMIN CABÉ Il faut remonter dix-huit mois en arrière pour retrouver les racines du projet Koneki. C’est en effet en novembre 2011 que la Fondation Eclipse, sous l’impulsion de plusieurs sociétés dont Eurotech, IBM et Sierra Wireless, a pris l’initiative de créer un groupe de travail focalisé plus particulièrement sur les applications M2M. L’idée était de mettre en place un cadre ouvert de collaboration qui puisse contribuer à l’enrichissement d’un écosystème de briques de base open source, permettant d'accélérer l’élaboration de solutions M2M. Dès le départ, Sierra Wireless a contribué à ce groupe de travail en proposant un environnement de développement intégré pour applications M2M embarquées, basé sur le langage open source Lua et adapté aux environnements matériels contraints. Tel est l’origine du projet Koneki. Les outils issus de ce projet peuvent s’intégrer en toute transparence à l’environnement Eclipse et permettent aisément de développer, simuler et tester des applications. Après deux versions préliminaires, nous avons jugé les résultats du projet suffisamment mûrs pour pouvoir être intégrés en tant que version 1.0 dans le train de « releases » synchronisées d’Eclipse. Koneki propose également un outil de simulation des communications OMA-DM pour la gestion à distance des équipements M2M.   Pourquoi le langage de programmation Lua ? BENJAMIN CABÉ D’origine brésilienne et créé en 1993, le langage Lua a pour ainsi dire été inventé avant l’heure pour les besoins du M2M. C’est un langage interprété comparable à Python ou Ruby, facilement assimilable, simple à utiliser, et adapté aux contraintes de l’embarqué, tout en étant capable de manipuler de grandes quantités de données. Une caractéristique indispensable pour les applications M2M… Un programme Lua se satisfait typiquement de 1 à 2 Mo de flash et de 1 à 2 Mo de mémoire Ram et s’interface sans problème avec du code C « historique ». Grosso modo, Lua est environ dix fois moins encombrant que Java et offre, malgré tout, des performances intéressantes. Chez Sierra Wireless, cela fait plusieurs années que nos modules M2M sont programmables avec des API C et Lua !   Quels sont les autres projets M2M supervisés par la Fondation Eclipse ? BENJAMIN CABÉ Je le rappelle, l’objectif du groupe de travail M2M au sein de la Fondation Eclipse est de faciliter la création d’applications M2M en proposant non seulement des outils, mais aussi des briques de base susceptibles d’être utilisées par toutes les applications M2M. Les protocoles de communication et les frameworks embarqués entrent dans cette catégorie. L’aspect protocoles est pris en charge depuis 2012 par le projet Paho et c’est IBM qui a apporté la première contribution significative à ce projet avec MQTT. Simple, efficace et économe en bande passante, ce protocole de messagerie permet aux objets et équipements M2M de communiquer avec un serveur centralisé. Il existe aujourd’hui des implémentations de MQTT en C, C++, Java, Lua, etc. Et le protocole a récemment été proposé au consortium Oasis (Organization for the Advancement of Structured Information Standards) afin qu'il devienne un standard de transport de messages M2M. Bien évidemment, il n’y aura jamais un protocole unique capable de couvrir tous les besoins en matière de communications M2M et nous examinons d’autres technologies développées ou standardisées ailleurs comme CoAP ou OMA LightWeight M2M (adaptation du protocole OMA-DM aux problématiques M2M) en vue de leur intégration éventuelle au sein du projet Paho. Tout ça est en train de prendre son envol… Sierra Wireless pourrait également apporter une autre contribution au projet Paho avec le protocole M3DA (Micro M2M Data Access), un protocole destiné à optimiser les échanges de données en cas d’envois répétitifs.   Quelle est la vocation des frameworks embarqués que vous venez d’évoquer ? BENJAMIN CABÉ Les frameworks embarqués sont des agents logiciels qui se positionnent en tant que surcouches au-dessus de Linux dans les passerelles M2M, ces équipements qui concentrent les données émises par les capteurs et objets communicants et les transmettent aux systèmes d’information centralisés. Ils ont vocation à offrir des fonctionnalités de base tels l’accès aux entrées/sorties (GPIO, ports série, connexion cellulaire, etc.), la manipulation de données en local… et supportent des mécanismes de pilotage à distance, le déploiement de nouvelles applications ou de nouveaux logiciels de bas niveau, des fonctions de démarrage et d’arrêt d’applications, etc. Les frameworks embarqués font l’objet des travaux du projet Mihini, le plus récent des projets M2M de la Fondation Eclipse. Avec Mihini, on dispose désormais d’une chaîne de développement M2M complète. Il est même possible de tester les applications M2M développées vis-à-vis de serveurs de test prévus à cet effet et accessibles à l’adresse m2m.eclipse.org.   Quel est aujourd’hui l’état d’avancement des projets Paho et Mihini ? BENJAMIN CABÉ Les technologies développées par ces deux projets, même si elles ne font pas encore partie d’une version Eclipse officielle, sont stables et peuvent être utilisées dès aujourd’hui. Lors de la dernière édition de la manifestation EclipseCon, nous avons pu réaliser plusieurs démonstrations qui s’appuyaient sur ces technologies. Avec les outils Koneki, il a été possible de prototyper en quelques heures une application s’exécutant sur une carte de développement Raspberry Pi équipée de Linux et du framework Mihini.   Le groupe de travail M2M a-t-il d’autres projets en vue ? BENJAMIN CABÉ Le groupe de travail M2M a pour tâche de définir les grands axes de travail et, actuellement, nous voulons avancer en priorité sur les protocoles et l’amélioration de l’expérience développeur en facilitant l’accès à du code et à des serveurs MQTT, M3DA, etc. qui puissent permettre de tester aisément des solutions. Nous sommes également attentifs à de nouvelles contributions. Deux d’entre elles nous semblent déjà très intéressantes. La première est issue d’une initiative italienne du nom de Ponte. Comme son nom l’indique, cette technologie vise à créer des mécanismes de traduction entre des réseaux de capteurs différents n’utilisant pas nécessairement le même protocole de messagerie. Avec le projet Concierge, IBM, de son côté, propose une implémentation de la technologie Java OSGi pour passerelles M2M intelligentes. Avec le framework Mihini, rien n’empêche en effet de travailler en Java ! Propos recueillis par Pierrick Arlot