mqtt

说明

硬件平台支持

硬件平台

是否支持

说明

HaaS600-EC100Y

HaaS600-EC600S

HaaS510

HaaS531

HaaS100

HaaS EDU K1

HaaS200

已在开发中

示例代码

test.mosquitto.org
var mqtt = require('mqtt');

// create mqtt client
var client = mqtt.createClient({
  host: 'test.mosquitto.org',
  port: 1883,
  clientId: 'aiot#123',
  username: 'aiot',
  password: '123',
  success: function() {
    console.log('mqtt connected');
  },
  fail: function() {
    console.log('mqtt connect failed');
  }
});

client.on('message', function(topic, payload) {
  console.log('[' + topic + ']  message: ' + payload)
});

// subscribe
client.subscribe({
  topic: '/hello'
});

// publish
setInterval(function () {
  client.publish({
    topic: '/hello',
    message: 'this is AMP mqtt test'
  });
}, 3 * 1000);

createClient(Object options)

创建一个 MQTTClient 实例(客户端),创建时会连接 MQTT 服务端。

入参

Object类型,其属性有:

属性

类型

必填

描述

host

String

要连接的MQTT 服务端的地址,可以是ip地址,也可以是域名

port

Number

要连接的MQTT 服务端的端口号,默认为1883

clientId

String

设置clientId,默认为系统随机生成

username

String

设置username

password

String

设置password

keepalive_interval

Number

设置MQTT心跳时间,单位秒,默认60

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

返回值

  • MQTTClient

一个MQTTClient 实例。

MQTTClient 实例

事件

  • Event:'close'

当mqtt关闭时,触发close事件。

  • Event:'connect'

当mqtt连接成功后,触发connect事件。

  • Event:'disconnect'

当mqtt连接断开时,触发'disconnect'事件。

  • Event:'message'

当接收到publish数据时,message事件触发。

  • Event:'error'

当发生错误时,error事件触发。

方法

  • MQTTClient.subscribe(Object option)

订阅topic。

  • MQTTClient.unsubscribe(Object option)

取消订阅topic。

  • MQTTClient.publish(Object option)

发布消息到指定topic。

  • MQTTClient.reconnect()

重连MQTT 服务器。

  • MQTTClient.close()

关闭MQTT Client实例。

  • MQTTClient.on(String event, Function callback)

注册MQTT 事件回调函数。

事件:'close'

当mqtt关闭时,触发'close'事件。

事件:'connect'

当mqtt连接成功后,触发'connect'事件。

事件:'disconnect'

当mqtt连接断开时,触发'disconnect'事件。服务端断开连接、主动断开连接、网络发生异常等都会触发该事件。

事件:'message'

当接收到publish数据时,'message'事件触发。回调函数的参数有:

属性

类型

描述

topic

String

接收到数据的topic

message

ArrayBuffer

接收到的数据

事件:'error'

当发生错误时,'error'事件触发。回调函数的参数有:

属性

类型

描述

error

String

错误信息

MQTTClient.subscribe(Object option)

订阅topic。

入参

Object类型,具体属性为:

属性

类型

必填

描述

topic

String

要订阅的topic

qos

Number

QoS订阅等级,默认为0

success

Function

订阅成功时的回调函数

fail

Function

订阅失败时的回调函数

MQTTClient.unsubscribe(Object option)

取消订阅的topic。

入参

Ojbect类型,具体属性为:

属性

类型

必填

描述

topic

String

要取消订阅的topic

MQTTClient.publish(Object option)

向指定topic发布消息。

入参

Object类型,具体属性为:

属性

类型

必填

描述

topic

String

要发布消息的topic

message

String 或ArrayBuffer

要发送的数据

qos

Number

QoS订阅等级,默认为0

success

Function

发布消息成功时的回调函数

fail

Function

发布消息失败时的回调函数

MQTTClient.reconnect()

当发生'disconnect'事件时,使用reconnect()可以重新连接 MQTT 服务器。

MQTTClient.close()

关闭MQTTClient实例。

MQTTClient.on(String event, Function callback)

监听事件。

入参

属性

类型

必填

描述

event

String

注册的事件名称

callback

Function

监听事件的回调函数

事件类型

事件类型

描述

close

mqtt关闭事件

connect

连接上mqtt服务端事件

message

接收到新的publish消息事件

error

发生错误事件