阿里云物联网平台使用教程5-发布/订阅消息

1.使用说明

阿里云物联网提供的SDK已经封装了MQTT协议,直接调用API就可以.

SDK提供了与云端长链接的基础能力接口,用户使用这些接口完成自定义 Topic 相关的功能。提供物联网的基础能力包括:发布、订阅、取消订阅。

发布消息

//API device.publish(topic, message, [options], [callback])

//To publish a message with QoS 0
device.publish('/<productKey>/<deviceName>/user/update', 'hello world!');

//To publish a message with QoS 1
device.publish('/<productKey>/<deviceName>/user/update', 'hello world!',{qos:1});

//To publish a Buffer
device.publish('/<productKey>/<deviceName>/user/update', new Buffer([0,1,2,3,4]));

订阅消息

//API device.subscribe(topic, [options], [callback])

//订阅指定topic
device.subscribe('/<productKey>/<deviceName>/user/get');
//device.subscribe('/<productKey>/<deviceName>/user/get',{qos:1});

//接收到数据时将topic以及消息打印出来
device.on('message', (topic, payload) => {
  console.log(topic, payload.toString());
});

取消订阅消息

/API device.unsubscribe(topic, [callback])

device.unsubscribe('/<productKey>/<deviceName>/user/get')

2.代码示例

const iot = require('alibabacloud-iot-device-sdk');
const settings = require('./settings')

//创建iot.device对象将会发起到阿里云IoT的连接
const device = iot.device({
  productKey: settings.productKey, //将<productKey>修改为实际产品的ProductKey
  deviceName: settings.deviceName,//将<deviceName>修改为实际设备的DeviceName
  deviceSecret: settings.deviceSecret,//将<deviceSecret>修改为实际设备的DeviceSecret
});


//监听connect事件
device.on('connect', () => {

  console.log('connect successfully!');

  device.subscribe(`/${settings.productKey}/${settings.deviceName}/user/get`);
  setInterval(() => {
    device.publish(`/${settings.productKey}/${settings.deviceName}/user/update`, 'helloworld')
  }, 2000);

});

device.on('message', (topic, payload) => {
  console.log('topic:', topic);
  if (payload) {
    console.log('payload', payload.toString());
  }
});

你我的一小步,人类的一大步!

学习更多知识,加QQ群:1098090823
威武网 » 阿里云物联网平台使用教程5-发布/订阅消息

提供最优质的资源集合

立即查看 了解详情