物联网平台侧开发与调试
1. 展开服务列表,选择“IoT物联网 > 设备接入 IoTDA”进入设备接入控制台。
2. 设备接入控制台界面预览如下,默认开通基础版。
1. 单击“产品 > 创建产品”。
2. 以智慧农业场景为例填写参数,单击右下角“确定”。
① 产品名称:自定义,如HCCDA-IoT
② 协议类型:MQTT
③ 数据格式:二进制码流
④ 厂商名称:自定义,如Huawei
⑤ 所属行业:无
⑥ 设备类型:自定义,如HCCDA-IoT
3. 提示创建产品成功,单击“查看详情”;
4.1 添加Agriculture服务
1. 单击“模型定义 > 自定义模型”;
2. 以智慧农业场景为例,输入“服务ID”、“服务类型”和“服务描述”,单击“确定”;
① 服务ID:Agriculture
② 服务类型:Agriculture
③ 服务描述:检测实时温湿度和光照强度
Tips:如果需要输入中文内容,请使用实验操作桌面右上角的剪贴板工具,将本地编辑好的中文拷贝粘贴到实验桌面内。
4.2 添加属性
以智慧农业场景为例,属性设计如下:
1. 单击“添加属性”;
2. 根据设计思路,添加“Temperature”属性,数据类型“int”,访问权限“可读、可写”,单击“确定”;
① 属性名称:Temperature
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
3. 根据设计思路,添加“Humidity”属性,单击“确定”;
① 属性名称:Humidity
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
4. 根据设计思路,添加“Luminance”属性,单击“确定”;
① 属性名称:Luminance
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
4.3 添加命令
以智慧农业场景为例,命令设计如下:
1. 单击“添加命令”;
2. 根据设计思路,输入命令名称“Agriculture_Control_Light”,单击“新增输入参数”;
3. 根据设计思路,新增“Light”参数,单击“确定”;
① 参数名称:Light
② 数据类型:string(字符串)
③ 长度:3
④ 枚举值:ON,OFF
Tips:为了方便理解与调测命令,推荐定义参数为string类型,并填写枚举值。
4. 单击“新增响应参数”;
5. 根据设计思路,新增“Light_State”参数,单击“确定”;
① 参数名称:Light_State
② 数据类型:int(整型)
③ 取值范围:0-1(0表示命令执行成功,1表示命令执行失败)
6. “Agriculture_Control_Light”命令新增完成,单击“确定”;
7. 单击“添加命令”;根据设计思路,输入命令名称“Agriculture_Control_Motor”,单击“新增输入参数”;根据设计思路,新增“Motor”参数,单击“确定”;
① 参数名称:Motor
② 数据类型:string(字符串)
③ 长度:3
④ 枚举值:ON,OFF
Tips:为了方便理解与调测命令,推荐定义参数为string类型,并填写枚举值。
8. 单击“新增响应参数”;根据设计思路,新增“Motor_State”参数,单击“确定”;
① 参数名称:Motor_State
② 数据类型:int(整型)
③ 取值范围:0-1(0表示命令执行成功,1表示命令执行失败)
9. “Agriculture_Control_Motor”命令新增完成,单击“确定”;
10. 智慧农业服务Agriculture模型定义完成,如下图所示。
以智慧农业场景为例,编解码插件消息字段必须与模型定义一致。
5.1 新增数据上报消息
上报消息字段规划如下:
1. 单击“插件开发 > 图形化开发 > 图形化开发”;
2. 单击“新增消息”;
3. 输入消息名“Agriculture”,消息类型选择“数据上报”,单击“添加字段”;
4. 勾选“标记为地址域”,其他默认,单击“确认”;
5. 单击“添加字段”;输入字段名字“Temperature”,单击“确认”;
① 字段名称:Temperature
② 数据类型(大端模式):int8u
6. 单击“添加字段”;输入字段名字“Humidity”,单击“确认”;
① 字段名称:Humidity
② 数据类型(大端模式):int8u
7. 单击“添加字段”;输入字段名字“Luminance”,数据类型“int16u”,长度“2”,单击“确认”;
① 字段名称:Luminance
② 数据类型(大端模式):int16u
8. 属性字段添加完成,单击“确定”;
9. 单击右侧产品模型“Agriculture > 属性”,将三个属性逐个拖动到左侧,与消息中的字段一一对应。
10. 单击右上角“保存”,智慧农业数据上报消息新增成功。
5.2 新增Light命令消息
Light控制命令字段规划如下:
1. 单击“新增消息”;输入消息名“Agriculture_Control_Light”,消息类型“命令下发”,勾选“添加响应字段”;
2. 单击“添加字段”;勾选“标记为地址域”,单击“确认”;
3. 单击“添加字段”;勾选“标记为响应标识字段”,其他默认,单击“确认”;
4. 单击“添加字段”;输入字段名字“Light”,数据类型“string”,长度“3”,单击“确认”;
① 字段名称:Light
② 数据类型(大端模式):string
③ 长度:3
Tips:产品模型中定义的命令下发字段为string类型,长度为3,此处必须保持一致。
5. 单击“添加响应字段”;勾选“标记为地址域”,单击“确认”;
6. 单击“添加响应字段”;勾选“标记为响应标识字段”,单击“确认”;
7. 单击“添加响应字段”;勾选“标记为命令执行状态字段”,单击“确认”;
8. 单击“添加响应字段”;输入字段名字“Light_State”,单击“确认”;
① 字段名称:Light_State
② 数据类型(大端模式):int8u
9. 命令字段添加完成,单击“确定”;
10. 单击右侧产品模型“Agriculture > 命令 > Agriculture_Control_Light”并展开,将命令下发字段Light和命令响应字段Light_State逐个拖动到左侧,与消息中的字段一一对应。
11.单击右上角“保存”,智慧农业Light命令消息新增成功。
5.3 新增Motor命令消息
Motor控制命令字段规划如下:
1. 单击“新增消息”;输入消息名“Agriculture_Control_Motor”,消息类型“命令下发”,勾选“添加响应字段”;
2. 单击“添加字段”;勾选“标记为地址域”,单击“确认”;
3. 单击“添加字段”;勾选“标记为响应标识字段”,其他默认,单击“确认”;
4. 单击“添加字段”;输入字段名字“Motor”,数据类型“string”,长度“3”,单击“确认”;
① 字段名称:Motor
② 数据类型(大端模式):string
③ 长度:3
Tips:产品模型中定义的命令下发字段为string类型,长度为3,此处必须保持一致。
5. 单击“添加响应字段”;勾选“标记为地址域”,单击“确认”;
6. 单击“添加响应字段”;勾选“标记为响应标识字段”,单击“确认”;
7. 单击“添加响应字段”;勾选“标记为命令执行状态字段”,单击“确认”;
8. 单击“添加响应字段”;输入字段名字“Motor_State”,单击“确认”;
① 字段名称:Motor_State
② 数据类型(大端模式):int8u
9. 命令字段添加完成,单击“确定”;
10. 单击右侧产品模型“Agriculture > 命令 > Agriculture_Control_ Motor”并展开,将命令下发字段Motor和命令响应字段Motor_State逐个拖动到左侧,与消息中的字段一一对应。
11. 单击右上角“保存”,智慧农业Motor命令消息新增成功。然后单击右上角“部署 > 确认”,等待提示在线插件部署成功。
6.1 新增虚拟设备
1. 单击“HCCDA-IoT”,回到产品界面;
2. 单击“在线调试 > 新增测试设备”;
3. 设备类型选择“虚拟设备”,单击“确定”;
4. 设备创建成功,单击“确定”;
5. 单击设备右侧的“调试”,进入在线调试界面;
6.2 数据上报调试
1. 调测Agriculture消息,在文本框中输入“00193C0064”,单击“发送”;
其中,“00193C0064”为十六进制格式,我们按设备属性进行拆分理解,对应关系如下:
① 00 - message_id - 整型(int8u),占1个字节;
② 19 - Temperature - 整型(int8u),占1个字节 - 对应十进制数值为25;
③ 3C - Humidity - 整型(int8u),占1个字节 - 对应十进制数值为60;
④ 0064 - Luminance - 整型(int16u),占2个字节 - 对应十进制数值为100;
2. 可以看到在应用模拟器中显示模拟数据接收“{ "Temperature": 25, "Humidity": 60, "Luminance": 100 }”;
6.3 Light命令调试
1. 服务选择“Agriculture”,命令选择“Agriculture_Control_Light”,Light选择“ON”,单击“发送”,应用模拟器窗口显示命令发送记录,设备模拟器窗口显示命令接收记录;
其中,设备模拟器接收到的命令为十六进制格式数据,如:0100014F4E
① 01 - message_id - 整型(int8u),占1个字节;
② 0001 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 4F4E - 即下发命令参数ON的Unicode编码 - string(字符串),占2个字节;
2. 设备模拟器文本框中输入响应消息,如“0200010000”,单击“发送”,然后单击“IoT平台”打开消息跟踪,查看日志显示异步命令设备响应消息,即命令下发成功;
其中,“0200010000”为十六进制格式,各段含义如下:
① 02 - message_id - 整型(int8u),占1个字节;
② 0001 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 00 - errcode - 整型(int8u),占1个字节;
④ 00 - Light_State - 整型(int8u),占1个字节;
6.4 Motor命令调试
1. 服务选择“Agriculture”,命令选择“Agriculture_Control_Motor”,Motor选择“ON”,单击“发送”,应用模拟器窗口显示命令发送记录,设备模拟器窗口显示命令接收记录;
其中,设备模拟器接收到的命令为十六进制格式数据,如:0300024F4E
① 03 - message_id - 整型(int8u),占1个字节;
② 0002 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 4F4E - 即下发命令参数ON的Unicode编码 - string(字符串),占2个字节;
2. 设备模拟器文本框中输入响应消息,如“0400020000”,单击“发送”,应用模拟器命令执行状态变为执行成功;
其中,“0400020000”为十六进制格式,各段含义如下:
① 04 - message_id - 整型(int8u),占1个字节;
② 0002 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 00 - errcode - 整型(int8u),占1个字节;
④ 00 - Motor_State - 整型(int8u),占1个字节;
7.1 删除设备
进入“设备 > 所有设备”,选择已注册的设备,单击“删除”,并在弹窗中单击“是”完成删除。
7.2 删除产品
进入产品页,选择已创建的产品,单击“删除”,并在弹窗中单击“确认”完成删除。
- 点赞
- 收藏
- 关注作者
评论(0)