python - MQTT 和 Python - 继续发送消息
问题描述
我正在使用 ESP32 运行 MicroPython 代码,它在启动时会发送一条 MQTT 消息。
现在这个设备已经关闭(没有插上电源!!),但我仍然收到它连接到代理的消息。
1)为什么会发生?
2)我需要什么来阻止它?
3) 最后一次尝试是使用 QOS=1 或 2,也许这是导致问题的原因?仍然如何阻止它?
盖伊
EDIT1 - 添加调试输出:
guy@lab_pi:~ $ mosquitto_sub -d -t HomePi/Dvir/#
Client mosqsub/2800-lab_pi sending CONNECT
Client mosqsub/2800-lab_pi received CONNACK
Client mosqsub/2800-lab_pi sending SUBSCRIBE (Mid: 1, Topic: HomePi/Dvir/#, QoS: 0)
Client mosqsub/2800-lab_pi received SUBACK
Subscribed (mid: 1): 0
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r1, m0, 'HomePi/Dvir/Windows/ESP32', ... (4 bytes))
Down
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r1, m0, 'HomePi/Dvir/Windows/Sonoff1', ... (36 bytes))
[HomePi/Dvir/Windows/All][down] D000
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r1, m0, 'HomePi/Dvir/Messages', ... (69 bytes))
[HomePi/Dvir/Windows/Sonoff1] Connected to MQTT server: 192.168.2.113
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (91 bytes))
[2018-08-27 19:14:25.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [OFF]
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (91 bytes))
[2018-08-27 19:25:03.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [OFF]
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (90 bytes))
[2018-08-27 19:26:46.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [UP]
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (91 bytes))
[2018-08-27 19:26:47.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [OFF]
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (92 bytes))
[2018-08-27 19:26:47.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [DOWN]
Client mosqsub/2800-lab_pi received PUBLISH (d0, q0, r0, m0, 'HomePi/Dvir/Messages', ... (91 bytes))
[2018-08-27 19:26:48.00] Topic: [HomePi/Dvir/Windows/ESP32_3] Message: Button Switch: [OFF]
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
Client mosqsub/2800-lab_pi sending PINGREQ
Client mosqsub/2800-lab_pi received PINGRESP
解决方案
推荐阅读
- android - 在 AOSP 中对系统服务进行更改后构建哪个目标?
- javascript - Adobe Animate 倒计时到特定日期
- go - golang 频道是基于 LIFO 的吗?
- scala - 隐式解析中的Scala类型约束优先级
- php - Laravel 500 错误没有日志
- php - 使用 eloquent 创建表
- java - 在另一个内部框架java swing后面制作内部框架
- javascript - DataTables.net Excel 导出在 Progressive Web App 中不返回任何结果
- c# - 设置动态生成的 WPF 画布的背景颜色?
- python - 使用 Python 从网站图表中抓取数据