【摘要】 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况。
场景简介
通过收集自动售货机系统的销售数据,EI数据分析售货销量状况。
该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,应用侧可以到物联网平台订阅设备侧变化的通知,用户可以在控制台或通过应用侧接口创建数据转发规则,把设备上报的属性转发给其他华为云服务。
核心知识点:产品模型、编辑码插件、订阅推送、属性上报、MQTT协议、数据转发规则。
场景流程
流程解释:
-
2、上传产品模型:产品模型是定义一种设备的基本属性和命令。产品模型可以通过控制台,也可以导入公共产品库的模型。该场景没有编解码插件,是因为设备是基于安卓操作系统开发的,能够通过MQTT协议与平台进行交互。
-
3、批量注册自动售货机设备:平台提供了应用侧API接口可以注册设备,也可以通过控制台批量注册。注册设备时获取的设备ID,是设备侧与平台交互的唯一标识。
-
4、创建自动售货机设备状态变化的订阅:售货管理系统可以在平台创建设备变化的通知订阅,需要把callback url即应用回调地址传给平台,平台后续会推送通知到该url。
-
5、设备建链:MQTT设备是指通过MQTT协议,不论是集成了华为IoT Device SDK,还是原生MQTT协议接入,只要是json数据格式传输给平台,平台就无需使用编解码插件。如果是二进制上传,则需要先做编解码插件的开发。MQTT是长连接,需要先建链才能进行数据传输,可以通过安全加密方式8883端口接入(推荐),也可以通过非安全加密方式1883端口接入。
-
6、推送自动售货机设备激活通知:平台会根据之前应用订阅的回调地址,把自动售货机设备上线的通知类型通过HTTP/HTTPS推送回去。
-
7、创建数据转发规则:售货管理系统可以通过API接口创建规则,也可以通过控制台创建,指定过滤指定的属性,给指定的通道转发数据。
-
8、开通DIS通道/MRS服务:华为公有云上有丰富的SaaS服务和PaaS服务,供您结合自己的业务需要进行组合使用。DIS服务提供高效采集、传输、分发能力,支持多种IoT协议,可以开通该服务,通过IoTDA规则引擎,把自动售货机设备的数据转发给DIS,然后再利用诸如MRS服务,实现自动售货销量状况数据分析。
-
9、自动售货机属性上报:设备侧可以通过SDK或MQTT原生协议接入平台,属性上报销售信息。这里值得注意的是,设备侧上报的数据,是通过属性上报,与消息上报最大的区别在于是否经过产品模型。属性上报的内容与格式都要跟产品模型定义保持一致。具体概念介绍可以参阅“物模型”。
-
10、按规则数据转发:平台收到设备上报的属性后,规则引擎会进行过滤(不论属性还是消息,平台都会做规则过滤),把设定好的属性值转发到指定的DIS通道,然后再通过DIS的接口,由MRS去消费DIS的数据,实现对销量的分析。
最佳实践
场景说明
物联网解决方案中,作为数据主体的“物”可能数量会非常大,产生的数据已经无法通过传统的数据处理服务进行处理。如何分析与利用这庞大的物联网设备数据对物联网企业来说又是一个新的挑战。
华为云物联网平台提供规则引擎能力,支持将数据上报的数据转发至华为云其他云服务,可实现将海量数据通过数据接入服务(DIS)转发至MapReduce服务(MRS),对数据进行处理后再由数据可视化服务(DLV)读取数据呈现为可视化报表,实现数据的一站式采集、处理和分析。
在本示例中,我们实现下述场景:
自动售货机每次销售商品后上报销售商品种类、数量、时间和所属区域到物联网平台,物联网平台将数据通过数据接入服务转发至MapReduce服务,MapReduce服务处理数据并写为统计文件,数据可视化服务从统计文件读取数据展现为四个维度的销售报表。
创建MapReduce集群
创建集群,用于存储