ESA2GJK1DH1K小さなマイクロチャネルプログラミング:アプレットのソースコードMQTTパケット命令を達成するために

 

 

 

説明

  私はMQTTパッケージを作った、迅速後半MQTTを達成するための小さなプログラムを作ることができました。

  カプセル化機能は、また、保守が容易で、後半の急速な発展を支援します。

  私は遅く、すべてのコードライブラリは、このパッケージを使用していました。

  このセクションでは、私はパッケージMQTT.jsの私の詳細な説明を使用します。

 

新築、コピーファイル

 

 

 

 

 

 

 

 

新しいプロジェクトに次の3つのファイル内で1または第2のテストコードをコピー

 

 

 

 

 

 

 

 

 説明

 

 

 

 

 

接続MQTT

以下の情報は、独自のサーバーMQTTに従って変更します

 

 

 

 

 

 

 

 

 

どこソフトウェア接続を書くために開始します

注:ただ、書き込みを接続し、内部の自動再接続

VAR MQTT =(必要" ./utils/mqtt.js " ); 

アプリ({ 
  onLaunch:関数(){ 

    MQTT.ConnectMqtt(); // 链接MQTT

 

 

 

 

 

正常に接続MQTT

 

 

 

テストの再接続

 

 

 

 

 

 

テーマを購読

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

 

建议

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");//启动定时器,循环订阅主题,直至订阅成功

 

 

 

 

取消订阅主题

    MQTT.unSubscribeTopic(
      "1111", //取消订阅的主题
      function()
      { 
        console.log("取消订阅成功"); 
      }
    );

 

 

 

发布消息

 

发布字符串消息

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

 

 

发布16进制消息

0xAA 0x88 0xFF 0xdd

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

 

 

接收消息

    MQTT.SetonMessageArrivedCallBack(
      function (arg)
      {
        console.log(arg.destinationName + "    " + arg.payloadString); 
      }
    );//注册接收消息回调函数

 

 

监听MQTT状态

掉线

    MQTT.SetonConnectionLostCallBack(function(arg){
      console.log(arg);//打印链接失败详细信息
    });//软件掉线

 

上线

    MQTT.SetonConnectionSuccessCallBack(function(){
      console.log("连接上MQTT");
    });//连接上MQTT

 

おすすめ

転載: www.cnblogs.com/yangfengwu/p/11832651.html