APP下载

基于LwIP 协议栈的校园环境监测平台设计

2022-03-15赵清华葛彦凯

电子设计工程 2022年5期
关键词:以太网数据处理环境监测

赵清华,葛彦凯,赵 扬,杨 静

(1.太原理工大学信息与计算机学院,山西晋中 030600;2.太原理工大学信息中心,山西太原 030024)

当前,日渐严重的环境问题已引起全社会的持续关注,工业污染等原因造成多种有害气体的含量急剧增加[1]。在校园等密集场所及时监测环境中的有害气体含量可以有效避免因此导致的群体性健康问题。虽然各省市已普遍建设地面监测站进行环境监测,但是在环境监测方面,相关技术还存在监测指标单一、价格昂贵、缺乏健全的监测网络等不足,致使人们无法对周边的环境质量做出准确的判断[2]。

随着IPv6 协议用于物联网技术,并制定了对适配层及相关协议进行优化的适用于嵌入式技术的LwIP 协议栈,将IPv6 技术扩展至嵌入式领域,使嵌入式设备实现通过IP 地址接入互联网的端到端通信[3]。因此,该文依托嵌入式设备接入以太网与IPv6网络技术,设计了一种基于LwIP 协议栈的校园环境监测平台。

1 总体设计方案

根据实现功能不同,校园环境监测平台分为感知层、网络层与应用层。感知层为6~10 个独立监测节点ESP8266_STA 按星型拓扑结构组成的局域环境监测系统,系统可同时采集各监测节点的环境指标数据[4]。在局域环境监测系统中,选取一个独立监测节点作为中央节点,实现汇总系统内所有节点所采集的数据并发送至数据处理转换中心。网络层为数据处理转换中心,转换中心基于STM32F103芯片开发,移植LwIP 轻型协议栈,使其能够接入IPv6 网络并自动获取IPv6 地址,采用无限循环与外部中断相结合的方式运行LwIP 协议栈进行处理与传输数据,作为串口转以太网网关[5]。应用层为云平台,接收自数据处理转换中心传送的IPv6 数据帧,将其解码后存储至MySQL 数据库[6]。云平台将各空气指标数据结合算法对当前监测区域空气质量进行综合评价,并将评价结果与环境指标数据一同显示于前端页面。基于LwIP 协议栈的环境监测平台结构如图1 所示。

图1 环境监测平台结构

2 局域环境监测系统

局域环境监测系统由6~10 个独立监测节点ESP8266_STA 通过星型网拓扑结构组成,设置一个中央节点执行集中式通信控制策略,其余监测节点作为周围节点采用WiFi 与中央节点通信。独立监测节点ESP8266_STA 采用ESP8266 无线芯片作为主控制器,包括传感器组、报警模块与OLED 液晶模块。

2.1 ESP8266无线芯片

ESP8266 是一款可作为主控制器从设备或可独立运行程序的无线芯片,其内部封装集成一款Tensilica L106 32-bit RISC 处理器,内置标准IEEE 802.11 b/g/n 与TCP/IP 协议栈,最大时钟速度可达160 MHz,支持实时操作系统(RTOS),可选择STA、AP、STA+AP 工作模式[7]。监测系统中,各周围节点通过ESP-NOW 技术连接中央节点的WiFi 热点实现局域组网,完成环境监测数据的传输与汇总。ESPNOW 是一种使用IEEE802.11 Action Vendor 帧技术的无连接、短数据传输WiFi 通信协议,适用于物联网设备组网。ESP8266 无线芯片初始化后,调用esp_now_add_peer()接口将周围节点MAC 地址添加至中央节点配对设备列表,完成配对后,中央节点可与周围节点实现连续的点对点连接,接收周围节点发送的环境监测数据。汇总数据后,中央节点通过UART 串口传输至数据处理转换中心,ESP8266 电路图 如图2 所示[8]。

图2 ESP8266电路图

2.2 传感器组

