前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESA2GJK1DH1K微信小程序篇: 小程序实现MQTT封包源码使用说明

ESA2GJK1DH1K微信小程序篇: 小程序实现MQTT封包源码使用说明

作者头像
杨奉武
发布2019-11-11 14:44:39
7070
发布2019-11-11 14:44:39
举报
文章被收录于专栏:知识分享知识分享

说明

  我为了后期能够快速的让小程序实现MQTT,我做了一个MQTT的封装.

  功能的封装有助于后期快速的开发,还方便咱维护.

  我后期的所有代码皆使用此封装库,

  这一节,我就详细的介绍我封装的MQTT.js的使用

新建工程,拷贝文件

拷贝第一节或者第二节测试代码里面的以下三个文件到新工程

说明

连接MQTT

根据自己的MQTT服务器更改以下信息

在软件启动的地方写上连接

注:只要写上连接,内部自动断线重连

代码语言:javascript
复制
var MQTT = require("./utils/mqtt.js");

App({
  onLaunch: function () {

    MQTT.ConnectMqtt();//链接MQTT

成功连接MQTT

测试断线重连

订阅主题

代码语言:javascript
复制
      MQTT.subscribeTopic(
        "1111", //订阅1111
        0,//消息等级
        function () {
          console.log("订阅成功");
        }, function () {
          console.log("订阅失败");
        }
      );//订阅主题

建议

代码语言:javascript
复制
var MQTT = require("../../utils/mqtt.js");
var TimeNumber;//循环订阅设备主题定时器

    //订阅设备发布的主题
    try { clearInterval(TimeNumber); } catch (e) { }
    TimeNumber = setInterval(function()
    {

      MQTT.subscribeTopic(
        "1111", //订阅1111
        0,//消息等级
        function () {
          console.log("订阅成功");
          clearInterval(TimeNumber);//订阅成功清除定时
        }, function () {
          console.log("订阅失败");
        }
      );//订阅主题

    }, 1000, "null");//启动定时器,循环订阅主题,直至订阅成功

取消订阅主题

代码语言:javascript
复制
    MQTT.unSubscribeTopic(
      "1111", //取消订阅的主题
      function()
      { 
        console.log("取消订阅成功"); 
      }
    );

发布消息

发布字符串消息

代码语言:javascript
复制
    MQTT.publishTopic(
      "222", //发布的主题
      "message", //发布的消息
      0, //消息等级
      false, //不需要服务器保留
      function()//发送成功回调
      {
        console.log("发送消息成功");
      }
    );

发布16进制消息

0xAA 0x88 0xFF 0xdd

代码语言:javascript
复制
    MQTT.publishStringToHex(
      "222", //发布的主题
      "AA 88 FF dd", //发布的消息
      0, //消息等级
      false, //不需要服务器保留
      function ()//发送成功回调
      {
        console.log("发送消息成功");
      }
    );

接收消息

代码语言:javascript
复制
    MQTT.SetonMessageArrivedCallBack(
      function (arg)
      {
        console.log(arg.destinationName + "    " + arg.payloadString); 
      }
    );//注册接收消息回调函数

监听MQTT状态

掉线

代码语言:javascript
复制
    MQTT.SetonConnectionLostCallBack(function(arg){
      console.log(arg);//打印链接失败详细信息
    });//软件掉线

上线

代码语言:javascript
复制
    MQTT.SetonConnectionSuccessCallBack(function(){
      console.log("连接上MQTT");
    });//连接上MQTT
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 新建工程,拷贝文件
  • 连接MQTT
  • 订阅主题
  • 取消订阅主题
  • 发布消息
  • 接收消息
  • 监听MQTT状态
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档