第11章 物联网操作系统的应用案例

这一章是把前面学过的感知层、通信、云平台、LiteOS SDK、端云互通、传感器驱动、Web 应用串成一个完整案例:智慧农业种养殖环境监控系统


一、本章总体框架

这一章可以分成四大部分:

  1. 智慧农业概述
    • 什么是智慧农业;
    • 物联网技术在农业中的应用;
    • 智慧农业总体架构;
    • 种养殖环境监控子系统。
  2. 主要硬件
    • 小熊派 IoT 开发板;
    • CC2530;
    • BH1750 光照强度传感器;
    • SHT30 温湿度模块;
    • ESP8266 模块;
    • 网关。
  3. 软件设计
    • 实时传感器数据采集;
    • 华为 OceanConnect 物联网平台开发;
    • 设备端开发;
    • LiteOS SDK 端云互通;
    • LwM2M 协议接入;
    • 网关与云平台连接;
    • Web 应用开发。
  4. 小结与实践
    • 智慧农业只是一个应用案例;
    • 物联网操作系统可以迁移到智慧家居、智慧物流、智慧路灯等场景。

这一章最重要的是理解:

一个完整的物联网系统,不只是开发板采集数据,而是包括“传感器采集—设备端处理—通信模块上传—云平台接入—Web 应用展示与控制”的完整链路。


二、什么是智慧农业?

PPT 中对智慧农业的定义比较长,可以简化理解为:

智慧农业就是把物联网、传感器、无线通信、云平台、数据库、专家知识系统等技术应用到农业生产中,实现农业环境的远程监测、远程控制、灾害预警、智能决策和信息化管理。

它的核心目标是:

  1. 实时感知农业生产环境;
  2. 远程查看和控制农业设备;
  3. 对异常情况进行预警;
  4. 通过数据分析辅助农业生产决策;
  5. 提高农业管理效率和农产品质量。

比如温室大棚中可以自动监测:

  • 温度;
  • 湿度;
  • 光照强度;
  • 二氧化碳浓度;
  • 土壤湿度;
  • 土壤 pH 值;
  • 氮含量;
  • 氧含量。

然后根据监测结果自动控制:

  • 补光灯;
  • 风机;
  • 水泵;
  • 电机;
  • 灌溉设备;
  • 通风设备。

三、物联网在农业中的应用

PPT 里主要讲了四类应用。


1. 农业信息监测

这是最典型的智慧农业应用。

通过传感器实时采集农业环境数据,例如:

  • 温度;
  • 湿度;
  • 风力;
  • 大气信息;
  • 降雨量;
  • 土壤湿度;
  • 土壤氮含量;
  • 土壤 pH 值;
  • 光照;
  • 氧含量。

这些数据可以帮助系统判断农作物当前生长环境是否合适。

例如:

  • 温度过高,开启风机;
  • 湿度不足,开启灌溉;
  • 光照不足,开启补光灯;
  • 二氧化碳浓度异常,发出预警。

这部分对应前面学过的感知层


2. 农业销售流通管理

物联网技术可以应用在农产品加工和运输环节。

比如给农产品、运输车辆制作电子标签,把标签信息录入系统。

这样加工企业可以通过电子标签获取:

  • 农产品来源;
  • 运输信息;
  • 加工状态;
  • 流通环节信息。

这有助于实现农产品流通加工的信息化管理。


3. 农产品安全溯源

PPT 中提到 RFID 技术。

通过 RFID 标签,可以给农产品建立唯一身份标识。

如果农产品出现质量问题,就可以层层追查:

销售环节 → 运输环节 → 加工环节 → 生产基地 → 种植/养殖环境

这样可以找到问题根源。

这一点体现了物联网的一个重要价值:

通过数据记录实现全过程可追溯。


4. 农业信息管理

通过农业生产、流通、销售等环节采集的大量数据,可以建立农业信息数据库。

后续可以对这些数据进行:

  • 统计分析;
  • 趋势预测;
  • 异常检测;
  • 决策支持;
  • 生产指导。

这就从简单“采集数据”发展到“数据驱动农业管理”。


四、智慧农业总体技术架构

PPT 中把智慧农业分为四层:

  1. 感知层;
  2. 传输层;
  3. 服务层;
  4. 应用层。

