使用MQTT 发送的成功或者失败的回调函数
时间: 2024-04-10 14:27:20 浏览: 119
在使用 MQTT 发送消息时,可以设置成功或失败的回调函数来处理相应的回调通知。这些回调函数可以根据实际需求进行自定义。下面是一个示例代码,展示了如何使用 MQTT 发送消息并处理成功或失败的回调函数:
```python
import paho.mqtt.client as mqtt
# MQTT 服务器信息
mqtt_broker = "mqtt.example.com"
mqtt_port = 1883
# MQTT 订阅主题
mqtt_topic = "my_topic"
# MQTT 连接成功的回调函数
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to MQTT broker")
else:
print("Failed to connect, return code: ", rc)
# MQTT 发布消息成功的回调函数
def on_publish(client, userdata, mid):
print("Message published successfully")
# MQTT 发布消息失败的回调函数
def on_publish_error(client, userdata, mid):
print("Failed to publish message")
# 创建 MQTT 客户端,并设置回调函数
client = mqtt.Client()
client.on_connect = on_connect
client.on_publish = on_publish
client.on_publish_error = on_publish_error
# 连接 MQTT 服务器
client.connect(mqtt_broker, mqtt_port)
# 发布消息
message = "Hello, MQTT!"
result, mid = client.publish(mqtt_topic, message)
# 循环处理 MQTT 事件
client.loop_forever()
```
在上述示例中,我们使用了 Paho MQTT 客户端库来实现 MQTT 的连接和消息发送。通过设置 `on_connect`、`on_publish` 和 `on_publish_error` 等回调函数,可以在连接成功、消息发布成功或失败时得到相应的通知。你可以根据自己的需求,在这些回调函数中添加自定义的逻辑来处理成功或失败的情况。
阅读全文