Bonjour à tous, j’ai pour projet de faire une mini station-météo dans ma chambre ! C’est un truc tout simple avec une carte discovery avec un capteur de température et d’humidité déjà inclus sur la carte. J’ai besoin de votre aide car je souhaite apprendre à utiliser la programmation python et ici en particulier à pouvoir écrire les données que j’ai reçu de mes capteurs dans un topic de mon serveur mosquitto mqtt sur ma machine en localhost.
J’ai un peu de mal à expliquer mon problème donc je vous joins mon code que j’utilise et qui ne remplit pas la fonction finale que je voudrai.
code :
#! /usr/bin/python
import paho.mqtt.client as mqtt
import time
def on_message(client, userdata, message):
print("message received " ,str(message.payload.decode(« utf-8 »)))
print(« message topic= »,message.topic)
print(« message qos= »,message.qos)
print(« message retain flag= »,message.retain)
########################################
broker_address=« localhost » #ma machine en local pour commencer gentiment
print(« creating new instance »)
client = mqtt.Client(« Python23 ») # mon ID unique que j’ai choisi
client.on_message=on_message #attach function to callback
print(« connecting to broker »)
client.connect(broker_address) # se connecter en local encore
client.loop_start() # la fonction infinie
print(« Subscribing to topic »,« test/test1 ») #mon topic de test avant de mettre le projet sur pied
client.subscribe(« test/test1 ») # ici je souscrie au topic test/.test1
print(« Publishing message to topic »,« test/test1 »)
client.publish(« test/test1 »,« OFF ») #ici je publie « normalement » le message OFF
time.sleep(4) # wait
client.loop_stop() #stop the loop
En soi, je n’ai pas 'erreur mais selon la source que je vous joins ici, How to Use The Paho MQTT Python Client - Beginners Guide
Il est censé m’afficher le message reçu, le topic sur lequel j’écris, la qualité de service et le « retain flag » ça je sais pas ce que c’est …
Le script me renvoie les print ça c’est normal mais j’ai pas la totalité du résultat et les données intéressantes.
"creating new instance
connecting to broker
(‹ Subscribing to topic ›, ‹ test/test1 ›)
(‹ Publishing message to topic ›, ‹ test/test1 ›)*
Je sais que c’est le b.a.b-a de la programmation mqtt mais jesuis bloqué et je comprend pas où sont mes erreurs… Je vous remercie d’avance !! et j’espere ne pas avoir fait de doublon, je n’ai rien trouvé de similaire
Bonne journée