1、新建mqtt.js库
先新建文件夹utils,再新建文件mqtt.min.js
2、官网下载地址:https://unpkg.com/mqtt@4.2.0/dist/mqtt.min.js
3、进行ctrl+a复制,粘贴到刚新建文件里面
4、引用mqtt.js库
5、连接EMQX服务器
const app = getApp()
var mqtt = require('../../utils/mqtt.min.js') //根据自己存放的路径修改
const appInstance = getApp();
Page({
data: {
motto: 'Hello World',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo'),
canIUseGetUserProfile: false,
canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName'), // 如需尝试获取用户信息可改为false
},
onLoad(){
this.doConnect()
if (wx.getUserProfile) {
this.setData({
canIUseGetUserProfile: true
})
}
},
doConnect(){
//如果你服务器开了连接验证,这里的参数要自己加上username和password等
const options = {
keepalive: 60, //60s
clean: true, //cleanSession不保持持久会话
protocolVersion: 4 ,//MQTT v3.1.1
clientId:Math.random().toString(36).substr(2)
};
let url = "wx://www.visionexpand.com.cn:8083/mqtt";//这个地址是emq官方的公开免费地址,请换成自己服务器的地址
const client = mqtt.connect(url,options)
client.on('connect', function () {
console.log('连接emqx服务器成功')
client.subscribe('$thing/up/property/IQMPOB8BI9/temp/humi',{qos:2},function(err){
if(!err)
{console.log('订阅成功')}
})
})
//接收消息监听
client.on('message', (topic, message) => {
let msg=message.toString();
const data=JSON.parse(msg);
const timestamp = new Date().toISOString().substr(0, 19).replace('T', ' ');
console.log();
// 设置数据
this.setData({
});
})
},
})
点击“编译“,就可以啦!
6、查看是否连接上EMQX
可以看到我们的小程序已经连上EMQX服务器了