Skip to content

微信小程序 MQTT 连接会遇到的一些问题

连接 MQTT 服务器

小程序需要先点击 MQTT 服务器板块进行连接,点击 MQTT 服务器板块后出现配置页面。

开发板

我们提供了测试服务器:关注公众号天人之际工作室,回复MQTT即可获得测试服务器地址账号密码。

微信小程序使用的 MQTT 通信端口号为:8084

不要和 ESP 硬件端口:1883 搞混

开发板

订阅 TOPIC、发布 TOPIC

下面两个 TOPIC,一个是监听传感器发送的数据,另一个是向设备下发指令,为了不和他人的 TOPIC 冲突,可以自己定义一个新的,和硬件端地址一致即可。

!!!关于 topic:

硬件端的 PUBLISH 对应小程序端的 LISTEN,注意需要交换一下,一个的发送对应另一个的接收

显示传感器设备和其他设备信息

注意,需要连接,并且和订阅发布话题后,首页的传感器设备其他设备盒子才会显示。

真机调试一直显示正在重连

问题描述

在微信开发者工具 MQTT 连接无问题,但真机调试会一直显示正在重连

问题原因

使用的 MQTT.js 库文件有问题或服务器有问题。

解决方法

  1. 类似这种情况,替换所使用的 点击下载 mqtt.min.js 文件,或者进群下载,群文件有提供。
  1. 上一步还不行的话使用我们提供的测试服务器尝试下,看看是否可以正常连接, 能正常连接并收发消息的话就是自己服务器的问题。

MQTT 服务器连接成功后一直重连(开发者工具或者真机调试)

前提条件

  • 已正确配置 MQTT 客户端,包括 MQTT 服务器地址、端口、用户名、密码等信息。
  • 使用的服务器能正常连接,并且成功连接过

问题描述

使用 MQTT 连接到服务器后,出现连接成功和正在重连频繁切换的情况,并且无法收发消息。

问题原因

可能是服务器端的问题,或者是 username 冲突了。

解决方法

如果次数很少可以忽略不计

频繁这样的话是因为 连接时候设置的 username 太简单,很多人在使用这个 username

更改 username 为比较复杂,不容易重复的即可,比如 xxxx_当前的日期时间

另外有的小伙伴在开发工具调试完后开启真机调试,会采用相同的 uesrname,导致两边一直重连,应采用不同的

powered by 天人之际工作室