当前位置:首页 > 单片机 > 单片机
[导读] 内容摘要:为满足机房实时监测环境参数和视频信息的需要,本文综合运用嵌入式技术、WEB 技术和信息检测技术,研究并设计一种基于B/S 架构的嵌入式机房远程监测系统。通过传感器采集并远程传输机房温度

内容摘要:为满足机房实时监测环境参数和视频信息的需要,本文综合运用嵌入式技术、WEB 技术和信息检测技术,研究并设计一种基于B/S 架构的嵌入式机房远程监测系统。通过传感器采集并远程传输机房温度和图像数据,在远程浏览器端动态实时显示,为及时掌握机房环境数据,实现机房科学管理提供良好的平台。


1 引言


信息化高度发展的今天,机房作为数据传输中心、处理中心和数据交换中心,在整个信息网络工程中占据着重要的位置,对机房环境以及视频信息的监测具有重要意义。

经过调查分析,机房环境远程监测系统的主要应用需求包括: ①温度是机房环境中最重要的参数,合理的温度保证了机房设备的正常运行; ②数据传输质量高、实时性好,以保证对机房环境的实时和有效监测;③支持远程访问,便于对多个机房环境的集中监测。针对上述需求,设计了一种基于B /S 架构的远程监测系统,以满足远程访问、低成本、实时性好的机房环境远程监测需求。

2 总体方案设计

2. 1 系统方案及总体结构

根据系统应用需求,设计的机房远程监测系统总体结构如图1 所示。系统由温度和图像传感器、嵌入式服务器和远程计算机构成。其中,温度和图像传感器负责采集现场的温度和图像数据,基于ARM 处理器的嵌入式服务器是整个系统的控制中心,它控制、调度各系统资源,通过有线网络将所获取数据传输至远程监控端浏览器动态显示。远程监控在实现方式上采用“B /S”模式,在客户端的浏览器上输入存储嵌入式服务器的网页地址即可对机房环境状况进行监控。


图1 远程监测系统总体结构图

2. 2 系统硬件平台

系统的硬件平台选择主要考虑低功耗、处理能力强、扩展性好、稳定性高和兼容性好等因素。嵌入式硬件平台的配置从根本上决定了整个系统运行性能的好坏。整个机房远程监测系统由下位机嵌入式服务器和上位机远程浏览器组成。其中下位机嵌入式服务器平台包括众多硬件模块: 嵌入式微处理器S3C2440、存储器、电源和时钟模块、外围电路及接口、3. 5 寸液晶显示屏、ZC0301 摄像头和DS18B20 温度传感器等。下面将对各个硬件设备和模块做具体阐述。

2. 2. 1 中心处理器

S3C2440 处理器是韩国电子公司三星推出的一款基于ARM920T 内核的16 / 32 位RISC 嵌入式处理器,ARM920T 核由ARM9TDM1、存储管理单元( MMU) 和高速缓存三部分组成,主频可达533MHz。本系统采用S3C2440 为核心,外围硬件资源包括64M SDRAM, 256M NAND FLASH,2 M NOR FLASH。

2. 2. 2 摄像头

摄像头采用基于301PLUS 快速高性能图像压缩主控芯片的中芯微ZC0301 摄像头。其能够输出高清晰MJPEG 视频流数据,具有图像信号处理( ISP) 、图像数据压缩及数据传输等功能,可达到6: 1 的压缩率,同时支持同步和异步数据传输,兼容性好。其工作电压为3. 3V,工作电流仅为200mA,耗电量小。

2. 2. 3 温度传感器

温度传感器采用美国Dallas 公司生产的单总线数字式温度传感器- DS18B20,它结构简单,不需要外接电路,可用一根I /O 数据线既供电又传输数数据,将温度信号直接转换为数字信号送给微处理器,电路简单,成本低,操作方便。DS18B20 与ARM 处理器接口电路如图2 所示。


图2 DS18B20 与ARM 处理器接口电路

2. 2. 4 远程监控端系统配置

远程网络上的监控端为通用的PC 机和IE 浏览器,B /S 模式架构为人机交互提供了友好的交互平台,用户通过Internet 进行远程监控。

2. 3 系统软件平台

系统采用源码开放、安全性及可靠性好、具有广泛硬件和网络支持及完整开发工具的Linux 系统作为嵌入式系统平台。

嵌入式系统的开发通常采用宿主机- 目标机的交叉编译调试方式。系统构建主要包括: 交叉编译器的选择和安装; NFS 网络文件系统的配置; 内核、Bootloader 和文件系统的编译和移植等。内核采用Linux -2. 6. 30. 4 版本; 系统引导加载程序采用U - boot - 1. 1. 6; 文件系统采用可靠性和可移植性好的YAFFS 文件系统。

3 驱动程序设计开发

