传送门:5个视频解说,30个场景案例汇总

在物联网场景中,经常会有全量设施音讯播送诉求。如何把音讯霎时推送到海量在线设施上?
阿里云IoT企业物联网实例为开发者提供了 PubBroadcast 接口,能够在秒级触达100万在线设施,使得企业面在面对高并发需要时无后顾之忧。

创立4个设施和播送内容

咱们以收款音箱场景音讯播送为例,演示全量设施播送性能。

设施和播送音讯体

全量设施播送接口PubBroadcast

设施端收到的消息报文示例:Topic示例:

Topic示例:/sys/g6palBDnzyT/dk004/broadcast/request/1386995865331441413Payload示例:{    "volume": 80,    "mode": 4}

全量播送开发实战

设施端开发
IoT物联网平台默认提供全量播送Topic,设施端无需事后订阅,即可接管到云端的播送音讯。设施端利用程序代码(Node.js 示例):

// node broadcast-device.jsconst mqtt = require('aliyun-iot-mqtt');//1.设施身份三元组+区域const options = require("./iot-device-config.json");// 2. 建设MQTT连贯const client = mqtt.getAliyunIotMqttClient(options);//零碎全量播送 Topic 前缀const allBroadcastTopic = `/sys/${options.productKey}/${options.deviceName}/broadcast/request`;client.on('message', function(topic, message) {    //过滤全量播送音讯    if (topic.indexOf(allBroadcastTopic) > -1) {        console.log("设施收到全量播送音讯:")        console.log("\ttopic=" + topic)        console.log("\tmessage=" + message)    }})

iot-device-config.json 设施配置参数:

{    productKey: "g6palBDnzyT",    deviceName: "dk004",    deviceSecret: "424ed56661980c604255507d1b81464e",    host: "iot-060a08kg.mqtt.iothub.aliyuncs.com"}

云端后盾开发
云端业务零碎调用IoT物联网实例的PubBroadcast接口,即可发送播送音讯,触达全量在线设施。调用代码示例(Node.js):

// node broadcast.jsconst co = require('co');const RPCClient = require('@alicloud/pop-core').RPCClient;const options = {    accessKey: "本人的accessKey",    accessKeySecret: "本人的accessKeySecret"};//1.创立clientconst client = new RPCClient({    accessKeyId: options.accessKey,    secretAccessKey: options.accessKeySecret,    endpoint: 'https://iot.cn-shanghai.aliyuncs.com',    apiVersion: '2018-01-20'});// 2.结构iot API// 这里是POP API的Actionconst action = 'PubBroadcast';// 播送内容const payload = {    volume: 80,    mode: 4};// 残缺入参 paramsconst params = {    ProductKey: "g6palBDnzyT",    IotInstanceId: "iot-064a04kg",    MessageContent: new Buffer(JSON.stringify(payload)).toString("base64")};co(function*() {    //3.发动全量播送PubBroadcast API调用    try {        const response = yield client.request('PubBroadcast', params);        console.log("PubBroadcast 胜利 =====>", JSON.stringify(response));    } catch (err) {        console.log("PubBroadcast 失败 =====>", JSON.stringify(err));    }});

全量播送联调

业务服务器调用 PubBroadcast API 日志:


4个设施端收到的播送消息日志:
Topic的音讯id雷同,deviceName不同

往期举荐

1、39张传感器工作原理GIF图汇总
2、智能手持测温枪开发实际
3、JMeter压测MQTT服务性能实战
4、IoT物联网平台日志服务详解
5、自建MQTT集群迁徙阿里云IoT实际
6、工业Modbus电力104规约接入IoT平台
7、设施免烧录三元组,即时注册解决方案
8、IoT+TSDB+Quick BI 搭建楼宇环境监控
9、JS全栈开发,构建智能家居小程序

物联网平台产品介绍详情:https://www.aliyun.com/produc...

            阿里云物联网平台客户交换群