4 Star 18 Fork 5

小熊派开源社区 / BearPi-IoT_Std_LiteOS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
readme.md 13.97 KB
一键复制 编辑 原始数据 按行查看 历史

基于NB-IoT的智慧农业案例

1. 基于NB-IoT的智慧农业案例概述

本文档将介绍如何使用BearPi-IoT_Std的完成基于NB-IoT的智慧农业实验。

2. 实验准备

  • 开发板:小熊派开发板(含NB卡、NB35-A/NB28-A通信扩展板、E53_IA1案例扩展板等)
  • IoT平台:华为云账号(需完成实名认证)

3. 硬件连接

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

4. 创建产品

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

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

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

5. Profile定义

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

5.1 新增服务名称Agriculture

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

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

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

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

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

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

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

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

6. 编解码插件开发

6.1 新增消息Agriculture。

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

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

  • 新增消息:

    消息名:Agriculture

    消息类型:数据上报

    添加响应字段:否

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

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

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

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

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

6.2 新增消息Agriculture_Control_Light。

  • 新增消息:

    消息名:Agriculture_Control_Light

    消息类型:命令下发

    添加响应字段:是

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

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

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

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

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

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

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

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

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

6.2 新增消息Agriculture_Control_Motor。

  • 新增消息:

    消息名:Agriculture_Control_Motor

    消息类型:命令下发

    添加响应字段:是

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

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

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

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

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

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

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

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

6.3 字段映射

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

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

7. 设备开发

7.1 程序编译

  1. 进入编译目录
cd targets/STM32L431_BearPi
  1. 拷贝工程配置
cp Demos/oc_nb_lwm2m_agriculture/defaults.sdkconfig .config
  1. 生成config.h
start genconfig.exe
  1. 编译工程
make -j8

7.2 烧录程序

  1. 在编译目录下输入

    make download

8. 业务调试

  1. 注册设备

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

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

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

C
1
https://gitee.com/bearpi/bearpi-iot_std_liteos.git
git@gitee.com:bearpi/bearpi-iot_std_liteos.git
bearpi
bearpi-iot_std_liteos
BearPi-IoT_Std_LiteOS
master

搜索帮助