在物联网场景中 常常会有全量设备消息广播诉求。如何把消息瞬间推送到海量在线设备上
阿里云IoT企业物联网实例为开发者提供了 PubBroadcast 接口 可以在秒级触达100万在线设备 使得企业面在面对高并发需求时无后顾之忧。
我们以收款音箱场景消息广播为例 演示全量设备广播功能。
设备和广播消息体全量设备广播接口PubBroadcast设备端收到的消息报文示例Topic示例 /sys/g6palBDnzyT/dk004/broadcast/request/1386995865331441413 Payload示例 ???? volume :?80, ???? mode :?4 }
//?node?broadcast-device.js const?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 }
//?node?broadcast.js const?co? ?require( co ); const?RPCClient? ?require( alicloud/pop-core ).RPCClient; const?options? ?{ ????accessKey:? 自己的accessKey , ????accessKeySecret:? 自己的accessKeySecret //1.创建client const?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的Action const?action? ? PubBroadcast ; //?广播内容 const?payload? ?{ ????volume:?80, ????mode:?4 //?完整入参?params const?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不同
您还在为临时分享某个文件夹而烦恼吗?您是否对授权的复杂度感到震惊?关于存储...
日期 接口 说明 应用范围 2021-04-20 查询企业内部群信息 DingTalk OpenAPI新增...
难得请了年假 躺在阳光海浪仙人掌的沙滩上喝着椰汁 突然接到系统报警电话 立刻跳...
由腾讯云+社区主办的 云+社区【玩转腾讯云】之视频征稿活动 在2021年04月19号圆...
本文转载自微信公众号「大鱼仙人」,作者大鱼。转载本文请联系大鱼仙人公众号。 ...
近日 Gartner 发布了《2021 年Gartner APM 魔力象限》 阿里云成为国内唯一入选的...
公司 邮箱 如何注册申请?通常公司邮箱就是 企业邮箱 ,现在企业在日常管理和对...
王玉君,腾讯云后台高级开发工程师,负责腾讯云原生系统开发及建设。 晏子怡,腾...
上海 云服务器 哪家好?现在 云服务器 品牌有很多,其中 TOP云 ,是国内较早提供...
举办方式:线上直播 直播时间:2021年4月26日晚19:00--21:00 扫码入群,预约直播...