1. 程式人生 > >js 連接mqtt

js 連接mqtt

取消 scribe function ble 服務 success nec cli 代碼

js連接mqtt

項目中要用到mqtt,前端調用,使用github開源的paho-mqtt.js,api還是挺全面的,網上各種教程很全面,但是感覺代碼過於雜亂,故而封裝的一下。仿jquery ajax調用方法。

首先本項目依賴 paho-mqtt.js

1.引用paho-mqtt.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
2.引用封裝的 MqttX.js(源代碼點擊查看)
3.開始調用初始化方法
mqttX.init({
    id:'10',
    ip:'47.92.127.210',
    port:61623,
    success:function(){
        console.log("mqttx連接成功");
        mqttX.subscribe('vp1');
    },
    error:function(){
        console.log("mqttx連接失敗");
    },
    connectLost:function(){
        console.log("mqttx連接丟失");
    },
    onMessage:function(message){
        console.log("mqttx",message);
    }
});

參數列表

參數 是否必須 默認 說明
id 必須 0 mqtt客戶端id
ip 必須 127.0.0.1 mqtt服務端ip地址
port 必須 61623 mqtt服務端ws端口號
success 非必須 連接成功回調
error 非必須 連接失敗回調
connectLost 非必須 連接斷開回調
onMessage 非必須 消息通知
4.其他方法

1.訂閱主題

//訂閱主題
mqttX.subscribe(topic,[qos]);

參數列表

參數 是否必須 默認 說明
topic 必須 主題
qos 非必須 0 訂閱主題的qos

返回類型:boolean

2.取消訂閱

//取消訂閱主題
mattX.unsubscribe(topic);

參數列表

參數 是否必須 默認 說明
topic 必須 主題

返回類型:boolean

3.重新連接

//重新連接
mattx.reconnect();

參數列表

  • 無參數

返回類型:boolean

4.發送消息

//發送消息
mattx.sendMessage(topic,obj);

參數列表

參數 是否必須 默認 說明
topic 必須 主題
obj 必須 發送的信息

返回類型:boolean

js 連接mqtt