Mosquitto: Python et MQTT
Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment débuter avec Mosquitto.
👋 Bienvenue dans la documentation Stackhero !
Stackhero vous offre un environnement Mosquitto MQTT cloud entièrement géré, conçu pour la fiabilité et la flexibilité :
- Débit illimité pour les messages et les transferts de données, afin que vos workflows ne soient jamais limités artificiellement.
- Authentification illimitée des appareils via votre propre API externe, pour simplifier l'intégration et la gestion des accès.
- ACLs avancées pour un contrôle précis des topics, des utilisateurs et des actions.
- Un nom de domaine personnalisé avec HTTPS intégré pour des endpoints sécurisés et à l'image de votre marque (par exemple : https://mqtt.votre-entreprise.com).
- Mises à jour sans tracas : appliquez les améliorations ou correctifs de sécurité en un seul clic.
- Performance constante et sécurité renforcée, chaque instance fonctionnant sur une infrastructure privée et dédiée.
Accélérez vos projets IoT et réduisez la charge opérationnelle. Vous pouvez mettre en place une instance Mosquitto MQTT cloud hosting sécurisée et prête pour la production en seulement quelques minutes.
Pour utiliser Mosquitto avec Python, la bibliothèque cliente Paho MQTT Python est recommandée. Installez-la avec :
pip install paho-mqtt
Voici un exemple de script Python pour se connecter à un serveur Mosquitto en utilisant le chiffrement TLS et l'authentification :
import paho.mqtt.client as mqtt
import random
import string
from paho.mqtt.client import CallbackAPIVersion
def on_connect(client, userdata, flags, reason_code, properties=None):
if reason_code == 0:
print("Connected successfully")
else:
print(f"Connection failed with reason {reason_code}")
def on_message(client, userdata, msg, properties=None):
print(f"Received message: {msg.payload.decode()} on topic {msg.topic}")
def generate_client_id(length=8):
characters = string.ascii_letters + string.digits
return "client_" + ''.join(random.choice(characters) for _ in range(length))
client_id = generate_client_id()
client = mqtt.Client(
client_id=client_id,
callback_api_version=CallbackAPIVersion.VERSION2
)
client.on_connect = on_connect
client.on_message = on_message
host = "<XXXXXX>.stackhero-network.com"
port = <PORT_TLS>
client.username_pw_set("<USER>", "<PASSWORD>")
client.tls_set()
try:
print(f"Connecting to {host} with client ID: {client_id}")
client.connect(host, port)
client.loop_start()
client.subscribe("$SYS/#")
try:
while True:
pass
except KeyboardInterrupt:
print("\nDisconnecting...")
client.loop_stop()
client.disconnect()
except Exception as e:
print(f"Error: {e}")
Avec ces instructions, vous devriez être bien équipé pour commencer à travailler avec Mosquitto sur Stackhero. Bonne exploration de MQTT !