Chi non volesse costruire il device come trattato negli articoli precedenti, ma avesse comunque necessita' di veder funzionare il sistema basato sui pacchetti di messaggi MQTT, puo' sempre far girare un software sul pc che simula il device stesso e che fornisce messaggi sul broket MQTT necessari.
Per questi test ho scelto il broker messo a disposizione dal progetto Eclipse che potete trovare quiPer far questo, sempre attraverso il progetto Eclipse ho trovato un codice che con poche righe consente di inviare messaggi ad un qualsiasi broker MQTT ad intervalli regolari
Utilizzando sempre il sitema Linux su WSL in Windows, nella mia shell, sempre nella cartella mqtt_client, ho creato un nuovo file chiamato publisher.py che crea una connessione con il broker MQTT, ed invia una serie di messaggi sul topic scelto ( nel mio caso TecnoGeppetto/topic
publisher.py
import paho.mqtt.client as mqtt import time def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") client = mqtt.Client() client.on_connect = on_connect client.connect("broker.emqx.io", 1883, 60) # send a message to the TecnoGeppetto/topic every 10 second, 50 times in a row for i in range(50): # the four parameters are topic, sending content, QoS and whether retaining the message respectively client.publish('TecnoGeppetto/topic', payload=i, qos=0, retain=False) print(f"send {i} to TecnoGeppetto/topic") time.sleep(1) client.loop_forever()
Quindi, su un sistema sul quale gira python 3 e sul quale e' installata la libreria paho.mqtt.client bastera' chiamare python3 publisher.py per ottenere una serie di 50 messaggi ogni 10 secondi pubblicati sul broker pubblico scelto sul topic preferito (nel caso del codice in oggetto, sul topic TecnoGeppetto/topic
Naturalmente i messaggi potranno essere ricevuto su un'altra shell sulla quale gira il software subcriber, descritto nel post precedente.Buon divertimento
TecnoGeppetto
Nessun commento:
Posta un commento