微信小程序 MQTT 连接会遇到的一些问题
连接 MQTT 服务器
小程序需要先点击 MQTT 服务器
板块进行连接,点击 MQTT 服务器
板块后出现配置页面。
我们提供了测试服务器:关注公众号天人之际工作室
,回复MQTT
即可获得测试服务器地址账号密码。
微信小程序使用的 MQTT 通信端口号为:8084
不要和 ESP 硬件端口:1883 搞混
订阅 TOPIC、发布 TOPIC
下面两个 TOPIC,一个是监听传感器发送的数据,另一个是向设备下发指令,为了不和他人的 TOPIC 冲突,可以自己定义一个新的,和硬件端地址一致即可。
!!!关于 topic:
硬件端的 PUBLISH 对应小程序端的 LISTEN,注意需要交换一下,一个的发送对应另一个的接收
显示传感器设备和其他设备信息
注意,需要连接,并且和订阅发布话题后,首页的传感器设备
和其他设备
盒子才会显示。
真机调试一直显示正在重连
问题描述
在微信开发者工具 MQTT 连接无问题,但真机调试会一直显示正在重连
问题原因
使用的 MQTT.js 库文件有问题或服务器有问题。
解决方法
- 类似这种情况,替换所使用的 点击下载 mqtt.min.js 文件,或者进群下载,群文件有提供。
- 上一步还不行的话使用我们提供的测试服务器尝试下,看看是否可以正常连接, 能正常连接并收发消息的话就是自己服务器的问题。
MQTT 服务器连接成功后一直重连(开发者工具或者真机调试)
前提条件
- 已正确配置 MQTT 客户端,包括 MQTT 服务器地址、端口、用户名、密码等信息。
- 使用的服务器能正常连接,并且成功连接过
问题描述
使用 MQTT 连接到服务器后,出现连接成功和正在重连频繁切换的情况,并且无法收发消息。
问题原因
可能是服务器端的问题,或者是 username 冲突了。
解决方法
如果次数很少可以忽略不计
频繁这样的话是因为 连接时候设置的 username 太简单,很多人在使用这个 username
更改 username 为比较复杂,不容易重复的即可,比如 xxxx_当前的日期时间
另外有的小伙伴在开发工具调试完后开启真机调试,会采用相同的 uesrname,导致两边一直重连,应采用不同的