这和前面学的物联网体系架构是一致的。


1. 感知层

感知层负责采集现实世界的数据。

包括:

  • 温湿度传感器;
  • 光照传感器;
  • 二氧化碳传感器;
  • RFID;
  • 视频终端;
  • 可编程控制器;
  • 数据采集器;
  • 其他农业环境传感器。

感知层的作用是:

把农业环境中的物理量转化为数字数据。

例如把温度、湿度、光照强度转换成 MCU 可以处理的数据。


2. 传输层

传输层负责把数据传出去。

包括:

  • ZigBee;
  • Wi-Fi;
  • 4G/5G;
  • NB-IoT;
  • 有线网络;
  • 网关;
  • 其他通信网络。

它的作用是:

实现终端、网关、云平台之间的数据和控制指令传输。

比如 CC2530 节点通过 ZigBee 连接网关,小熊派通过 ESP8266 Wi-Fi 连接云平台。


3. 服务层

服务层建立在综合运营支撑云平台上。

包括:

  • RFID 中间件;
  • M2M 中间件;
  • SOA 面向服务架构;
  • 开放 API;
  • 数据处理组件;
  • 设备管理;
  • 数据网关;
  • 统一接口管理。

服务层的作用是:

对设备数据进行统一接入、处理、存储、分析和开放。

在本章案例中,华为 OceanConnect 物联网平台就属于服务层核心。


4. 应用层

应用层面向最终用户。

实现的功能包括:

  • 环境监测;
  • 设备控制;
  • 统计分析;
  • 自动报警;
  • 图表展示;
  • 远程管理;
  • Web 平台可视化。

也就是说:

用户看到的网页、App、监控大屏都属于应用层。


五、智慧农业关键技术

PPT 中列出智慧农业关键技术:

  1. 数据云处理技术;
  2. 数据采集感知技术;
  3. 融合通信技术;
  4. 数据库及 Web 服务技术;
  5. 农业智能决策技术。

可以这样理解:

技术 作用
数据采集感知技术 采集温湿度、光照、CO₂ 等环境数据
融合通信技术 通过 ZigBee、Wi-Fi、蜂窝网络等传输数据
数据云处理技术 在云端存储、处理和分析数据
数据库及 Web 服务技术 实现数据查询、展示和管理
农业智能决策技术 根据数据提供生产建议和自动控制策略

六、应用实例:种养殖环境监控子系统

这部分是本章核心案例。

系统主要监控:

  • 温度;
  • 湿度;
  • 光照;
  • 二氧化碳;
  • 其他环境参数。

同时结合 RFID 标签实现信息管理。

系统功能包括:

  1. 环境数据采集;
  2. 数据实时上传;
  3. 云端接入;
  4. 设备控制;
  5. 统计分析;
  6. 自动报警;
  7. 图表展示;
  8. 终端管理。

可以把整个系统理解成:

传感器 → 主控节点 → 通信模块/网关 → 云平台 → Web应用

七、本系统的两种终端节点方案

PPT 中讲到,本系统中的终端主控节点主要分为两类:

  1. CC2530 节点
  2. STM32L431RCT6 + LiteOS 节点

1. CC2530 方案

CC2530 节点通过 ZigBee 网络连接到网关节点,再由网关连接云平台。

数据链路可以理解为:

传感器 → CC2530 → ZigBee → 网关 → 云平台

这种方案适合低功耗、短距离、多节点组网场景。


2. STM32L431RCT6 + LiteOS 方案

这一方案使用小熊派 IoT 开发板。

它通过 ESP8266 模块实现与云平台直连。

数据链路可以理解为:

传感器 → STM32L431RCT6 + LiteOS → ESP8266 Wi-Fi → 云平台

PPT 中称其为:

“采集 + 处理 + 传输”结构。

其中:

  • 传感器负责采集;
  • STM32L431RCT6 负责处理;
  • LiteOS 负责多任务管理、驱动适配、端云通信;
  • ESP8266 负责无线联网;
  • 云平台负责设备接入与数据管理。

八、主要硬件组成

系统除云平台之外,主要有三类硬件:

  1. 终端节点主控制器;
  2. 传感器;
  3. 通信模块,包括网关。

九、小熊派 IoT 开发板

