MQTT微信小程序连接自己搭建好的EMQX服务器

avatar
作者
猴君
阅读量:4

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服务器了

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!