局域环境监测系统中独立监测节点ESP8266_STA采用SHT15、CCS811、SGP30、MQ-7 等传感器组成传感器组,由ESP8266 控制传感器组采集温湿度、CO、CO2、TVOC 浓度数据。

SHT15 是一款广泛应用于物联网技术的数字温湿度传感器芯片,芯片内集成温湿度感测单元、IIC总线接口、模数转换电路与信号调理电路,可完全校准数字信号输出[9-10]。SHT15 传感器采用3.3 V 电压供电,与ESP8266 主控芯片通过IIC 总线通信,电路图如图3 所示。

图3 SHT15电路图

独立监测节点选用SPG30 气体传感器监测环境中的CO2浓度,传感器内置多种金属氧化物传感器件,接通电源后,传感器内部产生多种氧化还原反应,经电路处理后传回CO2浓度数值至ESP8266[11]。SGP30 采用3.3 V 电压供电,采用IIC 接口与ESP8266通信,电路图如4 所示。

图4 SGP30电路图

MQ-7 气体传感器选用二氧化锡作为气敏材料,其在加热的情况下对CO 有较高的灵敏度和选择性,常用来检测环境中的CO浓度。传感器采用5 V电压供电,经过A/D 转换电路将模拟量转换为CO 浓度数值。

TVOC 是空气中除CO、CO2、金属碳化物之外的含碳化合物,其浓度也是一项重要的环境监测指标。CCS811 是CMOS Sensors 公司推出的一款用于检测TVOC 浓度的微型气体传感器芯片,通过其内置的板载加热电路,促使含碳化合物气体与氧负离子发生氧化还原反应,测量生成的二氧化碳含量得到TVOC 浓度数值[12]。CCS811 采用3.3 V 电压供电,通过IIC 总线接口与ESP8266 通信,根据计算,上拉电阻选用10 kΩ,电路图如图5 所示。

图5 CCS811电路图

2.3 液晶模块

独立监测节点选用7 寸OLED 液晶屏幕显示当前时刻传感器组所采集的温湿度、CO、CO2、TVOC 等指标数据,OLED 液晶屏幕型号为YSHMIPC1070,内置SSD1306 OLED 驱动芯片,采用3.3 V 电压供电,与ESP8266 通过IIC 接口实现通信。

3 数据处理转换中心

数据处理转换中心接收发送自局域环境监测系统中央节点的环境监测数据后,根据运输层协议将数据编码为以太网数据帧,通过IPv6 网络上传至云平台。数据处理转换中心选择ENC28J60 以太网控制芯片实现单片机接入以太网,采用STM32F103 芯片作为主控制器,通过移植LwIP 协议栈使其支持IPv6 网络。

3.1 ENC28J60以太网控制器

ENC28J60 是一款兼容IEEE802.3 标准协议,内置PHY 与MAC 模块的独立以太网控制器[13],采用DMA 模块实现高速传输数据,通过SPI 总线接口使STM32F103 主控制器建立连接后,STM32F103 可对ENC28J60 寄存器读写命令与数据,将环境监测数据通过IPv6 网络发送至云平台。

利用ENC28J60 完成以太网数据的发送需要依赖驱动芯片内部的硬件缓冲区。硬件缓冲区大小为8 K,分为接收缓冲区与发送缓冲区。数据处理转换中心发送环境监测数据时,首先初始化ENC28J60 并将数据封装为以太网数据帧,再指定发送缓冲区写指针,实现向发送缓冲区中填充数据,通过主控制器触发相关寄存器复制缓冲区中数据并执行发送命令,完成发送流程。当写指针的地址遇到结束地址时返回起始地址,等待下一次发送命令[14]。ENC28J60以太网控制器发送数据流程,如图6 所示。

图6 ENC28J60发送数据流程图

3.2 STM32F103微处理器

STM32F103 微处理器采用Cortex-M3 内核,支持最高72 MHz 工作频率,具有64 K SRAM,具有高处理性能、低功耗等优点,因此选择STM32F103 作为数据处理转换中心主控制器。数据处理转换中心采用3.3 V 电压供电,选择8 MHz 高频晶振和32.768 MHz低频晶振组成晶振电路。

