Difference between revisions of "MQTT"
Line 18: | Line 18: | ||
**sudo apt-get update |
**sudo apt-get update |
||
**sudo apt-get install mosquitto python-mosquitto |
**sudo apt-get install mosquitto python-mosquitto |
||
+ | N.B: Il existe un serveur MQTT publique et gratuit 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 |
Ensuite, prendre une API Java pour un client MQTT |
||
Line 25: | Line 26: | ||
Voici l'architecture d'un exemple d'utilisation: |
Voici l'architecture d'un exemple d'utilisation: |
||
* Lancer le serveur sur une IP + port. |
* Lancer le serveur sur une IP + port. |
||
− | * Créer un "subscriber" qui va s'abonner à un ou plusieurs "topic(s)" |
+ | * 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. |
* Créer un "publisher" qui va créer des messages dans divers topics. Les subscribers abonnés à ces derniers recevront les messages. |
||
Revision as of 00:26, 13 April 2013
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
- http://mqtt.org/software
- python-mosquitto – a Python client module provided by the mosquitto project
- Plateforme M2M (MQTT, OData, OPC, Modbus, Zigbee/ZWave, ...) http://www.thingworx.com/
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 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
- ===> Voir eclipse Paho: http://www.eclipse.org/paho.
- Le jar utilisé (a inclure dans le classpath pour l'utiliser): http://www.eclipse.org/downloads/download.php?file=/paho/drops/org.eclipse.paho.client.mqttv3.jar
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: