基于6Lowpan或Zigbee协议的物联网传感器网基础设计|毕业设计项目|单片机项目|物联网设计|毕设

一、項目介绍
摘 要
为满足室内分布式环境精准监测与智能控制需求,设计一款基于ZigBee协议的物联网传感器网系统,核心实现温湿度、有害气体浓度及火焰状态的实时采集、传输、可视化呈现与异常闭环控制。系统以STM32F411CEU6单片机为核心主控,硬件层面整合SHT30数字温湿度传感器、MQ135空气质量传感器、ZigBee通信模块(CC2530芯片)、ESP8266 WiFi模块及TFT LCD显示模块,构建“感知-通信-交互-执行”一体化架构,通过标准化接口(I2C、UART、SPI)实现多模块协同适配,配合LDO稳压电路与去耦设计,保障信号稳定性与低功耗运行;软件层面基于RT-Thread实时操作系统开发,采用改进型滑动平均滤波算法(结合3σ准则剔除异常值)优化传感器采集数据精度,通过TIM2定时器精准控制100ms采集周期,依托ZigBee星型拓扑实现本地多节点数据交互,经ESP8266模块基于MQTT协议完成本地数据与ThingsBoard云端平台的双向通信,搭配CRC16校验机制保障数据传输可靠性。系统集成遵循“分步组装-模块调试-全链路联调”原则,通过硬件去耦、软件多任务调度及故障容错机制,实现软硬件深度适配。实测结果表明,系统温度测量误差≤0.1℃、湿度误差≤0.8%RH,ZigBee本地通信传输成功率达99.7%、平均延迟42ms,ESP8266云端数据上传无丢失,异常状态响应延迟≤200ms,采集主板待机功耗低至42mA,支持35个传感器节点接入,可实现本地LCD实时显示、云端远程监控及异常触发风扇启停与警报推送功能,满足室内环境监测的实时性、可靠性与低功耗需求。该系统采用模块化设计,具备良好的扩展性与复用性,可灵活适配智能家居、实验室监测等多场景,为小型物联网监测系统的设计与应用提供技术参考,同时通过核心元器件的标准化选型与国产化替代潜力分析,降低系统成本与供应链风险。
关键词:ZigBee协议;物联网传感器网;STM32;数据采集;远程监控
功能需求分析
基于 Zigbee 协议的物联网传感器网核心目标是环境数据全链路感知、传输、可视化与智能控制,结合硬件配置、软件架构及云平台特性,功能需求聚焦数据采集、通信传输、可视化呈现、智能控制及设备管理五大核心模块,各模块功能明确且协同联动,具体如下:
- 多维度环境数据采集功能
关键环境参数高精度、实时采集,覆盖温湿度、空气质量及火焰状态三类核心指标。SHT30 数字温湿度传感器满足温度 - 40~125℃、湿度 0~100% RH 测量范围,温度精度 ±0.3℃、湿度精度 ±3% RH,通过 I2C 接口与 STM32F4 主控芯片通信;MQ135 空气质量传感器检测 NH₃、NOₓ、苯、烟雾等有害气体,通过 ADC 接口采集电压信号并量化为气体浓度关联值;火焰传感器以开关量识别火灾隐患。采集过程基于 RT-Thread 实时操作系统独立数据采集线程,实现周期性连续采集,采集间隔≤100ms,完成数据预处理,确保多传感器数据时间同步与准确性。 - 分层通信传输功能
“本地短距 + 远程云端” 分层通信链路,保障数据传输可靠性与覆盖性。本地通信采用 CC2530 Zigbee 模块,广播模式实现采集主板与通信主板无线数据传输,穿墙能力强、延迟≤50ms,支持多节点分布式部署;远程通信通过 ESP8266 WiFi 模块,基于 MQTT 协议完成与 ThingsBoard 云平台对接,支持完整通信流程,确保采集数据无丢失上传。本地与云端数据同步,通信主板接收 Zigbee 传输数据后,同步更新至本地 LCD 与云端平台,网络中断时支持本地数据缓存,恢复后自动补传。 - 数据可视化呈现功能
本地与云端双端可视化服务,满足不同场景数据查看需求。本地端通过 240x240 分辨率 TFT LCD 全彩显示屏,实时展示各传感器最新测量值、近 5 分钟 / 1 小时数据变化趋势及异常状态标识,支持界面切换与刷新无卡顿;云端端依托 ThingsBoard 平台,实现数据持久化存储,提供自定义仪表板,支持按时间范围查询历史数据、导出 Excel 格式文件,直观呈现数据波动规律。 - 智能控制与异常响应功能
“异常识别 - 自动执行 - 警报提示” 闭环控制。采集主板检测到环境温度超过预设阈值,自动触发风扇执行模块启动排风操作,温度恢复正常后自动停机;火焰传感器识别到异常或 MQ135 检测到有害气体浓度超标,同步触发通信主板 LCD 屏报警提示与云端平台警报推送。支持通过 ThingsBoard 平台远程配置传感器阈值与控制执行模块,实现本地自动控制与云端远程干预双向协同。 - 设备管理与维护功能
保障系统可运维性与扩展性。本地端支持设备初始化状态监测、硬件故障自检测;云端端支持设备接入认证、在线 / 离线状态监控、远程 RPC 控制,以及故障日志记录与追溯。系统具备模块化扩展能力,支持新增传感器或替换通信模块,无需大幅修改核心代码,适配不同应用场景功能扩展需求。
本硬件架构以 STM32F4 为核心处理单元,构建 “感知 - 通信 - 交互 - 执行” 的功能链路,硬件组成包含主控模块、感知模块、通信模块、交互模块及执行模块,各单元通过标准接口与核心主控连接,实现环境数据采集、传输、呈现及异常控制的全流程硬件支撑,架构逻辑如图所示。

