Mosquitto: Python et MQTT
Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment débuter avec Mosquitto.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero vous propose un environnement Mosquitto MQTT cloud entièrement managé, pensé pour la fiabilité et la flexibilité :
- Débit illimité pour les messages et transferts de données, afin que vos workflows ne rencontrent jamais de limites artificielles.
- Authentification illimitée de vos appareils via votre propre API externe, pour un onboarding et une gestion des accès simplifié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 à votre image (par exemple : https://mqtt.votre-entreprise.com).
- Mises à jour sans effort : appliquez les améliorations ou correctifs de sécurité en un 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 disposer d'une instance Mosquitto MQTT cloud hosting sécurisée et prête pour la production en seulement quelques minutes.
Pour utiliser Mosquitto avec Python, il est recommandé d'utiliser la bibliothèque cliente Paho MQTT Python. Installez-la avec :
pip install paho-mqtt
Voici un exemple de script Python pour se connecter à un serveur Mosquitto avec chiffrement TLS et authentification :
import paho.mqtt.client as mqtt
import random
import string
from paho.mqtt.client import CallbackAPIVersion
# Fonction appelée lors de la connexion
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}")
# Fonction appelée lors de la réception d'un message
def on_message(client, userdata, msg, properties=None):
print(f"Received message: {msg.payload.decode()} on topic {msg.topic}")
# Génère un client ID aléatoire
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 disposez de toutes les informations nécessaires pour commencer à utiliser Mosquitto sur Stackhero. Bonne exploration de MQTT !