IoT

IoT场景中查看设备当前运行状况实现方案

背景

IoT场景中,设备往往会定时上报自己当前的运行状态参数,供运维人员查看设备状态。

架构方案

image.png

开发实战

1.水泵定时上报业务消息

水泵监控场景中,每10分钟会定时上报运行状态到IoT平台,具体通信Topic和payload如下:

// 定时上报运行状态的Topic
/${productKey}/${deviceName}/user/bizHeart/post
// 对应payload结构体
{
    status: 'RUNNING', //运行状态 RUNNING,STOP,SHUTDOWN
    speed: 3000, //当前转速
    waterOutput: 125,//当前出水量
    workingTime: 72//工作时长 xx分钟
}

2.表格存储设计

创建一个数据表,以设备deviceName为主键,扩展信息为设备当前状态。
image.png

image.png

3.规则引擎配置

设备上报数据后,通过规则引擎实时流转到表格存储中。
image.png

3.1 数据处理SQL

SELECT 
deviceName() as deviceName,
attribute('coordinate') as coordinate, 
attribute('city') as city, 
timestamp('yyyy-MM-dd HH:mm:ss') as currentTime,
status,speed,waterOutput,workingTime 
FROM 
"/a1vYwzHjT6p/+/user/bizHeart/post"

3.2 数据转发

image.png

4.设备运行

4.1 设备基本信息,和设备标签

image.png

4.2 设备上报的消息日志

image.png

4.3 消息流转日志

image.png

4.4 表格存储中设备信息

image.png

结束语

通过以上方案,设备状态上报时,自动更新到表格存储中。我们就可以提供deviceName在表格存储中查到设备当前运行状态。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *