基于嵌入式Web服务器的智能温室监控系统
时间:01-25
来源:互联网
点击:
现代化的温室监控系统用来实时采集温室内温度、湿度、光照、土壤温度、CO2浓度、叶面湿度、露点温度等环境参数,根据种植作物的需求提供各种声光报警信息。当温湿度超过设定值的时候,自动开启或者关闭指定设备。现有的温室监控系统采用无线方式的居多,且传输范围有限,价格比较昂贵,与其他系统的兼容性不好。本设计提出基于以太网的温室监控系统,使用Luminary公司的LM3S102处理器,在其有限的内存空间上构建精简的TCP/IP协议栈,实现通用的嵌入式Web服务器,实现基于以太网的智能温室大棚监控功能。
1 系统设计
系统由传感器子系统、Web服务器子系统、外设控制子系统、人机接口子系统4个部分组成。基本结构如图1所示。
系统工作流程简述如下:通过传感器子系统采集,获得温室中的光照、温度、湿度等关键信息后处理加工,变成可以经TCP/IP协议传输的以太网数据包。数据传输采用监控终端计算机主动获取的方式,可以始终获取,也可以在需要的时候获取。监控终端计算机只需具备通用的IE浏览器,即可访问嵌入式 Web服务器的控制界面,查看每一个温室监控节点的数据信息,实现对大棚电动卷帘机、温室电热器、植物生长灯、微管喷滴灌等系统的实时控制。
本文从4个部分介绍系统的设计与实现,先从硬件角度构建主要的传感器子系统、Web服务器子系统、外设控制子系统,然后从软件角度出发,设计实现精简的TCP/IP协议栈。
1.1 传感器子系统
考虑到LM3S102接口有限,传统的模拟传感器需要A/D转换后方可使用,不适合本系统。设计选用I2C接口的数字传感器SHT10,该传感器将外界环境的湿度、温度信息采集以后存储在自身内存中,将其挂接在LM3S102处理器的I2C总线上实现数据的读取。在后续部分可以看到,I2C总线上还挂接了用来扩展I/O 口的专用芯片。温度与湿度传感器电路如图2所示。
图3是获取外界光照条件的方案。设计选用廉价的光电管,当光照强度大时,光电管导通电流大,从而在VIN_N端得到更低的电压。VIN_N端和 LM3S102内置的模拟比较器相接,将采集到的数据存于RAM中,和SHT10采集到的湿度、温度信息一起,由TCP/IP协议封装发送。
1.2 Web服务器子系统
为了构建Web服务器子系统,必须找到合适的网络功能实现方法。如图4所示,系统选用SPI接口的网络芯片ENC28J60实现网络MAC和PHY的功能,充分利用LM3S102的外设接口。TPOUT和TPIN端送往隔离变压器,外接通用的RJ45网口。后续部分将介绍在此硬件平台上TCP/IP协议的实现。
1.3 外设控制子系统
为了实现对温室自动卷帘的远程智能升降控制,设计采用PWM控制步进电机的方法。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制非常简单。接口芯片MPC17529用来驱动步进电机。在实际运用中,可采用各种方法增大后级电路的驱动能力,以实现对重型卷帘门的自如控制。图5为电机控制电路的实现方法。
由于LM3S102的I/O口有限,本设计采用I2C接口扩展I/O口的专用芯片PCA9554。挂接在I2C总线上的该芯片可以扩展出8路GPIO,在演示时采用用8盏LED灯来表示温室电热器、植物生长灯、微管喷滴灌、气体肥料释放机等温室常用设备。实际应用时加上继电器电路以后便可以方便地实现对温室中诸多科技农业控制系统的实时控制。电机控制电路如图6所示。
经过各子系统的硬件设计,LM3S102的片上接口与片内资源得到了充分的利用。
1.4 设计实现精简的TCP/IP协议栈
嵌入式Web服务器运行的目标系统大多是各类专用设备,内存资源和存储器资源非常有限,它通常作为一种监控、管理手段去控制和配置各种电子设备,实现设备的智能化和信息化。嵌入式Web服务器的应用系统框架如图7所示。
考虑到嵌入式Web服务器的硬件处理速度慢并且存储容量相对较小的限制,在TCP/IP协议栈中能够实现ARP、IP、TCP协议即可。采用精简的 TCP/IP协议栈,在上层实现了HTTP协议。包括ENC28J60网络芯片的驱动和IP包与ARP包的相应,实现了基于TCP协议的HTTP包的收发,协议栈省去了作为精简’Web服务器不需要的UDP协议和ICMP协议,并且不实现SOCKET函数,使得代码空间降到最小,却能够完成所有需要的功能。裁剪后的嵌入式专用TCP/IP协议栈结构如图8所示,软件模块分层工作流程如图9所示。
1 系统设计
系统由传感器子系统、Web服务器子系统、外设控制子系统、人机接口子系统4个部分组成。基本结构如图1所示。
系统工作流程简述如下:通过传感器子系统采集,获得温室中的光照、温度、湿度等关键信息后处理加工,变成可以经TCP/IP协议传输的以太网数据包。数据传输采用监控终端计算机主动获取的方式,可以始终获取,也可以在需要的时候获取。监控终端计算机只需具备通用的IE浏览器,即可访问嵌入式 Web服务器的控制界面,查看每一个温室监控节点的数据信息,实现对大棚电动卷帘机、温室电热器、植物生长灯、微管喷滴灌等系统的实时控制。
本文从4个部分介绍系统的设计与实现,先从硬件角度构建主要的传感器子系统、Web服务器子系统、外设控制子系统,然后从软件角度出发,设计实现精简的TCP/IP协议栈。
1.1 传感器子系统
考虑到LM3S102接口有限,传统的模拟传感器需要A/D转换后方可使用,不适合本系统。设计选用I2C接口的数字传感器SHT10,该传感器将外界环境的湿度、温度信息采集以后存储在自身内存中,将其挂接在LM3S102处理器的I2C总线上实现数据的读取。在后续部分可以看到,I2C总线上还挂接了用来扩展I/O 口的专用芯片。温度与湿度传感器电路如图2所示。
图3是获取外界光照条件的方案。设计选用廉价的光电管,当光照强度大时,光电管导通电流大,从而在VIN_N端得到更低的电压。VIN_N端和 LM3S102内置的模拟比较器相接,将采集到的数据存于RAM中,和SHT10采集到的湿度、温度信息一起,由TCP/IP协议封装发送。
1.2 Web服务器子系统
为了构建Web服务器子系统,必须找到合适的网络功能实现方法。如图4所示,系统选用SPI接口的网络芯片ENC28J60实现网络MAC和PHY的功能,充分利用LM3S102的外设接口。TPOUT和TPIN端送往隔离变压器,外接通用的RJ45网口。后续部分将介绍在此硬件平台上TCP/IP协议的实现。
1.3 外设控制子系统
为了实现对温室自动卷帘的远程智能升降控制,设计采用PWM控制步进电机的方法。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制非常简单。接口芯片MPC17529用来驱动步进电机。在实际运用中,可采用各种方法增大后级电路的驱动能力,以实现对重型卷帘门的自如控制。图5为电机控制电路的实现方法。
由于LM3S102的I/O口有限,本设计采用I2C接口扩展I/O口的专用芯片PCA9554。挂接在I2C总线上的该芯片可以扩展出8路GPIO,在演示时采用用8盏LED灯来表示温室电热器、植物生长灯、微管喷滴灌、气体肥料释放机等温室常用设备。实际应用时加上继电器电路以后便可以方便地实现对温室中诸多科技农业控制系统的实时控制。电机控制电路如图6所示。
经过各子系统的硬件设计,LM3S102的片上接口与片内资源得到了充分的利用。
1.4 设计实现精简的TCP/IP协议栈
嵌入式Web服务器运行的目标系统大多是各类专用设备,内存资源和存储器资源非常有限,它通常作为一种监控、管理手段去控制和配置各种电子设备,实现设备的智能化和信息化。嵌入式Web服务器的应用系统框架如图7所示。
考虑到嵌入式Web服务器的硬件处理速度慢并且存储容量相对较小的限制,在TCP/IP协议栈中能够实现ARP、IP、TCP协议即可。采用精简的 TCP/IP协议栈,在上层实现了HTTP协议。包括ENC28J60网络芯片的驱动和IP包与ARP包的相应,实现了基于TCP协议的HTTP包的收发,协议栈省去了作为精简’Web服务器不需要的UDP协议和ICMP协议,并且不实现SOCKET函数,使得代码空间降到最小,却能够完成所有需要的功能。裁剪后的嵌入式专用TCP/IP协议栈结构如图8所示,软件模块分层工作流程如图9所示。
嵌入式 传感器 总线 电路 电流 电压 比较器 变压器 PWM 步进电机 LED 继电器 电子 单片机 相关文章:
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 多核及虚拟化技术在工业和安全领域的应用(05-23)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于FPGA安全封装的身份认证模型研究(05-27)
- 基于nRF2401智能无线火灾监控系统设计(04-01)
- 智能视频多媒体技术的应用(05-31)