物联网平台侧开发与调试
1. 展开服务列表,选择“IoT物联网 > 设备接入 IoTDA”进入设备接入控制台。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/70220a739f74437781c9f118f37afd7f.jpg)
2. 设备接入控制台界面预览如下,默认开通基础版。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/ba16ef267c2f43388d8d68da6819add3.jpg)
1. 单击“产品 > 创建产品”。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/0bb25c83510a42aa9e2fe48acb32dfc2.jpg)
2. 以智慧农业场景为例填写参数,单击右下角“确定”。
① 产品名称:自定义,如HCCDA-IoT
② 协议类型:MQTT
③ 数据格式:二进制码流
④ 厂商名称:自定义,如Huawei
⑤ 所属行业:无
⑥ 设备类型:自定义,如HCCDA-IoT
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/4987758726ed43f6ad586e414caea66f.jpg)
3. 提示创建产品成功,单击“查看详情”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e24b883942f04f3b857f58d4ce3e2079.jpg)
4.1 添加Agriculture服务
1. 单击“模型定义 > 自定义模型”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/275a4371e2d6447e8f29f0eb9834de2b.jpg)
2. 以智慧农业场景为例,输入“服务ID”、“服务类型”和“服务描述”,单击“确定”;
① 服务ID:Agriculture
② 服务类型:Agriculture
③ 服务描述:检测实时温湿度和光照强度
Tips:如果需要输入中文内容,请使用实验操作桌面右上角的剪贴板工具,将本地编辑好的中文拷贝粘贴到实验桌面内。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/529166678f3944df8db645593fb11c91.jpg)
4.2 添加属性
以智慧农业场景为例,属性设计如下:
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/37546812c7bd47f1b47c5b835bd05847.jpg)
1. 单击“添加属性”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/c343d724526c4d32b5d125ce50c8c0ad.jpg)
2. 根据设计思路,添加“Temperature”属性,数据类型“int”,访问权限“可读、可写”,单击“确定”;
① 属性名称:Temperature
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/7d84624495124e75ae59988f1ed61690.jpg)
3. 根据设计思路,添加“Humidity”属性,单击“确定”;
① 属性名称:Humidity
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/7986552aa5ea4b638c160d85af9af099.jpg)
4. 根据设计思路,添加“Luminance”属性,单击“确定”;
① 属性名称:Luminance
② 数据类型:int(整型)
③ 访问权限:可读、可写
④ 取值范围:默认值,0-65535
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/b6dbf23e7b83431a90919301d4d6de3e.jpg)
4.3 添加命令
以智慧农业场景为例,命令设计如下:
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/0a773a9746164d4ab6f76fa63bd66437.jpg)
1. 单击“添加命令”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e3a9f4b68015479eb876956a191999a6.jpg)
2. 根据设计思路,输入命令名称“Agriculture_Control_Light”,单击“新增输入参数”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/8c033653bf1c4f3b9b67914019c54b8e.jpg)
3. 根据设计思路,新增“Light”参数,单击“确定”;
① 参数名称:Light
② 数据类型:string(字符串)
③ 长度:3
④ 枚举值:ON,OFF
Tips:为了方便理解与调测命令,推荐定义参数为string类型,并填写枚举值。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/557ef1abab124f5381a42c5a75e919ea.jpg)
4. 单击“新增响应参数”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/331e6fdf25774faea92ad5e10f931644.jpg)
5. 根据设计思路,新增“Light_State”参数,单击“确定”;
① 参数名称:Light_State
② 数据类型:int(整型)
③ 取值范围:0-1(0表示命令执行成功,1表示命令执行失败)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/4270f86d317c4bfabe08edb2eb13d8a7.jpg)
6. “Agriculture_Control_Light”命令新增完成,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e48f2bc97fa64c02aaa211f16c714b1c.jpg)
7. 单击“添加命令”;根据设计思路,输入命令名称“Agriculture_Control_Motor”,单击“新增输入参数”;根据设计思路,新增“Motor”参数,单击“确定”;
① 参数名称:Motor
② 数据类型:string(字符串)
③ 长度:3
④ 枚举值:ON,OFF
Tips:为了方便理解与调测命令,推荐定义参数为string类型,并填写枚举值。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/22d7eb693de0423bacdfc99c80ccbee7.jpg)
8. 单击“新增响应参数”;根据设计思路,新增“Motor_State”参数,单击“确定”;
① 参数名称:Motor_State
② 数据类型:int(整型)
③ 取值范围:0-1(0表示命令执行成功,1表示命令执行失败)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/fdea6637ecd444c98cab27cceaf8947a.jpg)
9. “Agriculture_Control_Motor”命令新增完成,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/682b615aa83543beb86f0316b717a745.jpg)
10. 智慧农业服务Agriculture模型定义完成,如下图所示。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2d12aac0a5b84690b186e30d7ab90e9d.jpg)
以智慧农业场景为例,编解码插件消息字段必须与模型定义一致。
5.1 新增数据上报消息
上报消息字段规划如下:
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/5899e668faa546b2a50ce2e746c4c80c.jpg)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/4afd38c97dc54924837e77945dc81e85.jpg)
1. 单击“插件开发 > 图形化开发 > 图形化开发”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/84f56b0c98e241d184473b82dd669e68.jpg)
2. 单击“新增消息”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/b2938c5a0b8e4ee2840276cdc127d371.jpg)
3. 输入消息名“Agriculture”,消息类型选择“数据上报”,单击“添加字段”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/799c56c0909d4cf5aa051875550ae4db.jpg)
4. 勾选“标记为地址域”,其他默认,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e982dbc5c9664992b68f1e1f7f3ef043.jpg)
5. 单击“添加字段”;输入字段名字“Temperature”,单击“确认”;
① 字段名称:Temperature
② 数据类型(大端模式):int8u
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/cdbfa3283cc844fc878951e9054e0d28.jpg)
6. 单击“添加字段”;输入字段名字“Humidity”,单击“确认”;
① 字段名称:Humidity
② 数据类型(大端模式):int8u
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2b78e6c2ecdb49efade8356a73ae94bc.jpg)
7. 单击“添加字段”;输入字段名字“Luminance”,数据类型“int16u”,长度“2”,单击“确认”;
① 字段名称:Luminance
② 数据类型(大端模式):int16u
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/17caf202c9fd4851a46ea1211af8014b.jpg)
8. 属性字段添加完成,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/faaf8cfcab7f43028b3d1eb128378b53.jpg)
9. 单击右侧产品模型“Agriculture > 属性”,将三个属性逐个拖动到左侧,与消息中的字段一一对应。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/92b13577c78844128077df7722d09603.jpg)
10. 单击右上角“保存”,智慧农业数据上报消息新增成功。
5.2 新增Light命令消息
Light控制命令字段规划如下:
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2bd9c971cec44178a1cc9c5c9a2c0cf3.jpg)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e09fca1081d44257bfd51992a60e0d5c.jpg)
1. 单击“新增消息”;输入消息名“Agriculture_Control_Light”,消息类型“命令下发”,勾选“添加响应字段”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2f6e359a9fa545d589af0677ad722be9.jpg)
2. 单击“添加字段”;勾选“标记为地址域”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/496781e9f04a4d1cb6d56b4d04dac2d2.jpg)
3. 单击“添加字段”;勾选“标记为响应标识字段”,其他默认,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/0aaba4e637c543b785bc7066fa80db2c.jpg)
4. 单击“添加字段”;输入字段名字“Light”,数据类型“string”,长度“3”,单击“确认”;
① 字段名称:Light
② 数据类型(大端模式):string
③ 长度:3
Tips:产品模型中定义的命令下发字段为string类型,长度为3,此处必须保持一致。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/c25680d1222b4941b1de33e0f1ca3fc6.jpg)
5. 单击“添加响应字段”;勾选“标记为地址域”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/de7a73a52bc24ab7a1fd3f7e81bb32d0.jpg)
6. 单击“添加响应字段”;勾选“标记为响应标识字段”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/6de1c581cece493eb6185da2cfbfabc4.jpg)
7. 单击“添加响应字段”;勾选“标记为命令执行状态字段”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/004fbadaaf6d44bba3c7d68107bb4914.jpg)
8. 单击“添加响应字段”;输入字段名字“Light_State”,单击“确认”;
① 字段名称:Light_State
② 数据类型(大端模式):int8u
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2adfbed83284401f88e68659585a1560.jpg)
9. 命令字段添加完成,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/c1bc88f0820a4a02a6ee750f77a66c56.jpg)
10. 单击右侧产品模型“Agriculture > 命令 > Agriculture_Control_Light”并展开,将命令下发字段Light和命令响应字段Light_State逐个拖动到左侧,与消息中的字段一一对应。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/4be6061373dd42c98251609d7425ea9d.jpg)
11.单击右上角“保存”,智慧农业Light命令消息新增成功。
5.3 新增Motor命令消息
Motor控制命令字段规划如下:
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/ed05c734eb95446ab1dc31aea8867002.jpg)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e168e576cbe443fc9f52d4ea316a8a75.jpg)
1. 单击“新增消息”;输入消息名“Agriculture_Control_Motor”,消息类型“命令下发”,勾选“添加响应字段”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/eeb48fe4a57044aca930a3613177464c.jpg)
2. 单击“添加字段”;勾选“标记为地址域”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/b12965737d9c4434850f682c7fe24c2f.jpg)
3. 单击“添加字段”;勾选“标记为响应标识字段”,其他默认,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/5004859821604c98aa201f8682590edd.jpg)
4. 单击“添加字段”;输入字段名字“Motor”,数据类型“string”,长度“3”,单击“确认”;
① 字段名称:Motor
② 数据类型(大端模式):string
③ 长度:3
Tips:产品模型中定义的命令下发字段为string类型,长度为3,此处必须保持一致。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/d148585c77f6463d8d9a95209729aa24.jpg)
5. 单击“添加响应字段”;勾选“标记为地址域”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/19003de2e09c4c6785650d355406cb06.jpg)
6. 单击“添加响应字段”;勾选“标记为响应标识字段”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/e04e38cc25d24687b399fc3e09af24e7.jpg)
7. 单击“添加响应字段”;勾选“标记为命令执行状态字段”,单击“确认”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/4266d733cf224f3f87811e4b0e47b526.jpg)
8. 单击“添加响应字段”;输入字段名字“Motor_State”,单击“确认”;
① 字段名称:Motor_State
② 数据类型(大端模式):int8u
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/acea9c222200446ca21d3eadaecad7cc.jpg)
9. 命令字段添加完成,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/68c1da04074540a7b3e72d2762acbea3.jpg)
10. 单击右侧产品模型“Agriculture > 命令 > Agriculture_Control_ Motor”并展开,将命令下发字段Motor和命令响应字段Motor_State逐个拖动到左侧,与消息中的字段一一对应。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/b8561a81b45340799c930f92f46ebe0e.jpg)
11. 单击右上角“保存”,智慧农业Motor命令消息新增成功。然后单击右上角“部署 > 确认”,等待提示在线插件部署成功。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/fffd2469ea4149a69a2c3726eaee7b09.jpg)
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/75edb021806e4aa2b9d5592240da4fa2.jpg)
6.1 新增虚拟设备
1. 单击“HCCDA-IoT”,回到产品界面;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/7eb0685fe7f84ed594e8d8bb257a2a3b.jpg)
2. 单击“在线调试 > 新增测试设备”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/75ac496127004b3fbca9eaeaf6a53fc8.jpg)
3. 设备类型选择“虚拟设备”,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/2765eb096cc8425ba5f8085bb57a0178.jpg)
4. 设备创建成功,单击“确定”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/92fde3014e4c4278909a7f30dc5f6eab.jpg)
5. 单击设备右侧的“调试”,进入在线调试界面;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/8bd936e2cbe542ad915cfc419cb5b858.jpg)
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;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/d85bd58f22e54eaf8728ad016fd6c45f.jpg)
2. 可以看到在应用模拟器中显示模拟数据接收“{ "Temperature": 25, "Humidity": 60, "Luminance": 100 }”;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/22ef7fad10cc4d978daf459f79142286.jpg)
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个字节;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/6651d94d74bd4240a03d797c6741f38c.jpg)
2. 设备模拟器文本框中输入响应消息,如“0200010000”,单击“发送”,然后单击“IoT平台”打开消息跟踪,查看日志显示异步命令设备响应消息,即命令下发成功;
其中,“0200010000”为十六进制格式,各段含义如下:
① 02 - message_id - 整型(int8u),占1个字节;
② 0001 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 00 - errcode - 整型(int8u),占1个字节;
④ 00 - Light_State - 整型(int8u),占1个字节;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/112aa8c56aec4ac280c7b8c650bbf354.jpg)
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个字节;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/a4161e889cd042f39c1e67b6684f57a7.jpg)
2. 设备模拟器文本框中输入响应消息,如“0400020000”,单击“发送”,应用模拟器命令执行状态变为执行成功;
其中,“0400020000”为十六进制格式,各段含义如下:
① 04 - message_id - 整型(int8u),占1个字节;
② 0002 - mid - 整型(int16u),占2个字节 - 从0001开始,每下发一条命令递增+1,回复响应时原样带回;
③ 00 - errcode - 整型(int8u),占1个字节;
④ 00 - Motor_State - 整型(int8u),占1个字节;
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/c7b88501a4c64addb03af3ebc75950be.jpg)
7.1 删除设备
进入“设备 > 所有设备”,选择已注册的设备,单击“删除”,并在弹窗中单击“是”完成删除。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/997a4113e0c94faab8d6ddee9548d14f.jpg)
7.2 删除产品
进入产品页,选择已创建的产品,单击“删除”,并在弹窗中单击“确认”完成删除。
![](https://lab.huaweicloud.com/sandbox-base-path/thqmxajnyx/step-path/95bb3b7e82654483ae7f3c80eff4e3e7.jpg)
- 点赞
- 收藏
- 关注作者
评论(0)