传送门: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...
阿里云物联网平台客户交换群