Table des matières

, , ,

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