3.3 数据处理转换中心软件设计

数据处理转换中心通过STM32F103与ENC28J60移植LwIP 协议栈,使其支持IPv6 网络协议。LwIP 协议栈是一种开源轻型TCP/IP 协议栈,在保持TCP/IP协议栈基本功能的同时简化了处理过程与内存要求,适用于嵌入式设备接入以太网,经过多个版本的迭代,LwIP 协议栈的多个API 已逐步支持IPv6 协议,LwIP 协议栈移植流程如图7 所示[15]。

图7 LwIP协议栈移植流程

1)LwIP 源文件导入

新建keil工程,并在工程目录下添加LwIP_APP、LwIP_netif、LwIP_core、LwIP_api、LwIP_ipv4、LwIP_iPv6 等内核核心函数源代码,修改LWIP-NETIF 中的ethernetif.c 文件,调用low_level_init 函数,完成数据处理转换中心MAC 地址初始化及ENC28J60 网络控制器初始化。

2)接口函数对接

将ENC28J60 以太网控制器的接收发送函数与LwIP协议栈底层数据接收发送端口对接,修改底层发送函数low_level_output,实现向微处理器申请发送数据缓冲区内存空间;修改底层接收函数low_level_input,设置网卡netif 结构体中连接层硬件地址长度和hwaddr地址数组,设置最大允许传输单元mtu、mtu6[16]。

3)初始化LwIP 协议栈

调用LwIP_init(),初始化LwIP 协议栈模块,调用netif_add 函数实现在LwIP 协议栈中添加注册一个网络接口,添加LwIP_Polling()函数至主函数,并导入LwIP_netif 结构体,此结构体可实现导入IPv4 地址、IPv6 地址、子网掩码与网关地址。

4)获取IPv6 地址

完成移植过程后,STM32F103 可获取到IPv6 本地链路地址与以太网分配的静态IPv6 地址。

4 云平台

环境监测系统整体采用C/S 架构设计,局域环境监测系统与数据处理转换中心组成客户端,负责环境数据的采集,云平台作为服务器,实现将客户端通过IPv6 网络传输的数据进行解析、存储与展示,云平台分为数据管理中心与数据展示页面。

数据管理中心基于Netty 框架开发,云平台与数据处理转换中心建立TCP 连接进行通信,当接收到发送自数据处理转换中心的数据并验证数据完整后,将各项环境监测数据及采集时间存储至后端MySQL 数据库。

数据展示页面采用JDBC API 访问MySQL 数据库中环境监测数据并使用图形化进行展示,数据展示页面如图8 所示。

图8 云平台数据展示页面

5 系统测试

该文对监测平台所采集环境数据准确性进行系统测试。在学校教学区域放置局域环境监测系统与数据处理转换中心,局域监测系统包含一个中央节点和3 个周围节点,经过多次实验,将所采集数据与标准数值进行对比,结果如表1 所示。

分析表1 中数据可知,该平台所采集数据与当前地点标准值误差较小,可满足在校园内进行环境监测。

表1 采集数据与标准值对比表

6 结束语

该文设计与实现了一种基于LwIP 协议栈的校园环境监测平台,实现了实时采集温湿度、CO、CO2、TVOC 等环境指标数据,有助于学校工作人员随时了解各教室当前时刻的空气质量,有效避免因有毒有害气体浓度过高导致的群体性健康问题,具有支持IPv6 传输、成本低廉、测量精度高等优点。平台基于新型物联网技术与LwIP 协议栈移植技术,设计了局域环境监测系统、数据处理转换中心与云平台,实现了完整的物联网应用场景。

猜你喜欢

以太网数据处理环境监测
环境监测技术存在的问题及对策分析
土壤环境监测方法探讨
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
无人机测绘数据处理关键技术及运用
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
分析3S技术在生态环境监测中的应用
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
高层建筑沉降监测数据处理中多元回归分析方法的应用研究
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代