IoT 物联网平台如何实现 100万/秒 消息广播?

简介: IoT 物联网平台如何实现 100万/秒 消息广播?

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

image.png

在物联网场景中,常常会有全量设备消息广播诉求。如何把消息瞬间推送到海量在线设备上?


阿里云IoT企业物联网实例为开发者提供了 PubBroadcast 接口,可以在秒级触达100万在线设备,使得企业面在面对高并发需求时无后顾之忧。


创建4个设备和广播内容

我们以收款音箱场景消息广播为例,演示全量设备广播功能。

设备和广播消息体

image.png

广播消息内容

产品

设备

收款音箱

dk004

g6palBDnzyT

"volume":80,

dk003

mode":4

dk002

dk001

loT物联网技术

全量设备广播接口PubBroadcast

image.png

类型

名称

描述

系统规定参数.取值:PubBroadcast.

String

Action

您需要将消息原文转换成二进制数据,

String

MessageContent

并进行Base64编码,最大报文64KB.

接收广播消息的产品Key.

String

Productkey

J订物联网技术

企业实例ID.

String

lotlnstanceld

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

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(topicmessage) {
    //过滤全量广播消息    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({
    accessKeyIdoptions.accessKey,
    secretAccessKeyoptions.accessKeySecret,
    endpoint'https://iot.cn-shanghai.aliyuncs.com',
    apiVersion'2018-01-20'});
// 2.构造iot API// 这里是POP API的Actionconst action = 'PubBroadcast';
// 广播内容const payload = {
    volume80,
    mode4};
// 完整入参 paramsconst params = {
    ProductKey"g6palBDnzyT",
    IotInstanceId"iot-064a04kg",
    MessageContentnew 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 日志:image.png

image.png

nodePubBroadcast

F"RequestId":"A95C5704

成功

PubBroadcast

_-A584-E

二二二二->3

Success":true,"MessageId:1387000844339148288"

24BFO358573"

loT物联网技术

4个设备端收到的广播消息日志:

Topic的消息id相同,deviceName不同

image.png

设备收到全量广播消息:

LBDnzyt/dkoo1/broadcast/request

topic-/sys/g6palBDr

/1387000844339148288

message-f"volume":80,"mode":4

设备收到全量广播消息:

topic-/sys/g6palBDnzyt/dkqo2/broadcast/request

1387000844339148288

message-ff"volume":80,"mode":47

设备收到全量广播消息:

topic-/sys/g6palBDnzyt/dklo3/broadcast/request

1387000844339148288

:80,"mode":4

message-tt"volume

设备收到全量广播消息:

topic-/sys/g6palBDnzyT/dkl04/broadcast/request

/1387000844339148288

message-I"volume":80,"mode":4

loT物联网技术


往期推荐


1、39张传感器工作原理GIF图汇总

2、智能手持测温枪开发实践

3、JMeter压测MQTT服务性能实战

4、IoT物联网平台日志服务详解

5、自建MQTT集群迁移阿里云IoT实践

6、工业Modbus电力104规约接入IoT平台

7、设备免烧录三元组,即时注册解决方案

8、IoT+TSDB+Quick BI 搭建楼宇环境监控

9、JS全栈开发,构建智能家居小程序


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
27天前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
42 1
|
12天前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
27 1
|
21天前
|
消息中间件 存储 传感器
RabbitMQ 在物联网 (IoT) 项目中的应用案例
【8月更文第28天】随着物联网技术的发展,越来越多的设备被连接到互联网上以收集和传输数据。这些设备可以是传感器、执行器或其他类型的硬件。为了有效地管理这些设备并处理它们产生的大量数据,需要一个可靠的消息传递系统。RabbitMQ 是一个流行的开源消息中间件,它提供了一种灵活的方式来处理和转发消息,非常适合用于物联网环境。
43 1
|
14天前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
19 0
|
1月前
|
存储 传感器 监控
理解并利用物联网(IoT)数据的技术探索
【8月更文挑战第11天】物联网数据是数字化转型的重要资源。通过深入理解物联网数据的特性和价值,并采取有效的收集、处理和分析策略,我们可以更好地利用这些数据为企业决策提供支持、优化运营效率、创造新的商业模式并推动数字化转型的深入发展。
|
1月前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
随着物联网技术的发展,海量设备数据对数据库提出实时高效存储处理的新要求。PolarDB作为阿里云的高性能云数据库,展现了其在IoT数据存储领域的潜力。面对IoT数据的规模、实时性和多样性挑战,PolarDB凭借分布式架构,实现了高性能、高可靠性和高扩展性,支持动态扩展和冷热数据分层存储,满足IoT数据实时写入、查询及管理需求,展现出广阔的应用前景。
52 1
|
20天前
|
消息中间件 传感器 物联网
Producer 在物联网 (IoT) 中的应用
【8月更文第29天】在物联网 (IoT) 领域,设备和传感器不断生成大量的数据。为了有效地收集、处理和分析这些数据,通常会采用消息队列技术。消息队列允许设备将数据发送给后端系统进行进一步处理。在这个过程中,消息生产者(Producer)扮演着关键角色,负责将数据从设备发送到消息队列。本文将详细介绍如何使用消息生产者来收集来自各种传感器和其他 IoT 设备的数据,并提供一个基于 Python 和 Kafka 的示例代码。
27 0
|
1月前
|
存储 安全 物联网
物联网(IoT)安全:挑战与解决方案
【8月更文挑战第5天】物联网(IoT)深刻改变着我们的生活,但随之而来的安全挑战不容忽视。面对设备身份验证复杂、数据隐私泄露、软件漏洞及资源受限等问题,本文提出加强身份验证、加密保护、定期更新、安全开发生命周期、多层次防御、安全培训及标准化合作等解决方案,旨在构建一个更加安全可靠的物联网环境。
|
21天前
|
消息中间件 传感器 监控
AMQP 与物联网 (IoT) 应用的结合
【8月更文第28天】高级消息队列协议 (AMQP) 是一种开放标准的应用层协议,特别适合于物联网 (IoT) 场景中的消息传递。AMQP 提供了可靠的、可扩展的消息传输机制,能够处理来自大量设备的数据流。本文将探讨 AMQP 在 IoT 应用中的优势,并提供使用不同编程语言构建 AMQP 客户端的具体示例。
19 0
|
2月前
|
传感器 供应链 物联网
ERP系统与物联网(IoT)集成:实现智能化业务管理
【7月更文挑战第29天】 ERP系统与物联网(IoT)集成:实现智能化业务管理
115 0

相关产品

  • 物联网平台