PPT 中使用小熊派 IoT 开发板作为部分终端主控节点。

它是基于 STM32L431RCT6 设计的物联网开发板,由南京小熊派智能科技有限公司联合华为技术有限公司推出。

它的核心特点是:

  • ARM Cortex-M4 内核;
  • 32 位 CPU;
  • 主频最高 80 MHz;
  • 256 KB Flash;
  • 64 KB RAM;
  • 支持 I2C、SPI、USART、CAN、ADC、DAC 等外设;
  • 工作电压 1.71V~3.6V;
  • 可连接通信扩展板和 E53 传感器扩展板。

复习时不用死记所有参数,但要知道:

小熊派 IoT 开发板是本案例中运行 LiteOS、连接传感器和接入云平台的核心设备。


十、CC2530

CC2530 是一个面向 IEEE 802.15.4、ZigBee 和 RF4CE 应用的 SoC 芯片。

它集成了:

  • RF 收发器;
  • 8051 CPU;
  • Flash;
  • 8KB RAM;
  • 多种外设。

它有 32KB、64KB、128KB、256KB 不同 Flash 版本。

它的特点是:

  • 成本低;
  • 支持 ZigBee;
  • 支持低功耗模式;
  • 适合建立无线传感网络节点。

在本章案例中,CC2530 主要作为 ZigBee 传感器节点或协调器节点使用。


十一、主要传感器

PPT 中重点介绍两个传感器:

  1. BH1750 光照强度传感器;
  2. SHT30 温湿度模块。

1. BH1750 光照强度传感器

BH1750 是数字型光照强度传感器,使用两线式串行总线接口,也就是常见的 I2C 接口。

它可以测量光照强度,范围大约是:

1 lx ~ 65535 lx

它可以用于:

  • 检测温室光照强度;
  • 判断是否需要开启补光灯;
  • 调整农业生产环境;
  • 实现光照数据上报。

2. SHT30 温湿度模块

SHT30 是温湿度传感器模块。

PPT 中列出它的特点:

  • 数字输出;
  • 温度补偿;
  • 电压范围 2.4V~5.5V;
  • I2C 接口;
  • 通信速度可达 1 MHz;
  • 湿度误差约 ±2%RH;
  • 温度误差约 ±0.3℃。

在智慧农业中,它可以用于实时检测:

  • 大棚温度;
  • 大棚湿度;
  • 种养殖环境变化。

十二、执行设备:补光灯与直流电机

PPT 中还给出了补光灯和直流电机原理图。

这说明系统不仅可以采集数据,还可以进行控制。

例如:

  • 光照不足时,打开补光灯;
  • 温度过高时,启动风机或电机;
  • 湿度不足时,开启水泵或灌溉装置。

这就体现了物联网系统中的闭环控制:

采集数据 → 判断状态 → 下发控制 → 执行设备动作

十三、ESP8266 模块

小熊派节点通过 ESP8266 模块连接云平台。

ESP8266 是串口转无线 Wi-Fi 模块,内部自带固件,用户操作比较简单,不需要自己编写复杂的 Wi-Fi 协议时序。

PPT 中列出的特点包括:

  • 支持 802.11 b/g/n;
  • 内置低功耗 32 位 CPU;
  • 内置 10 位 ADC;
  • 内置 TCP/IP 协议栈;
  • 支持 2.4GHz Wi-Fi;
  • 支持 WPA/WPA2;
  • 支持 STA、AP、STA+AP 模式。

在本系统中,ESP8266 的作用是:

帮助 STM32 + LiteOS 设备通过 Wi-Fi 接入云平台。


十四、网关

网关是连接不同网络的重要设备。

PPT 中讲到,监测网关可以从不同外部网络接收通信信号,再通过监测网络传递给终端设备。

在本系统中,网关主要用于 CC2530 ZigBee 网络与云平台之间的数据转发。

可以理解为:

ZigBee 传感器节点 → 网关 → 云平台

网关应具有:

  • 体积小;
  • 便于安装;
  • 对环境影响小;
  • 标准化接口;
  • 智能转发能力。

十五、软件设计总体内容

PPT 中软件设计主要包括四部分:

  1. 实时温湿度、光照强度数据采集和处理;
  2. 云端开发;
  3. 端云通信与数据传输;
  4. Web 应用开发。

