使用MASA全家桶从零开始搭建IoT平台(四)处理设备上行数据-获取并通知业务系统...
💡
原文中文,约7900字,阅读约需19分钟。
📝
内容提要
本文介绍如何通过MQTT获取设备数据并通知业务系统,包括获取方案、共享订阅实现负载均衡、数据格式和实施流程,提供相关代码和参考链接。
🎯
关键要点
- 物联网平台需要获取和处理设备上报的MQTT数据,称为上行数据。
- 可以通过MQTT创建IoT Hub server接收设备数据,订阅特定Topic。
- 使用Webhook方式可以在设备发布数据时将数据传递出来。
- 完全基于MQTT的方案中,设备通过特定规则的Topic传递消息。
- 使用多个Hub和随机生成的Topic分组可以减少单点故障和系统瓶颈。
- EMQX支持共享订阅,实现多个订阅者的负载均衡。
- 带群组的共享订阅允许同一群组内的订阅者以负载均衡接收消息。
- EMQX支持多种均衡分发策略,如随机选择、轮询等。
- 上行数据包括Payload和Metadata,Payload为传感器数据,Metadata为消息的附加信息。
- 实施流程中创建服务以MQTT客户端形式连接EMQX并订阅Topic。
- 编写代码连接MQTT并处理接收到的消息,使用Dapr将数据发送到业务系统。
- 验证效果时,启动Hub和Core项目并模拟设备连接MQTT,成功获取数据。
- 需要处理重复数据,了解MQTT的QoS等级以实现消息去重。
➡️