软件架构图设计
本软件架构基于 RT-Thread 内核采用分层设计,自上而下涵盖硬件层、增强层、增值层及内核层,各层组件协同支撑物联网传感器网的软件功能:硬件层提供 Chips/SoC/IP、第三方模块 SDK 等底层适配能力,兼容不同硬件组件的驱动对接;增强层集成图形库、语音交互、存储服务等扩展组件,丰富人机交互与数据管理功能;增值层包含设备管理、AI 推理、权限管控等模块,实现设备运维、智能分析及安全管控;内核层以 RT-Thread 为核心,适配 ARM、C-SKY 等多架构,提供进程管理、内存管理等基础运行能力。该架构通过 “底层适配 - 基础支撑 - 功能扩展 - 智能增值” 的链路,既保障了硬件组件的兼容对接,又依托分层组件的模块化特性,实现功能的灵活扩展与系统的稳定运行,适配传感器网的数据采集、通信传输等多场景软件需求。

整体PCB电路原理设计
本 PCB 电路以 STM32F4 为主控核心,整合辅助电路、电源电路及功能模块电路,构建硬件系统的电气支撑链路:图中 IO 引脚模块明确了 STM32F4 的引脚分配逻辑,对应各功能模块的接口需求,为传感器、通信模块等提供信号交互通道;辅助电路部分包含 BOOT 电路(配置 STM32F4 的启动模式,适配程序下载与运行场景)、复位电路(通过电阻电容组合实现上电复位与手动复位,保障主控异常时的状态恢复)、下载电路(对应调试接口,支持程序烧录与在线调试)、去耦电路(并联电容稳定电源信号,抑制电路干扰)、晶振电路(晶振配合电容为 STM32F4 提供稳定时钟源,保障系统时序精准),这些电路共同支撑主控的稳定运行;电源电路采用 LDO 模块,将输入电压稳压至各组件所需的工作电压(如 3.3V),为 STM32F4 及外围模块提供持续稳定的供电,避免电压波动影响设备运行;功能模块电路则匹配各硬件组件的电气特性:SHT30 温湿度传感器通过 I2C 接口与主控连接,电路适配串行通信需求;MQ135 传感器经 ADC 接口连入主控,配合电阻分压保障模拟信号的合规采集;火焰传感器以开关量形式接主控 IO 口,简化异常状态的信号传输;排风扇执行模块通过继电器电路与主控 IO 口连接,实现弱电控制强电的安全执行逻辑;Zigbee 通信模块通过 UART 接口与主控交互,保障数据的短距传输。该 PCB 电路原理以主控为中枢,将辅助电路的基础支撑、电源电路的供电保障与功能模块的链路需求深度整合,各部分电路的参数与接口均匹配对应组件的技术特性,既保障了单模块的稳定运行,也通过合理的引脚分配与信号链路设计,实现多模块的协同工作,为物联网传感器网的硬件功能落地提供了可靠的电路基础。
二、文档介绍