本系统使用的云平台是:

华为 OceanConnect 物联网平台。

这一部分非常重要,因为它把前面学的 LiteOS、传感器驱动、通信协议、云平台开发全部串起来。


十六、实时传感器数据采集

首先是小熊派 IoT 开发板的数据采集。

开发思路是:

将裸机传感器驱动移植到 LiteOS 工程中,然后在 LiteOS 任务中调用驱动完成数据采集。


1. 复制裸机驱动文件到 LiteOS 工程

E53_IA1 扩展板上的 BH1750 和 SHT30 都使用 I2C 接口。

所以需要复制:

  • i2c.hInc 文件夹;
  • i2c.cSrc 文件夹;
  • E53_IA1.cE53_IA1.hHardware 文件夹。

也就是说:

先把裸机驱动文件加入 LiteOS 工程,让 LiteOS 工程能够识别并编译传感器驱动。


2. 添加驱动文件路径

复制文件后,还要修改 makefile,把 C 文件路径和头文件路径加入编译。

PPT 中提到:

  • HARDWARE_SRC:对应 Hardware 文件夹下的 Src 文件夹;
  • USER_SRC:对应 Src 文件夹;
  • HARDWARE_INC:对应 Hardware 文件夹下的 Inc 文件夹;
  • USER_INC:对应 Inc 文件夹。

注意:

只复制文件不够,还必须让编译系统知道这些文件在哪里。

否则会出现找不到头文件、链接失败、驱动函数未定义等问题。


3. 避免驱动冲突

PPT 中提醒,因为 SC1 和 IA1 驱动中都包含 BH1750 驱动,所以添加时要去掉 E53SC1.cE53_SC1.h,否则会引起冲突。

这属于实际工程中很常见的问题:

多个驱动文件中定义了相同函数或相同模块,会导致重复定义错误。


4. 驱动初始化放在哪里?

E53_IA1 扩展板在 LiteOS 中初始化设备有两种方式:

  1. 在系统启动调度之前初始化;
  2. 在任务中初始化。

如果在系统启动前初始化,设备可以被多个任务使用。

如果在任务中初始化,设备通常只在该任务中使用。

本案例中,E53_IA1 扩展板主要用于传感器数据采集,所以把初始化放在数据采集任务中即可。


5. 数据采集任务

传感器任务主要完成:

  1. 初始化 E53_IA1 扩展板;
  2. 读取 BH1750 光照强度;
  3. 读取 SHT30 温度和湿度;
  4. 在 LCD 上显示数据;
  5. 每 2 秒更新一次。

可以理解为一个 LiteOS 周期任务:

while (1)
{
    读取光照;
    读取温度;
    读取湿度;
    LCD显示;
    LOS_TaskDelay(2000ms);
}

十七、云端开发

云端开发部分讲的是华为物联网平台。

一个完整的物联网解决方案包括三部分:

  1. 物联网平台;
  2. 业务应用;
  3. 设备。

1. 物联网平台的作用

物联网平台是业务应用和设备之间的中间层。

它的作用包括:

  • 屏蔽复杂设备接口;
  • 实现设备快速接入;
  • 提供开放 API;
  • 支持设备管理;
  • 支持数据上报;
  • 支持命令下发;
  • 支持行业应用构建。

简单理解:

物联网平台负责把各种不同设备统一接入,并向上层应用提供统一能力。


2. 设备如何接入平台?

设备可以通过多种网络接入物联网平台:

  • 固网;
  • 2G/3G/4G/5G;
  • NB-IoT;
  • Wi-Fi。

通信协议可以使用:

  • LwM2M/CoAP;
  • MQTT。

设备可以向平台上报数据,平台也可以向设备下发控制命令。


十八、创建产品

在华为物联网平台中,开发者需要先创建项目和产品。

产品可以理解为:

一类设备的抽象模板。

例如:

  • 温湿度采集终端;
  • 光照监测设备;
  • 智慧农业网关;
  • 环境监控节点。

创建产品后,后续才能定义它的能力、数据格式和控制命令。


十九、Profile 产品模型

Profile 是产品模型。

PPT 中说明,Profile 用来描述一款产品中的设备:

  1. 是什么
  2. 能做什么
  3. 如何控制

