APP下载

基于嵌入式Linux 的家用智能监控报警系统

2015-07-13刘洋

电脑知识与技术 2015年13期

刘洋

摘要:该文设计是基于Linux环境的家用智能监控报警系统,主要研究在嵌入式Linux环境下,通过使用Tiny6410开发板,在完成Bootloader和内核移植后,通过nfs对Linux环境下的根文件系统进行挂载,实现监控报警的功能。

关键词:Linux、NFS,Tiny6410

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)13-0175-02

1 Linux系统的介绍

众所周知,操作系统是各种应用软件运行的平台。在我们的生活中,常用的操作系统有Windows和IOS等,在许多大型服务器中,我们大量使用的操作系统为UNIX操作系统。毫无例外,虽然上述系统功能强大,使用极为方便,但是这些操作系统对用户收取相应的费用,以UNIX操作系统为例,其价格昂贵,远非个体开发者能承担。

相较于上述操作系统,Linux免费开源,可以通过网络自由下载,升级内核,且开源的Linux的系统小巧灵活,且具有强大的网络管理功能,软硬件开发工具较多。对于初学者或者小公司而言,更加具有吸引力的是,不用花费太大的价钱来购买专用的配套开发工具,可以大量节约成本。本文在根文件配置使用的Linux操作系统为RedHat 5 Enterprise。

2 智能监控系统的组成

本文在设计的过程中基于稳定、可靠和实用、性价比高的原则。使用当今流行的计算机网络技术、视频压缩技术来对智能监控系统进行设计。本系统采用由嵌入式Linux操作系统和三星公司生产的ARM处理器S3C6410X为核心的Tiny6410开发板搭建的平台。围绕着这个平台,构建Web服务器和视频服务器。利用TCP/IP技术实现了网络通讯,并且把通过摄像头收集到的图片和视频信息进行压缩,然后通过局域网或者互联网传输到客户端,客户端可以通过采用Java Applet技术来完成图片和视频的接收,在相应的平台上显示出来。图1为系统结构图。

3 硬件采用

在本设计中核心CPU采用三星公司生产的S3C6410X,该处理器属于ARM11系列,是ARM公司授权生产的新一代RISC处理器。ARM11系列处理器的具体信息如表1:

在本设计中,使用的开发板是友善之臂公司生产的Tiny/Mini6410开发板,它的核心处理器为ARM11系列处理的S3C6410,它由ARM公司授权三星公司进行生产。该嵌入式CPU的设计基于ARM1176JZF-S核,芯片内集成了功能十分强悍的多媒体处理单元,对Mpeg4,H.264/H.263等视频格式的硬件编码和解码十分支持,同时可以把视频信号输出到LED和TV上进行显示,它还拥有一个3D图型硬件加速器,用来完成OpenGL ES1.1&2.0的加速渲染,处于对传统的图形处理的考虑,它还支持2D图形的平滑缩放,翻转这些操作。

4 Bootloader,内核制作和NFS挂载

1)Bootloader制作:

在本文中,由于使用的Bootloader是Uboot,因此重点介绍的是UBoot的制作流程。

第一步:解压tar –zvxf u-boot-mini6410-20111018.tar,并进入u-boot-mini6410-20111018文件夹:cd u-boot-mini6410-20111018

第二步:编译make mini6410_nand_config-ram128

第三步:生成uboot.bin文件make ARCH=arm-linux-

2)内核制作:

uImage/zImage 制作:

① 清理:

tar zxvf linux-2.6.28.6-*

cd linux-2.6.28.6

首次解压文件得到的文件夹,无需清理;

非首次需要执行 make distclean

②配置:

非首次解压编译的需:

cp config_mini6410_h43 .config H43 Lcd

或者 cp config_mini6410_n43 .config N43 Lcd

然后执行:

make menuconfig ARCH=arm

/待定

③编译:

生成uImage: make uImage ARCH=arm CROSS_COMPILE=arm-linux-

生成zImage: make uImage ARCH=arm CROSS_COMPILE=arm-linux-

生成的文件在linux-2.6.28/arch/arm/boot/ ;

3)NFS挂载

如果NFS已经被安装,则在终端输入如下命令,用来执行所需要的操作:

service nfs start 启动NFS服务

service nfs restart 重启NFS服务

service nfs stop 停止NFS服务

service nfs reload 当修改过/etc/exports文件后不用重启服务可执行该命令

NFS配置:

1)打开终端,cd mnt

2)编辑/etc/exports文件,添加共享目录,命令为:gedit /etc/exports & 如图2所示:

其中,rw为读写权限,也可以设置为ro(只读权限),no_root_squash登入NFS主机root_squash 登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root) 的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份,all_squash 不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody anonuid 可以自行设定这个UID的值,这个UID必需要存在于你的/etc/passwd当中anongid 同anonuid,但是变成groupID就是了 sync 资料同步写入到内存与硬盘当中 async 资料会先暂存于内存当中,而非直接写入硬盘 insecure 允许从这台机器过来的非授权访问。(注:图片中/test仅为范例,开发者可以挂载自己所需要的文件夹)

3) cd /mnt 建立文件夹mynfs: mkdir mynfs.

4)挂载 mount –t nfs 122.204.87.230:/test mynfs 可以通过mynfs文件夹访问/test中的内容。(注:该命令运行的时间相对较长)

5 实验结果

6 实验小结

通过本实验,使我加深了对Linux操作系统和嵌入式Linux的理解,并熟练掌握了Uboot,内核移植和NFS挂载等相关的知识,大大加强了自身的实践能力。

参考文献:

[1] 英海燕. 基于ARM的嵌入式Linux操作系统移植[J]. 现代情报,2005(5):155-156.

[2] 邓滔, 徐勇. GPS与嵌入式Linux平台串行通信研究[J]. 工业控制计算机,2005(1):19-20.

[3] 张积红, 吴强. 嵌入式Linux研究及其在ARM上的移植[J]. 电脑知识与技术,2005(8):45-48.

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

[5] 林粤江. 嵌入式Linux与嵌入式Linux开发[J]. 科教文汇,2007(6):187+198.