基于嵌入式Linux远程监控系统设计

时间:2022-09-19 04:21:02

基于嵌入式Linux远程监控系统设计

摘要:该系统采用ARM内核的S3C2410芯片作为处理器,以嵌入式Linux平台作为服务端,通过ZC301摄像头采集图像,将嵌入式Linux操作系统与图像处理技术及网络传输相结合,设计出一种基于嵌入式web服务器的C/S模式的远程监控系统。

关键词:S3C2410;Linux;远程监控;Web服务器

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)19-4515-03

基于嵌入式Linux远程监控系统,在一定程度上充分结合Internet网络的广泛性及其应用性,同时融合了嵌入式系统具有明显的容易移植的特性,且在实用性方面具有很广阔的应用开发前景,也是远程监控系统方面的发展方向。通过该系统,用户可以直接通过Internet浏览器对现场的设备进行远程监控,操作安全可靠。ARM 处理器具有更高的稳定性, 且资源占用少、系统集成度高、硬件干扰少, 能较好地应用于所需的控制,嵌入式Linux系统是使用源代码公开的、免费的操作系统,且为微控制系统的开发提供了良好的任务管理平台和底层驱动平台, 也为上层软件模块的管理提供了有力的保证。

1 远程监控系统总体设计

远程监控系统汇集了多项技术,在结构和功能上要设计合理,利用现有资源去实现各个功能和模块,根据整个系统的功能和要求,来选择一个合理的总体设计方案。远程监控系统的功能设计按照以下主要环节展开,对图像和温度数据的采集和相关处理,当客户端有申请响应时,根据响应,传送给客户相关的数据信息。本系统的总体功能方案如图1所示。

2 系统硬件组成

嵌入式设备在嵌入式系统硬件系统中也是不可或缺的一个部分,除了核心控制部件以外,还有其它不可或缺的部件用于完成数据测量、调试和对调试结果进行显示等,包括传感器、电子部件、机械部件等,都可以算作嵌入式设备。目前常用的嵌入式设备按照功能可分为存储设备、通信设备以及显示设备三类。本系统采用的三星公司的S3C2410,主频可达203MHz。它的硬件功能主要有:64M字节的SDRAM,是由两片K4S561632组成,主要工作在32位模式下;64M字节的NAND Flash,采用K9F1208,可以兼容16M,32M或者128M字节;10M以太网接口,采用CS8900Q3,带有传输和连接指示灯;2个USB HOST接口,符合USB1.1;还有SD卡接口等。其硬件框图如图2所示。

3 系统软件组成

3.1 交叉编译环境搭建

在一般的计算机系统之中,都有足够的系统资源,能够方便的对其进行编译和调试,但是在Linux系统之中,其内核资源相对来说并不完整,它并没有相关的交叉编译工具,由此,本系统的开发环境是Red Hat Linux版本操作系统,使用的内核版本是Linux2.6,交叉编译工具链3.3.2,其安装步骤如下:

1)在本系统使用的相关目录下建立名的arm的目录

[root@localhost zyx]#mkdir arm

2)使用复制命令,将cross-3.3.2.tar.bz2复制到arm目录下

[root@localhost zyx]#cp cross-3.3.2.tar.bz2 /arm

3)使用tar命令,对工具链进行解压

[root@localhost zyx]#tar zxvf arm/cross-3.3.2.tar.bz2

这样在arm目录下生成一个工具链文件夹

4)对环境变量进行编写和修改

在该路径下,使用编辑命令 vi /etc/profile ,在此文件中找到:pathmunge/usr/local/sbin一行,在它下面增加环境变量设置如下:pathmunge/usr/local/arm/3.3.2/bin,这样交叉编译工具链搭建成功。

3.2 配置移植嵌入式Linux内核