Profile 主要包括三部分:

  1. 产品信息;
  2. 服务能力;
  3. 维护能力。

举例来说,对于智慧农业监测设备,Profile 中可以定义:

  • 温度属性;
  • 湿度属性;
  • 光照属性;
  • CO₂ 属性;
  • 补光灯控制命令;
  • 电机控制命令。

所以 Profile 的作用是:

让云平台知道设备具备哪些属性、服务和命令。


二十、编解码插件

编解码插件用于处理设备上报数据格式。

PPT 中讲到:

  • 如果设备上报数据格式是二进制码流,需要开发编解码插件;
  • 如果设备上报数据格式是 JSON,一般不需要编解码插件。

为什么?

因为 JSON 本身是结构化文本,平台容易直接解析。

而二进制码流虽然省流量,但平台不知道每个字节代表什么,需要编解码插件把它转换成平台能理解的数据格式。

可以这样记:

数据格式 是否需要编解码插件
JSON 通常不需要
二进制码流 需要

二十一、云端调测

PPT 中提到 Profile 和编解码插件可以通过两种方式验证:

  1. 使用真实设备;
  2. 使用虚拟设备。

复习时记住:

开发初期可以先用虚拟设备验证 Profile 和编解码插件,确认云端模型没问题后,再连接真实设备进行调测。

这样能减少硬件调试成本。


二十二、设备端开发

设备端开发就是让设备和物联网平台对接。

主要包括:

  1. 设备接入平台;
  2. 业务数据上报;
  3. 处理平台下发命令。

在本系统中,选择:

LwM2M 协议实现端云互联。

使用的是:

LiteOS OC LwM2M 抽象组件接口。


二十三、LiteOS SDK 端云互通

PPT 中提到 oc_lwm2m_agent

它是使用 LwM2M 协议对接华为 OceanConnect 的流程抽象层。

可以理解为:

它把复杂的 LwM2M 接入流程封装起来,让用户通过配置结构体和调用 API 完成云平台连接与数据上报。


1. 配置结构体 oc_config_param_t

结构体包括:

  • boot_mode:boot 模式;
  • boot_server:boot 服务器;
  • app_server:应用服务器;
  • rcv_func:接收 LwM2M 消息后的回调函数;
  • usr_data:用户数据。

这里最重要的是:

通过结构体把服务器地址、端口、设备标识、回调函数等信息配置好。


2. 服务器信息 oc_server_t

其中包括:

  • ep_id:设备标识符;
  • address:服务器地址;
  • port:服务器端口;
  • psk_id:DTLS 使用;
  • psk:安全密钥;
  • psk_len:密钥长度。

如果不使用 DTLS,可以把相关参数设为 NULL


3. 配置并连接平台

配置完成后调用:

oc_lwm2m_config(oc_config_param_t *param);

连接成功后,设备可以上报数据:

oc_lwm2m_report(void *context, char *buf, int len, int timeout);

本系统因为平台部署了编解码插件,所以设备端可以直接上报二进制数据。


二十四、ESP8266 相关配置

本例使用 ESP8266 模块,需要在工程配置文件中设置设备名和波特率。

PPT 中配置为:

#define CONFIG_AT_DEVICENAME "atdev_ESP8266"
#define CONFIG_AT_BAUDRATE 115200

这里说明设备端通过 AT 组件控制 ESP8266。

前面章节学过 AT 组件,这里就用到了:

MCU 通过串口发送 AT 指令控制 ESP8266 建立 Wi-Fi 和 Socket 通信。


二十五、编写设备端代码

PPT 中说明,在 Demo 文件夹下创建 cloud_test_demo 文件夹,并创建 oc_lwm2m_demo.c 文件。

然后还需要:

  1. user_demo.mk 中添加该 demo 源文件;
  2. .sdkconfig 中配置对应宏;
  3. 编译;
  4. 烧录;
  5. 在平台端查看上报数据。

这里体现了 LiteOS 应用开发的一般流程:

写 Demo → 配置 Makefile → 配置 sdkconfig → 编译烧录 → 云端调测

二十六、网关与云平台连接

PPT 后半部分讲了网关与云平台连接,这主要是 Agent Lite SDK 相关流程。

