由于小程序的限制,仅允许备案域名通过加密协议连接(https 和 wss)。

刚好,MQTT 的是可以基于 wss 来传输的,所以,在小程序中连接 MQTT 需就可以通过 MQTT over wss 的方式实现。

开源库

目前支持 MQTT 在微信小程序里使用的库有不少,这里推荐以下两个:

https://github.com/tennessine/paho.mqtt.wxapp
https://github.com/mqttjs/MQTT.js

Demo

于是,基于上面的开源库 paho.mqtt.wxapp 做了个 demo,可以微信扫码体验下。

「MQTT 工具」小程序

服务器用了百度云天工的物接入,因为我用的广州区域,就适配了下广州。

你可以自己在天工上创建物接入项目,获取账户密码。

为了方便大家玩耍,这里提供一组测试用的账户和密码(不承诺持久有效):

账户:1mvy4n5/iotalk-user
密码:pyt1Qoy1QB7YbtOF
ClientID:代码中已默认填充(此处无需填写)

可测试的主题:

test(pub 与 sub 均已绑定权限)

截图示例

输入鉴权信息,完成登录
填写主题名称(test为例),完成订阅
向主题(test)发送消息
查看收到的消息(可配合电脑或其他手机端测试玩耍)