説明
私は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