主要包括:

  1. 绑定与登录;
  2. 上传 Profile 并注册设备;
  3. 数据上报和数据发布;
  4. 非直连设备的添加和删除。

1. 绑定与登录

设备或网关第一次接入物联网平台时,需要进行绑定操作。

绑定的作用是:

把设备或网关与平台账号、产品、设备标识关联起来。

绑定成功后,设备重启或再次接入时,需要登录。

登录成功后,才能进行:

  • 数据上报;
  • 命令接收;
  • 设备管理;
  • 子设备添加。

2. 修改绑定参数

绑定信息来自 gwreginfo.json 文件。

需要配置:

  • platformAddr:平台设备对接地址;
  • platformPort:平台端口;
  • mac:设备唯一标识;
  • manufacturerId:厂商 ID;
  • deviceType:设备类型;
  • model:设备模型;
  • protocolType:协议类型;
  • loglevel:日志等级。

注意:

manufacturerIddeviceTypemodelprotocolType 要和 Profile 文件中的定义保持一致。

否则平台可能无法正确识别设备。


3. 绑定设备

绑定前调用配置 API 设置平台 IP 和端口,例如:

IOTA_ConfigSetStr(...)
IOTA_ConfigSetUint(...)

然后注册广播接收器,处理绑定结果:

HW_BroadCastReg(IOTA_TOPIC_BIND_RSP, Device_RegResultHandler);

再调用绑定接口:

IOTA_Bind();

4. 配置登录参数并登录

登录需要配置:

  • 设备 ID;
  • appId;
  • 密码;
  • HTTP 地址;
  • MQTT 地址;
  • MQTT 端口;
  • IOCM 端口。

然后注册连接结果广播接收器:

HW_BroadCastReg(IOTA_TOPIC_CONNECTED_NTY, Device_ConnectedHandler);

最后调用:

IOTA_Login();

二十七、上传 Profile 并注册设备

PPT 中要求上传 Profile 示例文件,例如:

  • Gateway_Huawei_AgentLite01.zip
  • Motion_Huawei_test01.zip

然后创建产品并注册设备。

设备注册信息包括:

  • 产品;
  • 设备名称;
  • 设备标识;
  • 接入方式。

其中设备标识必须与 AgentLiteDemo 中网关设备标识一致。

这点很关键:

云端注册的设备标识必须和设备端配置一致,否则设备无法正常上线。


二十八、数据上报和数据发布

设备或网关向平台上报数据有两种方式:

  1. 设备服务数据上报;
  2. 数据发布。

1. 设备服务数据上报

设备登录成功后,可以调用:

IOTA_ServiceDataReport();

进行数据上报。

SDK 会把设备 ID、请求 ID、服务 ID 等组装成 header,把服务属性组装成 body,最终形成 JSON 格式消息。

适合标准设备属性上报。


2. 数据发布

数据发布接口:

IOTA_MqttDataPub();

它的 topic 固定为:

/cloud/signaltrans/v2/categories/data

这种方式更偏透传,SDK 不主动调整消息体格式。


二十九、设备命令接收

应用服务器可以通过物联网平台 API 给设备或网关下发命令。

设备端需要注册广播接收器,监听命令下发事件。

当收到命令后,执行相应业务处理,例如:

  • 打开补光灯;
  • 关闭补光灯;
  • 启动电机;
  • 停止风机;
  • 调整采集周期。

这就是云端控制设备的流程。


三十、非直连设备添加和删除

在网关场景中,网关下面可能有多个非直连设备,比如 ZigBee 传感器节点。

添加非直连设备前,要确认该设备的 Profile 已经上传。

网关登录成功后,可以调用:

IOTA_HubDeviceAdd();

添加非直连设备。

删除非直连设备时,平台不会直接删除,而是需要网关确认,因为网关还要和具体设备确认。

这体现了网关的作用:

网关不仅转发数据,还负责管理子设备。


三十一、Web 应用开发

Web 应用开发是让用户更直观地查看和管理数据。

PPT 中说,本系统通过华为 IoT 云平台的数据和规则引擎,将数据发送到华为云服务器,再进行 Web 应用展示。

Web 平台主要由三部分组成:

  1. 温棚环境控制;
  2. 温棚环境监测;
  3. 温棚数据管理。

