关于使用wx小程序与mqtt通讯使用以及避坑指南

                            原生小程序与mqtt通讯指南

const mqtt = require('../../utils/mqtt')  //引入mqtt.js  网上下载   切记要新版的。

var client = null

Page({

  /**

   * 页面的初始数据

   */

  data: {

  },

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad() {

    this.connectmqtt();

  },

  connectmqtt(){

    const option = {

      keepalive: 3600,  //心跳机制

      connectTimeout: 1000, //响应时间

      port: 8084,              //端口号

      username: 'emqx',  //用户名

      password: 'public1234', //密码

      clientId: 'wsy',    //这个只要和MQTT服务器的id不一致就可以

    }

    注意‘wxs://这里跟上你的域名

       client = mqtt.connect('wxs://z4171ee2.ala.cn-hangzhou.emqxsl.cn/mqtt', option)

          client.on('connect', (e) => {

          console.log('服务器连接成功')

      //注意: client.subscribe(你要订阅的主题)

          client.subscribe('dataReportBack/231009134713892003084', {

            qos: 0

          }, function (err) {

            if (!err) {

              console.log('订阅成功')

            }

          })

        })

        client.on('message', function (topic, message) {

           let tem = {}

           tem = JSON.parse(message);

           console.log(tem,'tem') 

        //注意 这里console.log(打印出内容,正常是mqttf发送过来的)

           console.log(message.toString());

        })

        client.on('error', (error) => {

          console.log('连接失败', error)

        });

        client.on('reconnect', () => {

          console.log("正在重新连接")

        });

        client.on('pingresp', () => {

          console.log('收到心跳响应');

          setInterval(() => {

            client.pingreq();

          }, 30000);

        });

  },

   

调试器打印结果为这样就成功啦

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在微信小程序使用wx连接mqtt,需要使用以下步骤: 1. 引入mqtt.min.js库:在小程序使用mqtt需要引入mqtt.min.js库,可以通过npm安装,也可以直接下载js文件并引入。 2. 创建连接:使用wx.connectSocket方法创建mqtt连接,参数中需要指定mqtt服务器的地址,以及ws协议。 3. 监听连接事件:使用wx.onSocketOpen方法监听连接事件,包括连接成功、连接失败等事件。 4. 发送消息:使用wx.sendSocketMessage方法向mqtt服务器发送消息。参数包括消息内容等。 5. 监听消息:使用wx.onSocketMessage方法监听mqtt服务器发送的消息。参数包括消息内容等。 下面是一个简单的示例代码: ``` const mqtt = require('mqtt.min.js') wx.connectSocket({ url: 'wxs://mqtt.example.com', header: { 'content-type': 'application/json' }, protocols: ['mqtt'], success() { console.log('WebSocket连接打开') }, fail(err) { console.log('WebSocket连接失败', err) } }) wx.onSocketOpen(function () { // 连接成功 wx.sendSocketMessage({ data: 'hello mqtt', success() { console.log('发送成功') } }) }) wx.onSocketMessage(function (res) { // 收到消息 console.log(res.data) }) ``` 在上面的代码中,我们使用wx.connectSocket方法创建mqtt连接,并指定了mqtt服务器的地址、协议类型、请求头等信息。在连接成功后,我们使用wx.sendSocketMessage方法向mqtt服务器发送了一条消息。最后,我们使用wx.onSocketMessage方法监听mqtt服务器发送的消息,并在收到消息后输出了消息的内容。注意,在微信小程序中,使用wx.connectSocket连接mqtt服务器时需要指定protocols为['mqtt']。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值