手机端(APP点灯blinker)-PC端(Node-red)-设备端(ESP32)-客户端(MQTTX客户端)四者之间的通信——通过MQTT通信(问题处理)

手机端(APP点灯blinker)-PC端(Node-red)-设备端(ESP32)-客户端(MQTTX客户端)四者之间的通信——通过MQTT通信(问题处理篇)

背景

前两篇文章收到大量粉丝的欢迎,但是同时也有不少粉丝遇到了很多奇怪的问题,博主太长时间没有复现之前的项目了,导致最近有些遗忘,今日再细化下碰到的问题和解决办法。

问题一:链接点灯科技的服务器总是会一连接上就掉线

原因:设备只能发布和订阅属于自身的topic,如果操作其他的topic将被broker断开连接!

在点灯科技的官网有说明:
在这里插入图片描述
如图:
我们发布和订阅的device只能是自己的ClientID,若订阅了不符合标准的topic,则会被服务器强制下线,而删除订阅的topic又需要连接上服务器才能删除,所以就导致我们永远无法再次在线,因此只能删除该链接重新配置才行。
在这里插入图片描述
官网的发布和订阅标准如下:
在这里插入图片描述

问题二:硬件设备无法收到来自MQTTX客户端的消息

原因:
发布
设备向Topic发布信息后,broker会获取其中的toDevice信息,并将该信息转发到指定设备

{"toDevice":"xxxxxxxx","data":"abcdefg"}

上述转发格式中的toDevice字段的值,非目标设备的DeviceName,而是目标设备的uuid,在下篇的说明中未注意到uuid的标准因此后续实现转发的过程中有不少小伙伴都发现发送不成功的问题,在此进行解释说明,以表歉意,浪费和误导了大家。
在这里插入图片描述
报文示例:

假设
设备①:
deviceName:FDE97499KO7NNLCP53AUCAH8 
uuid:abcdefg1234567

设备②:
deviceName:3CCE9041LIHUPMOGX9E1PVLF
uuid:gfedcba7654321

这两设备要想相互通信就得这么发
设备①发送的Topic和报文内容
在这里插入图片描述
设备②发送的Topic和报文内容
在这里插入图片描述

问题三:MQTTX客户端在线了为什么收不到硬件设备的消息

原因:在建立链接的时候,服务器地址可能未选择正确导致,由于新建链接的时候服务器地址会默认生成一个,导致我们忘了填写点灯科技的服务器地址,最后导致虽然看上去设备和MQTTX客户端都在线了,但是就是收不到来自设备转发的消息,原因是2个都在线了,但是不在同一个服务器上,点灯服务器的地址为:broker.diandeng.tech(该地址可通过URL中的host获取)。
在这里插入图片描述

问题四:MQTTX客户端建立链接时总会显示错误

原因:MQTTX客户端默认建立链接时采用的是5.0版本协议,但是点灯科技服务器不支持该协议导致报错。
在这里插入图片描述
进行编辑,在高级选项中选择MQTT版本为3.1.1
在这里插入图片描述

最后的话

若还有其他小伙伴碰到问题,可参考此篇,若仍存在其他问题,可留言或私信博主,博主上线看到就会回,有问题可免费帮忙解答,共同进步!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
blinker-library-master是一个开源的Python库,它为开发者提供了一种简单而灵活的方式来实现物联网设备的远程控制和数据交互。该库基于ESP8266系列芯片,并结合微信公众号平台的特点,使得开发者可以通过微信公众号与物联网设备进行实时通信。 该库的主要特点包括以下几个方面: 1. 支持远程控制:使用blinker库,开发者可以通过微信公众号向设备发送指令来实现远程控制。比如,可以通过微信公众号发送灯光开关指令,从而控制设备的开关状态。 2. 支持数据交互:blinker库提供了丰富的数据交互功能,可以将传感器数据实时上传到云平台,或者从云平台获取数据。这样,开发者可以通过微信公众号随时了解设备的工作状态或者监测环境数据。 3. 简单易用:blinker库的使用非常简单,它提供了丰富的API接口,使得开发者可以快速方便地进行开发和测试。只需要几行代码,就可以实现设备与微信公众号的连接和数据交互。 4. 开源自由:blinker库是开源的,开发者可以根据自己的需求进行修改和定制。正因为如此,该库的社区很活跃,用户可以从社区获取到丰富的教程和示例代码。 总之,blinker-library-master是一个强大而灵活的Python库,它为开发者提供了一种简单而高效的方式来实现物联网设备和微信公众号之间的实时通信与数据交互。无论是控制设备还是获取数据,blinker库都能帮助开发者快速实现,并且具备很大的扩展性和可定制性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值