APP下载

基于linux平台的数字化仓库监控终端设计

2014-08-16范鹏王益祥

机械制造与自动化 2014年3期
关键词:内核仓库进程

范鹏,王益祥

(南京理工大学 机械工程学院,江苏 南京 210094)

0 引言

仓库是存放物品高度集中的场所,其安全、通风、湿度、温度、光照度的变化都可能对货件产生影响。传统的仓库中,对这类数据监测都是通过人工对各个点进行巡回视察,这种方式,劳动效率低下,人力资源严重浪费,同时还可能由于人为判断失误,造成巨大损失,很不安全。介绍了一种基于以太网的仓库监控系统的终端,借助于温湿度传感器、光照传感器,它能够采集现场实时的环境数据,并能传送信号给外接调节设备来控制数据处于相应的合格范围。为方便实时监控,在终端主控板linux系统上移植了boa服务器和mjpg-streamer,为远程web访问提供了视频支持。

1 监控终端总体方案设计

图1为数字化仓库监控系统的架构图,系统采用B/S架构,监控终端作为系统的核心,可以发出指令控制现场执行设备,同时通过以太网提供人机访问界面,以便远程管理者通过浏览器进行访问。

图1 系统架构简图

系统中,监控终端作为整个系统的核心,起着“心脏”的作用。监控终端采用的微处理器是三星公司的高性能微处理器s5pc100,采用的操作系统是Linux系统。

监控终端主要分为三部分:1) 为主控模块,其在整个终端中起到调度和管理的作用;2) 传感器,用作采集数据;3) 摄像头,用作获取现场视频流。

2 系统硬件设计

2.1 硬件整体概述

如图2所示,整个监控终端采用扩展板与核心板结构设计,核心板以三星的s5pc100处理器为核心,扩展256M内存和128M Nandflash。扩展板则包括多种传感器和相应的电路,摄像头通过USB接入监控终端。终端通过以太网和pc进行交互,同时通过串口控制调节设备。

图2 硬件框架图

2.2 处理器的选择及应用

主控芯片采用基于ARM A8核的s5pc100,其采用64位内部总线架构,含有强大的硬件加速器。芯片集成了200多个IO引出脚、24bitLCD接口、TVout接口、camera输入接口、串口、SD卡接口、SPI、100M网口、USB Host接口、音频输入输出接口、I2C接口等硬件资源。

S5PC100主频833MHz,最高可达1GHz,本系统终端模块核心板上外接256M的Nandflash和SDRAM,可适用于对性能和处理能力有更高要求的嵌入式系统应用场合。

2.3 传感器的选择与电路设计

2.3.1 温湿度传感器的电路设计

温湿度检测采用DHT11数字温湿度传感器,如图3所示,DHT11共有4个引脚,1号引脚为电源引脚,2号引脚是数据引脚,采用单总线的方式,串行发送数据。3号引脚为空脚,通常悬空,4号引脚接地。

图3 DHT11工作原理图

ARM发出开始信号,DHT11在主机开始信号后发送响应信号,2号脚送出40bit的数据,并触发一次信号采集。其中40bit的数据格式为8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和当ARM发送数据采集信号后,DHT11被触发由低功耗转为高速运行,接收到主机结束信号时,DHT11拉高数据线电平,送出数据,数据发送完毕后,释放总线。

2.3.2 光照传感器的电路设计

光照传感器采用的是BH1750,较好地解决了传统测光系统的弊端,它内置16位模数转换器,能够直接输出一个数字信号,不需要做复杂的计算。BH1750是具有优良光谱灵敏度特性,在3.3v的工作电压下可对亮度进行1勒克斯的高精度测定。如图4所示,ARM通过I2C与BH1750进行通信,接收BH1750输出的照明度的值。

图4 BH1750 工作原理图

2.3.3USB摄像头的电路设计

