Bom, você já deve entender de Python né? Senão, estude e volte aqui.
O lance aqui é simples com paho-mqtt, para ouvir um tópico, façamos o seguinte:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# Para instalar o paho-mqtt use o comando pip install paho-mqtt
import paho.mqtt.client as mqtt
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
# O subscribe fica no on_connect pois, caso perca a conexão ele a renova
# Lembrando que quando usado o #, você está falando que tudo que chegar após a barra do topico, será recebido
client.subscribe("topico/#")
# Callback responável por receber uma mensagem publicada no tópico acima
def on_message(client, userdata, msg):
print(msg.topic+" - "+str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
# Seta um usuário e senha para o Broker, se não tem, não use esta linha
client.username_pw_set("USUARIO", password="SENHA")
# Conecta no MQTT Broker, no meu caso, o Mosquitto
client.connect("IP_OU_URL_BROKER", PORTA, 60)
# Inicia o loop
client.loop_forever()
Para publicar, faça o seguinte
1
2
3
4
5# Importa o publish do paho-mqtt
import paho.mqtt.publish as publish
# Publica
publish.single("topico/teste", "Oi, aqui é um teste", hostname="IP_OU_URL_BROKER")
Na publicação, você passa todos os parâmetros no publish, como QOS, porta, auth e etc. Tudo muito fácil né? Quer saber mais? Leia a documentação do paho-mqtt
Dicas por Gercil Junio - https://gercil.me