文章编号:1001-9944(2010)05-0047-05
嵌入式Linux的家用无线远程监控系统
高
强,郑晓庆,陈
敏
300191)
(天津理工大学天津市复杂系统控制理论及应用重点实验室,天津
摘要:分析了国内、外监控系统研究现状,并在嵌入式Linux、嵌入式处理器ARM、GPRS等相关领域研究的基础上,提出一套基于嵌入式Linux的家用无线远程监控系统。它利用GPRS网络覆盖范围广、传输特性好与嵌入式系统低功耗方便实用相结合的系统解决方案。系统通过将现场情况以手机短信或彩信的方式发送给用户,以实现用户对家庭的远程监控、状态查询等功能。该系统可根据具体情况很方便地实现功能的扩展。关键词:嵌入式;监控系统;Linux中图分类号:TN92
文献标志码:B
HomeWirelessRemoteMonitorSystemBasedonEmbeddedLinux
GAOQiang,ZHENGXiao-qing,CHENMin
(TianjinComplexSystemControlTheoryandApplicationsKeyLaboratory,TianjinUniversityofTechnology,Tianjin
300191,China)
Abstract:Afteranalyzingthedomesticandoverseasdevelopmentandpresentsituationofremotemonitorsystem,anewprojectofthehomewirelessremotemonitorsystembasedonembeddedLinuxwasputforward,combinedwiththeem-beddedLinux,ARM,GPRS,etc.SystemsolutionscombinetheadvantagesoftheGPRSnetwork’swiderangeoftransmis-sionandthelow-powerembeddedsystemsbeingconvenientandpractical.ThesystemcansendlivesituationstotheusersbySMSorMMS,thustheuserscanrealizeremotecontrol,actualsituationinquiryofthehouse.Thefunctionsofthesystemcaneasilybeexpandedaccordingtotheactualcases.Keywords:embedded;monitorsystem;Linux
随着嵌入式计算机技术、嵌入式技术、通信技术、数字图像技术的发展和人民生活水平的提高,人们对居住环境的要求也向着安全舒适、便捷智能化和自动化的方向发展。家用监控系统在现代社会发展中,逐渐受到人们的欢迎。而现有的家用监控系统大多是基于PC机的,若将工业中的视频监控系统移植过来,其智能化程度以及功能上都不能很好地适合于家居的特点。这种监控系统在实际使用过程中暴露出许多不足,比如价格比较高、体积庞大、功耗高、系统工作不稳定、布线复杂、影响室内
收稿日期:2009-11-06;修订日期:2010-02-24
美观等。
近年来,随着嵌入式技术的发展,基于嵌入式技术的远程视频监控,无论从可靠性还是性价比都超过以往的视频监控系统。本文研究了一种新的智能家用远程监控系统。该系统采用嵌入式技术来降低功耗和成本,结合GPRS移动通信网络覆盖范围广的特点,将手机短信彩信无线传输数据的优点与
ARM处理器相结合并利用嵌入式Linux技术,实现
了手机对家庭的远程监控、状态查询等功能,该系统可以根据具体情况很方便地实现功能的扩展。为用
作者简介:高强(1968-),男,硕士,副教授,研究方向为过程控制系统技术研究;郑晓庆(1981-),男,在读硕士研究生,研究
方向为监控技术;陈敏(1986-),女,在读硕士研究生,研究方向为图像技术。
自动化与仪表
2010(5
)
47
户提供方便灵活、覆盖范围广泛、位置准确的远程监控信息[1]。
SDRAM
FLASH
1系统功能概述及工作流程
通过各类传感器(如红外线传感器、烟雾传感
红外、烟雾等传感器产生预警信号摄像头
S3C2410处理器
串口
GPRS模块
RS232
USB口
器等)监测室内情况,当出现有人强行入侵、火灾等险情时,位于家居内部的控制器自动通过GPRS网络向用户指定的手机发送短信或彩信等报警信息,用户还可以通过发送预先设置的短消息(SMS)指令控制摄像头拍照。图像的查看方式可以通过GPRS发送彩信(MMS)到用户的手机上。系统工作流程如图1所示。
开机
Linux系统
电源和复位电路
GPRS网络
JTAG
用户
图2系统结构框图
Fig.2Blockdiagramofthesystem
信的收发及彩信的发送三方面详细介绍了系统的软件方案设计,具体介绍如下。
Bootloader运行加载内核加载应用程序启动监控设备等待触发条件
3.1嵌入式操作系统的选择及移植
本设计采用Linux系统作为操作系统,因为
Linux系统是遵循GPL(generalpubliclicense)协议
的开放源码的操作系统,使用时无需缴纳许可费用,内核可以任意裁剪;在网上可以找到Linux丰富的硬件驱动程序;它也支持大部分网络协议;有大量的
N
Y
满足条件
产生预警信号1产生预警信号2
应用程序可用。从编译工具、调试工具到GUI(graphicaluserinterface)程序,几乎都有遵循GPL协议的相关版本。正是由于Linux开放源代码、易于移植、资源丰富、免费等优点,所以本设计采用Lin-图像压缩
编辑彩信发送
手机
信号处理
进程1
编辑短信发送摄像头拍摄
进程2
ux作为操作系统[2],并选用Linux2.4内核在嵌入式
微处理器S3C2410上移植,具体移植过程如下:
查看现场情况
①利用Linux命令安装交叉编译器arm-linux-gcc。
②建立引导加载程序BootLoader,本设计采用韩国Mizi公司开发的适合ARM9处理器且支持S3C2410平台的vivi[3]。
③内核的裁剪与编译。裁剪主要是去掉无用的
模块、增加所需的模块,使之更符合目标系统,再对其进行编译生成内核映像文件,然后将映像文件下载到开发板上运行。具体步骤如下:
图1系统工作流程图
Fig.1Flowchartofthesystem
2系统硬件结构设计
本系统选用三星电子的基于ARM920T内核的
32位嵌入式微处理器S3C2410作为系统的控制核
心;GPRS通信模块采用IWOW公司推出的TR800,该模块内嵌有TCP/IP、WAP、MMS及Push-To-Talk等协议;因为Linux系统本身自带了芯片为OV511摄像头的驱动程序,所以本系统采用北京东英创新科技发展有限公司生产的网眼摄像头。系统结构框图如图2所示。
a)编辑Makefile文件
进入解压的目录后,运行命令:viMakefile找到
3系统软件方案设计
本节主要从嵌入式操作系统的选择和移植,短
CROSS_COMPILE=opt/host/armv41/bin/armv41-un-know-linux-这行,将它改为
CROSS_COMPILE=arm-linuxb)配置内核
输入命令:makemenuconfig进入配置栏的“Load
Automation&Instrumentation2010(5
)
48
anAlternateConfigurationFile”,配置Linux内核,本设计只需对USB设备驱动程序和RS-232串口驱
动程序进行配置即可。
n=write(fd,buf,len);//将buf中len个字节的数
据从串口输出,返回输出的字节数。
n=read(fd,buf,len);//从串口读入len个字节的
数据并放入buf,返回读取的字节数。
c)执行命令makedep,创建内核的依赖关系。d)接着输入命令makezImage,创建内核镜像
文件,编译结束后,可在arch/arm/boot目录下得到
e)关闭串口
关闭串口的操作即将打开的串口设备文件句柄关闭
Linux内核压缩映像zImage。
④建立根文件系统,本设计采用BusyBox创建
根文件系统。
close(fd);
发送短信步骤如下:
⑤烧写内核、文件系统和应用程序[4]。3.2
短消息的收发
本嵌入式远程监控系统是通过RS-232串口与
a)打开串口。b)初始化串口参数。
c)发送AT+CMGF命令,通知手机模块采用PDU模式。
d)构造PDU字符串,并利用AT+CMGS命令发送。e)发送结束,关闭串口。
接收短信步骤如下:
GPRS模块连接,采用AT命令集控制GPRS模块进
行短消息的收发。SMS短信的收发有两种模式分别为文本模式和PDU模式,它们都是通过AT指令集来实现的,AT指令是由Hayes公司发明的,被所有调制解调器制造商所使用的一个调制解调器命令语言,其每条命令以字母“AT”开头,后面接字母或数字。在这两种模式中,文本模式只能发送普通的
a)打开串口。
b)初始化串口参数。
c)发送AT+CMGF命令,通知手机模块采用PDU模式。
d)利用AT+CMGR命令读取短信,并处理读取
的短信。
ASCII字符,该模式收发短信较简单,但是最大的缺
点是不能收发中文短信;若要支持中文短信,则需使用PDU模式。PDU模式将所有的信息按照一定格式,编码为十六进制数的PDU序列串,由于AT指令使用文本编码,发送时,这个十六进制的PDU序列将被转换成对应的字符串用AT指令发送。RS-
e)读取结束,关闭串口。
SMS短信发送程序总流程如图3所示。3.3
彩信的发送
232串口编程过程如下:
a)打开串口
打开串口设备文件的操作采用标准的I/O操作函数open()。
Linux系统中的视频子系统Video4Linux为视
频应用程序提供了一套统一的API函数,视频应用程序通过调用即可完成对各种不同视频捕捉设备的操作,其中包括USB摄像头。对于摄像头的视频采集,需要使用V4L提供的设备接口/dev/video,建立该设备的节点文件如下:
fd=open(“/dev/ttyS0”,O_RDWR|O_NDELAY|O_NOCTTY);
b)设置串口属性
设置串口属性包括设置波特率、设置控制模式标志、设置本地模式标志、设置输入/输出模式标志、设置控制字符等。
#mknod/dev/videoc810
基于V4L的视频采集就是对/dev/video设备的操作,使用标准的I/O操作函数open()和close()即可实现对视频设备的打开与关闭。与视频采集相关的主要是ioctl()控制指令以及与它相关的数据结构。
采用内存映射方式从摄像头采集一帧图像数据的步骤如下:
c)清空发送/接受缓冲区
为保证读/写操作不被串口缓冲区中原有的数据干扰,可以在读/写数据前用tcflush()函数清空串口发送/接受缓冲区。
d)从串口读写数据
串口的数据读/写时使用read()/write()函数
实现。
自动化与仪表
①打开设备
fvideo=open(“/dev/video,O_RDWR”);②获得设备参数
ioctl(fvideo,VIDIOCGCAP,&vcap);
2010(5
)
49
开始
设置串口通信参数
连接测试设置服务中心号设置短信收发模式
close(fvideo);
得到图像等相关信息后,进行MMS的封装,
MMS的封装采用MIME(multipartinternetmailex-tensions)规范,首先是MMSHeader部分的数据封装;其次是SMIL部分封装,这部分指明MMS应显
示的相关信息;再次是对每个输入的多媒体信息进行编码,在这里通过类型码来区分不同的信息类型;
Y
有触发信号?
当各个部分编码完成之后,将几部分组合起来就组成了最终的彩信编码包。
通过适当地设置GPRS模块即可把彩信发送出去。彩信发送程序总流程如图4所示。结果图片展示如图5所示。
开始初始化设备设置信息收发模式
NN
N
收到查询指令?
Y号码匹配?
Y收到消息提取短信内容
N
符合规定查询内容?
Y
根据查询内容操作调用预设短消息给定制号码发短消息
发送失败次数+1
等待信号或查询指令
Y
有触发信号?
N
收到查询指令?
NN
N
Y
发送成功?
N
Y
失败次数>6
存储操作信息删除短消息
号码匹配?
Y收到消息提取短信内容符合规定查询内容?
Y错误记录
N
结束?
N
Y结束
Y
执行相应操作打开摄像头进行图像采集
图像处理发送MMS给用户发送成功?
图3SMS短信发送程序总流程图
Fig.3WholeflowchartofsendingandreceivingSMS
shortmessages
③获取图像采集参数
ioctl(fvideo,VIDIOCGPICT,&vp);④开始采集
ioctl(fvideo,VIDIOCMCAPTURE,&mm);⑤等待采集结束
ioctl(fvideo,VIDIOCSYNC,&mm.frame);⑥将采集到的图像写入jpeg文件write_jpeg(mmbuf++mb.offsets[0],mm);⑦取消内存映射
munmap(mmbuf,mb.size);⑧关闭图像采集设备
N
N
发送失败次数+1失败次数>6
Y
存储操作信息删除MMS结束?
N
Y错误记录
Y结束
图4彩信发送程序总流程图
Fig.4WholeflowchartofsendingandreceivingMMS
messages
Automation&Instrumentation2010(5
)
50
4结语
本系统能够较好地满足家用的特点,并且具
有良好的扩展性能,可以通过相应的扩展使其适
应多种监控场所。其高度的开放性、通用性、统一
性使其相对于传统监控模式具有巨大的优势,应
用前景广阔。
参考文献:
[1]廖胜.基于ARM嵌入式的远程监控系统设计[J].科技信息:学术
研究,2007(35):114-116.
[2]王洪辉.嵌入式系统Linux内核[M].北京:电子工业出版社,图5结果图片展示图Fig.5Layoutoftheresult经过测试验证,本系统实现了短信的发送、唤
醒功能和彩信的发送功能。可以随时随地查看监控
现场情况,支持把监控现场实际情况以彩信的形式
发送到监控人员手机上。达到了设计要求。2008:147-172.[3]韦东山.嵌入式Linux应用开发[M].北京:人民邮电出版社,2008:240-292.[4]腾英岩.嵌入式系统开发基础[M].北京:电子工业出版社,2008.
■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■世博展示机器人应用前景
机器人技术发展到今天,已经离应用越来越近了。走进上海世博会园区,你会发现,一些上市公司在这个领域里“潜伏”很久了。
在世博园区的出入口,就可以看到机器人“海宝”。由浙江大学研制的“海宝”,能用中日韩英法德等六种语言做自我介绍,会用中、英文进行3000多句日常对话,还会哭、笑、发呆,还可以通过手臂、头部、腰部、底盘的动作表达自己的想法和情绪,并帮你照相。显然,机器人“海宝”在这里担当着一部分“导游”的角色,而园区内37台机器人“海宝”,显示了这类机器人的应用市场前景。
“海宝”机器人使用了科大讯飞提供的智能语音技术。也正是这项技术,才令机器人“海宝”具有了清晰、流畅、富有节奏感的自然语音,还能表现出感叹、疑问等难度较高的语气,使人与机器人之间的对话更富表现力、感染力。
在上海企业联合馆内,则有一款工业机器人“发那科”,其造价在100万元左右,他的诞生在自动化应用领域具有重要意义。“发那科”身高5米、负重可达1.3吨,是世界上最大的一款机器人。不过,他却非常灵敏,能根据参观者喊出的“火电”、“核电”、“风电”、“汽车”,在几分钟内将15个长宽高分别为0.8米的正方体拼出对应图案,并将约1吨重的拼图举起。该款机器人是上海电气合营公司上海发那科机器人有限公司研发生产,上海电气大股东持有该公司50%的股权。据该公司有关人士介绍,“发那科”的先进之处是实现了机器人视觉功能的智能化,这使得今后在流水线上工作的工业机器人除了完成重复性动作外,还可以实现“一人多能”,从而大大降低自动化流水线成本。

业内人士指出,目前,工业机器人在中国主要应用于汽车制造、点焊、密封和装载行业。大约60%的机器人销售在自动化领域,而汽车制造市场比重在40%左右。如在创业板上市的沈阳新松机器人自动化股份有限公司,就是以研发生产工业机器人为主。
另外,在上海世博园区内,还可以看到烹饪机器人“爱可”;高仿真机器人“唐明皇”与“杨贵妃”;瑞典馆则有一支由22个不同造型组成的机器人合唱团;日本馆能欣赏到机器人演奏的《茉莉花》;还有微声爬壁机器人、排爆机器人等。也许不久的将来,机器人就会改变我们的生活。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
自动化与仪表2010(5
)51
爱华网 www.aIhUaU.com欢迎您转载