第11章 物联网操作系统的应用案例
这一章是把前面学过的感知层、通信、云平台、LiteOS SDK、端云互通、传感器驱动、Web 应用串成一个完整案例:智慧农业种养殖环境监控系统。
一、本章总体框架
这一章可以分成四大部分:
- 智慧农业概述
- 什么是智慧农业;
- 物联网技术在农业中的应用;
- 智慧农业总体架构;
- 种养殖环境监控子系统。
- 主要硬件
- 小熊派 IoT 开发板;
- CC2530;
- BH1750 光照强度传感器;
- SHT30 温湿度模块;
- ESP8266 模块;
- 网关。
- 软件设计
- 实时传感器数据采集;
- 华为 OceanConnect 物联网平台开发;
- 设备端开发;
- LiteOS SDK 端云互通;
- LwM2M 协议接入;
- 网关与云平台连接;
- Web 应用开发。
- 小结与实践
- 智慧农业只是一个应用案例;
- 物联网操作系统可以迁移到智慧家居、智慧物流、智慧路灯等场景。
这一章最重要的是理解:
一个完整的物联网系统,不只是开发板采集数据,而是包括“传感器采集—设备端处理—通信模块上传—云平台接入—Web 应用展示与控制”的完整链路。
二、什么是智慧农业?
PPT 中对智慧农业的定义比较长,可以简化理解为:
智慧农业就是把物联网、传感器、无线通信、云平台、数据库、专家知识系统等技术应用到农业生产中,实现农业环境的远程监测、远程控制、灾害预警、智能决策和信息化管理。
它的核心目标是:
- 实时感知农业生产环境;
- 远程查看和控制农业设备;
- 对异常情况进行预警;
- 通过数据分析辅助农业生产决策;
- 提高农业管理效率和农产品质量。
比如温室大棚中可以自动监测:
- 温度;
- 湿度;
- 光照强度;
- 二氧化碳浓度;
- 土壤湿度;
- 土壤 pH 值;
- 氮含量;
- 氧含量。
然后根据监测结果自动控制:
- 补光灯;
- 风机;
- 水泵;
- 电机;
- 灌溉设备;
- 通风设备。
三、物联网在农业中的应用
PPT 里主要讲了四类应用。
1. 农业信息监测
这是最典型的智慧农业应用。
通过传感器实时采集农业环境数据,例如:
- 温度;
- 湿度;
- 风力;
- 大气信息;
- 降雨量;
- 土壤湿度;
- 土壤氮含量;
- 土壤 pH 值;
- 光照;
- 氧含量。
这些数据可以帮助系统判断农作物当前生长环境是否合适。
例如:
- 温度过高,开启风机;
- 湿度不足,开启灌溉;
- 光照不足,开启补光灯;
- 二氧化碳浓度异常,发出预警。
这部分对应前面学过的感知层。
2. 农业销售流通管理
物联网技术可以应用在农产品加工和运输环节。
比如给农产品、运输车辆制作电子标签,把标签信息录入系统。
这样加工企业可以通过电子标签获取:
- 农产品来源;
- 运输信息;
- 加工状态;
- 流通环节信息。
这有助于实现农产品流通加工的信息化管理。
3. 农产品安全溯源
PPT 中提到 RFID 技术。
通过 RFID 标签,可以给农产品建立唯一身份标识。
如果农产品出现质量问题,就可以层层追查:
销售环节 → 运输环节 → 加工环节 → 生产基地 → 种植/养殖环境
这样可以找到问题根源。
这一点体现了物联网的一个重要价值:
通过数据记录实现全过程可追溯。
4. 农业信息管理
通过农业生产、流通、销售等环节采集的大量数据,可以建立农业信息数据库。
后续可以对这些数据进行:
- 统计分析;
- 趋势预测;
- 异常检测;
- 决策支持;
- 生产指导。
这就从简单“采集数据”发展到“数据驱动农业管理”。
四、智慧农业总体技术架构
PPT 中把智慧农业分为四层:
- 感知层;
- 传输层;
- 服务层;
- 应用层。
这和前面学的物联网体系架构是一致的。
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 中列出智慧农业关键技术:
- 数据云处理技术;
- 数据采集感知技术;
- 融合通信技术;
- 数据库及 Web 服务技术;
- 农业智能决策技术。
可以这样理解:
| 技术 | 作用 |
|---|---|
| 数据采集感知技术 | 采集温湿度、光照、CO₂ 等环境数据 |
| 融合通信技术 | 通过 ZigBee、Wi-Fi、蜂窝网络等传输数据 |
| 数据云处理技术 | 在云端存储、处理和分析数据 |
| 数据库及 Web 服务技术 | 实现数据查询、展示和管理 |
| 农业智能决策技术 | 根据数据提供生产建议和自动控制策略 |
六、应用实例:种养殖环境监控子系统
这部分是本章核心案例。
系统主要监控:
- 温度;
- 湿度;
- 光照;
- 二氧化碳;
- 其他环境参数。
同时结合 RFID 标签实现信息管理。
系统功能包括:
- 环境数据采集;
- 数据实时上传;
- 云端接入;
- 设备控制;
- 统计分析;
- 自动报警;
- 图表展示;
- 终端管理。
可以把整个系统理解成:
传感器 → 主控节点 → 通信模块/网关 → 云平台 → Web应用
七、本系统的两种终端节点方案
PPT 中讲到,本系统中的终端主控节点主要分为两类:
- CC2530 节点
- STM32L431RCT6 + LiteOS 节点
1. CC2530 方案
CC2530 节点通过 ZigBee 网络连接到网关节点,再由网关连接云平台。
数据链路可以理解为:
传感器 → CC2530 → ZigBee → 网关 → 云平台
这种方案适合低功耗、短距离、多节点组网场景。
2. STM32L431RCT6 + LiteOS 方案
这一方案使用小熊派 IoT 开发板。
它通过 ESP8266 模块实现与云平台直连。
数据链路可以理解为:
传感器 → STM32L431RCT6 + LiteOS → ESP8266 Wi-Fi → 云平台
PPT 中称其为:
“采集 + 处理 + 传输”结构。
其中:
- 传感器负责采集;
- STM32L431RCT6 负责处理;
- LiteOS 负责多任务管理、驱动适配、端云通信;
- ESP8266 负责无线联网;
- 云平台负责设备接入与数据管理。
八、主要硬件组成
系统除云平台之外,主要有三类硬件:
- 终端节点主控制器;
- 传感器;
- 通信模块,包括网关。
九、小熊派 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 中重点介绍两个传感器:
- BH1750 光照强度传感器;
- 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 中软件设计主要包括四部分:
- 实时温湿度、光照强度数据采集和处理;
- 云端开发;
- 端云通信与数据传输;
- Web 应用开发。
本系统使用的云平台是:
华为 OceanConnect 物联网平台。
这一部分非常重要,因为它把前面学的 LiteOS、传感器驱动、通信协议、云平台开发全部串起来。
十六、实时传感器数据采集
首先是小熊派 IoT 开发板的数据采集。
开发思路是:
将裸机传感器驱动移植到 LiteOS 工程中,然后在 LiteOS 任务中调用驱动完成数据采集。
1. 复制裸机驱动文件到 LiteOS 工程
E53_IA1 扩展板上的 BH1750 和 SHT30 都使用 I2C 接口。
所以需要复制:
i2c.h到Inc文件夹;i2c.c到Src文件夹;E53_IA1.c、E53_IA1.h到Hardware文件夹。
也就是说:
先把裸机驱动文件加入 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.c 和 E53_SC1.h,否则会引起冲突。
这属于实际工程中很常见的问题:
多个驱动文件中定义了相同函数或相同模块,会导致重复定义错误。
4. 驱动初始化放在哪里?
E53_IA1 扩展板在 LiteOS 中初始化设备有两种方式:
- 在系统启动调度之前初始化;
- 在任务中初始化。
如果在系统启动前初始化,设备可以被多个任务使用。
如果在任务中初始化,设备通常只在该任务中使用。
本案例中,E53_IA1 扩展板主要用于传感器数据采集,所以把初始化放在数据采集任务中即可。
5. 数据采集任务
传感器任务主要完成:
- 初始化 E53_IA1 扩展板;
- 读取 BH1750 光照强度;
- 读取 SHT30 温度和湿度;
- 在 LCD 上显示数据;
- 每 2 秒更新一次。
可以理解为一个 LiteOS 周期任务:
while (1)
{
读取光照;
读取温度;
读取湿度;
LCD显示;
LOS_TaskDelay(2000ms);
}十七、云端开发
云端开发部分讲的是华为物联网平台。
一个完整的物联网解决方案包括三部分:
- 物联网平台;
- 业务应用;
- 设备。
1. 物联网平台的作用
物联网平台是业务应用和设备之间的中间层。
它的作用包括:
- 屏蔽复杂设备接口;
- 实现设备快速接入;
- 提供开放 API;
- 支持设备管理;
- 支持数据上报;
- 支持命令下发;
- 支持行业应用构建。
简单理解:
物联网平台负责把各种不同设备统一接入,并向上层应用提供统一能力。
2. 设备如何接入平台?
设备可以通过多种网络接入物联网平台:
- 固网;
- 2G/3G/4G/5G;
- NB-IoT;
- Wi-Fi。
通信协议可以使用:
- LwM2M/CoAP;
- MQTT。
设备可以向平台上报数据,平台也可以向设备下发控制命令。
十八、创建产品
在华为物联网平台中,开发者需要先创建项目和产品。
产品可以理解为:
一类设备的抽象模板。
例如:
- 温湿度采集终端;
- 光照监测设备;
- 智慧农业网关;
- 环境监控节点。
创建产品后,后续才能定义它的能力、数据格式和控制命令。
十九、Profile 产品模型
Profile 是产品模型。
PPT 中说明,Profile 用来描述一款产品中的设备:
- 是什么
- 能做什么
- 如何控制
Profile 主要包括三部分:
- 产品信息;
- 服务能力;
- 维护能力。
举例来说,对于智慧农业监测设备,Profile 中可以定义:
- 温度属性;
- 湿度属性;
- 光照属性;
- CO₂ 属性;
- 补光灯控制命令;
- 电机控制命令。
所以 Profile 的作用是:
让云平台知道设备具备哪些属性、服务和命令。
二十、编解码插件
编解码插件用于处理设备上报数据格式。
PPT 中讲到:
- 如果设备上报数据格式是二进制码流,需要开发编解码插件;
- 如果设备上报数据格式是 JSON,一般不需要编解码插件。
为什么?
因为 JSON 本身是结构化文本,平台容易直接解析。
而二进制码流虽然省流量,但平台不知道每个字节代表什么,需要编解码插件把它转换成平台能理解的数据格式。
可以这样记:
| 数据格式 | 是否需要编解码插件 |
|---|---|
| JSON | 通常不需要 |
| 二进制码流 | 需要 |
二十一、云端调测
PPT 中提到 Profile 和编解码插件可以通过两种方式验证:
- 使用真实设备;
- 使用虚拟设备。
复习时记住:
开发初期可以先用虚拟设备验证 Profile 和编解码插件,确认云端模型没问题后,再连接真实设备进行调测。
这样能减少硬件调试成本。
二十二、设备端开发
设备端开发就是让设备和物联网平台对接。
主要包括:
- 设备接入平台;
- 业务数据上报;
- 处理平台下发命令。
在本系统中,选择:
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 文件。
然后还需要:
- 在
user_demo.mk中添加该 demo 源文件; - 在
.sdkconfig中配置对应宏; - 编译;
- 烧录;
- 在平台端查看上报数据。
这里体现了 LiteOS 应用开发的一般流程:
写 Demo → 配置 Makefile → 配置 sdkconfig → 编译烧录 → 云端调测
二十六、网关与云平台连接
PPT 后半部分讲了网关与云平台连接,这主要是 Agent Lite SDK 相关流程。
主要包括:
- 绑定与登录;
- 上传 Profile 并注册设备;
- 数据上报和数据发布;
- 非直连设备的添加和删除。
1. 绑定与登录
设备或网关第一次接入物联网平台时,需要进行绑定操作。
绑定的作用是:
把设备或网关与平台账号、产品、设备标识关联起来。
绑定成功后,设备重启或再次接入时,需要登录。
登录成功后,才能进行:
- 数据上报;
- 命令接收;
- 设备管理;
- 子设备添加。
2. 修改绑定参数
绑定信息来自 gwreginfo.json 文件。
需要配置:
platformAddr:平台设备对接地址;platformPort:平台端口;mac:设备唯一标识;manufacturerId:厂商 ID;deviceType:设备类型;model:设备模型;protocolType:协议类型;loglevel:日志等级。
注意:
manufacturerId、deviceType、model、protocolType要和 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.zipMotion_Huawei_test01.zip
然后创建产品并注册设备。
设备注册信息包括:
- 产品;
- 设备名称;
- 设备标识;
- 接入方式。
其中设备标识必须与 AgentLiteDemo 中网关设备标识一致。
这点很关键:
云端注册的设备标识必须和设备端配置一致,否则设备无法正常上线。
二十八、数据上报和数据发布
设备或网关向平台上报数据有两种方式:
- 设备服务数据上报;
- 数据发布。
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. 温棚环境监测
显示实时和历史数据,例如:
- 温度曲线;
- 湿度曲线;
- 光照曲线;
- 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 平台实现环境监测、设备控制、统计分析和数据管理。