1. 温棚环境监测

显示实时和历史数据,例如:

  • 温度曲线;
  • 湿度曲线;
  • 光照曲线;
  • CO₂ 曲线;
  • 设备在线状态。

2. 温棚环境控制

实现远程控制,例如:

  • 开关补光灯;
  • 开关电机;
  • 控制通风;
  • 控制水泵;
  • 设置阈值。

3. 温棚数据管理

管理历史数据和设备信息,例如:

  • 查询历史记录;
  • 导出数据;
  • 管理设备列表;
  • 查看报警记录;
  • 分析趋势。

三十二、整个系统工作流程总结

把本章案例串起来,可以得到完整流程:

传感器采集温湿度、光照等数据
        ↓
STM32L431RCT6 / CC2530 进行数据处理
        ↓
ESP8266 Wi-Fi 或 ZigBee 网关传输数据
        ↓
LiteOS SDK / LwM2M / MQTT 接入华为 OceanConnect
        ↓
云平台完成设备管理、数据解析、命令下发
        ↓
Web 平台展示数据、报警、统计分析、远程控制

这就是典型物联网系统从端到云再到应用的完整闭环。


三十三、本章与前面章节的联系

这一章是综合应用章,几乎把前面内容都用上了。

前面章节知识 本章对应应用
物联网四层架构 感知层、传输层、服务层、应用层
嵌入式系统 STM32L431RCT6、小熊派、CC2530
LiteOS 任务 传感器采集任务、云通信任务
LiteOS 驱动移植 移植 E53_IA1、I2C、BH1750、SHT30 驱动
通信协议 LwM2M、MQTT、CoAP
AT 组件 控制 ESP8266
云平台 华为 OceanConnect
Web 应用 温棚监测、控制、数据管理

所以本章不是让你死背代码,而是要理解:

一个物联网项目如何从硬件、操作系统、通信协议、云平台到 Web 应用完整实现。


三十四、本章重点背诵版

1. 智慧农业定义

智慧农业是将物联网、传感器、无线通信、计算机网络、云平台、数据库和专家知识系统等现代信息技术应用于农业生产,实现农业环境远程监测、远程控制、灾害预警、智能决策和信息化管理的新型农业模式。


2. 智慧农业四层架构

智慧农业总体架构包括感知层、传输层、服务层和应用层。感知层负责采集温湿度、光照、CO₂ 等环境数据;传输层负责数据和控制指令传输;服务层依托云平台进行设备管理、数据处理和接口开放;应用层实现环境监测、设备控制、统计分析、自动报警和图表展示等功能。


3. 种养殖环境监控子系统功能

种养殖环境监控子系统通过温湿度、光照、二氧化碳等传感器采集环境数据,结合 RFID 标签进行信息管理,并通过云平台提供统一门户、数据分析、任务管理和终端管理等服务,最终在应用层实现环境监测、设备控制、统计分析、自动报警和图表展示。


4. 小熊派 IoT 开发板作用

小熊派 IoT 开发板基于 STM32L431RCT6,是本案例中运行 LiteOS、连接传感器、处理采集数据并通过 ESP8266 接入云平台的重要终端主控节点。


5. CC2530 作用

CC2530 是支持 IEEE 802.15.4 和 ZigBee 的 SoC 芯片,集成 RF 收发器、8051 CPU、Flash 和 RAM,适合作为低功耗无线传感网络节点。本案例中,CC2530 节点通过 ZigBee 网络连接到网关,再由网关连接云平台。


6. 主要传感器

本系统使用 BH1750 光照强度传感器和 SHT30 温湿度模块。BH1750 通过 I2C 接口采集光照强度,SHT30 通过 I2C 接口采集温度和湿度,两者共同实现温棚环境数据采集。


7. ESP8266 作用

ESP8266 是串口转 Wi-Fi 模块,内置 TCP/IP 协议栈,支持 802.11 b/g/n 和 STA/AP/STA+AP 模式。本案例中,小熊派节点通过 ESP8266 模块连接云平台,实现设备端与云端通信。


8. Profile 产品模型

Profile 是用来描述设备“是什么、能做什么、如何控制”的产品模型文件,主要包含产品信息、服务能力和维护能力。云平台通过 Profile 识别设备属性、服务和命令。


