设备接入 IOTDA-基于NB-IoT小熊派开发智慧路灯:更多参考

时间:2023-12-28 09:59:40

更多参考

  • 开发产品模型

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

    产品模型设计思路:

    表1 设备服务列表

    服务类型(ServiceID)

    服务描述

    Button

    实时按键检测

    LED

    LED灯控制

    Sensor

    实时检测光照强度

    Connectivity

    实时检测信号质量

    服务能力如下表所示。

    表2 Button

    能力描述

    属性名称

    数据类型

    数据范围

    属性列表

    toggle

    int

    0 ~ 65535

    表3 LED命令列表

    能力描述

    命令名称

    命令字段

    字段名称

    类型

    数据长度

    枚举

    命令列表

    Set_LED

    下发命令

    LED

    string

    3

    ON、OFF

    响应命令

    Light_state

    string

    3

    ON、OFF

    表4 Sensor

    能力描述

    属性名称

    数据类型

    数据范围

    属性列表

    luminance

    int

    0 ~ 65535

    表5 Connectivity

    能力描述

    属性名称

    数据类型

    数据范围

    属性列表

    SignalPower

    int

    -140 ~ -44

    ECL

    int

    0 ~ 2

    SNR

    int

    -20 ~ 30

    CellID

    int

    0 ~ 65535

    • 新增服务类型Button
      1. 进入“添加服务”页面,填写“服务ID”“服务类型”“服务描述”,单击“确定”。
        • “服务ID”:Button
        • “服务类型”:建议和服务ID保持一致
        • “服务描述”:实时按键检测
      2. 在“Button”的下拉菜单下单击“添加属性”,填写相关信息,单击“确定”。
        • “属性名称”:toggle
        • “属性描述”:不填写
        • “数据类型”:int(整型)
        • “访问权限”:可读、可写
        • “取值范围”:0~65535
        • “步长”:0
        • “单位”:不填写
    • 新增服务类型LED
      1. 在“模型定义”下单击“添加服务”,填写“服务ID”“服务类型”“服务描述”,单击“确定”。
        • “服务ID”:LED
        • “服务类型”:建议和服务ID保持一致
        • “服务描述”:LED灯控制
      2. 在“LED”的下拉菜单下单击“添加命令”,输入命令名称“Set_LED”。
        图14 新增命令
      3. 在“新增命令”弹框,分别单击“新增输入参数”“新增响应参数”,填写相关信息后,单击“确定”。
        图15 新增输入参数LED
        图16 新增响应参数Light_state
    • 新增服务类型Sensor
      1. 在“模型定义”下单击“添加服务”,填写“服务ID”“服务类型”“服务描述”,单击“确定”。
        • “服务ID”:Sensor
        • “服务类型”:和服务ID保持一致
        • “服务描述”:实时检测光照强度
      2. 在“Sensor”的下拉菜单下单击“添加属性”,填写相关信息,单击“确定”。
        • “属性名称”:luminance
        • “属性描述”:不填写
        • “数据类型”:int(整型)
        • “访问权限”:可读、可写
        • “取值范围”:0~65535
        • “步长”:不填写
        • “单位”:lux
    • 新增服务类型Connectivity
      1. 在“模型定义”下单击“添加服务”,填写“服务ID”“服务类型”“服务描述”,单击“确定”。
        • “服务ID”:Connectivity
        • “服务类型”:建议和服务ID保持一致
        • “服务描述”:实时检测信号质量
      2. 在“Connectivity”的下拉菜单下依次单击“添加属性”,分别添加SignalPower,ECL,SNR,CellID属性,填写相关信息,单击“确定”。
        图17 新增SignalPower属性
        图18 新增ECL属性
        图19 新增SNR属性
        图20 新增CellID属性
  • 开发编解码插件
    1. 在产品详情插件开发页面,选择“图形化开发”,单击“图形化开发”。
    2. 在“在线开发插件”区域,单击“新增消息”。

      请按照本文档提供的操作开发编解码插件,确保添加字段的顺序和本文档提供的顺序保持一致。

    3. 新增消息Report_Connectivity,配置示例如下:
      • 消息名:Report_Connectivity
      • 消息类型:数据上报
      • 添加响应字段:是
      • 响应数据:AAAA0000(默认)
      图21 配制示例
      1. 在“新增消息”页面,单击“添加字段”,勾选“标记为地址域”,添加地址域字段messageId,然后单击“确认”。
        图22 添加地址域字段
      2. 单击“添加字段”,添加SignalPower字段,填写相关信息后,单击“确认”。
        • 名字:SignalPower
        • 数据类型:int16s(16位有符号整型)
        图23 添加SignalPower字段
      3. 单击“添加字段”,添加ECL字段,填写相关信息后,单击“确认”。
        • 名字:ECL
        • 数据类型:int16s(16位有符号整型)
        图24 添加ECL字段
      4. 单击“添加字段”,添加SNR字段,填写相关信息后,单击“确认”。
        • 名字:SNR
        • 数据类型:int16s(16位有符号整型)
        图25 添加SNR字段
      5. 单击“添加字段”,添加CellID字段,填写相关信息后,单击“确认”。
        • 名字:CellID
        • 数据类型:int32s(32位有符号整型)
        图26 添加CellID字段

        完成消息Report_Connectivity的配置后,单击“确认”。

    4. 新增消息Report_Toggle,配置示例如下:
      • 消息名:Report_Toggle
      • 消息类型:数据上报
      • 添加响应字段:是
      • 响应数据:AAAA0000(默认)
      图27 新增消息
      1. 在“新增消息”页面,单击“添加字段”,勾选“标记为地址域”,添加地址域字段messageId,然后单击“确认”。
        图28 添加字段
      2. 单击“添加字段”,添加toggle字段,填写相关信息后,单击“确认”。
        • 名字:toggle
        • 数据类型:int16u(16位无符号整型)
        图29 添加toggle字段

        完成消息Report_Toggle的配置后,单击“确认”。

    5. 新增消息Report_Sensor,配置示例如下:
      • 消息名:Report_Sensor
      • 消息类型:数据上报
      图30 新增消息
      1. 在“新增消息”页面,单击“添加字段”,勾选“标记为地址域”,添加地址域字段messageId,然后单击“确认”。
        图31 添加字段
      2. 单击“添加字段”,添加data字段,填写相关信息后,单击“确认”。
        • 名字:data
        • 数据类型:int16u(16位无符号整型)
        图32 添加data字段

        完成消息Report_Sensor的配置后,单击“确认”。

    6. 新增消息Set_LED,配置示例如下:
      • 消息名:Set_LED
      • 消息类型:命令下发
      • 添加响应字段:是
      图33 新增消息
      1. 在“新增消息”页面,单击“添加字段”,勾选“标记为地址域”,添加地址域字段messageId,然后单击“确认”。
        图34 添加字段
      2. 单击“添加字段”,勾选“标记为响应标识字段”,添加响应标识字段 mid,然后单击“确认”。
        图35 添加字段
      3. 单击“添加字段”,添加“LED”字段,然后单击“确认”。
        • 名字:LED
        • 数据类型:string
        • 长度:3
        图36 添加字段
      4. 在“新增消息”页面,单击“添加响应字段”,勾选“标记为地址域”,添加地址域字段 messageId,然后单击“确认”。
      5. 单击“添加响应字段”,勾选“标记为响应标识字段”,然后单击“确认”。
      6. 单击“添加响应字段”,勾选“标记为命令执行状态字段”,添加命令执行状态字段 errcode,然后单击“确认”。
        图37 添加字段
      7. 单击“添加响应字段”,添加Light_state响应字段,填写相关信息,单击“确认”。
        • 字段名称:Light_state
        • 数据类型:string
        • 长度:3
        图38 添加字段

        完成消息 Set_LED 的配置后,单击“确认”。

    7. 拖动右侧“设备模型”区域的属性字段、命令字段和响应字段,与数据上报消息、命令下发消息和命令响应消息的相应字段建立映射关系。

    8. 单击“保存”,并在插件保存成功后单击“部署”,将编解码插件部署到 物联网平台

support.huaweicloud.com/bestpractice-iothub/iot_bp_0007.html