目录
  • 一、实验准备
  • 二、创建产品
  • 三、Profile定义
  • 四、编解码插件开发
  • 五、硬件连接
  • 六、设备开发
  • 七、业务调试

华为云平台的智慧路灯案例

一、实验准备

二、创建产品

某一类具有相同能力或特征的设备的集合称为一款产品。除了设备实体,产品还包含 该类设备在物联网能力建设中产生的产品信息、产品模型(Profile)、插件、测试报告 等资源。

  • 使用华为云账号,登录设备接入open in new window,选择页面左侧的产品,单击右上角下拉框,选择新建产品所属的资源空间。

  • 单击右上角的“创建产品”,创建一个基于LwM2M/CoAP协议的产品,填写参数后,单击“立即创建”,在跳出页面中点击“查看详情”。

三、Profile定义

  • 在“功能定义”页面下,单击“自定义模型”,配置产品的服务。

3.1 新增服务名称Button

  • 填写Button服务相关信息后,单击“确认”。

  • 在“Button”的列表下点击“添加属性”填写相关信息,单击“确认”。

3.2 新增服务名称LED

  • 在“模型定义”下点击“添加服务”填写相关信息,单击“确认”。

  • 在“LED”的列表下点击“添加命令”填写相关信息

  • 在“新增命令”里点击“新增输入参数”填写相关信息,再单击“确定”。

  • 在“新增命令”里点击“新增响应参数”填写相关信息,再单击“确认”,最后在“新增命令”里点“确认”。

3.3 新增服务名称Sensor

  • 在“功能定义”下点击“添加服务”填写相关信息,单击“确认”。

  • 在“Sensor”的列表下点击“添加属性”填写相关信息,单击“确认”。

3.4 新增服务名称Connectivity

  • 在“功能定义”下点击“添加服务”填写相关信息,单击“确认”。

  • 在“Sensor”的列表下点击“添加属性”填写相关信息:SignalPower, ECL,SNR,CellID,单击“确认”。

四、编解码插件开发

4.1 新增消息Report_Connectivity。

  • 在产品详情插件开发页面,选择“图形化开发”,单击“图形化开发”。

  • 在“在线开发插件”区域,单击“新增消息”。

  • 新增消息:

    消息名:Report_Connectivity

    消息类型:数据上报

    添加响应字段:是

    响应数据:AAAA0000(默认)

  • 在“新增消息”界面,单击“添加字段”。

  • 在“添加字段”界面,勾选“标记为地址域”,然后单击“确认”,添加地址域字段messageId。

  • 在“新增消息”界面,单击“添加字段”,填写SignalPower相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“添加字段”,填写ECL相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“添加字段”,填写SNR相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“添加字段”,填写CellID相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“确认”,完成消息Report_Connectivity的配置。

4.2 新增消息Report_Toggle。

  • 新增消息:

    消息名:Report_Toggle

    消息类型:数据上报

    添加响应字段:是

    响应数据:AAAA0000(默认)

  • 在“新增消息”界面,单击“添加字段”。

  • 在“添加字段”界面,勾选“标记为地址域”,然后单击“确认”,添加地址域字段messageId。

  • 在“新增消息”界面,单击“添加字段”,填写toggle相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“确认”,完成消息Report_Toggle的配置。

4.3 新增消息Report_Sensor。

  • 新增消息:

    消息名:Report_Sensor

    消息类型:数据上报

    添加响应字段:是

    响应数据:AAAA0000(默认)

  • 在“新增消息”界面,单击“添加字段”。

  • 在“添加字段”界面,勾选“标记为地址域”,然后单击“确认”,添加地址域字段messageId。

  • 在“新增消息”界面,单击“添加字段”,填写data相关信息,然后单击“确认”。

  • 在“新增消息”界面,单击“确认”,完成消息Report_Sensor的配置。

4.4 新增消息Set_Led。

  • 新增消息:

    消息名:Set_Led

    消息类型:命令下发

    添加响应字段:是

  • 在“新增消息”界面,单击“添加字段”, 在“添加字段”界面,勾选“标记为地址域”,然后单击“确认”,添加地址域字段messageId。

  • 在“新增消息”界面,单击“添加字段”,在“添加字段”界面,勾选“标记为 响应标识字段”,然后单击“确认”,添加响应标识字段 mid。

  • 在“新增消息”界面,单击“添加字段”,填写led相关信息,然后单击“完成”。

  • 在“新增消息”界面,单击“添加响应字段”

  • 在“添加字段”界面,勾选“标记为地址域”,然后单击“确认”,添加地址域字段 messageId。

  • 在“添加字段”界面,勾选“标记为响应标识字段”,然后单击“确认”,添加响应标识字段 mid。

  • 在“添加字段”界面,勾选“标记为命令执行状态字段”,然后单击“确认”,添加命令执行状态字段 errcode。

  • 在“新增消息”界面,单击“添加响应字段”,填写light_state相关信息,单击“确认”。

  • 在“新增消息”界面,单击“确认”,完成消息 Set_Led 的配置。

4.5 字段映射

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

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

五、硬件连接

连接好E53_SC1案例扩展板和NB35-A/NB28-A通信扩展板,NB35-A/NB28-A通信扩展板需要安装SIM卡,并注意卡的缺口朝外插入。将串口选择开关拨到MCU模式,并用USB线将开发板与电脑连接,如下图所示。

六、设备开发

6.1 程序编译

  1. 先使用vscode打开源码目录,然后通过键盘“Ctrl + Shift+ ~”快捷键打开bash窗口

  2. 输入以下命令,进入编译目录

    cd targets/STM32L431_BearPi
    
  3. 输入以下命令,拷贝工程配置

    cp Demos/oc_nb_lwm2m_light/defaults.sdkconfig .config
    
  4. 生成config.h

    start genconfig.exe
    
  5. 编译工程

    make -j8
    

6.2 烧录程序

  1. 输入以下命令,烧录程序

    make download
    

七、业务调试

  1. 注册设备

    • 点击华为云IoT平台页面左侧的“设备”→“所有设备”,点击右上角“注册设备”。
  2. 示例代码编译烧录代码后,按下开发板的RESET按键,可通过串口助手查看日志,平台上的设备显示为在线状态。

  3. 点击设备右侧的“查看”,进入设备详情页面,可看到上报的数据。

  4. 在华为云平台设备详情页,单击“命令”,选择异步命令下发,选中创建的命令属性,单击“确定”,即可发送下发命令控制设备。