视频监控摄像头采用中微星的ZC301P,USB接口,采用的是中微星301+镁光芯片,130万像素。采用的是高品质CMOS传感器,超CCD的感光效果。电路中,USB hub 采用的是Fe1.1S,其具有高性能,低功耗和高性价比的特点,支持热插拔功能,其可最大支持4个USB Port,电路中,在USB CH0处插入USB摄像头,在USB驱动的支持下,摄像头即可实时使用。如图5所示。

图5 USB接口原理图

3 系统的软件设计

软件设计分为系统软件和应用软件两部分,如图6所示,通电后,首先执行运行uboot,启动系统内核,挂载文件系统,加载驱动,然后运行boa服务器,加载视频流。至此系统软件加载完成。最后运行应用层软件,监控各采集点数据信息。

图6 系统的软件流程图

3.1 系统内核移植

操作系统采用的是Linux,Linux内核是Linux系统的核心,它负责协调管理各项工作,给硬件提供支持,是应用层和硬件层之间的桥梁和纽带。Linux内核的选择,一定程度上决定了系统的性能。综合考虑,选用Linux 2.6.35的内核。

由图6可知,系统通电后,主控制器执行内部ROM中的代码,从Nandflash中搬移uboot至内存中,然后执行内存中的uboot代码。

uboot代码执行过程中,将内核zImage复制进内存中执行,接下挂载根文件系统。在系统初始化后创建系统的第一个进程init进程,此时内核启动结束,运行init时,分别做了以下几件事:

1) 将编写好的I2C模块驱动,DHT11模块驱动动态加载进内核中;

2) 配置boa服务器;

3) 加载mjpg视频流;

4) 运行负责仓库监控的主程序。

3.2 应用程序的设计

系统启动后,监控终端轮询传感器数据,并传送给boa服务器,同时分析数据值,判断是否需要启动相应调节设备,此类工作需要应用层软件完成。

在应用层,采用多进程控制,主程序运行后,通过fork系统调用创建4个子进程,四个子进程中,通过exec函数族,跳转执行humi进程(检测湿度),tem进程(检测温度),light进程(检测光照),boa进程(实现服务器功能,实现web浏览及监控)。

PC机通过远程登录可访问boa服务器,boa服务器的网页采用cgi脚本和共享内存的方法和各进程进行通信。

共享内存是最快的IPC形式。两个不同进程A,B共享内存的意思是,同一块物理内存被映射到进程A,B各自的进程地址空间。进程A可以即时看到B对共享内存中数据的更新,反之亦然。如图7所示。

图7 共享内存示意图

4 网页效果图

最终网页主要分为3个模块,如图8所示,左边区域为功能设置区,通过单选按钮的选择可选定是否打开空调系统、温度控制系统、灯光调节系统、视频监控系统。

中间区域为视频实时监控窗口。右边界面则为现场数据实时显示,其中分别包括三个采集点的相关环境数据。

图8 网页效果图

5 结论

现代社会丰富的物资种类和特性要求使得人们对物资仓库的要求越来越高,如何保证物资仓库的监控系统稳定运行具有重要意义。在监控系统中,监控终端起着指挥,协调的核心作用,可以说,监控终端的性能决定了整个系统最终能否稳定有效的运行。

本数字化监控终端尚处于实验室实验阶段,基本功能已经实现,由于水平有限,还有许多亟待解决的问题,尚需调试和改进,相信未来嵌入式物资仓库管理系统还会有更广阔的发展。

[1] 于毅,张璐,刘伟,等.一种嵌入式仓库智能监控报警终端设计 [J].遥测遥控 2012(12): 66-70.

[2] 谭伟平.物资仓库嵌入式远程监控系统研究[D].武汉:武汉理工大学,2010.

[3] 刘佳.基于PLC+ARM的仓库环境监控系统设计[J]无线互联科技 2012(4): 57-58.

[4] 吴忻生,袁鹏.数字化仓库远程监控系统的设计与实现[J]华南理工大学学报 2003(9):31-34.

猜你喜欢

内核仓库进程
仓库里的小偷
强化『高新』内核 打造农业『硅谷』
填满仓库的方法
四行仓库的悲壮往事
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
微生物内核 生态型农资
消防设备