三、项目设计
软件开发环境与工具
本物联网传感器网软件设计基于STM32F411CEU6主控芯片展开,核心开发环境以嵌入式系统开发体系为核心,具体包含硬件层适配工具、编译调试工具及辅助验证工具三类:
核心开发环境:采用Windows 10 64位操作系统作为基础平台,搭载RT-Thread Studio V2.2.0(用于RT-Thread实时操作系统的内核裁剪、组件配置)与Keil uVision5 V5.38(用于代码编译、调试、烧录),两者协同实现“系统层配置+应用层开发”的全流程支撑;
硬件调试工具:使用J-Link V9仿真器实现程序在线调试与烧录,串口助手(SSCOM V5.13)用于Zigbee/ESP8266通信数据的实时监控,逻辑分析仪(Saleae Logic)用于验证SPI/I2C总线的信号时序,保障外设通信的正确性;
辅助工具:采用Notepad++ V8.5.7编写自定义脚本,Excel 2021用于滤波算法、通信质量的数据分析与可视化,确保算法验证与性能指标统计的高效性。
Keil uVision5项目配置
Keil uVision5项目配置需匹配STM32F411CEU6的硬件特性与系统功能需求,核心配置步骤如下:
芯片选型与内核配置:新建项目后选择STMicroelectronics→STM32F4 Series→STM32F411→STM32F411CEU6,添加RT-Thread NANO内核库(裁剪后仅保留进程管理、内存管理核心组件);
时钟树配置:通过Startup文件配置系统时钟,将HSE(外部晶振8MHz)倍频至100MHz作为系统主频,APB1时钟分频为42MHz(适配TIM2、UART等外设),APB2时钟分频为84MHz(适配SPI、ADC等外设);
编译选项配置:编译器选择ARM Compiler 6.18,优化等级设为-O1(平衡代码体积与执行效率),开启“Debug Information”以支持在线调试,输出格式选择HEX文件(适配J-Link烧录);
外设驱动配置:添加I2C(SHT30)、UART(Zigbee/ESP8266)、SPI(TFT LCD)、TIM2(数据采集计时)、ADC(MQ135)的驱动文件,在工程中分组管理(Driver组、Algorithm组、Config组),便于代码维护。
STM32F103ZET6单片机选型与配置
本系统核心控制模块选用 STM32F411CEU6 单片机,该芯片基于 ARM Cortex-M4 内核设计,兼具高性能、低功耗与丰富外设资源,完美匹配物联网传感器网系统的多任务处理、精准数据采集与外设驱动需求,是平衡性能与成本的最优选型。芯片搭载的 ARM Cortex-M4 内核集成 DSP 数字信号处理指令集与 FPU 浮点运算单元,相较于传统 Cortex-M3 内核,运算能力显著提升,可高效处理环境数据采集算法中的滤波运算、Zigbee/6Lowpan 通信协议解析、多传感器数据融合模型计算等复杂逻辑,同时支撑 RT-Thread 实时操作系统的多任务调度,保障数据采集、通信传输、可视化显示、异常控制等任务的并行执行无延迟。其 100MHz 的最大主频,为系统提供充足的运算带宽,确保单次多维度环境数据采集周期控制在 100ms 内,满足实时性设计指标。存储配置方面,芯片内置 512KB FLASH 程序存储器与 128KB RAM 数据存储器,512KB FLASH 可充分容纳 RT-Thread 内核代码、各传感器及通信模块驱动程序、数据处理算法及故障诊断逻辑,同时预留充足空间用于后续功能升级(如 6Lowpan 协议栈迭代、多传感器融合算法优化);128KB RAM 则能满足多任务运行时的环境数据缓存需求,避免因内存不足导致的数据丢失或程序崩溃。芯片提供 36 个通用 I/O 引脚,支持推挽输出、开漏输出、输入浮空等多种工作模式,可直接适配 SHT30 温湿度传感器的 I2C 通信引脚、MQ135 空气质量传感器的信号引脚、Zigbee 模块的 UART 通信引脚、TFT LCD 的 SPI 通信引脚、风扇执行模块的驱动引脚及电源模块的状态检测引脚,无需额外扩展 I/O 芯片,简化硬件架构的同时降低信号干扰风险。12 位 ADC 模块具备高精度模拟信号采集能力,可用于环境温度采集(为空气质量数据提供温度补偿数据)及传感器信号校准,进一步提升环境参数采集精度。芯片工作电压为 3.3V,与系统电源模块的 LDO 稳压输出完美匹配,低电压设计不仅降低系统功耗,还提升了物联网分布式部署场景下的用电安全性。此外,芯片集成低功耗 RTC 实时时钟、六个通用 16 位定时器等丰富外设,其中定时器可分别用于传感器数据采集计时、Zigbee 通信周期控制、LCD 显示刷新周期管理;低功耗 RTC 可实现系统休眠状态下的时间记录,适配物联网设备低功耗运行的需求,全方位保障基于 6Lowpan/Zigbee 协议的物联网传感器网系统稳定、高效运行,STM32F411CEU6 单片机实物图如图 所示。

