场景说明
物联网解决方案中,作为数据主体的“物”可能数量会非常大,产生的数据已经无法通过传统的数据处理服务进行处理。如何分析与利用这庞大的物联网设备数据对物联网企业来说又是一个新的挑战。
华为云物联网平台提供规则引擎能力,支持将设备上报的数据转发至华为云其他云服务,可实现将海量数据通过对象存储服务(OBS)存储,再由数据可视化服务(DLV)读取数据呈现为可视化报表,实现数据的一站式采集、处理和分析。
图1 场景说明
在本示例中,我们实现下述场景:
设备上报数据到物联网平台,物联网平台将数据以CSV格式存储到对象存储服务(OBS),数据可视化服务(DLV)从OBS文件读取数据并展现为多个维度的报表。
整体流程
- 创建MQTT协议产品、开发产品模型、并注册设备。
- 创建数据转发规则,将数据以CSV格式持久化至OBS服务。
- 配置数据可视化服务(DLV)展示OBS中物联网数据。
- 使用设备模拟器上报数据,验证DLV大屏数据实时刷新。
图1 整体业务流程图
前提条件
- 已注册华为云官方帐号。未注册可单击注册页面完成注册。
- 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。
- 已开通设备接入服务。未开通则访问设备接入服务,单击“立即使用”后开通该服务。
- 已开通OBS服务。未开通则访问OBS服务,单击“立即使用”后开通该服务。
- 已开通数据可视化DLV服务。未开通则访问数据可视化DLV服务,单击“立即使用”后开通该服务。
创建产品和设备
- 访问设备接入服务,单击“立即使用”进入设备接入控制台。
- 选择左侧导航栏的“产品”,单击右上角下拉框,选择新建产品所属的资源空间。
- 单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”。
- 为上一步创建的产品导入产品模型,请参考导入产品模型。
- 选择第3步创建的产品,在该产品下注册设备、请参考注册单个设备。
数据转发规则配置
- 选择左侧导航栏的“规则>数据转发”,单击右上角的“创建规则”。
- 参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考用户指南创建自己的规则,填写完成后单击“创建规则”。
- 单击“设置转发目标”页签,单击“添加”,设置转发目标。
- 参考下表参数说明,填写转发目标。填写完成后单击“确定”。
- 单击“启动规则”,激活配置好的数据转发规则。
图1 规则配置
表1 参数说明 |
|
参数名 |
参数说明 |
规则名称 |
自定义,如iotda-obs。 |
规则描述 |
自定义,如数据转发至OBS服务。 |
数据来源 |
选择“设备属性”。 |
触发事件 |
自动匹配“设备属性上报”。 |
资源空间 |
和上一步创建的产品所在的资源空间保持一致。 |
图1 添加转发目标
表1 参数说明 |
|
参数名 |
参数说明 |
转发目标 |
选择“对象存储服务(OBS)” |
区域 |
选择“对象存储服务”区域。若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。 |
存储桶 |
选择桶。若没有,请前往OBS服务创建桶。 |
自定义目录 |
自定义存储数据目录 |
文件名称 |
自定义存储数据文件名 |
文件类型 |
选择“CSV” |
转发字段—-目标存储字段 |
OBS服务中生成文件和流转数据的对应关系列表 |
本实践中用到的转发字段和转发目标如下:
表1 转发字段和转发目标 |
|
转发字段 |
转发目标 |
notify_data.header.app_id |
appId |
notify_data.header.device_id |
DeviceId |
notify_data.body.services[0].properties.orderID |
orderID |
notify_data.body.services[0].properties.area |
area |
notify_data.body.services[0].properties.orderTime |
orderTime |
notify_data.body.services[0].properties.goods |
goods |
notify_data.body.services[0].properties.amount |
amount |
示例:如果设备上报的属性如下,需要把”orderID”保存到CSV文件,需要设置转发字段为”notify_data.body.services[0].properties.orderID”,转发目标为”orderID”。
{
“resource” : “device.property”,
“event” : “report”,
“event_time” : “20220812T121212Z”,
“notify_data” : {
“header” : {
“device_id” : “d4922d8a-6c8e-4396-852c-164aefa6638f”,
“product_id” : “ABC123456789”,
“app_id” : “d4922d8a-6c8e-4396-852c-164aefa6638f”
},
“body” : {
“services” : [ {
“service_id” : “order”,
“properties” : {
“orderID” : “0001”
},
“event_time” : “20220812T121212Z”
} ]
}
}
}
图1 规则运行
数据上报及验证数据是否转发成功
- 使用MQTT模拟器连接到平台(模拟器使用请参考:使用MQTT.fx调测)。
- 使用模拟器进行属性上报(参考:设备属性上报)。
- 前往OBS控制台,查看转发目标设置的文件是否生成。
上报内容如下:
{
“services”: [{
“service_id”: “order”,
“properties”: {
“orderID”: “0000001”,
“area”: “南山区”,
“orderTime”: “20220815T121215Z”,
“goods”: “商品01″,
“amount”: 30.5
},
“event_time”: “20220815T121215Z”
}
]
}
图1 查看OBS桶内文件
配置数据可视化服务
配置数据可视化服务,新建数据报表视图。
-
登录华为云官方网站,访问数据可视化服务。
-
单击“进入控制台”。
-
访问DLV控制台“我的数据”页面,单击“新建数据连接”,新建CSV文件数据连接(详情请参考:新建CSV文件数据连接)。
若您未开通DLV服务,可单击“体验试用”获取30天的基础版免费试用。
© 版权声明文章版权归作者所有,未经允许请勿转载。THE END