js 连接mqtt

Posted xuhaoliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 连接mqtt相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

MQTT 无法通过 TLS 连接

基于node.js搭建简单的MQTT服务器,手机通过热点连接电脑实现MQTT服务器测试

JavaScript使用MQTT

使用 Paho MQTT Js 成功连接到 Mosquitto 代理后突然断开连接

怎么使用esp8266WiFi模块,js连接mqtt,实现简单的智能家居控制?

如何使用 MQTT 连接到 wss?