{{tag>dev python mqtt iot}}
====== Python : Communication MQTT ======
Le projet **Eclipse Paho** vise à créer des implémentations open source du protocole MQTT pour différents langages de programmation (C, Python, Arduino, Java, JavaScript, C#, etc.).
Le projet propose un client MQTT en Python **paho-mqtt** (anciennement nommé python-mosquitto). Il implémente les versions 3.1, 3.1.1 et 5.0 du protocole MQTT et permet d'interagir facilement avec le broker Mosquitto.
===== Installation =====
La bibliothèque est disponible via pyppi, on peut l'installer via pip:
pip3 install paho-mqtt
Le paquetage fournit deux modules, un client complet et un helper qui contient des fonctions permettant de publier simplement des messages MQTT.
===== Publication de messages =====
Si on souhaite transmettre des messages au Broker MQTT, le plus simple est d'utiliser les helpers **single()** ou **multiple()**
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
topic_test = 'school/hall/2TT34857'
payload_test = '{"A4NB": 124555,"A3NB": 2121}'
publish.single(topic_test, payload_test, qos=0, retain=True, hostname="localhost",
port=1883, client_id="paperboy", keepalive=60, will=None, auth=None, tls=None,
protocol=mqtt.MQTTv311, transport="tcp")
===== Références =====
* https://pypi.org/project/paho-mqtt/
* http://www.steves-internet-guide.com/mqtt-python-beginners-course/
* https://mntolia.com/mqtt-python-with-paho-mqtt-client/