python 使用MQTT回调消息判断是否为空
时间: 2023-12-03 10:03:00 浏览: 157
以下是使用Python和paho-mqtt库进行MQTT回调消息判断是否为空的示例代码:
```python
import paho.mqtt.client as mqtt
def on_message(client, userdata, message):
if message.payload:
print("Received message: ", message.payload)
else:
print("Empty message received")
# 创建MQTT客户端
client = mqtt.Client()
# 设置回调函数
client.on_message = on_message
# 连接到MQTT代理服务器
client.connect("mqtt.eclipse.org", 1883)
# 订阅主题
client.subscribe("test/topic")
# 循环处理消息
client.loop_forever()
```
在上面的代码中,我们定义了一个名为`on_message`的回调函数,它接收三个参数:`client`、`userdata`和`message`。在该函数中,我们使用`if`语句检查`message.payload`是否为空。如果不为空,则打印接收到的消息,否则打印“Empty message received”。
然后,我们创建了一个MQTT客户端,并将回调函数设置为`on_message`。然后,我们连接到MQTT代理服务器并订阅一个名为“test/topic”的主题。最后,我们使用`client.loop_forever()`循环处理消息。
当你运行这个代码并发送一个空的MQTT消息到“test/topic”主题时,它将打印“Empty message received”。如果发送一个非空消息,则它将打印接收到的消息。
阅读全文