python实现 ,每隔10s往队列里发一条信息,信息是“hi“。然后用MQTT协议订阅该消息并打印log
时间: 2023-11-27 07:54:17 浏览: 72
首先,我们需要安装MQTT客户端库paho-mqtt:
```
pip install paho-mqtt
```
接下来,实现每隔10秒往队列里发送一条信息,可以使用Python的time和queue模块:
```python
import time
import queue
q = queue.Queue()
def produce():
while True:
q.put("hi")
time.sleep(10)
```
然后,使用paho-mqtt库订阅该消息并打印log:
```python
import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe("test/topic")
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
client.connect("broker.hivemq.com", 1883, 60)
client.loop_start()
while True:
message = q.get()
client.publish("test/topic", message)
```
这里使用了HiveMQ公共的MQTT broker作为消息服务器。运行程序后,可以看到每10秒会往消息队列里发送一条“hi”信息,并且该信息会被订阅并打印在log里。
阅读全文