9. 编解码插件

当设备上报数据为二进制码流时,需要开发编解码插件,将二进制数据解析为平台可识别的数据格式;如果设备上报数据为 JSON 格式,则通常不需要编解码插件。


10. 设备端开发

设备端开发主要完成设备接入物联网平台、业务数据上报和平台控制命令处理。本案例使用 LiteOS OC LwM2M 抽象组件,通过配置 oc_config_param_t 和调用 oc_lwm2m_config()oc_lwm2m_report() 等接口实现端云互通。


三十五、考试可能这样问

题目1:什么是智慧农业?

答:

智慧农业是将物联网、传感器、无线通信、云平台、数据库、专家知识系统等现代信息技术应用于农业生产管理中,实现农业生产环境的远程精准监测、远程控制、灾害预警、智能决策和信息化管理的新型农业模式。它能够提高农业生产效率和设施农业管理水平,保障农产品健康生长。


题目2:智慧农业的总体技术架构包括哪些层?

答:

智慧农业的总体技术架构包括感知层、传输层、服务层和应用层。感知层通过传感器、RFID、视频终端等采集农业环境数据;传输层通过 ZigBee、Wi-Fi、蜂窝网络等实现数据和指令传输;服务层依托云平台实现设备管理、数据处理和开放接口;应用层实现环境监测、设备控制、统计分析、自动报警和图表展示等功能。


题目3:本案例中的种养殖环境监控系统主要由哪些硬件组成?

答:

本案例中的种养殖环境监控系统主要由终端节点主控制器、传感器和通信模块组成。终端节点包括基于 STM32L431RCT6 的小熊派 IoT 开发板和 CC2530 节点;传感器包括 BH1750 光照强度传感器和 SHT30 温湿度模块;通信模块包括 ESP8266 Wi-Fi 模块和网关。


题目4:小熊派 IoT 开发板在系统中的作用是什么?

答:

小熊派 IoT 开发板作为部分终端主控节点,负责运行 LiteOS、连接 E53_IA1 扩展板上的传感器、采集温湿度和光照数据,并通过 ESP8266 模块连接云平台,实现环境数据采集、处理和上传。


题目5:BH1750 和 SHT30 分别用于什么?

答:

BH1750 是数字型光照强度传感器,通过 I2C 接口采集光照强度数据,可用于判断温棚是否需要补光。SHT30 是温湿度传感器模块,通过 I2C 接口采集温度和湿度数据,可用于监测种养殖环境状态。


题目6:Profile 产品模型的作用是什么?

答:

Profile 产品模型用于描述设备是什么、具备哪些能力以及如何控制设备。它主要包括产品信息、服务能力和维护能力。物联网平台通过 Profile 识别设备属性、服务和命令,从而实现设备接入、数据解析和命令下发。


题目7:什么时候需要编解码插件?

答:

当设备上报的数据格式为二进制码流时,需要开发编解码插件,将二进制数据解析为物联网平台能够识别的结构化数据。如果设备上报的数据格式为 JSON,则通常不需要编解码插件,因为平台可以直接解析 JSON 数据。


题目8:设备端开发主要包括哪些内容?

答:

设备端开发主要包括设备接入物联网平台、业务数据上报和平台下发命令处理。本案例中,设备端通过 LiteOS SDK 和 LwM2M 协议接入华为 OceanConnect 平台,配置服务器地址、端口、设备标识和回调函数后,调用相关 API 完成平台连接和数据上报。


题目9:Web 应用平台主要实现哪些功能?

答:

Web 应用平台主要实现温棚环境控制、温棚环境监测和温棚数据管理。它可以展示实时和历史环境数据,进行图表分析和报警显示,也可以远程控制补光灯、电机、水泵等设备。


三十六、本章一句话总结

这一章可以这样总结:

本章以智慧农业种养殖环境监控系统为案例,展示了物联网操作系统在实际项目中的应用:感知层通过 BH1750、SHT30 等传感器采集环境数据,终端节点通过 STM32L431RCT6 + LiteOS 或 CC2530 完成数据处理和通信,ESP8266 或网关负责接入云平台,华为 OceanConnect 实现设备管理、数据上报和命令下发,最终通过 Web 平台实现环境监测、设备控制、统计分析和数据管理。