SMT车间温湿度分布式远程监控系统的设计
摘要:为实现温湿度集中实时显示和远程管理,设计了基于SQLITE数据库和嵌入式web服务器的分布式远程监控系统。该系统通过QT技术实现温湿度的集中实时显示,采用CG1程序实现嵌入式web服务器对SQLITE数据库的远程访问。系统的实验结果表明,该系统稳定、可靠,能够满足现场温湿度实时显示和远程管理的要求。
关键词:SOLITE数据库;QT界面;嵌入式Web服务器;CGI
随着SMT生产工艺技术的提高,生产车间对环境的温湿度提出了温度25±3℃。湿度45%RH~65%RH的要求。为了达到这样的温湿度要求,就不仅需要提高温湿度传感器的精度,而且要求现场的管理人员能够实时的查看现场的环境数据,同时要求远程的上级管理人员能够查询和管理各个监测点的温湿度数据。
为了解决现场温湿度实时显示的问题,张晨吴等人在基于485总线的数字化温湿度测控系统的设计一文中,提出为485温湿度变送器扩展LCD显示模块来实现温湿度实时显示的方案。这种独立实时显示方案需要为每个监测节点配置LCD模块,存在成本投入高、不方便实时查看的缺点。文中针对这一缺点,提出了利用QT技术实现现场温湿度集中实时显示的方案,这个方案只需一个LCD模块即可实现各监测点温湿度实时查看,不仅成本低,而且方便管理。为了解决温湿度的远程管理问题,肖鸿威在基于modbus协议的空间分布式温湿度测控系统设计一文中,提出了采用工控机和SQLserver的方案来实现温湿度的远程采集和管理,这种方案需要配置高性能的工业PC,成本昂贵。针对这一不足,本文提出了采用嵌入式ARM平台和SQLITE数据库方案,这种方案不仅成本低,而且设备小巧,安装维护灵活方便。
根据SMT车间温湿度数据采集、监控的要求,本文设计了基于SQLITE数据库的分布式温湿度远程监控系统。本系统充分利用了QT技术和SQ LITE数据库的优点,搭建基于ARM微处理器和Linux操作系统的嵌入式Web服务器,从而实现现场数据的集中实时显示和远程管理。
1 系统的硬件平台和软件平台
本系统以嵌入式Linux系统为核心,包括硬件平台和软件平台。首先在以S3C2440微处理器为核心的硬件平台上搭建嵌入式Linux环境,然后在Linux环境下移植Qtopia、SQLITE数据库和Boa服务器,最后通过Qtopia开发环境完成QT实时显示界面的设计,利用CG1技术实现Web服务器对SQLITE数据库的远程数据查询。并且通过485总线搭建温湿度的底层采集网络。系统的平台示意图如图1所示。
1.1 系统的硬件平台
传统的以单片机为核心的分散式仪表监控模式,显然已经不能满足当前监控系统对远程访问和集中管理的要求。采用主机-终端的监控模式,虽然能够对现场的温湿度进行实时管理,但是这种监控模式布线相对复杂,传输的距离受到限制,很难对不同地点的温湿度进行监控。
为了对不同地点的温湿度进行实时的远程管理,需要搭建一个基于以太网的分布式监控系统。基于以太网的监控系统可以采用PC、PLC或者ARM为核心,采用PLC为核心的以太网监控系统通常需要配备以太网模块,采用PC为核心的监控系统通常需要配置高性能的工业PC,这样与以ARM为核心的监控系统相比,价格要昂贵的多。因此,本文采用以ARM为核心的以太网温湿度远程监控系统。
1.2 系统的软件平台
本系统的软件平台主要包括宿主机和目标机。宿主机是VMware8.0虚拟机下Fedora9.0的Linux操作系统+PC机,目标机为ARM9电路板。其中在宿主机上需要完成Bootloader的编译,裁剪内核,制作内核映像文件和根文件系统映像文件,然后将其下载到ARM板的Flash,从而完成嵌入式Linux操作系统的搭建。
本系统的软件设计是建立在已搭建好的嵌入式Linux操作系统的基础上。要设计QT实时显示界面需要在宿主机上搭建起QT开发环境,需要在ARM板上通过移植Qtopia2.2.0搭建起QT运行环境,最后将在宿主机编译的执行文件下载到ARM板上。要实现采集数据的远程web查询,需要在ARM板上移植SQLITE数据库和Boa服务器,然后通过CGI程序实现对SQLITE数据库的访问。
2 QT实时显示界面的设计
Qtopia是一个基于Ote的类似桌面系统的应用环境,它能够为基于嵌入式Linux的消费电子产品提供和创建图形用户界面,使用Qtopia开发的应用程序界面清晰美观、操作方便,多用于PDA产品的界面开发中。
2.1 QT开发环境和运行环境的建立
QT开发是在宿主机上完成,而QT程序的运行是在ARM板上完成的,因为宿主机是X86体系,而ARM板一般是ARM体系,所以必须在宿主机上既要搭建适合X86的开发环境,又要搭建适合ARM体系的开发环境。本系统通过编译X86版本的Qtopia-2.2.0和ARM版本的Qtopia-2.2.0恰当的实现了QT开发环境的搭建。
QT程序的运行环境是在ARM板上,因此需要将Qtopia移植到ARM板上,即将Qtopia添加到文件系统中,为了让Qtopia能够在ARM板上运行起来,需要制作一个Qtopia运行脚本,然后将其权限设置为可执行文件,同时修改文件系统的“etc/init.d/rc.S”文件,在其中添加“qtopia &”的语句。
2.2 QT界面程序的设计
在QT的程序设计中会用到信号和槽,信号和槽是QT用于对象间通讯的一种机制,它是QT的中心特征,也是QT与其他工具包最不同的部分。而且信号和槽的机制是安全的:一个信号的签名必须与它的接收槽的签名相匹配。因此,信号和槽的机制可以保证一旦一个信号和一个槽连接起来,槽会在正确的时间使用信号的参数而被调用。
在本系统的QT程序中,使用主函数调用初始化函数,进行硬件的初始化,并打开传感器设备;然后调用读取函数,读一次底层数据后发送一个信号,在QT程序中该信号连接一个槽,每发送一个信号,就会执行一次数据的显示。程序流程如图2所示。
SOLITE数据库 QT界面 嵌入式Web服务器 CGI 相关文章:
- 嵌入式Web服务器移植与测试(03-03)
- 基于嵌入式Linux视频的网络监控系统设计(07-27)
- 一种实用的嵌入式Web服务器设计(01-15)
- 一种嵌入式Web服务器的设计方案(01-08)
- 基于uIP与AJAX的动态Web服务器设计(11-07)