王军阵 种景 陈旭
摘 要 为实现对船载无土栽培温室环境参数的实时监测,提出了一种温室环境参数监测系统的设计方法。使用基于嵌入式RTMES4.11操作系统的STM32F4微处理器采集环境参数,在基于嵌入式Linux的S3C6410的硬件平台上基于Qt构建应用程序,实现数据的本地存储和本地显示,通过Socket技术实现嵌入式平台与服务器之间的通信,将采集到的环境参数通过网络上传到Linux服务器并以WEB方式实时显示环境参数,实现对远洋船舶无土栽培温室内环境的远程实时监测。
关键词 嵌入式 Linux 温室环境 监控
中图分类号:S818 文献标识码:A
0引言
随着计算机、自动化技术的高速发展,自动化监控技术广泛应用于温室培养等场所,为了提高无土栽培温室内蔬菜成活率提供了重要的监测手段。为保证远洋船舶内无土栽培温室内蔬菜的成活率,必须保证温室内的温度、湿度和光照等环境参数保持在一定的范围内。目前,远洋船舶内温室内的环境参数监测中,可以采用人工定期检测的方法,这种方法存在监测不及时、维护保养差、记录不方便等因素,效率较低,不能实现实时监测等缺点。
本文根据远洋船舶无土栽培温室内环境的特点和需求,提出了一种远洋船舶温室环境参数监测系统的设计方法。通过STM32F4采集室内温度、湿度、光照强度环境参数信息,采用基于Linux嵌入式操作系统的S3C6410作为船舶温室室内环境监测的软件和硬件平台,嵌入式GUI采用Qt实现环境数据的本地实时显示和本地存储,并将环境参数通过Socket上传到Linux服务器,以WEB方式实时显示环境参数,实现对远洋船舶无土栽培温室内环境的远程实时监控。
1系统硬件设计
该室内环境监测系统主要是以S3C6410为控制核心,基于ARM11的S3C6410微处理器具有低功耗、高性能、外设接口丰富等优点,并辅以512MB NAND Flash,256MB SDRAM等器件作为ARM的外围电路构成嵌入式ARM平台。S3C6410通过IIC实现对环境参数采集主控单元STM32F4的控制,环境参数采集单元STM32F4采用温湿度传感器STH11和光强度传感器BH1750对温室内环境进行检测,实现对室内环境参数的实时测量,通过IIC通信协议上传到基于Linux的S3C6410嵌入式系统,最后由S3C6410对环境参数进行处理、本地存储和显示,并通过Socket技术上传至Linux服务器,完成对远洋船舶无土栽培温室内环境参数的在线实时监测。硬件电路主要由触摸屏显示模块和环境参数采集模块等组成,总体结构如图1所示。
1.1 STM32F4与环境参数采集模块的接口电路
环境参数采集模块包括温湿度传感器采集模块和光照强度传感器采集模块两部分,其中,湿度传感器选用瑞士Sensirion公司生产的SHT11,其内部由一片检测相对湿度和温度的混合传感器模块及一个经校准的数字输出组成,两线串行数字接口和内部电压自动调节,无需外部模拟电子电路,可以方便、快速的进行系统集成。光照强度传感器选用BH1750,它是一款数字型光照强度传感器集成电路芯片,采用两线式串行接口数据通信,具有较高的分辨率、支持标准I2C总线接口、接近人类视觉灵敏度的灵敏度特性、数字式输出、光源依赖性弱和较大的测量范围等特点,可以测量1lx~65535lx范围内的光照强度。
两款传感器SHT11和BH1750与STM32F4的连接电路图如图2所示,SHT11的串行时钟输入线SCK用于STM32F4微控制器与SHT11之间的通信同步,与STM32F4的PB10口相连,串行数据线DATA用于内部数据的输出与外部数据的输入,与STM32F4的PB11口相连。BHT1750与STM32F4的I2C1外设模块相连,将其SCL和SDA分别映射到PB6和PB7管脚。
图2:SHT11和BH1750与STM32F407的接口电路
1.2 S3C6410与STM32F407的IIC接口电路
为了便于以后增加新的环境参数采集传感器,STM32F4只负责环境参数的采集,而后续环境参数的处理、存储、显示和网络传输工作全部交给高性能微处理器S3C6410,采用IIC通信协议实现将STM32F4采集到的环境参数传输到S3C6410微处理器,两块微处理器的连接电路如图3所示,STM32F4的I2C3外设模块与S3C6410的I2CSCL和I2CSDA相连,将其SCL和SDA分别映射到PA8和PC9管脚。
2系统软件设计
系统软件的设计分三个部分:基于嵌入式STM32F4环境参数采集端软件设计、嵌入式S3C6410的控制终端软件设计和基于Linux服务器的WEB软件设计。
2.1基于STM32F4的软件设计
采用嵌入式操作系统RTEMS4.11实现STM32F4对环境参数传感器的控制,并实现与S3C6410之间的数据传输,便于后续的模块化开发与扩展。嵌入式操作系统RTEMS主要负责协调各个任务,并通过实施调度将控制权交给当前最高优先级任务。软件的结构框图如图4所示。主要任务包括传感器信息采集任务与S3C6410的通信任务等,其中,传感器信息采集任务主要负责温湿度和光照强度环境参数的采集;通信任务则负责将采集的环境参数通过IIC通信协议将采集的数据实时发送给S3C6410,供S3C6410完成对数据的显示、本地存储和网络传输。
2.2 基于嵌入式Linux的软件设计
本部分软件包括系统内核、设备驱动程序和应用程序,本设计采用的是内核可裁剪的、开源的嵌入式Linux系统内核,设备驱动程序对底层硬件进行抽象和控制,向上为顶层应用程序提供一致的函数接口,但由于硬件设计基本采用的都是标准模块,其驱动程序可以从现成的开发软件中裁剪或简单修改而成,只有与STM32F4的驱动需要重新开发。应用层软件是整个嵌入式S3C6410硬件平台上Linux终端监测软件设计的重点,包括环境参数的获取、本地报警、本地显示和与服务器之间的网络传输等。用于本地显示的嵌入式GUI应用程序采用Qt编写,并通过Socket技术实现嵌入式Linux平台与Linux服务器的通信,软件系统工作流程如图5所示。
2.3基于Linux服务器的WEB设计
服务器操作系统选用CentOS6.5,基于LAMP(Linux+Apache+MySql+PHP)技术搭建服务器,通过基于TCP协议的Socket通信技术实现与嵌入式Linux终端之间的数据传输,并将接收到的数据存储于服务器,以便后续查询,使用Ajax技术实现数据在WEB前端的实时显示。
3结语
根据远洋船舶无土栽培温室内环境的特点和需求,提出了一种远洋船舶温室环境参数监测系统的设计方法。系统采用模块化设计,便于后续扩展。采集模块采用STM32F4微处理器并移植嵌入式RTEMS操作系统实现对环境参数的采集,采用基于嵌入式Linux系统的S3C6410实现环境参数的本地存储和显示,采用CentOS6.5构建LAMP服务器,将环境参数存入服务器端数据库并以WEB方式实时发布环境参数,可实现对远洋船舶无土栽培温室的实时在线监控。
参考文献
[1] 范治政,刘永春.基于ARM9的大棚远程温湿度监控系统设计[J].湖北农业科学,2015,54(3):705-708.
[2] 倪康,徐晓光,崔晶.基于C#和Zigbee的大棚温湿度监测系统设计[J].洛阳师范学院学报,2015,34(2):41-44.