设备接入 IOTDA-模拟NB设备智慧路灯的接入与调试:在线开发插件

时间:2024-06-28 09:25:08

在线开发插件

通常情况下设备为了省电,设备会采用“二进制”格式上报数据,编解码插件的作用就是将设备上报的“二进制”格式数据,按照产品模型文件的定义的属性转换为“JSON”格式数据,便于 物联网平台 和应用服务器识别。同时,用户远程下发控制命令时,物联网平台会将“JSON”格式的命令转换为“二进制”格式数据下发给设备。

如果设备本身上报的是JSON格式数据,则不需要定义编解码插件。

  1. 在智慧路灯产品的开发空间,选择“插件开发”,单击“图形化开发”。
  2. 单击“新增消息”,配置数据上报消息,上报路灯的数据消息。

    • 消息名:LightData
    • 消息类型:数据上报
    • 添加响应字段:是。添加响应字段后,物联网平台在收到设备上报的数据后,会下发用户设置的响应数据到设备。
    • 响应数据:AAAA0000(默认)
    图7 插件开发-新增消息
    1. 单击“添加字段”,添加messageId字段,表示消息种类。
      图8 插件开发-添加字段messageId
    2. 添加LightIntensity字段,表示光照强度,数据类型:int8u(8位无符号整型),长度:1字节。
      图9 插件开发-添加字段LightIntensity
    3. 添加LightStatus字段,表示路灯上报的路灯开关状态数据。数据类型:int8u(8位无符号整型),长度:1字节。
      图10 插件开发-添加字段LightStatus

  3. 再次单击“新增消息”,定义远程控制路灯开关的命令对应的编解码插件消息。

    • 消息名:SwitchStatus
    • 消息类型:命令下发
    • 添加响应字段:是。添加响应字段后,设备在接收命令后,会上报命令执行结果。
    图11 插件开发-新增消息SwitchStatus
    1. 单击“添加字段”,添加messageId字段,表示消息种类。
      图12 插件开发-添加字段messageId
    2. 添加mid字段,用于将下发的命令和命令执行结果进行关联。
      图13 插件开发-添加命令字段mid
    3. 添加SwitchStatus字段,数据类型:string(字符串类型),长度:3字符。
      图14 插件开发-添加命令字段SwitchStatus
    4. 单击“添加响应字段”,配置命令下发响应消息。
      • 添加messageId,表示消息种类。命令执行结果为上行消息,需要通过messageId和数据上报消息进行区分。
        图15 插件开发-添加响应字段messageId
      • 添加mid字段,用于将下发的命令和命令执行结果进行关联。
        图16 插件开发-添加响应字段mid

      • 添加errcode字段,用于表示命令执行状态:00表示成功,01表示失败,如果未携带该字段,则默认命令执行成功。
        图17 插件开发-添加响应字段errcode
      • 添加result字段,用于表示命令执行结果。
        图18 插件开发-添加响应字段result

  4. 拖动右侧“设备模型”区域的属性字段和命令字段(产品模型文件定义的字段),与编解码插件定义的数据上报消息和命令下发消息的相应字段建立映射关系。

    图19 插件开发-在线开发插件

  5. 编解码插件与产品模型文件建立映射完成后,单击右上角“保存”,并单击“部署”,完成编解码插件的部署。
support.huaweicloud.com/bestpractice-iothub/iot_bp_0014.html