因为嵌入式系统的硬件环境各不相同,而嵌入式Linux操作系统并不为特定的处理器设计,所以需要针对不同的嵌入式系统硬件平台对Linux操作系统进行定制和裁剪,修改操作系统内核中与硬件相关的代码,使其在特定的CPU上运行起来。该文使用的内核源代码是三星公司为s3c2410微处理器的内核源码,版本是linux-2.6.8.1.tar.bz2。

1)解压linux-2.6.8.1.tar.bz2到目录/arm下

[root@localhost zyx]#tar zxvf linux-2.6.8.1.tar.bz2

将生成linux-2.6.8.1目录

2)修改交叉编译器

内核目录下Makefile文件记录着内核各个模块组织关系及变异关系。修改交叉编译器:

ARCH=arm

CROSS_COMPILE=arm-linux-

3)执行make menuconfig内核配置命令,进入Linux内核配置界面,即对内核进行选择配置剪裁。

3.3 Bootloader简介及移植

在嵌入式系统的操作系统中,内核在运行之前,也同样要运行一段启动程序,就是BootLoader,运行此程序可以对整个硬件设备进行初始化,为内核系统的调用提供一个最佳的系统工作环境,使系统工作在最佳状态。目标板上电之后或者复位之后,首先执行引导程序(Bootloader),来初始化内存等硬件,之后把压缩的映像加载到内存之中,最后在跳转到内存映像入口来执行。Bootloader的功能决定了在引导Linux系统时,必须要使用Bootloader,除非修改了linux内核。

常见的公开源代码的bootloade:有U-BOOT, GRUB, VIVI, LILO等,其中vivi是韩国mizi公司为ARMS处理器专门设计bootloader。因此,我们将vivi移植到S3C2410就相对比较简单。主要是根据具体的板级硬件通过修改vivi/arch/s3c2410/smdk.c文件设置NAND Flash分区。然后再运行make clean,make menuconfig, make命令,将会得到vivi的二进制文件。连接pc机的并口和目标板上的JTAG口,用SJF2410工具将vivi的二进制文件烧写到NAND FLASH中。

4 结论

基于嵌入式Linux远程监控系统,在一定程度上充分结合了Internet网络的广泛性及其应用性,同时融合了嵌入式系统具有明显的容易移植的特性,且在实用性方面具有很广阔的应用开发前景,也是远程监控系统方面的发展方向。本系统采用嵌入式Linux操作系统,结合相关的软硬件技术,实现远程系统监控,且监控系统在功能上基本完善,达到整个系统设计的基本要求。

参考文献:

[1] 徐士强.基于ARM9的嵌入式Linux系统的研究与应用[D].南京:南京邮电大学,2012.

[2] 邹颖婷,李绍荣.ARM9上的嵌入式Linux系统移植[J].自动化技术与应用,2009(06):43-45.

[3] 冷玉林,钟将.基于ARM的嵌入式Linux系统构建[J].计算机系统应用,2010(11):23-26.

[4] 吴才章.基于ARM的图像采集与显示系统设计[J].自动化技术与应用,2010(3):118-122.

[5] 李晓光,吉荣廷,张立峰.基于嵌入式Linux和ARM9的视频采集系统[J].电子测量技术,2009(2): 102-104.

[6] 高强,郑晓庆,陈敏.嵌入式Linux的家用无线远程监控系统[J].自动化与仪表,2010(5):47-51.

[7] 邓威威,何衍.无操作系统的Web远程监控系统设计[J].机电工程,2012(4):490-492.

[8] 李宇丽.基于ARM的嵌入式Linux系统的研究及应用[D].西安:西安电子科技大学,2007.

[9] 尤毅,杜晓静,胡乐,马嵩.基于嵌入式Linux的远程监控系统的设计[C]//2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(上册).2007.

[10] 周润,谢永乐.基于ARM-Linux和S3C2440的嵌入式Linux内核设计[J].中国仪器仪表,2010(3): 56-59.

上一篇:自动化专业计算机类课程教学探讨 下一篇:PACS与HIS联网运行浅析与实现