在搭建好嵌入式Linux 系统平台基础上,进行机房远程监测系统数据采集相关开工作。主要包括温度数据采集和图像采集驱动程序的设计和采集程序的设计与实现。设备驱动程序是操作系统内核与机器硬件之间的接口,它为应用程序屏蔽了硬件的细节。

3. 1 DS18B20 驱动程序设计

DS18B20 通过温度对振荡器的频率影响来测量温度,而传感器对温度的采集则由ARM 控制DS18B20完成。由于DS18B20 采用单总线数据传输方式,所以ARM 芯片对DS18B20 的每步操作都要保证特定的读写时序,按照单总线的操作协议来进行。

首先初始化总线,跳过Rom( 总线上只有一个DS18B20) ,启动DS18B20 进行温度转换,复位,继续跳过Rom,发读温度指令,读取温度数据,最后进行温度的进一步处理及转换。温度采集驱动中用到的主要函数:

( 1) 初始化函数unsigned char DS18B20 Init ( void) ,此函数复位DS18B20 数据线,检测温度传感器DS18B20 的存在,主CPU 发送500 微秒的低电平信号后释放,检测到总线上脉冲的上升沿后,DS18B20 等待50 微秒,发出200 微秒低脉冲,CPU 收到此信号表示复位成功。

( 2) void DS18B20 WriteOneByte( unsigned char data) 或数据到温度芯片DS18B20,即发送一个字节。

( 3) unsigned char DS18B20 ReadOneByte( void) ,从温度芯片DS18B20 读配置或数据,即读一个字节。

( 4) unsigned int DS18B20 ReadTemperature( void) 读温度函数。如果电路中只有一个DS18B20,则不需要多个器件的ID 识别,直接进行温度转换,DS18B20 温度转换需要时问,所以此处需要延时一定时间。

其基本处理流程如图2 所示。

驱动程序与硬件设备的接口由file_operation 结构定义,其结构如下:

statICstruct file_operations s3c2440_18b20_fops = {

. owner = THIS_MODULE,

. open = s3c2440_18b20_open,

. read = s3c2440_18b20_read,

. write = s3c2440_18b20_write,

. release = s3c2440_18b20_release,

} ;

struct file_operations 这个结构的每一个成员都对应一个_系统调用,用户进程利用系统调用对设备文件进行操作,系统调用通过设备文件的主设备号找到相应的设备驱动程序,读取这个数据结构里面相应的函数指针,把控制权交给该函数。

3. 2 ZC0301 摄像头视频采集程序设计

Video4linux 是Linux 内核里支持影像设备的一组API,配合适当的采集卡与相关驱动程序,可以实现视频采集。驱动视频采集设备完成视频采集和处理,需要相应的驱动程序和视频流采集程序。视频采集程序的内容主要包括摄像头的初始化、打开、关闭、参数设置以及数据读取等。

Video4linux 视频采集的实现过程如下:

( 1) 初始化程序,包括打开视频设备文件,读取视频采集设备信息以及设备缓冲区信息等; 初始化摄像头参数主要通过init_videoIn 函数来完成。

( 2) 打开视频采集设备。初始化工作完成后,通过V4L_open 函数检查摄像头设备是否加载,如能够检测到摄像头设备,使用open 系统调用以只读的方式打开视频设备。

( 3) 获取视频设备信息和图像信息。通过调用设备I /O 通道管理函数ioctl 中的VIDIOCGCAP 参数获取视频采集设备的名称、类型、通道数、图像宽度和高度等信息参数,调用ioctl 函数中的VIDIOCGPICT 参数读取视频采集设备缓冲video_picture 信息。

( 4) 视频采集。在V4L 体系下,采用内存映射方式采集视频。内存映射方式视频读取的具体操作如下:

①首先使用ioctl 系统调用VIDOOCGMBUF 命令获取摄像头存储缓冲区的帧信息,之后初始化video_mbuf,修改video_mmbuf 设置。

②映射设备文件到内存。

③截取图像,有单帧截取和连续帧截取两种方式。进行单帧截取需先准备内存空间; 然后调用ioctl 函数的VIDIOCMCAPTURE 命令,以非阻塞形式开始一帧图像截取; 接着调用ioctl( fd,VIDIOCSYNC,&frame)函数判断该帧是否截取完毕; 最后就可将图像数据写入到Frame Buffer 中。若进行连续帧截取,则需通过循环语句中,使用VIDIOCMCAPTURE 和VIDIOCSYNC 函数判断是否完成截取,并给采集到的每帧图像赋地址。

( 5) 关闭摄像头。视频采集完成以后,最后的工作是关闭视频采集设备。以内存映射的方法获取视频数据,需要在视频采集任务完成之后关闭内存映射,然后调用close_v4l 函数关闭视频设备。关闭视频设备需要判断视频获取方式: 如是内存映射方式,则通过munmap 函数。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