js 連接mqtt
阿新 • • 發佈:2019-04-27
取消 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