MQTT

From air
Jump to navigation Jump to search

MQ Telemetry Transport (MQTT) est un protocole de transport de données pour le M2M pour des réseaux à faible débit. MQTT suit le pattern publish-subscribe entre le capteur et un ou plusieurs puits de collecte (ie M2M box, back office, ...). Les messages échangés sont encodés en binaire (spec 3.1).

MQTT a été proposé à la standardisation à l'OASIS.

API, Logiciels, Middleware

Node.js

Utilisation de MQTT en Java

En premier lieu, il faut un serveur MQTT.

  • ===> Installer Mosquitto (http://mosquitto.org/) ou sur Ubuntu:
    • sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
    • sudo apt-get update
    • sudo apt-get install mosquitto python-mosquitto

N.B: Il existe un serveur MQTT publique et gratuit (évitant l'installation) fourni par eclipse: m2m.eclipse.org lancé sur le port 1883 ; Ne marche pas avec le WiFi de la fac à cause d'un blocage des ports

Ensuite, prendre une API Java pour un client MQTT

Voici l'architecture d'un exemple d'utilisation:

  • Lancer le serveur sur une IP + port.
  • Créer un "subscriber" qui va se connecter au serveur et s'abonner à un ou plusieurs "topic(s)"
  • Créer un "publisher" qui va créer des messages dans divers topics. Les subscribers abonnés à ces derniers recevront les messages.

Pour aller plus en détails, voici un exemple d'utilisation Java avec l'API eclipse paho:

A regarder