IOT-控制工程在线
国际领先的权威的工业自动化专业媒体

Hot Tag:

当前位置: 物联网在线 > 工业控制 > 技术 > 基于B/S 架构的嵌入式机房远程监测系统

基于B/S 架构的嵌入式机房远程监测系统

本文设计了一种了基于WEB 的嵌入式机房远程监测系统,在实验室条件下进行测试、调试和完善。测试结果表明,监测系统能够实时准确的采集机房视频和温度数据,并在远程浏览器动态流畅显示,实现了信息实时监测,满足了应用的需求。
关键词: B/S 嵌入式 远程监测 传感器
时间:2012-06-13 16:24 来源:物联网在线 作者:IOTer 点击:

分享到:
我要发布文章 收藏 推荐 打印

本文设计了一种了基于WEB 的嵌入式机房远程监测系统,在实验室条件下进行测试、调试和完善。测试结果表明,监测系统能够实时准确的采集机房视频和温度数据,并在远程浏览器动态流畅显示,实现了信息实时监测,满足了应用的需求。本文的后续工作是在现有的系统基础上增加摄像头的云台控制功能以及嵌入式数据库管理功能,提高系统的整体使用价值。

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 结构定义,其结构如下:

static struct 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 函数。 (责任编辑:zxh007)



本文链接基于B/S 架构的嵌入式机房远程监测系统
http://c.iot-online.com/tech/2012/061320630.html
 
 
声明:物联网在线转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站转载而转移。作者如不同意转载,即请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。



电子刊物.技术特刊

立即下载

《 物联网在线》推出的免费电子刊物《无线通讯术特刊》收集了当今最新MEMS技术,产品资讯,它们可使你能在更短的时间内了解业内最先进的无线通讯技术信息。

今天就让您的系统设计更上层楼!敬请马上立即下载该免费的《无线通讯特刊》。
   
无线通讯特刊     M2M技术特刊 下载  

MEMS技术特刊 下载



Sierra Wireless白皮书

LTE和M2M 融合之路  
促使 LTE 应用在 M2M 设备上的市场推动力 ; 打破阻碍 LTE 进入 M2M 市场的技术壁垒

立即下载.






 现在播报
图解实战两线制、三线制、四线制
面向对象的技术来设计一种嵌入式软件IDE
如何提高RF测量技巧并完整发挥RF设备的效能
实时数据库和关系数据库的设计特点
基于化学处理法工艺的水处理过程智能控制系统
罗克韦尔集成架构系统十大创新
模块化/KSK 线束自动化设计
基于CAN总线的DNC集成制造系统设计
基于B/S 架构的嵌入式机房远程监测系统
基于LONWORKS现场总线水轮机组状态监测系统
工业以太网EtherNet/IP性能分析
基于嵌入式Internet技术的通用型RTU-Webit-GRTU
全球暖化的趋势日益明显 高效能源管理呼之欲出
电梯PLC控制系统的组态模拟设计
基于传感网的嵌入式远程测控平台设计

 最新Tag
周鸿祎 数据采集 LinkIt One 压力传感器 mate8 BCM20737S 红外线传感器 SM351LT 小米5 VR LiteOS TinyOS MSP430 DA14580 CC2650 STM32 CC2564 MSP432 PLC STM32L0538 STM32F103 智能家居 人工智能 机器人 iphone7 能量采集 MCU 能源计量 ZIGBEE 传感器 工业物联网 智能手表 TZ1000 无人机 ATmega2560 无线传感器 Android 智能电视 i.MX NFC 信号采集 MEMS WIFI IOT LTE 伺服电机 无刷直流电机 智能照明 智能插座 无线充电 CC430 智能电网 Nest Edison ADT7320 ADIS16229 英特尔 家庭医疗 数字隔离器 智能集成 工业4.0 iPhone 7 虚拟现实 可穿戴设备 CC2538 CC2540 CC2541 CC3000 杨旭 麒麟950 华为mate8 阅读器 蓝牙 Linux AllJoyn 树莓派 Windows10 Windows 10 Zephyr RTOS 智能硬件 Qualcomm CC3200 温湿度传感器 5G 可穿戴技术 工业以太网 Arduino CSR8670 VMware 大数据 ITS 蓝牙智能 PIC32MZ 运动传感器 SmartBond 车联网 ADAS V2X 语音控制

返回页首


TopeWay Business Media


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

网站导航|帮助| 关于我们|隐私政策|联系我们|安全承诺

Copyright © 2011 Iot-online.com. 本网站所有内容均受版权保护。
未经版权所有人明确的书面许可,不得以任何方式或媒体翻印或转载本网站的部分或全部内容。


粤ICP备10057207号