Python中siot库遇到的一个问题

2024-08-033222
AI 快速预览详细 收起
本文讨论了在Python3.12.3和siot0.7环境下,使用siot库时遇到的消息接收无反应问题。通过最小化问题代码,展示了如何初始化siot客户端、设置消息回调函数,并使用tkinter的messagebox显示接收到的消息。文章指出,尽管连接正常,但在siot后台成功发送消息并保存至数据库后,没有任何反应。通过检查消息回调函数和消息解码方式,发现消息回调函数中的解码方法可能存在问题。建议检查消息回调函数中的解码方法,确保正确解码消息内容。
在Python3.12.3,siot0.7的情况下运行程序,遇到问题,最小化问题代码如下:
  1. <font size="3"><font color="#ff8c00" style="">import</font> siot
  2. <font color="#ff8c00" style="">from</font> tkinter <font color="#ff8c00" style="">import</font> messagebox
  3. <font color="#ff8c00" style="">from</font> tkinter <font color="#ff8c00" style="">import</font>*
  4. root=Tk()
  5. <font color="#ff8c00" style="">def</font> <font color="#0000ff" style="">on_message_callback</font>(client, userdata, msg):
  6.       messagebox.showinfo(title=msg.topic,message=msg.payload.decode())
  7. siot.init(client_id=<font color="#9acd32" style="">"****************"</font>,server=<font color="#9acd32" style="">"192.168.*.***"</font>,port=1883,user=<font color="#9acd32" style="">"siot"</font>,password=<font color="#9acd32" style="">"dfrobot"</font>)
  8. <font color="#8b0000" style="">#此处参数均正常,ID来源:Mind+获取</font>
  9. siot.connect()
  10. siot.loop()
  11. siot.set_callback(on_message_callback)
  12. root.mainloop()
  13. </font>
复制代码
此时,连接正常,但是在siot后台成功发送消息并保存至数据库后,没有反应,也没有任何报错,用Debugger也无法排查出错误。试了很多次一直是如此。有解决方法吗?

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
auroraAA
auroraAA
要先订阅topic 即siot.getsubscribe(topic="siot/测试")
CRH380AL-2542
CRH380AL-2542
作者
回复auroraAA
问题解决成功,谢了
- 没有更多了 -