华为云:使用虚拟设备体验端云双向通信

来自CloudWiki
跳转至: 导航搜索

https://support.huaweicloud.com/qs-iothub/iot_05_00120.html

场景说明

本文以智慧路灯为例,给您介绍基于IoT平台操作实现一款智慧路灯联接到平台以及上报光照强度数据,以及下发命令给智慧路灯三个场景。

Iot2023040201.png

前提条件

已注册华为云官方帐号。未注册可单击注册页面完成注册。

已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用设备接入功能。

已开通设备接入服务。未开通则访问设备接入服务,单击“管理控制台”后开通该服务。

https://www.huaweicloud.com/product/iothub.html

业务流程

虚拟设备实现端云双向通信是指基于物联网平台的在线调试功能,使用虚拟设备体验设备上报数据,平台下发远程控制命令等业务。

具体步骤如下:

步骤1:创建产品。创建一个MQTT协议的产品。

步骤2:开发产品模型。定义设备上报到平台的光照强度值(luminance)和远程控制路灯开关状态的命令(switch)。

步骤3:注册虚拟设备。创建一个虚拟设备,体验数据上报业务。

步骤4:数据上报。在设备模拟区域执行数据上报操作。

步骤5:命令下发。在应用模拟器区域执行命令下发操作。

创建产品

产品是设备的合集,您可以将相同能力或特征的设备归属在同一个产品下。

登录管理控制台(https://console.huaweicloud.com/iotdm/?region=cn-north-4&locale=zh-en#/dm-dev/all-product ),单击左侧导航栏“产品”,单击页面右上角的“创建产品”。

根据页面提示填写参数,然后单击“确定”。

Iot2023040701.png

所属资源空间 :下拉选择所属的资源空间。如无对应的资源空间,请先创建资源空间。

产品名称 :自定义,如SmartStreetlight。长度不超过64,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。

协议类型:在本次操作中,选择MQTT协议。

数据格式:选择JSON。

厂商名称:自定义,如Huawei。长度不超过32,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。

所属行业:无。

设备类型:SmartStreetLight


开发产品模型

1.找到创建产品章节新增的产品,单击产品进入产品界面。

2.在产品详情“模型定义”页面,单击“自定义模型”,配置产品的服务。

注:产品模型用于描述设备具备的能力和特性,平台提供多种方式定义产品模型; 如果没有定义产品模型,设备上报数据时平台仅直接转发,不做解析

Iot2023040702.png

3.添加服务类型“BasicData”。

a.在“添加服务”页面,填写“服务ID”、“服务类型”和“服务描述”,单击“确定”。

Iot2023040703.png

  • “服务ID”:BasicData
  • “服务类型”:建议和服务ID保持一致
  • “服务描述”:上报路灯数据

b.在“BasicData”的下拉菜单下单击“添加属性”,填写相关信息后,单击“确定”。

“属性名称”:luminance
“数据类型”:int(整型)
“访问权限”:可读、可写
“取值范围”:0~65535
“步长”:0
“单位”:不填写

4.单击添加命令,输入命令名称“lightControl”。

在“新增命令”页面,单击“新增输入参数”,填写相关信息后,单击“确定”。

Iot2023040705.png

图1 新增输入参数"“switch”"。

“参数名称”:switch
“参数描述”:下发开关命令
“数据类型”:string(字符串)
“长度”:15
“枚举值”:ON,OFF

注册虚拟设备

选择创建产品章节新建的产品,单击产品名称进入产品界面。

Iot2023040706.png

虚拟设备名称包含 “Simulator”字样,选择新注册的虚拟设备,单击右侧的“调试”,进入调试界面,同时设备变更为上线状态。

数据上报

在“设备模拟器”区域,输入上报的光照强度值(luminance),单击“发送”,在“应用模拟器”区域查看上报的结果。

Iot2023040707.png

命令下发

在“应用模拟器”区域选择命令参数后,下发远程控制开关灯命令,在“设备模拟器”区域可以查看接收到的命令。

Iot2023040708.png