使用IoT云上大屏展示物联网设备的实时数据监测
使用IoT云上大屏展示物联网设备的实时数据监测
准备工作
创建虚拟私有云虚拟私有云-控制台 (huaweicloud.com)
基本信息:
区域:华北-北京四
名称:vpc-nice(自定义)
IPv4网段 建议使用网段: 10.0.0.0/8-24 或者172.16.0.0/12-24
高级配置:默认
默认子网:
可用区:可用区1
名称:subnet-nice(自定义)
子网IPv4网段:10-0-0-0/24
子网IPv6网段:不开启
关联路由表:默认
高级配置:默认
立即创建
购买弹性公网IP
计费模式:按需计费
区域:华北-北京四
线路:全动态BGP
公网带宽:按流量计费
带宽大小:100
IPv6转换:不开启
弹性公网IP名称:ip-nice
高级配置:
带宽名称:
bandwidth-nice
标签:不设置
购买量:1
立即购买,记下弹性公网ip的地址
创建一个MapReduce点击此处
区域:华北-北京四
集群名称:mrs_nice(自定义)
集群版本:MRS 1.9.2
集群类型:分析集群
分析组件:默认必选Hadoop,同时勾选Spark、Hive、Tez
元数据:本地元数据
进入下一步:硬件配置
计费模式:按需计费
可用区:可用区1
虚拟私有云:选择创建好的vpc-nice
子网:创建好的子网subnet-nice
安全组:自动动创建
弹性公网IP:预先创建的ip
集群节点:最小规格默认配置
配置如图。
标签、主机名前缀、弹性伸缩、引导操作暂不设置
委托使用MRS_ECS_DEFAULT_AGENCY
告警:开启
规则名称:默认
主题名称:创建主题
主题名称:mrs_info
显示名:mapreduce
标签:不设置
回到mrs创建界面,点击右侧选择mrs_info
日志记录:开启
Kerberos认证:关闭
用户名:admin
密码:Admin@20220214
登录方式:密码
用户名:root
密码:Root@20220214
通信安全授权:确认授权
创建成功后查看详情
创建桶
区域:华北-北京四
桶名称:ton-0214
数据冗余策略:多AZ存储
默认存储类别:标准存储
桶策略:私有
默认加密:关闭
归档数据直读:关闭
创建数据接入通道和转储任务
数据接入服务(Data Ingestion Service)_DIS_实时数据_Kafka-华为云 (huaweicloud.com)
计费模式:按需计费
区域:华北-北京四
通道名称:dis-0214(自定义)
通道类型:普通
分区数量:1
生命周期 (小时):24
源数据类型:JSON
自动扩缩容:关
Schema:关
高级配置:暂不配置
- 通道购买成功后,进入DIS控制台“接入管理 > 通道管理”页面。
- 单击需要查看的通道名称,进入所选通道的管理页面,选择“转储任务”页签。
- 单击“添加转储任务”按钮。
参数名称 | 说明 |
---|---|
源数据类型 | 默认为通道源数据类型 |
转储服务类型 | 选择“MRS”。 |
任务名称 | 自定义,如“iot_to_mrs”。 |
转储文件格式 | 选择“Text”。 |
MRS集群 | 选择已创建成功的MRS集群。 |
HDFS路径 | 选择转储文件要存储的路径,建议选择“/user”。 |
转储文件目录 | 自定义转储文件存放的文件夹名称,本示例中为“temp”。 |
偏移量 | 选择“最新”。 |
数据转储周期 | 本示例中修改为“60”。 |
数据临时桶 | 选择已创建的OBS桶ton-0214 |
数据临时目录 | 自定义,本示例中为“temp”。 |
配置设备接入服务
-
访问设备接入服务,单击“管理控制台”进入设备接入控制台。
-
选择左侧导航栏的“产品”
-
单击右上角的“创建产品”,创建一个基于MQTT协议的产品,填写参数后,单击“确认”。
基本信息 所属资源空间 新建一个资源空间 产品名称 自定义,如MQTT_Device_0214 协议类型 选择“MQTT” 数据格式 选择“JSON” 厂商名称 自定义,如mrs_2022_nice_Co.,Ltd. 所属行业 根据实际情况进行填写。 设备类型 MapReduce -
获取产品ID为:620b136ac7fb24029b11ff82.
-
单击Profile.zip,获取产品模型文件样例。
-
在产品详情->模型定义页面,单击“上传模型文件”,在弹出的页面中加载产品模型文件,然后单击“确认”。
-
选择左侧导航栏的“设备>所有设备”,单击右上角的“注册设备”,填写设备注册参数。
参数名称 说明 所属产品 选择在步骤3中创建的产品。 设备标识码 即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母和数字组成。 设备名称 自定义。 设备认证类型 选择“密钥”。 密钥 设备密钥,可自定义,不填写物联网平台会自动生成。可设置为MQTTDevice_20220215 填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“设备密钥”。
设备ID
620b136ac7fb24029b11ff82_202202151045
设备密钥
MQTTDevice_20220215
-
选择左侧导航栏的“规则>数据转发”,单击右上角的“创建规则”。
注:您也可以基于已经创建的规则,在规则详情页面,添加新的转发目标MySQL。
-
参考下表参数说明,填写规则内容。以下参数取值仅为示例,您可参考
用户指南创建自己的规则,填写完成后单击“创建规则”。
参数名 参数说明 规则名称 自定义,如iotda-dis。 规则描述 自定义,如数据转发至DIS服务。 数据来源 选择“设备属性”。 触发事件 自动匹配“设备属性上报”。 资源空间 和2中的资源空间保持一致。 快速配置 单击右侧的“快速配置”。勾选“符合以下所选条件的数据”。所属产品:选择3创建的产品。“所属服务”和“按属性过滤”均不选择,保持默认。单击“确认”。 -
数据转发规则创建成功,并分配以下规则ID:
9954ccb5-88a3-4dc9-9e16-4ee8802a52a5
请您继续设置转发目标,完成规则的完整定义
-
单击“设置转发目标”页签,单击“添加”,设置转发目标。
转发目标 选择“数据接入服务(DIS)” 参数名 参数说明 区域 选择DIS服务的所在区域。若未授权访问此区域的服务,请根据界面提示,配置云服务访问授权。要查看区域对应编号,请进入我的凭证 (huaweicloud.com)查看 通道归属 选择“自有通道”。 通道 选择通道。若没有,请前往DIS服务创建通道。 -
单击“启动规则”,激活配置好的数据转发规则。
图2 激活规则
配置数据可视化服务
配置数据可视化服务,新建数据报表视图。
-
登录华为云官方网站,访问数据可视化服务。
-
单击“进入控制台”。也可体验试用。
-
访问DLV控制台“我的大屏”页面,新建一个大屏。
-
选择空白模板,输入大屏名称后(如mrs_nice_screen),单击“创建大屏”。
-
单击“文本 > 标题”新增一个标题。
-
在右侧“数据”面板修改静态数据中“value”的值为“每日销量”。
-
在大屏内拖动标题到左上角,并拉伸成合适的形状。
-
单击“常用图表 > 线状图”新增一个线状图报表。
-
拖动图表到标题下面并拉伸成合适的形状。
-
重复以上步骤再添加一个标题为“时间段销量”柱状图,一个标题为“种类销量”的饼状图,一个标题为“地区销量”的区域排行图,并根据自己的需要设置图表的样式。最终效果类似下图。
-
单击页面右上角的按钮退出编辑页面。
验证操作
-
首先控制设备上报10条数据。
- 您可以使用配置设备接入服务时注册的真实设备接入平台,上报数据。
- 您也可以使用模拟器模拟设备上报数据。
这里以MQTT.fx虚拟设备方式为例
在Huaweicloud IoTDA Mqtt ClientId Generator (myhuaweicloud.com)生成接入信息
打开MQTT.fx软件
在设备接入-控制台 (huaweicloud.com)获取设备对接地址。
ping 获取ip地址
上报数据的样例如下,请自行修改参数的取值模拟真实设备数据:
样例1
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 2, "area": "SZFT" }, "event_time": "20190426T170005Z" }] }
上述样例表示UTC时间2019年4月25日9点11分57秒深圳罗湖的自动贩卖机卖出了一支碳酸饮料。
样例2
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 2, "area": "SZFT" }, "event_time": "20190426T170005Z" }] }
上述样例表示UTC时间2019年4月26日17点05秒深圳福田的自动贩卖机卖出了两支果汁饮料。
本文以上报下表的数据为例。
NO.1{ "services": [{ "service_id": "sales", "properties": { "category": "soda", "number": 1, "area": "SZLH" }, "event_time": "20190425T091157Z" }] }
NO.2
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 1, "area": "SZFT" }, "event_time": "20190425T121511Z" }] }
NO.3
{ "services": [{ "service_id": "sales", "properties": { "category": "sport", "number": 1, "area": "SZLH" }, "event_time": "20190425T172433Z" }] }
NO.4
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 2, "area": "SZFT" }, "event_time": "20190426T170005Z" }] }
NO.5
{ "services": [{ "service_id": "sales", "properties": { "category": "soda", "number": 1, "area": "SZNS" }, "event_time": "20190426T190905Z" }] }
NO.6
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 1, "area": "SZNS" }, "event_time": "20190427T085959Z" }] }
NO.7
{ "services": [{ "service_id": "sales", "properties": { "category": "juice", "number": 2, "area": "SZLH" }, "event_time": "20190427T111111Z" }] }
NO.8
{ "services": [{ "service_id": "sales", "properties": { "category": "soda", "number": 3, "area": "SZFT" }, "event_time": "20190428T182215Z" }] }
NO.9
{ "services": [{ "service_id": "sales", "properties": { "category": "sport", "number": 1, "area": "SZLH" }, "event_time": "20190429T205901Z" }] }
NO.10
{ "services": [{ "service_id": "sales", "properties": { "category": "soda", "number": 1, "area": "SZLG" }, "event_time": "20190430T225045Z" }] }
其余以此类推,发送下表数据
category | number | area | timeStamp |
---|---|---|---|
soda | 1 | SZLH | 20190425T091157Z |
juice | 1 | SZFT | 20190425T121511Z |
sport | 1 | SZLH | 20190425T172433Z |
juice | 2 | SZFT | 20190426T170005Z |
soda | 1 | SZNS | 20190426T190905Z |
juice | 1 | SZNS | 20190427T085959Z |
juice | 2 | SZLH | 20190427T111111Z |
soda | 3 | SZFT | 20190428T182215Z |
sport | 1 | SZLH | 20190429T205901Z |
soda | 1 | SZLG | 20190430T225045Z |
-
登录MRS管理控制台,选择“集群列表 > 现有集群”,单击集群名进入集群管理页面。
-
单击页面上方的“文件管理”,再单击“HDFS文件列表”,进入转储文件目录(例如“temp”)查看是否存在转储的数据文件。
**注:**DIS会将数据合并转发,所以此处的文件数量和上报的数据条数可能会不一致。
-
单击页面上方的“作业管理”,在“作业”页签中单击“添加”,配置作业信息。本示例中创建一个spark类型的作业,实现分析设备上报数据,分别按日期、时间段、种类、区域统计销量,将分析结果输出为CSV文件并保存至OBS。
参数名称 说明 作业类型 选择“SparkSubmit”。 作业名称 自定义,如“SparkSubmit001”。 执行程序路径 [下载jar包]:(链接: https://pan.baidu.com/s/16TT-gv8v2CB_4zona2RBzg?pwd=r1pv 提取码: r1pv )复制这段内容后打开百度网盘手机App,操作更方便哦并上传至OBS桶。回到添加作业页面,单击“OBS”后单击“浏览”选择刚刚上传的jar文件。 运行程序参数 左侧选择“–class”,右侧输入“com.huawei.bigdata.spark.examples.SalesStatistics”。 执行程序参数 输入“AK SK inputpath outputpath”。其中AK SK填写华为云账号的AK、SK,获取方法可参考AK和SK的获取方法。inputpath填写文件输入路径,在本样例中为DIS的转储路径,如“/user/temp”。outputpath填写文件输出路径,在本样例中为已申请的OBS桶内的output文件夹(无需提前在OBS创建文件夹,MRS会自动创建),如“s3a://{OBS桶名称}/output”。 服务配置参数 无需填写。 配置完成后单击“确定”启动作业,等待成功
-
作业完成后,可在OBS桶内看到output文件夹,里面有四个文件夹,每个文件夹内有一个“_SUCCESS”文件和一个“part”开头的csv文件。
**注:**本实验的样例程序分析数据时会将UTC时间转换为本地时间,因此数据分析结果中的日期与时间段数值会和上报时的数值不一致。
-
登录华为云官方网站,访问数据可视化服务。
-
单击“进入控制台”。
-
单击“我的数据 > 新建数据连接” ,在“新建数据连接”页面左侧的数据库类型中,选择“CSV文件”,按照下表的数据规划填写配置后单击“确定”。重复本步骤建立4个数据连接。
参数名 说明 名称 建立4个数据连接,分别命名为:salesByDate salesByTime salesByCategory salesByArea Access Key 填写华为云账号的AK、SK,获取方法可参考AK和SK的获取方法。 Secret Access Key 文件来源 选择“OBS文件”。注意:为了防止出错,请将csv文件起一个更短的名字然后复制到obs根目录! 文件路径 4个连接分别选择步骤5的output文件夹内和连接同名的文件夹内的csv文件。 -
返回“我的大屏”页签,单击配置数据可视化服务时创建的大屏右下的按钮进入编辑页面。
-
选中“每日销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByDate”。
-
根据响应数据的属性名称配置字段映射。
配置 “x”为 “saleDate”, “y”为 “saleNumber”。
-
选中“时间段销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByTime”。
-
根据响应数据的属性名称配置字段映射。
配置 “x”为 “saleTime”, “y”为 “saleNumber”。
-
选中“种类销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByCategory”。
-
根据响应数据的属性名称配置字段映射。
配置 “s”为 “category”, “y”为 “saleNumber”,并设置各个分类的名称(本示例中为“soda”,“juice”,“sport”)和图例的颜色。
-
选中“地区销量”表,在右侧数据面板选择数据类型为“CSV文件”,数据连接选择步骤8添加的数据连接“salesByArea”。
-
根据响应数据的属性名称配置字段映射。
配置 “num”为 “saleNumber”。
-
全部图表配置完成后,单击页面右上角的预览
可预览报表,示例如下图。
本案例已创建分享链接,如下:mrs_nice_screen (huaweicloud.com)
至此,本次体验全部完成。
- 点赞
- 收藏
- 关注作者
评论(0)