zigbee通信模块设计
Zigbee 通信模块是本物联网传感器网本地短距通信链路的核心载体,承担分布式传感器节点与 STM32F4 主控单元间的数据交互任务,其低功耗、多节点组网特性完美适配系统室内分布式部署需求,选型 CC2530 芯片构建模块,是平衡通信性能、功耗与成本的最优方案。
从选型逻辑看,CC2530 基于 IEEE 802.15.4 标准设计,内置 Zigbee 协议栈基础组件,支持 2.4GHz 免授权频段通信,最大传输速率 250kbps,既能满足环境数据的低速率传输需求,又能将通信延迟控制在 50ms 内(匹配系统性能指标);其工作功耗仅 1mA(接收模式)、25mA(发射模式),休眠模式功耗低至 0.2μA,配合系统低功耗管理策略,可有效延长传感器节点续航时间,适配长期部署场景。

ESP8266 无线wifi通信模块设计
ESP8266 无线 WiFi 通信模块是本物联网传感器网 “本地 - 云端” 远程通信的核心枢纽,承担本地环境数据向 ThingsBoard 云端平台的上传、及云端控制指令的下行转发任务,是连接 “本地感知层” 与 “云端应用层” 的关键链路,其高集成度、低成本与完善的协议支持,成为适配项目需求的远程通信优选方案。

TFT LCD显示模块设计
TFT LCD 显示模块是本物联网传感器网本地数据可视化的核心载体,承担环境参数实时呈现、异常状态预警的功能,为本地运维提供直观交互界面。选型 1.54 英寸全彩 TFT LCD,搭载 ST7789V 驱动芯片,240x240 分辨率,采用 4-SPI 接口,平衡显示效果与硬件适配性,是本地交互场景的最优选择。

