A4A : MQTT et le Cloud

Bonjour,

Avec Gnoga votre application avait déjà la tête dans les nuages, embarquant un serveur web pour fournir une interface homme-machine web comme évoqué précédemment.

Parmi les sujets chauds du moment on trouve donc le nuage, le fameux Cloud, et ce que le marketing nous annonce comme la prochaine déferlante, le non moins fameux aujourd’hui Internet des Objets ou IoT, Industrial IoT, Industry 4.0 et autres petits noms qu’on lui donne.

Le nuage met à notre disposition, moyennant finances, une architecture permettant de bénéficier de machines virtuelles à géométrie et capacité variables, ce qu’on a coutume d’appeler l’infrastructure en tant que service ou IaaS, sur lesquelles on peut faire tourner différents systèmes d’exploitation, avec un lot de serveurs divers tels que serveurs web ou base de données, la plate-forme en tant que service ou PaaS, et par dessus des applications tout aussi diverses, soit le Software en tant que service, SaaS.

On peut par exemple imaginer que nous investissions dans une machine virtuelle d’un cloud public, que nous y installions une Debian du jour et que l’on y installe également une application « Ada for Automation » avec une interface web et une communication en Modbus TCP avec notre partie opérative pour le contrôle-commande de celle-ci.

Bon, ça risque de fonctionner mais il y a un point faible, la communication entre l’application de contrôle-commande et la partie opérative, avec cette dernière qui passera en repli en cas de problème de communication, si c’est bien réalisé.
On préférera bien sûr que notre application de contrôle-commande reste pas trop loin de notre partie opérative, sur une machine bien physique en local, surtout si on utilise une carte de communication Hilscher au lieu de Modbus TCP.

Par contre, pour une application permettant par exemple de surveiller les consommations d’une ou plusieurs installations, ou d’afficher différents indicateurs de production, de qualité ou de performance, une telle architecture pourrait faire sens.

L’un des protocoles concourant dans le domaine de l’IoT est MQTT et on en trouve toute l’information sur le web, comme dans l’excellent article de Framboise 314 avec un exemple de mise en œuvre sur Raspberry Pi.

Il se trouve que le non moins excellent Monsieur Per Sandberg a eu le bon goût d’en réaliser un binding pour Ada, mosquitto-ada qui fournira donc un client permettant de publier et souscrire auprès d’un serveur Mosquitto implémentant le protocole MQTT et connectant de ce fait votre application au nuage tant vanté, cf. IoT, Industry 4.0, etc…

Ainsi notre application tournant sur notre machine physique locale pourra transmettre ou recevoir des données du broker tandis que nos applications cloud consommerons ces données ou enverrons des informations diverses :
Cloud

Inkscape, c’est bon ! Mangez en !

Pour mémoire, je rappelle que j’espère bien vous voir à ces 17èmes Journées du Logiciel Libre
Les Gentils Organisateurs ayant bien voulu m’accorder la faveur insigne d’un stand pour la présentation du projet « Ada for Automation », n’hésitez pas à venir nous rendre visite pour échanger.

A priori, le stand se tiendra dans l’espace DIY.
Il est également prévu un atelier en Salle Musique le Dimanche 3 Mars de 10h00 à 11h00.

JDLL2016

Cordialement,
Stéphane