物联网平台侧开发与调试

举报
清雨小竹 发表于 2022/10/13 09:52:39 2022/10/13
【摘要】 1. 展开服务列表,选择“IoT物联网 > 设备接入 IoTDA”进入设备接入控制台。2. 设备接入控制台界面预览如下,默认开通基础版。3. 创建产品收起1. 单击“产品 > 创建产品”。产品是什么?2. 以智慧农业场景为例填写参数,单击右下角“确定”。① 产品名称:自定义,如HCCDA-IoT② 协议类型:MQTT③ 数据格式:二进制码流④ 厂商名称:自定义,如Huawei⑤ 所属行业:无...

1. 展开服务列表,选择“IoT物联网 > 设备接入 IoTDA”进入设备接入控制台。

2. 设备接入控制台界面预览如下,默认开通基础版。

3. 创建产品收起

1. 单击“产品 > 创建产品”。

产品是什么?

2. 以智慧农业场景为例填写参数,单击右下角“确定”。

① 产品名称:自定义,如HCCDA-IoT

② 协议类型:MQTT

③ 数据格式:二进制码流

④ 厂商名称:自定义,如Huawei

⑤ 所属行业:无

⑥ 设备类型:自定义,如HCCDA-IoT

3. 提示创建产品成功,单击“查看详情”;

4. 定义产品模型收起


产品模型是什么?

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. 开发编解码插件收起

以智慧农业场景为例,编解码插件消息字段必须与模型定义一致。

编解码插件的作用是啥?





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. 在线调试收起



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. 删除资源收起



7.1 删除设备

进入“设备 > 所有设备”,选择已注册的设备,单击“删除”,并在弹窗中单击“是”完成删除。



7.2 删除产品

进入产品页,选择已创建的产品,单击“删除”,并在弹窗中单击“确认”完成删除。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。