硬件电路设计层面,模块与 STM32F4 通过 4-SPI 接口对接:SCL(时钟线)、SDA(数据线)分别连接 STM32F4 的 SPI 外设引脚,RES(复位)、DC(数据 / 命令控制)、CS(片选)接入通用 IO 口,BLK(背光控制)通过三极管驱动电路连接,支持背光开关调节;电源端接入 3.3V 稳压电源,并联 0.1μF 去耦电容稳定供电,所有接口无需电平转换,直接适配主控电压标准,简化硬件链路的同时降低信号延迟。
软件驱动设计基于 RT-Thread 的 SPI 驱动框架,初始化阶段完成 SPI 速率配置(10MHz)、显示方向设定、颜色模式校准;开发 LCD_Fill2 等核心显示函数,实现区域填充、数据刷新功能,刷新频率≥5 帧 / 秒,界面切换响应≤300ms;界面布局采用模块化设计,分区域显示温湿度、空气质量、火焰状态的实时数值,近 5 分钟数据趋势线,异常状态以红色闪烁标识,直观呈现系统运行状态。
模块功能与系统深度协同:接收 STM32F4 转发的 Zigbee 采集数据,同步更新显示内容,确保本地数据与云端一致;当检测到温度超标、火焰异常时,自动触发对应区域闪烁报警,与风扇执行模块、云端警报形成联动;支持背光节能控制,空闲时段自动调低亮度,适配系统低功耗部署目标。
C
/**
* @brief TIM2初始化(100ms定时中断)
*/
void TIM2_Init(void) {
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
// 1. 使能TIM2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
// 2. 配置时基参数
TIM_TimeBaseStructure.TIM_Period = 999; // ARR
TIM_TimeBaseStructure.TIM_Prescaler = 8399; // PSC
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
// 3. 使能定时中断
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
// 4. 配置NVIC
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; // 优先级2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
// 5. 启动定时器
TIM_Cmd(TIM2, ENABLE);
}
// TIM2中断服务函数(触发传感器数据采集)
void TIM2_IRQHandler(void) {
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {
sensor_data_acquisition(); // 调用数据采集函数
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); // 清除中断标志
}
}
C
// 全局变量定义
uint32_t g_send_pkt_cnt = 0; // 发送数据包数
uint32_t g_recv_pkt_cnt = 0; // 接收数据包数
uint32_t g_correct_byte_cnt = 0; // 正确字节数
uint32_t g_total_byte_cnt = 0; // 总接收字节数
uint32_t g_delay_sum = 0; // 延迟总和
/**
* @brief CRC16校验计算
* @param data 数据数组
* @param len 数据长度
* @return CRC16值
*/
uint16_t crc16_ccitt(uint8_t *data, uint8_t len) {
uint16_t crc = 0xFFFF;
for (uint8_t i = 0; i < len; i++) {
crc ^= (uint16_t)data[i] << 8;
for (uint8_t j = 0; j < 8; j++) {
if (crc & 0x8000) {
crc = (crc << 1) ^ 0x1021; // G(x)=x^16+x^15+x^2+1
} else {
crc <<= 1;
}
}
}
return crc;
}
/**
* @brief 通信质量指标计算
* @return 无
*/
void comm_quality_calc(void) {
float success_rate = (float)g_recv_pkt_cnt / g_send_pkt_cnt * 100;
float avg_delay = (float)g_delay_sum / g_recv_pkt_cnt;
float accuracy = (float)g_correct_byte_cnt / g_total_byte_cnt * 100;
// 打印结果(串口输出)
printf("传输成功率:%.1f%%\r\n", success_rate);
printf("平均传输延迟:%.0fms\r\n", avg_delay);
printf("数据准确率:%.1f%%\r\n", accuracy);
}
总 结
本研究围绕基于Zigbee协议的物联网传感器网基础设计,完成硬件架构搭建、软件程序开发、系统集成与测试,实现环境监测与智能控制的核心目标,主要成果如下:
- 构建了“感知-通信-交互-控制”一体化硬件架构。以STM32F411CEU6为核心,整合SHT30、MQ135、火焰传感器及Zigbee/ESP8266通信模块,采用标准化接口设计,实现多模块灵活适配。硬件层面通过去耦电路、阻抗匹配等设计,降低信号干扰,采集精度与通信稳定性均达设计指标,温度测量误差≤0.1℃,Zigbee传输成功率≥99.7%。
- 开发了基于RT-Thread的模块化软件系统。设计改进型滑动平均滤波算法,通过3σ准则剔除异常值后计算滑动平均,有效降低传感器噪声干扰,数据绝对误差≤0.1℃;完成TIM2定时器精准配置(100ms周期),保障数据采集实时性;基于MQTT协议实现本地与云端双向通信,配合CRC16校验,确保数据传输准确率达100%。
- 实现了“本地独立运行+云端协同管理”的双模式功能。本地通过TFT LCD屏实时展示数据与异常警报,支持脱离云端独立工作;云端依托ThingsBoard平台实现数据持久化存储、远程监控与指令下发,构建“采集-判断-执行-反馈”的闭环控制链路,异常状态响应延迟≤200ms,满足分布式环境监测的实际需求。
- 验证了系统的低功耗与高扩展性。通过RT-Thread低功耗管理与模块休眠策略,采集主板待机功耗低至42mA,通信主板73mA,支持长期部署;标准化接口与模块化设计使新增传感器驱动适配时长≤8小时,单Zigbee网络可接入35个节点,远超设计指标,可复用至智能家居、实验室监测等多场景。
更多推荐



所有评论(0)