Kingtwo/金兔的智能家居产品分类操作复杂吗?

智能家居产品介绍 | 智能家居产品有哪些_什么值得买
简单说说我买过的那些智能家居硬件
前言省吃简用好多年终于买了套新房,自然想把它装修的有点特点。由于本人平时很喜欢,所以就想把家装修的有点科技感。在装修准备期间简单的研究了下产品,也考察了做整体智能家居系统的公司,发现他们普遍有个很大的问题,那就是贵。而2015年可以说是智能硬件大行其道之年,所以就想自己攒个智能家居吧。智能家居产品之一:普美智能开关首先想实现的功能就是灯光的手机控制,这样冬天可以不下床关灯,回家时提前把灯打开,研究了一下发现有个叫普美智能开关的产品不错,还有一个叫幻腾的创业企业做的也挺好的。因为家里装修风格偏欧式就选了普美。样子就是下面这样。普美智能开关实拍图插两张X宝官方图普美智能开关宣传图再放几张手机端软件图普美智能开关手机软件图使用心得优点,可以手机远程控制,还可以一键几个开关联动控制灯光,开关面板控制键较多,可以自定义控制其他开关控制的灯具,总之功能较多。并且面板玻璃材质,有点高档感。缺点,靠近面板能听到滋滋的电流声音,声音不算大,但是让人有点担心它的寿命。还有就是手机端软件做的太简陋,不是很美观易用!第二个要说的是智能门镜:移康智能wifi电子猫眼移康智能wifi电子猫眼宣传图淘宝搜索是最智能的商品搜索引擎,通过大数据的运营,准确的理解商品与用户,提供精准的个性化搜索体验。买这货的原因是由于装修的时候没有预留监控摄像头的插座和线缆,导致无法监控家门口的情况。我在网上搜寻了一下后发现了这个产品。其能实现的功能有可以手机远程连接设备后查看门前影像,设备还可以侦测门前物体或外人走动,及时报警并向手机端发送提醒。机器本身自带,所以可以不插电运行,大概一个月充电一次,机器本身自备了一条3米长的充电线,为microusb接口。移康智能wifi电子猫眼使用效果图实际使用感受就是非常好用!!尤其现在网络购物这么多的情况下,人不在家可以让快递员直接把东西放在门前,你就可以通过设备看到邮包,非常放心和方便。要说缺点的话还是需要时不时的充下电,以及摄像头在红外模式下像素比较渣。第三个要说的智能硬件是智能插座:KANKUN控客智能插座控客智能家居 手机远程遥控开关智能插座wifi无线定时插座mini小买这东西的目的是为了配合我家的使用。加热马桶盖一直插电很费电,要是现用现插使用体验很不好,这个小东西可以手机控制插座开关,还可以定时启动。在工作日可以让它当人上班时关闭,晚上回家前打开,就可以很人性的省电又舒适了。KANKUN控客智能插座实拍图可以设定开启时间和重复周期第四要说的智能 艾泊斯 ai600这货是我在jd众筹上买的最贵的硬件产品了,价格4000,现在TB卖价8000多,感觉自己赚大了。记得是14年底到的货,做工很好,当时虽然也有不少空净器,但是敢说智能的没几个。这个产品可以说无论硬件还是软件做的都很棒。能实现的功能有远程手机控制设备的开关,远程监控家中空气质量包括温度湿度PM2.5,VOC污染物等。艾泊斯 ai600 智能空气净化器实拍图还发朋友圈夸了下可以远程开关机数据可以报表呈现艾泊斯 ai600 智能空气净化器软件截图也说说缺点:就是价格贵,耗材也比国产的贵,还有就是去甲醛没啥效果。第五个要说的东西是BroadLink智能遥控器BroadLink智能遥控器 WiFi控制 红外全能遥控器 智能家居 家电控制 APP远程控制 博联RM proBroadLink智能遥控器实拍图买它的目的是为了远程控制家中的电视,功放,小米盒子,蓝光机。并且发现它还隔墙控制老式的射频灯(有个房间没安普美智能开关)。最后再说个好玩的东西:极思维机器人极思维机器人实拍图这货是干啥的呢?简单说就是一个带摄像头的。买它的初衷是为了不在家时可以控制它到各个房间看看,有没有漏水等异常情况。至于扫地功能,我一般用它来扫下床底。极思维机器人使用效果图好了,就说到这吧,最后上一张我的手机截图。手机截图
推荐关注:
鼠标移到标签上方,
尝试关注标签~
相关热门原创
文中提到的商品
一加手机 6
Oral B/欧乐B iBrush 9000 Plus 3D声波蓝牙智能电动牙刷
阿思翠 Lyra classic经典版高解析平头耳塞
ICOMON沃莱 i90 蓝牙智能体脂秤
坚果 R1 次世代旗舰手机
Erno Laszlo奥伦纳素水滢清爽面膜4组
PRiSMA普利索 LiTE镜片 防蓝光护目镜
【轻众测】KACO BALANCE博雅钢笔+ PURE书源 中性笔 套装
华为平板M5 Pro
惠普 星系列14微边框轻薄本
德施曼小嘀T86云智能锁
明基BenQ i705 智能家用投影机
赞244评论128
赞214评论99
赞62评论42
赞818评论414
赞719评论252
赞1116评论751
赞351评论196
赞840评论514
扫一下,分享更方便,购买更轻松
用户名/邮箱
两周内免登录智能家居 - 知乎智能家居,即 home automation ,有时候也叫做 smart-home. 代表公司有 Nest.阅读全文关注话题分享阅读全文7.8K181 条评论分享收藏感谢阅读全文4.9K431 条评论分享收藏感谢阅读全文4.8K1,426 条评论分享收藏感谢阅读全文3.9K323 条评论分享收藏阅读全文3.8K177 条评论分享收藏感谢<strong class="NumberBoard-itemValue" title="5ORVIBO 欧瑞博 OR-wiwo-R1 Allone wifi 智能家居 Wi-Fi 远程控制器_开箱晒物_什么值得买
ORVIBO 欧瑞博 OR-wiwo-R1 Allone wifi 智能家居 Wi-Fi 远程控制器
之前在京东手痒,买了个万能WI-FI遥控器~&&这类WIFI遥控应该都是一样的,所以其他牌子的也差不多首先是开箱照:盒子感觉略旧,不弄层膜的话就不要用白色的皮嘛然后背面是一些简单的说明取出里面的盒子,黑色的~贴纸上居然还有灰尘……这倒地是别人退的还是贴的时候粘上的&把主机抠出来,从洞洞里面隐约看到了些什么东西一张全家福~就这么些东西,配件有一个充电器,一根线,一个底座还有3个螺丝注意左下盒子中间那个圆盘,这个是底座,一整块铁……非常的重,相比而言主机就是纯塑料的,很轻。贴着墙的那一面是这样的:然后反面是这样的上面有3个螺丝孔,可以方便装在墙上(不过旋螺丝的话贴着墙的那一面肯定会出现3个洞了)。然后主机可以旋进底座。不建议双面胶之类的贴,这个底座很重,胶估计贴不住(我贴墙上是直接贴的主机)关于主机大小,此处隆重请出某神机登场!(诺基亚这种直板机基本上都一个大小,所以比较方便量化)关于外观:这玩意外观非常简洁,正面是个纯的镜面,非常的漂亮~上面除了个标志和中间一个硕大的按键外什么也没有,整体材质是塑料,远看还算有点金属光泽,放家里也不会磨损,最多过一段时间擦一擦。背面就是真的啥也木有了,因为正常的话背面是会装在底座上的(我贴墙上了上面有3M的胶弄不下来了,背面就不照了)另外发现下面那个USB线没?这个是设计上一个不大好的地方,USB是对着机器上方插的。所以像我这样弄的话就得把机器倒着放……&侧面,注意红框内是主机卡入底座的几个卡脚,如果是一块平整的墙主机是贴不上去的。另外由于都是塑料的材质,注意别把这几个卡脚弄断了……电源:600MHA的,想冒充一次手机充电机都不行&但这么小的供电电流……貌似可以用电脑USB供电?&没实际测试过,说不定可以试试~说不定可以插到某个常开的设备的USB口上,这样就可以少个插头了开箱完了,就是使用了说明书的内容,不是很详细,但还不错了说明书里有个二维码,扫一下,就可以下载软件了软件使用起来还是很容易的,按照说明书上来就行了首先通电然后手机打开软件,点配置,找到家里WIFI输入密码,确定后会自动开始配对配对完成后就OK了,在最下面可以找到遥控器名字,点进去可以修改名称,远程密码之类。据说远程密码可以让别人连不上你的设备,但我使用软件直接搜索的时候也搜不到设备&默认的遥控器有3个,客厅空调,客厅电视,客厅机顶盒。可以自己添加或减少举个例子,打开空调的遥控器往下划可以看到更多选项。比如名称和码库。然后在码库里面可以查看不同品牌空调的码库。当然,按照说明书来说,完全不用你自己找。使用学习功能随便学习一个按键,就会自动对码于是愉快的拿出美的某空调的遥控器,学习!!&“没有找到对应的遥控器码库”&&这不是真的!自己去码库里面找吧……美的居然有20个码库可选(从40-59),好吧,一个个试10分钟后……果然是没有我这个空调&于是又花了10分钟手工对码,一个个按键的学习温度范围16-28真的没问题么?为什么我的空调是18-30的……随后,学习完成!苦尽甘来啊,试试遥控效果,果然很好用&为啥每次进遥控器时温度都是放在16上面……我经常用28的好不,就不能记忆下么不过确实很好用~关了手机WIFI用2G网络控制试试,成功!&从此可以惬意的在回家之前5分钟打开空调(离家的时候记得关门……当然不关门其实也没啥,就5分钟时间,房间温度其实也会下降不少),也不怕出门忘记关空调了!当然,缺点方面,只能遥控一个房间,无法穿墙。如果家里需要不同房间使用的话可以多买几个&,我看这个软件是可以直接控制多个遥控器的。另外,在控制页面,有个定时按钮进去后可以选择定时动作里面就是你遥控器的各个按钮,可以定时打开或关闭空调。当然我现在用不到……上张效果图(屌丝出租屋……),如果能把线换短一点的话就好看多了由于我是用3M贴纸粘在上面的,所以没办法用底座(实在是太重了,之前掉下来过一次&)注意中间那一圈白色的环,那个是呼吸灯。根据说明书,WIFI跟云服务器都连接的情况下,应该是蓝色呼吸灯,但平时这玩意都是不亮的。(其实不亮最好,晚上这东西闪的话相当的烦人)另外这个的网络服务器有时候不太稳定,有时候会出现紫色的呼吸灯(连上了WIFI,但未连接到云服务器),此时的话除了你在同一个WIFI环境下(就是家里),在外面是控制不了遥控器的。所以这东西还是很看品牌自己服务器的能力。最后总结下这玩意由于对这种类型的东西心痒很久了,后面就直接下手买了。整体而说,还是比较符合我的心里预期的。远距离遥控功能在大部分情况下都是好用的(确实有那么几次连不上设备,服务器DOWN了?);产品外观也不错,放在家里不会过于突兀(突兀的是线……);软件的使用上虽然不是很简单,但也不算复杂,但对于码库方面还是有些不足,毕竟自己一个个按键学习起来很麻烦。使用到现在大概有3个月了,软件就更新了一次,好在软件的稳定性还不错。总体而言,还不错,尤其是邀请朋友到家里玩的时候,提前在楼下打开空调,到家就很凉快的感觉&。当然,如果碰巧你炫耀的时候服务器DOWN了……&……我会说我碰到过吗这种智能家居未来肯定会发展的,但现在看,还是主要以一些新兴品牌为主。这样对于软件后续更新,还有服务器稳定性来说,其实都是未知的,完全看脸。当然,100多一点的价格(活动价)对于这样一个玩具而言确实不算贵,而且确实也会方便生活。另外,感觉这种东西的硬件方面成本应该不会太高,主要问题就是软件方面,所以一些实力雄厚一些的品牌如果杀进来的话,一方面可以使价格下降,另一方面在软件服务器的稳定性上都会有更好的表现。期待后续发展吧。
推荐关注:
鼠标移到标签上方,
尝试关注标签~
相关热门原创
作者其他原创(3)
一加手机 6
Oral B/欧乐B iBrush 9000 Plus 3D声波蓝牙智能电动牙刷
阿思翠 Lyra classic经典版高解析平头耳塞
ICOMON沃莱 i90 蓝牙智能体脂秤
坚果 R1 次世代旗舰手机
Erno Laszlo奥伦纳素水滢清爽面膜4组
PRiSMA普利索 LiTE镜片 防蓝光护目镜
【轻众测】KACO BALANCE博雅钢笔+ PURE书源 中性笔 套装
华为平板M5 Pro
惠普 星系列14微边框轻薄本
德施曼小嘀T86云智能锁
明基BenQ i705 智能家用投影机
赞244评论128
赞214评论99
赞62评论42
赞818评论414
赞719评论252
赞1116评论751
赞351评论196
赞840评论514
扫一下,分享更方便,购买更轻松
用户名/邮箱
两周内免登录当前位置: >>
基于ARM9的智能家居监控系统-精品
机械电子工程系本科毕业设计(论文)题目基于 ARM9 的智能家居监控系统(监控模块)的设计与实现 专业班级 学 号 07 电信一班学生姓名 指导教师 设计所在单位2011 年5 月 西安文理学院本科毕业设计(论文)指导教师评分表学生姓名 专 业 电子信息工程 学 班 号 级 一班毕业设计(论文)题目 设计(论文)起止时间 指导教师评语:基于 ARM9 的智能家居监控系统(监控模块)的设计与实现 2011 年 1 月 10 日至 2011 年 5 月 20 日建议成绩:指导教师签名: 年 月 日 西安文理学院本科毕业设计(论文)评阅教师评分表学生姓名 专 业 电子信息工程 学 班 号 级 一班毕业设计(论文)题目 设计(论文)起止时间 评阅教师评语:基于 ARM9 的智能家居监控系统(监控模块)的设计与实现 2011 年 1 月 10 日至 2011 年 5 月 20 日建议成绩:评阅教师签名: 年 月 日 西安文理学院本科毕业设计(论文)答辩记录学生姓名 答辩时间 题 目 2011 年 5 月 20 日 学 号 专业名称 指导教师 电子信息工程 答辩地点基于 ARM9 的智能家居监控系统(监控模块)的设计与实现 姓 名 职 称 姓 名 职 称答辩小组 成 员提问及回答情况记录:记录人签字: 年 答辩成绩: 答辩小组组长签名: 年 毕业论文成绩 系(院)答辩委员会意见: 负责人签名: 年 月 日 答辩委员会 认定成绩 毕业论文等级 月 日 月 日注:1、毕业论文成绩=指导教师成绩×40%+评阅教师成绩×20%+答辩成绩×40%; 2、答辩委员会认定成绩是根据该生毕业设计期间的表现及该专业整体论文情况的综合评定成绩。 3、论文等级分优秀(≥90 分) 、良好(80~89 分) 、中等(70~79 分) 、及格(60~69 分) 、 不及格(&60 分) 。 基于 ARM9 的智能家居监控系统(监控模块)的设计与实现摘 要:智能家居,又称智能住宅。它是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便 利、环保的居住环境。与智能家居的含义近似的还有家庭自动化、电子家庭、 数字 家园、网络家居,智能家庭等。智能家居也可以定义为一个系统,即利用计算机技 术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合 在一起,通过统筹管理,让家居生活更加舒适、安全、有效。 本课题是基于ARM9的智能家居监控模块设计与实现,采用ARM9 内核的S3C2410 处理器为控制芯片,再将Linux系统移植到硬件平台上,然后设计好相应的驱动程序 和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。系统硬件 主要完成家居设备状态的监控功能,而系统软件主要完成各个模块之间交互通信的 功能。关键词:Smart Home;ARM9;Linux;嵌入式;智能家居 The Design and Implementation of smart home monitoring system (control module) based on ARM9 Abstract: Smart Home, also known as Smart Residential. It is residential as a platform,combining architecture, network communications, information appliances, equipment automation, collection system, structure, services, management for the integrated high-performance, comfort, safety, convenience, environmental protection, living environment. The meaning of intelligent home and were similar to Home Automation, Electronic Home, Digital family, Network Home, Inte1ligent home/building. Intelligent home can also be defined as a system. The use of computer technology, network communication technology, integrated wiring technology, home life and the various subsystems, the combination of management, through co-ordination, so that home life more comfortable, safe and effective. This topic is ARM9-based smart home remote monitoring system (control module) The Design and Implementation. We use the S3C2410 core ARM9 processor chip for the control of. Linux system and then migrate to the hardware platform, and then design the appropriate drivers and applications, and finally download the software to the hardware platform for local and remote home appliance control. The system hardware mainly complete household equipment state monitoring function, and system software to complete the main interactive communication between the various modules of the function.Keywords: Smart Home;ARM9;Linux;Embedded 目录目录第一章 绪论 ..................................................... 1 1.1 选题的目的与意义 ......................................................................................... 1 1.2 研发背景 ......................................................................................................... 2 1.2.1 1.2.2 2.1 ARM 介绍 ............................................................................................. 2 嵌入式 Linux 介绍 ............................................................................ 2第二章 嵌入式系统开发概述 ....................................... 3 嵌入式系统的特点 ....................................................................................... 3 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11 2.2 2.2.1 2.2.2 2.2.3 嵌入式系统通常是面向特定任务的 ................................................ 4 嵌入式系统运行环境差异很大 ........................................................ 4 嵌入式系统比通用 PC 系统资源少得多 .......................................... 4 低功耗、体积小、集成度高、成本低 ............................................ 4 高效、可靠、稳定 ............................................................................ 5 具有较长的生命周期 ........................................................................ 6 目标代码通常是固化在非易失性储器中 ........................................ 6 一般是实时操作系统(RTOS) ,系统有实时约束 .......................... 6 嵌入式软件开发走向标准化 ............................................................ 6 需要专用开发工具和方法进行设计 .............................................. 7 嵌入式微处理器通常包含专用调试电路 ...................................... 7 硬件基本结构 .................................................................................... 7 软件的层次结构 ................................................................................ 9 BootLoader ........................................................................................ 9嵌入式系统的组成结构 ............................................................................... 7第三章 智能家居概述 ............................................. 10 3.1 研究背景 ....................................................................................................... 10 3.2 国内外研究现状 ........................................................................................... 11 3.2.1 国外研究现状 .................................................................................... 11 3.2.2 国内研究现状 .................................................................................... 12 第四章 嵌入式 Linux 和嵌入式 Linux 开发环境 ...................... 13 4.1 嵌入式 Linux ................................................................................................ 13 4.2 嵌入式 Linux 开发 ....................................................................................... 14 4.3 交叉开发环境 ............................................................................................... 16第1页 目录4.4 交叉编译和链接 ........................................................................................... 17 第五章 智能家居基本模块及解决方案 ............................... 17 5.1 智能家居的基本功能模块 ........................................................................... 18 5.2 家庭对外通信模块 ....................................................................................... 19 5.3 家庭网关模块 ............................................................................................... 19 5.4 家庭安全防范模块 ....................................................................................... 20 5.5 家庭设备自动控制模块 ............................................................................... 20 第六章 嵌入式系统平台的建立 .................................... 21 6.1 嵌入式 Linux 开发环境的建立 .................................................................... 21 6.1.1 交叉编译工具链的安装 .................................................................... 21 6.1.2 开发工具 Qt 的移植 ........................................................................... 24 第七章 模拟实现硬件设计 ......................................... 30 7.1 Video4Linux 和 USB 摄像头驱动配置 ....................................................... 30 7.1.1.Vedeo4Linux 简介 ........................................................................... 30 7.1.2.OV511 摄像头驱动的加载 ............................................................... 30 7.2 图像获取 ....................................................................................................... 31 结束语 .......................................................... 33 致 谢 .......................................................... 34 参 考 文 献 ..................................................... 35 附录 ............................................................ 36第2页 西安文理学院本科毕业设计(论文)第一章绪论当网络席卷整个社会,带来经济飞速发展的同时,也给人们的生活带来无限的 惊奇。不断更新的生活方式,使得越来越多的人追求对生活的舒适度和享受度。智 能家居作为新生力量呼之欲出,自然地走进了我们的生活,随之,引领新一代的数 字家庭生活。 目前,智能家居在全球都呈现良好的发展趋势。国外,智能家居在美国、德国、 新加坡、日本等国都有广泛应用。目前在新加坡也有近 30 个住宅小区近 5000 户的 家庭采用了“家庭智能化系统”,美国已有近 4 万户家庭安装了这一类的“家庭智 能系统”。三星已经开始在中、韩两国同时推出起智能家居系统。统计资料显示: 2004 年,家庭网络市场总额可达 57 亿美元,国际智能家居的产品销售额可达 148 亿 美元。在国内,智能家居已经走过了“概念期”,正是基于对智能家居市场发展前 景的展望,使得智能家居不断地纳入各研发单位、房产开发公司、网络公司下期的 开发计划,也是竞相销售的卖点。他们正是基于对这个难得机遇的意识,开始为研 究和开发相关系统和产品进行先期的部署和规划,越来越多的企业开始介入智能家 庭网络这个全新的领域[3]。1.1 选题的目的与意义本课题是基于ARM9的智能家居监控模块开发与实现,我们采用ARM9 内核的 S3C2410处理器为控制芯片,再将Linux系统移植到硬件平台上,然后设计好相应的 驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。 系统主要有GSM通讯模块和ARM9系统板两个部分组成。而系统软件主要完成各个模块 之间交互通信的功能。 智能家居与普通家居相比,它不仅具有传统的居住功能,提供舒适安全、高品 位且宜人的家庭生活空间,还由原来的被动静止结构转变为具有能动智慧的工具, 提供全方位的信息交换功能,帮助家庭与外部保持信息交流畅通,优化人们的生活 方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约 资金。第 1 页 西安文理学院本科毕业设计(论文)智能家居是数字家庭的一部分,只有将智能控制和上网功能集成起来,才形成 真正意义上的数字家庭。数字家庭涉及的领域将综合生活中的娱乐、工作、投资理 财、学习、医疗、教育等,是实现家庭内部、家庭和社会的实时性沟通的综合系统。 数字家庭伴随着无线而产生,也使无线技术得到了充分的应用和体现。1.2 研发背景 1.2.1 ARM 介绍ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商, 本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各 大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核,根据各自不同的应用领域, 加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。目前,全世界有 几十家大的半导体公司都使用 ARM 公司的授权,因此既使得 ARM 技术获得更多的第三 方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费 者所接受,更具有竞争力。目前,采用 ARM 技术知识产权(IP)核的微处理器,即我们 通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、 通信系统、 网络系统、 无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理 器 75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。1.2.2 嵌入式 Linux 介绍Linux 从 1991 年问世到现在,短短的十几年时间已经发展成为功能强大、设计 完善的操作系统之一;可运行在 X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、 ARM 等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商业操作系统分 庭抗争。越来越多的企业和研发机构都转向嵌入式 Linux 的开发和研究上,在新兴 的嵌入式操作系统领域内也获得了飞速发展。嵌入式 Linux 的特点: 第一,Linux 系统是层次结构且内核完全开放。Linux 是由很多体积小且性能高 的微内核系统组成。在内核代码完全开放的前提下,不同领域和不同层次的用户可 以根据自己的应用需要方便地对内核进行改造,低成本地设计和开发出满足自己需 要的嵌入式系统。第 2 页 西安文理学院本科毕业设计(论文)第二,强大的网络支持功能。Linux 诞生于因特网时代并具有 Unix 的特性,保 证了它支持所有标准因特网协议,并且可以利用 Linux 的网络协议栈将其开发成为 嵌入式的 TCP/IP 网络协议栈。 此外,Linux 还支持 ext2、fat16、fat32、romfs 等 文件系统,为开发嵌入式系统应用打下了很好的基础。 第三,Linux 具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运 行环境,可以跨越嵌入式系统开发中仿真工具的障碍。Linux 也符合 IEEE POSIX.1 标准,使应用程序具有较好的可移植性。传统的嵌入式开发的程序调试和调试工具 是用在线仿真器(ICE)实现的。它通过取代目标板的微处理器,给目标程序提供一 个完整的仿真环境,完成监视和调试程序;但一般价格比较昂贵,只适合做非常底 层的调试。使用嵌入式 Linux,一旦软硬件能够支持正常的串口功能,即使不用仿真 器, 也可以很好地进行开发和调试工作, 从而节省一笔不小的开发费用。 嵌入式 Linux 为开发者提供了一套完整的工具链(tool chain) 。它利用 GNU 的 gcc 做编译器,用 gdb、kgdb、xgdb 做调试工具,能够很方便地实现从操作系统到应用软件各个级别的 调试。 第四,Linux 具有广泛的硬件支持特性。无论是 RISC 还是 CISC、32 位还是 64 位等各种处理器,Linux 都能运行。Linux 通常使用的微处理器是 Intel X86 芯片家 族,但它同样能运行于 Motorola 公司的 68K 系列 CPU 和 IBM、Apple、Motorola 公 司的 PowerPC CPU 以及 Intel 公司的 StrongARM CPU 等处理器。Linux 支持各种主流 硬件设备和最新硬件技术,甚至可以在没有存储管理单元(MMU)的处理器上运行。 这意味着嵌入式 Linux 将具有更广泛的应用前景。第二章嵌入式系统开发概述本章主要描述嵌入式系统的特点及相关开发技术。2.1 嵌入式系统的特点由于嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同 于通用计算机系统。同样是计算机系统,嵌入式系统是针对具体应用设计的“专用 系统” 。它的硬件和软件都必须高效率地设计、 “量体裁衣” 、去除冗余,力争在较少第 3 页 西安文理学院本科毕业设计(论文)的资源上实现更高的性能。它与通用的计算机系统相比具有以下显著特点:2.1.1 嵌入式系统通常是面向特定任务的嵌入式系统通常是面向特定任务的, 而不同于一般通用 PC 计算平台, 是 “专用” 的计算机系统。嵌入式系统微处理器大多非常适合于工作在为特定用户群所设计的 系统中,称为“专用微处理器” ,它专用于某个特定的任务,或者是很少几个任务。 具体的应用需求决定着嵌入式处理器的性能选型和整个系统的设计。如果要更 改其任务,就可能要废弃整个系统并重新进行设计。2.1.2 嵌入式系统运行环境差异很大嵌入式系统无所不在,但运行环境也差异很大,可运行在飞机上、冰天雪地的 两极中、骄阳似火下的汽车里、要求温湿度恒定的科学实验室等。特别是在恶劣的 环境或突然断电的情况下,要求系统仍然能够正常工作。 这些情况对设计人员来说意味着要同时考虑到硬件与软件。 “严酷的环境”一般 意味着更高的温度与湿度。军用设备标准对嵌入式元器件的要求非常严格并且在价 格上和商用、民用差别很大。比如英特尔公司的 8086,当它用在火箭上时,单价竟 高达几百美元。2.1.3 嵌入式系统比通用 PC 系统资源少得多通用 PC 系统有数不胜数的系统资源,可以轻松完成各种工作。你可以在自己的 PC 机上编写程序的同时播放 MP3、 CD、 下载资料等等。 因为个人 PC 拥有 512MB 内存、 80GB 硬盘空间并且在 SCSI 卡上连接着软驱和 CD-ROM 驱动器已是目前非常普遍的配 置了。而控制 GPS 接收机的嵌入式系统,由于是专门用来执行很少的几个确定任务, 它所能管理的资源比通用 PC 系统少得多。 当然这主要是因为在设计时考虑到经济性, 不能使用通用 CPU。这就意味着所选用的 CPU 只能管理很少的资源,它的成本更低、 结构更简单。2.1.4 低功耗、体积小、集成度高、成本低第 4 页 西安文理学院本科毕业设计(论文)嵌入式系统“嵌入”到对象的体系中,对对象、环境和嵌入式系统自身具有严 格的要求,一般的嵌入式系统具有低功耗、体积小、集成度高、成本低等特点; 通用 PC 有足够大的内部空间提供良好的通风能力,但是系统中的奔腾或 AMD 处 理器均配备庞大的散热片和冷却风扇进行系统散热。 而许多嵌入式系统就没有如此 充足的电能供应,尤其是便携式嵌入式设备,即便是有足够的电源供应,散热设备 的增加也往往是不方便的。因此嵌入式系统设计时应尽可能的降低功耗。整个系统 设计有严格的功耗预算,系统中的处理器大部分时间必须工作在降低功耗的“睡眠 模式”下,只有在需要任务处理时它才会“醒来” 。软件必须围绕这种特性进行设计。 因此一般的外部事件通过中断“驱动” 、 “唤醒”系统工作。功耗约束影响了系统设 计决策的方方面面,包括处理器的选择、内存体系结构的设计等。系统要求的功耗 约束很有可能决定软件是用汇编语言编写,还是用 C 或 C++语言编写,这是由于必须 在功耗预算内使系统达到最高性能。功耗需求由 CPU 时钟速度以及使用的其他部件 (RAM,ROM,I/O 设备等)的数量决定。因此,从软件设计人员的观点看来,功耗约 束可能成为压倒性的系统约束,它决定了软件工具的选择、内存的大小和性能的高 低[4]。 能够把通用 CPU 中许多由板卡完成的任务集成在高度集成的 SoC 系统芯片内部, 而不是微处理器与分立外设的组合,就能节省许多印制电路板、连接器等,使系统 的体积、功耗、成本大大降低,也能提高移动性和便携性,从而使嵌入式系统的设 计趋于小型化、专业化。 嵌入式系统的硬件和软件都必须高效率地设计,在在保证稳定、安全、可靠的 基础上量体裁衣,去除冗余,力争用较少的软硬件资源实现较高的性能。这样,才 能最大限度地降低应用成本,从而在具体应用中更具有市场竞争力。2.1.5 高效、可靠、稳定建立完整的嵌入式系统的系统测试和可靠性评估体系,保证嵌入式系统高效、 可靠、稳定工作;嵌入式应用的复杂性、繁杂性要求设计的代码应该是完全没有错 误的,怎样才能科学、完整的测试全天候运行的嵌入式复杂软件呢?首先,需要有 科学的测试方法,建立科学的系统测试和可靠性评估体系,尽可能避免因为系统的第 5 页 西安文理学院本科毕业设计(论文)不可靠造成巨大损失。其次,引入多种嵌入式系统测试方法和可靠性评估体系。在 大多数嵌入式系统中一般都包括一些机制,比如看门狗定时器,它在软件失去控制 后能使之重新开始正常运行。总之,嵌入式软件测试和评估体系是非常复杂的一门 学科。2.1.6 具有较长的生命周期嵌入式系统是和实际具体应用有机结合的产物,它的升级换代也是和具体产品 同步进行的。因此,一旦定性进入市场,一般具有较长的生命周期。2.1.7 目标代码通常是固化在非易失性储器中嵌入式系统的目标代码通常是固化在非易失性储器(ROM/EPROM/EPROM/FLASH) 中; 嵌入式系统开机后,必须有代码对系统进行初始化,以便其余的代码能够正常 运行,这就是建立运行时的环境,比如初始化 RAM 放置变量、测试内存的完整性、 测试 ROM 完整性以及其他初始化任务。为了系统的初始化,几乎所有的系统都要在 非易失性存储器(现在普遍使用 Flash)中存放部分代码(启动代码) 。为了提高执 行速度和系统可靠性,大多数嵌入式系统也常常把所有的代码(也常常使用所有代 码的压缩代码)固化、存放在存储器芯片或处理器的内部存储器件中,不使用外部 的磁盘等存储介质。2.1.8 一般是实时操作系统(RTOS) ,系统有实时约束嵌入式系统往往对时间的要求非常严格,嵌入式操作系统一般是 RTOS。嵌入式 实时操作系统随时都要对正在运行的任务授予最高优先级。嵌入式任务是时间关键 性约束,它必须在某个时间范围内完成,否则由其控制的功能就会失效。比如控制 飞行器稳定飞行的控制系统如果因反馈速度不够,其控制算法就可能会失效,飞行 器在空中飞行会出问题。2.1.9 嵌入式软件开发走向标准化第 6 页 西安文理学院本科毕业设计(论文)嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。为了合理地调度 多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配 RTOS (Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可 靠性,并减少开发时间,保障软件质量。2.1.10 需要专用开发工具和方法进行设计从调试的观点看,代码在 ROM 中意味着调试器不能在 ROM 中设置断点。要设置 断点,调试器必须能够用特殊指令取代用户指令,嵌入式调试己经发展出支持嵌入 式系统开发过程的专用工具套件。2.1.11 嵌入式微处理器通常包含专用调试电路嵌入式系统一般是专用系统,而 PC 是通用计算平台 嵌入式系统的资源比 PC 少得多 嵌入式系统软件故障带来的后果比 PC 机大得多 嵌入式系统一般采用实时操作系统 嵌入式系统大都有成本、功耗的要求 嵌入式系统得到多种微处理体系的支持 嵌入式系统需要专用的开发工具2.2 嵌入式系统的组成结构嵌入式系统的硬件是嵌入式系统软件环境运行的基础,它提供了嵌入式系统软 件运行的物理平台和通信接口;嵌入式操作系统和嵌入式应用软件则是整个系统的 控制核心,控制整个系统运行、提供人机交互的信息等。由于嵌入式系统和实际应 用对象密切相关,而实际应用非常繁杂,应用也日新月异,很难用一种构架或模型 加以描述。2.2.1 硬件基本结构嵌入式系统的硬件架构如图 2-1 下半部分所示,是以嵌入式处理器为中心,配第 7 页 西安文理学院本科毕业设计(论文)置存储器、I/O 设备、通信模块以及电源等必要的辅助接口组成[1]。应用层应用程序 文件系统/图形用户应用程序接口OS层实时操作系统(RTOS)驱动层设备驱动程序、HAL、BSP软件SOC/SOPC硬件电 源 管Flash 内EEPROM 存 理GPIO IIS USB LCD ADC/DAC处理器/ARM核Timer/RTC CANMMU/Cache以太网DSP/浮点运算协处理器 FPGA/CPLD DMA输 入 输 出 接 口SDRAM SRAMUART和IrDA看门狗及 复位电路人机交互接口LCD/触摸屏、键盘、鼠标图 2.1典型的嵌入式系统组成嵌入式系统是“量身定做”的“专用计算机应用系统” ,又不同于普通计算机组 成,在实际应用中的嵌入式系统硬件配置非常精简,除了微处理器和基本的外围电 路以外,其余的电路都可以根据需要和成本进行“裁剪” 、 “定制化” (Customize) , 非常经济、可靠。 嵌入式系统硬件核心是嵌入式微处理器,有时为了提高系统的信息处理能力, 常常外接 DSP 和 DSP 协处理器(也可内部集成)完成高性能信号处理。 随着计算机技术、微电子技术、应用技术的不断发展和纳米芯片加工工艺技术第 8 页 西安文理学院本科毕业设计(论文)的发展,以微处理器为核心的集成多种功能的 SoC 系统芯片已成为嵌入式系统的核 心,在嵌入式系统设计中,要尽可能的选择能满足系统功能接口的 SoC 芯片,这些 SoC 集成了大量的外围 USB、UART、以太网、AD/DA、IIS 等功能模块。 可编程片上系统 SOPC( System On Programmable Chip ) 结合了 SoC 和 PLD、FPGA 各自的技术优点,使得系统具有可编程的功能,是可编程逻辑器件在嵌入式应 用中的完美体现,极大的提高了系统的在线升级、换代能力。? 以 SoC/SOPC 为核心,可以用最少的外围部件和连接部件构成一个应用系统,满 足系统的功能需求,也是嵌入式系统发展的一个方向 因此现代嵌入式设计是以处理器/SoC/SOPC 为核心,完成系统设计的,其外围接 口包括存储设备、通信接口设备、扩展设备接口和辅助的机电设备(电源、连接器、 传感器等)构成硬件系统。对于嵌入式硬件的各个模块将在第三部分作全面介绍。2.2.2 软件的层次结构当设计一个简单的应用程序时,可以不使用操作系统;但是当设计较复杂的程 序时,可能就需要一个操作系统(OS)来管理、控制内存、多任务、周边资源等等。 依据系统所提供的程序界面来编写应用程序,可以大大的减少应用程序员的负担。 对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包含四个层面: 设备驱动层、实时操作系统(RTOS) 、应用程序接口(API)层、实际应用程序层。 有些资料将应用程序接口 API 归属于 OS 层,如图 1-1 的上半部分所示的嵌入式 系统的软件结构,是按三层划分的。由于硬件电路的可裁减性和嵌入式系统本身的 特点,其软件部分也是可裁减的。 对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程 序和设备驱动程序。 现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势。2.2.3 BootLoader对于 PC 机, 其开机后的初始化处理器配置、 硬件初始化等操作是由 BIOS (Basic Input /Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面第 9 页 西安文理学院本科毕业设计(论文)考虑一般不配置 BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要 的开机程序,在嵌入式中称为 BootLoader 程序。 系统加电复位后,几乎所有的 CPU 都从由复位地址上取指令。比如,基于 ARM7TDMI 核的 CPU 在复位时通常都从地址 0x 取它的第一条指令。而以处 理器为核心的嵌入式系统通常都有某种类型的固态存储设备(比如 EEPROM、FLASH 等)被映射到这个预先设置好的地址上。因此在系统加电复位后,处理器将首先执 行 Boot Loader 程序。BootLoader 是系统加电后、操作系统内核或用户应用程序运 行之前,首先必须运行的一段程序代码。通过这段程序,可以初始化硬件设备、建 立内存空间的映射图(有的 CPU 没有内存映射功能如 S3C44B0) ,从而将系统的软硬 件环境设定在一个合适的状态,以便为最终调用操作系统内核、运行用户应用程序 准备好正确的环境。对于嵌入式系统来说,有的使用操作系统,也有的不使用操作 系统,比如功能简单仅包括应用程序的系统,但在系统启动时都必须运行 BootLoader,为系统运行准备好软硬件环境。系统启动代码完成基本软硬件环境初 始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加 载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接 执行应用程序或等待用户命令。BootLoader 依赖于硬件和应用环境,因此为嵌入式 系统建立一个通用、标准的 BootLoader 是有困难的[5]。 系统的启动通常有两种方式: 直接从 Flash 启动, 将压缩的内存映像文件从 Flash (为节省 Flash 资源、提高速度)中复制、解压到 RAM,再从 RAM 启动。 当电源打开时,一般的系统会去执行 ROM(应用较多的是 Flash)里面的启动代 码。这些代码是用汇编语言编写的,其主要作用在于初始化 CPU 和板上的必备硬件 如内存、中断控制器等。第三章 智能家居概述本章主要讲述的是智能家居的研究背景和国内外研究现状。3.1 研究背景第 10 页 西安文理学院本科毕业设计(论文)21 世纪是信息技术高速发展的时代,社会的信息化唤起了人们对住宅智能化及 家居智能化的要求,智能住宅己成为中国房地产市场的主流。计算机行业和家电行 业、电信行业、安防监控行业的互相渗透、互相融合,使信息时代的未来家居生活 逐步成为现实。建设部要求根据不同消费者的需要,推动家居数字化、建筑智能化, 到 2010 年全国大中城市 60%的住宅要实现智能化由此可见中国智能家居市场潜力巨 大。 智能家居(Smart Home),又称智能住宅。通俗地说,是利用先进的计算机、嵌 入式系统和网络通讯技术, 将家庭中的各种设备(如照明系统、 环境控制、 安防系统、 网络家电)通过家庭网络连接到一起。一方面,智能家居将让用户有更方便的手段来 管理家庭设备,比如,通过无线遥控器、电话、互联网或者语音识别方式控制家用 设备;另一方面,智能家居内的各种设备相互间可以通讯,不需要用户控制也能根据 不同的状态互动运行,从而给用户带来最大程度的高效、便利、舒适与安全。 与普通家居相比,智能家居不仅具有传统的居住功能,即提供舒适安全、高品 位且宜人的家庭生活空间,还提供全方位的信息交互功能,帮助家庭与外部保持信 息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全 性。3.2 国内外研究现状 3.2.1 国外研究现状20 世纪 80 年代初,随着大量采用电子技术的家用电器面市,开始出现了住 宅电子化(HE,Home Electronics)的概念。80 年代中期,将家用电器、通讯设备与安 防设备的功能综合为一体,形成了家居自动化概念(HA,HomeAutomation) 。 80 年 代末,由于通信与信息技术的发展,出现了对住宅中各种通信、家电、安防设备通 过总线技术进行连接、 控制与管理的商用系统, 这在美国称为智慧屋(WH,Wise Home), 在欧洲称为时髦屋(SH,Smart Home)。当时日本正处于房产市场低迷时期,日本建设 省在推进智能建筑概念时,抓住用于住宅总线技术的契机,提出了家庭总线系统概 念(HBS,Home Bus System)。而随着技术的继续发展和生物识别技术的实用化普及, 智能家居的概念才真正体现了其本意,在好莱坞科幻电影中看到的那种高度智能化第 11 页 西安文理学院本科毕业设计(论文)的家居系统正在走进我们的生活。 日本松下公司正在把“数码家庭”的概念应用到养老院,养老院的所有房 间都装有多种测量仪器、触摸式显示屏、数码摄像机等,并与局域网相连,这样每 个居住者的体温、血压等多项数据可以传送到护理中心,实现远程医疗护理。美国 麻省理工学院的实验室正在研究“智能房间” ,通过生物传感器探测人的行为来自动 控制和调节居住系统。日本大型住宅公司 MISAWA HOME 为解决购房者对房屋防盗系 统的不满意,新近推出“保全住宅”该住宅内部采用指纹辩识门禁系统,另设有隐 藏式防盗室,当遇到小偷闯入时屋主可躲进去紧急避难,防盗室设有两道厚重的门, 其中内门只要从里面上锁后,外部无法靠人力打开。防盗室内装设电话专线,电话 线埋在地下,另外还可在屋内放置一个机器人,亩以依歹徒恐吓的声音来反应,并 出声求救,发挥报警求救功能[6]。3.2.2 国内研究现状在我国,智能化住宅和智能化家居虽然起步比较晚,但发展速度很快。 80 年代,我国居住条件非常困难,根本谈不上智能化的问题。80 年代初所建成的住宅, 其电器设计内容仅在以下方面:楼房照明系统、高层供水泵控制系统和消防泵控制系 统。用户电量的计量和收费,采用房管部门或住户轮流抄表收费的方式。生活用水 的计量则主要是按户或按人口数收费。弱电系统也是从 80 年代开始才陆续设置电话 配线和公用电视天线系统。80 年代末 90 年代初,我国家庭基本实现电器化,住宅内 的弱电系统有所增加,如对讲系统等。到了 90 年代末,电脑、有线电视、机顶盒、 移动通信等数字化通信产品开始走进家庭。 2000 年 9 月 7-8 日,由信息产业部组织,在四川省绵阳市召开了国家经贸委 2000 年国家技术创新重点专项计划―“家庭信息化网络技术研究及产品开发”项目 工作会议。2002 年由建设部住宅产业化促进中心和中国建筑科学研究院主编的《居 住区智能化系统配置与技术要求(审查稿)》己送审,等待批准。建设部住宅产业化 促进中心正在牵头编制行业标准“居住区智能化产品应用技术要求” 。 2002 年建设 部科学技术委员会智能建筑技术开发推广中心组织编制了《建设行业智能建筑试点 项目住宅小区智能化系统工程验收评估标准》作为建设行业智能建筑试点项目住宅第 12 页 西安文理学院本科毕业设计(论文)小区智能化系统工程验收评估标准。 西 南 交 通 大 学 科 技 公 司 开 发 了 网 络 智 能 控 制 数 据 终 端 (Intelligent ControlNetwork Data Terminal,简称 NDT)系统,是一个基于计算机网络的智能住 宅控制系统,可以稳定运行在多种宽带网络平台上。它包括住宅楼宇防盗报警、贵 重物品防盗报警、多重判断防误报功能、火灾报警、煤气泄露报警、紧急求助、防 胁持秘密报警、小区电子公告、远程家用电器控制、电话自动报警功能、 Internet 电子短信、家用设备报警、水电气多表自动抄收等功能,通过计算机网络构成整个 住宅小区的集中管理控制系统。第四章4.1 嵌入式 Linux嵌入式 Linux 和嵌入式 Linux 开发环境嵌入式 linux, 是将日益流行的 Linux 操作系统进行裁剪修改使之能在嵌入式计 算机系统上运行的一种操作系统。嵌入式 linux 既继承了 Interlnet 上无限的开放 源代码资源 ,又具有嵌入式操作系统的特性 。 嵌入式 Linux 的特点是版权费:免费,购买费用:媒介成本, 技术支持:全世界 的自由软件开发者,提供支持网络特性,免费而且性能优异,软件移植容易,代码开放, 有许多应用软件支持应用产品开发周期短,新产品上市迅速,因为有许多公开的代码 可以参考和移植,实时性能:RT_Linux,Hardhat,Linux 等嵌入式 Linux 支持实时性能。 稳定性:好。安全性:好。 嵌入式 Linux 有巨大的市场前景和商业机会,出现了大量的专业公司和产品, 如 Montavista,Lineo,Emi 等。有行业协会,如 Embedded Linux Consortum 等, 得到世界著名计算机公司和 OEM 板级厂商的支持,例如 IBM,Motorola,Intel 等传 统的嵌入式系统厂商也采用了 Linux 策略如 Lynxworks、Windriver、QNX 等,还有 Internet 上的大量嵌入式 Linux 爱好者的支持。嵌入式 Linux 支持几乎所有的嵌入 式 CPU 和被移植到几乎所有的嵌入式 OEM 板 。 嵌入式 Linux 的应用领域非常广泛,主要的应用领域有:信息家电、PDA、机顶 盒、Digital Telephone、Answering Machine、Screen Phone、数据网络、Ethernet、 Switches Router Bridge 、 Hub、 Remote access servers 、 ATM 、Frame relay 、远第 13 页 西安文理学院本科毕业设计(论文)程通信、医疗电子、交通运输、计算机外设、工业控制、航空航天领域等。4.2 嵌入式 Linux 开发图 4.1嵌入式 Linux 开发环境图 4.1 是一个典型的嵌入式 Linux 开发环境:它包括主机、工作站或者 PC,支 持 GDB 的调试工具,BDI2000,目标板和网络,除了硬件环境外,还需要软件开发环 境,有两种软件开发环境,一种是基于 Linux 的开发环境,另一种是基于 Windows 的开发环境。 基于 Linux 的开发环境包括主机上的 Linux 操作系统,比如 RedHat Linux 等嵌 入式 Linux 交叉开发工具软件,比如 HardHat Linux,支持 GDB 的调试工具的固件, 比如 BDIGDB Firmware for Linux。基于 Windows 的开发环境包括主机上的 Windows 操作系统,比如 Windows9x 等。 基于 Windows 的嵌入式 Linux 交叉开发工具软件,比如 Insight Gnupro Xtools 等, 支持 GDB 的调试工具的固件,比如 BDIGDB Firmware for Windows 等。第 14 页 西安文理学院本科毕业设计(论文)图 4.2 嵌入式 linux 开发流程 图 4.2 是嵌入式 Linux 开发流程图,一般的开发过程是:设计目标板,建立嵌 入式 Linux 开发环境,编写、调试 Boot Loader,编写、调试 Linux 内核,编写、 调试应用程序,编写、调试 BSP Boot Loader 用于初始化目标板,检测目标板和引 导 Linux 内核,BDM /JTAG 用于目标板开发,它可以检测目标板硬件,初始化目标 板,调试 Boot Loader 和 BSP。有些 BDM /JTAG 比如 BDI2000 可以调试 Linux 内核源 码。 在嵌入式 Linux 开发过程中,选择好的嵌入式 Linux 开发平台和 BDM /JTAG 调 试工具可以极大地提高嵌入式 Linux 开发效率,嵌入式系统的特点是系统资源小, 因此具体目标板的设备驱动程序:Device Driver 需要定制,BDM /JTAG 调试工具是 开发 Linux 内核很好手段 BDM /JTAG 调试工具利用 CPU 的 BDM /JTAG 接口,对运行 程序监控,不占用系统的其它资源 。 为了缩短应用产品开发周期,可以选择同应用产品相近的嵌入式 Linux 软件开第 15 页 西安文理学院本科毕业设计(论文)发平台和带嵌入式 Linux 软件的 OEM 板,它可以帮助用户在应用项目立项前,评估 项目的可行性 在应用项目立项后,使软件开发和硬件开发同步进行,它能极大地缩短应用产品开发周期。4.3 交叉开发环境图 4.3 嵌入式 linux 开发环境 宿主机(Host)是一台通用计算机(如 PC 机或者工作站) ,它通过串口或者以 太网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作 系统(如 Windows 和 Linux) ,而且还有各种各样优秀的开发工具,能够大大提高嵌 入式应用软件的开发速度和效率。 目标机(Target)一般在嵌入式应用软件开发期间使用,用来区别与嵌入式系 统通信的宿主机,它可以是嵌入式应用软件的实际运行环境,也可以是能够替代实 际运行环境的仿真系统,但软硬件资源通常都比较有限。嵌入式系统的交叉开发环 境一般包括交叉编译器、交叉调试器和系统仿真器,其中交叉编译器用于在宿主机 上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则用于在宿主机与目 标机间完成嵌入式软件的调试。在采用宿主机/目标机模式开发嵌入式应用软件时, 首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件, 然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在 监控程序或者操作系统的支持下利用交叉调试器进行分析和调试,最后目标机在特 定环境下脱离宿主机单独运行。 建立交叉开发环境是进行嵌入式软件开发的第一步,目前常用的交叉开发环境 主要有开放和商业两种类型。开放的交叉开发环境的典型代表是 GNU 工具链、目前 已经能够支持 x86、ARM、MIPS、PowerPC 等多种处理器。商业的交叉开发环境则主第 16 页 西安文理学院本科毕业设计(论文)要有 Metrowerks CodeWarrior 、 ARM Software Development Toolkit 、 SDS Cross compiler 等。4.4 交叉编译和链接在完成嵌入式软件的编码之后,需要进行编译和链接以生成可执行代码,由于 开发过程大多是在使用 Intel 公司 x86 系列 CPU 的通用计算机上进行的,而目标环 境的处理器芯片却大多为 ARM、MIPS、PowerPC、DragonBall 等系列的微处理器,这 就要求在建立好的交叉开发环境中进行交叉编译和链接。 交叉编译器和交叉链接器是能够在宿主机上运行,并且能够生成在目标机上直 接运行的二进制代码的编译器和链接器。例如在基于 ARM 体系结构的 gcc 交叉开发 环境中,arm-linux-gcc 是交叉编译器,arm-linux-ld 是交叉链接器。通常情况下, 并不是每一种体系结构的嵌入式微处理器都只对应于一种交叉编译器和交叉链接 器,比如对于 M68K 体系结构的 gcc 交叉开发环境而言,就对应于多种不同的编译器 和链接器。如果使用的是 COFF 格式的可执行文件,那么在编译 Linux 内核时需要使 用 m68k-coff-gcc 和 m68k-coff-ld , 而 在 编 译 应 用 程 序 时 则 需 要 使 用 m68k-coff-pic-gcc 和 m68k-coff-pic-ld。 嵌入式系统在链接过程中通常都要求使用较小的函数库,以便最后产生的可执 行代码能够尽可能地小,因此实际运用时一般使用经过特殊处理的函数库。对于嵌 入式 Linux 系统来讲,功能越来越强、体积越来越大的 C 语言函数库 glibc 和数学 函数库 libm 已经很难满足实际的需要, 因此需要采用它们的精化版本 uClibc、 uClibm 和 newlib 等。 目前嵌入式的集成开发环境都支持交叉编译和交叉链接,如 WindRiver Tornado 和 GNU 工具链等,编写好的嵌入式软件经过交叉编译和交叉链接后通常会生成两种 类型的可执行文件:用于调试的可执行文件和用于固化的可执行文件。第五章 智能家居基本模块及解决方案本章首先对智能家居系统的功能模块做了系统的分析,提取出四个最基本的功 能模块,然后在比较国内外各种实现技术的优缺点的基础上,确定课题各模块的选第 17 页 西安文理学院本科毕业设计(论文)型,最终提出一套自己的智能家居解决方案。5.1 智能家居的基本功能模块目前的智能家居行业,首先,处于一个初始发展时期,国际社会暂时还没有形 成一个公认的标准;其次,智能家居的应用场所一家庭住宅或住宅小区,不同的实际 环境也对智能家居提出了不同的要求与解决办法;此外,居民都希望能够对智能家居 进行个性化配置,满足自身的特殊需求。这样的形势,致使开发商在实施智能家居 时的方式、范围及侧重点也不尽相同。有些用户比较注重家电的智能控制,而有些 用户可能更加关心家庭安全防范,还有些用户则希望建立相对全面的智能家居系统, 满足多方面的需求。功能模块见下图。图 5.1 功能模块图 图 5.1 是根据课题充分分析现有的智能家居解决方案,结合自己的调查研究, 从中提取出四个最为基本的功能模块:家庭对外通信模块、家庭网关模块、家庭安全 防范模块、家庭设备自动控制模块,并在此基础上确定自己的智能家居解决方案。 传统的智能家居系统是为了满足住户方便性的要求,一般是为了实现家用电器 的远程控制的目的,所以只包括“家庭对外通信模块” 、 “家庭网关模块” 、 “家庭自 动控制模块” ,随着近年来盗窃等现象的愈演愈烈,用户又提出了家庭安防的要求, 而近年来通信、计算机、自动化等技术的不断发展使这种要求能够成为现实。所以 课题的解决方案中考虑到了用户对家庭安防的需要,在传统模块划分的基础上增加第 18 页 西安文理学院本科毕业设计(论文)了“家庭安防模块” 。 下文结合国内外功能模块的实现方式,将对各模块做详细分析与评述,最终提 出自己实现各个模块的技术路线。5.2 家庭对外通信模块智能家居的最终目的都是为“满足人们对舒适、方便、高效和符合绿色环境保 护的需求” ,其中“方便”要求家庭内部系统能够通过家庭对外接口,实现家庭外部 的远程控制。家庭对外通信模块的作用在于此,它在智能家居系统中扮演着非常重 要的角色。 具体来讲,该模块的功能是提供一个家庭内部与外部的通信链路,通信的内容 是数据信息或指令信息,常用的通信媒介有电话、GSM 短信、Internet 等。 随着新技术的发展,家庭对外通信模块从功能和方式上得到了丰富:功能上,过 去只是完成简单指令信息的单方传输,现在更多的是提供数据信息的通信,包括通 信交流、商务、娱乐、教育、医疗保险等;方式上,从电话通信到 Internet 通信, 再到 GSM 手机短信通信,越来越体现出通信方法的多样化和简便化。5.3 家庭网关模块家 庭 网 络 就 是 在 家 庭 内 部 通 过 适 当 的 组 网 技 术 把 家 庭 网 关 (Residential Gateway,RG)与其他设备组成可以进行信息交换的内部网络,并通过家庭网关与外部 网络相连,形成面向家庭的业务提供平台。在智能家居的实现过程中,家庭网关占 据至关重要的位置。家庭网关是连接外部公网和家庭私网的关口,既负责家庭内部 对公网的访问和交互,又负责用户从公网上对家庭网络的访问和控制,另外还要负 责家庭内部设备的互连、互控等操作,因此,家庭网关成为智能家居研究的重点。 本课题是选择三星公司生产的 S3C2410 芯片作为嵌入式家庭网关,它的 ARM 内 核是 ARM920T。之所以选择该芯片是基于以下几点考虑; (1)它带有 MMU,支持 Windows CE 和大部分的 Linux 操作系统; (2)它主频达到 202MHZ,能够满足一般家庭网关数据传输的需要; (3)它具有三通道的 UART 口,每个 UART 口都支持 IrDAL0 协议,为红外通信提第 19 页 西安文理学院本科毕业设计(论文)供接口; (4)它大约有上百个 GPIO 口可供用户使用,使多个家用电器的接入网关成为可 能; (5)它还有一个 loom 的以太网口,使家庭网关能够轻松接入 Internet。5.4 家庭安全防范模块安全防范就是保障人们在生产、生活和一切社会活动中人身生命、财产和生产、 生活设施不受侵犯,防止侵害行为的总称。智能家居在满足人们舒适、方便生活的 同时,也要求为家庭提供安全防范方面的保障。它包含的内容有防止入侵、盗窃、 破坏、爆炸等,它的原则是“以防为主,打防并举” ,安全防范工作贯彻“人防、技 防、物防”相结合的方针政策。因此,智能家居将家庭安全防范模块定义为其四个 基本要素之一。课题将安全防范的内容分为两部分,分别是家庭内部环境安全、家 庭对外非法入侵预防,这两方面都体现了现代技术在智能家居中的应用。 在此提出一套可行的安防方案,可供以后继续研究实践: (1)住宅内部采用被动红外探测器、可燃气体探测器、温/湿度传感器; (2)住宅外部可选择窗磁、门磁开关、红外探测器、玻璃破碎探测器、双鉴探测 器等; (3)住宅内外部的探测装置与报警控制器通过无线方式相连; (4)报警控制器与中心控制器通过有线方式相连。5.5 家庭设备自动控制模块智能家居的初衷是解决家庭设备的自动控制问题,将更多的设备通过某种方式 连接,达到统一、集中控制,为家庭生活带来方便。因此,现代智能家居的最基本 的功能需求体现在家庭设备的自动控制,家庭设备自动控制模块也就成为其最基本 的模块。 对不同的家庭设备,课题给出了不同的解决方案: (1)对于电饭锅、电灯一类的开关量家庭设备,建议采用以继电器为核心的控制 电路控制。具体方案为首先将继电器、二极管、三极管、限流电阻等连接成一个控 制电路, 然后将继电器的一个电源脚接到开发板的 S3C2410 芯片的一个 GPIO 引脚上,第 20 页 西安文理学院本科毕业设计(论文)继电器的另一个引脚接 VCC, 这样, 可以通过烧写在 S3C2410 中的程序, 来控制 GPH1 输出高低电平,进而控制继电器的吸合、断开,然后由继电器来控制家用电器的开 关。 (2)对于电视机、空调一类提供红外接口的家庭设备,通过统一的红外控制器控 制;可行的方案是采用红外模块,红外模块可直接与 S3C2410 的 UART 口相连,这样 由 S3C2410 中的程序来发送和接收红外数据。可能涉及到的程序有红外驱动程序、 发送数据程序、接收数据程序等。 (3)对于信息家电,首先通过网络接口接入家庭以太网,如果信息家电支持家电 生产厂商的远程服务,智能家居系统便可以减少对它的操作,如果不支持,则需要 借助于信息家电提供的以太网交互命令,通过智能家居系统执行相关操作。第六章嵌入式系统平台的建立6.1 嵌入式 Linux 开发环境的建立 6.1.1 交叉编译工具链的安装在裁减和定制 Linux 内核用于嵌入式系统之前,由于一般嵌入式开发系统存储 大小有限以及不能提供友好的人机交互界面,通常都要在性能优越的宿主机上建立 一个用于目标机的交叉编译工具链,用该交叉编译工具链在宿主机上编译目标机上 要运行的程序。这里所说的宿主机是指用于开发嵌入式软件的系统,也就是普通的 通用计算机;目标机就是在宿主机上交叉编译后的目标程序的实际运行环境,也就 是嵌入式系统环境。嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目 标机的可执行代码。 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平 台上的程序,它主要包括针对目标系统的编译器 gcc 、目标系统的二进制工具 binutils、目标系统的标准 c 库 glibc 和目标系统的 Linux 内核头文件。 对于应用层的开发者来说,通常作的平台上已经配置好了交叉编译环境,不需 要自己去构建。本系统开发板光盘附带了编译工具链 xscalev1_010001.tar.gz,所第 21 页 西安文理学院本科毕业设计(论文)以直接编译安装即可。 在开发主机上以 root 方式登录,放入光盘之后使用 mount 命令将其挂载,这 样主机就可以将光盘当作文件来读取。现在,当光盘放入光驱之后,若 linux 系统 可以自动的挂载,可以跳过这个步骤。 [root@root ~] # mount /dev/cdrom /mnt/cdrom [root@root ~] # cd /mnt/cdrom 检查 CD-ROM 是否被挂载。 使用如下的 cat 命令来检查 CD-ROM 是否被正确载。 [root@root ~]# cat /proc/mounts | grep cdrom /dev/cdrom /mnt/cdrom iso9660 ro,nosuid,nodev 0 0 此时,需要在开发主机上创建目录,并将光盘内容拷贝到目录中。在根目录创 建了一个名为 XSBase270 的目录,再将光盘中的内容拷贝到了该目录中。 [root@root ~]# mkdir /XSBase270 [root@root ~]# cd /XSBase270 [root@root XSBase270]# cp /mnt/cdrom/* -a ./ 切换到 PC 上的 /XSBase270/Toolchain 中,使用 ls 命令查看该目录下的文 件,可以看到该目录下存在有名为 xscalev1.tar.gz 的文件。在以 root 用户登录 的前提下,使用 cp 命令将 xscalev1.tar.gz 文件拷贝到 PC 上/opt 下 (必须将其 拷贝到/opt 目录下) 。 然后进入到/opt/目录下,解压该文件。 [root@root ~]# tar xvfz xscalev1.tar.gz 如下图所示,移动到 bin 目录下使用 ls 命令查看,可以看到一些编译工具,这 些工具将会在之后的交叉编译过程中使用到。第 22 页 西安文理学院本科毕业设计(论文)图 6-1 编译工具为了之后在任何目录下面都能够使用 Toolchain,必须要对路径进行设置。打 开 /root/.bash_profile 文件来 设置路径,如下图所示,使用 vi 编译器来修 改.bash_profile 文件。[root@localhost root]# vi ~/.bash_profile 用 VI 编辑器打开/root/.bash_profile 文件并添加下述的路径: PATH=$PATH:/opt/xscalev1/bin图 6-2 添加环境变量第 23 页 西安文理学院本科毕业设计(论文)现在在任何的目录下都能打开/opt/xscalev1/bin。 保存并退出该文件,使用 source 命令来使路径生效。 # source ~/.bash_profile 此时,使用 arm-linux-命令时,Toolchain 中的工具会被使用。图 6-3 测试交叉编译工具是否已安装6.1.2 开发工具 Qt 的移植1.Qt/Embedded 开发工具简介 Qt 是一个著名的支持多操作系统平台的应用程序开发框架,以 C++作为开发语 言。它由 Haavard Nord 和 Eirik Chambe-Eng 于 1991 年开始开发,最初 Qt 主要是 为跨平台的软件开发者提供统一的,精美的图形用户编程接口,但是现在它提供统 一的网络和数据库操作的编程接口。 Qt 能够为用户提供开发应用程序用户界面部分所需要的一切,是完全面向对象 的,它使用“一次编写,随处编译”的方式来构建多平台图形用户程序,编译出来 的程序可运行于 Linux、Win32、Solaris 、Mac OS 以及嵌入式系统之下。使用 Qt 进行应用程序的开发具有以下的优点[8]: (1)优良的跨平台特性 Qt 支持下列操作系统::Microsoft Windows 95/98,Microsoft Windows NT,第 24 页 西安文理学院本科毕业设计(论文)Linux,Solaris,SunOS,HP-UX,Digital UNIX (OSF/1, Tru64),Irix,FreeBSD, BSD/OS,SCO,AIX,OS390,QNX 等等。 (2)面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开 发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。 (3)丰富的 API Qt 包 括 多 达 250 个 以 上 的 C++ 类 , 还 提 供 基 于 模 板 的 collections , serialization, file,I/O device , directory management , date/time 类。甚 至还包括正则表达式的处理功能。同时 Qt 还支持 2D/3D 图形渲染,支持 OpenGL, 而且具有大量的开发文档,方便开发者进行查阅参考。 本系统在服务器端(PC 机)使用的是系统自带的 Qt-3.1.1 版本,在开发板上使 用 Qt-embedded-2.3.7 和 Qtopia-1.7.0,下面主要介绍嵌入式版本的 Qt/embedded。 Qt Embedded 是挪威 Trolletech 公司的图形化界面开发工具 Qt 的嵌入式版本, 它以原始 Qt 为基础,通过 QtAPI 与 Linux I/O 以及 Framebuffer 直接交互,拥有较 高的运行效率,而且整体采用面向对象编程,拥有良好的体系架构和编程模式。由 于嵌入式受限的硬件环境往往难以运行庞大的 X 服务器, Qt/Embedded 在底层摒弃了 Xlib 和 X server,采用 framebuffer 作为底层图形接口,所以和 Qt/X11 相比, Qt/Embedded 很省内存。Qt/Embedded 的应用程序可以直接写内核帧缓冲,因此它在 嵌入式 linux 系统上的应用非常广泛。表 5-1 是 Qt/Embedded 与 Qt/X11 架构的区别 [13]。表 5-1 Qt/Embedded 与 Qt/X11 架构的比较 应用源代码 Qt API Qt/X11 Qt/Xlib Qt/Embedded X Window Server第 25 页 西安文理学院本科毕业设计(论文) 帧缓冲 Linux 内核 2.Qt 的移植(1)源代码的下载 在 TrollTech 主页上 (ftp://ftp.trolltech.com/qt/source) 下载 Qt/Embedded 的某个版本的源代码(本系统主要介绍 qt-2.3.7) ,对下载后的源代码压缩文件进行 解压。 # tar xzvf qt-embedded-2.3.7.tar.gz 解压后在当前目录上生成 qt-2.3.7 文件夹。 (2)编译环境参数的设置 在编译 Qt/Embedded 时, 用户在 PC 机上应对编译时所需的环境变量进行设置(假 设 Qt 解压后目录为/root/work/qt-2.3.7),主要参数包括: QTDIR-Qt 解压后的所在的目录 LD_LIBRARY_PATH-Qt 共享库存放的目录。 TMAKEPATH-tmake 编译工具的路径 (假设 tmake-1.1 所在的目录为/root/work) PATH-交叉编译工具 arm-linux-gcc 的路径 [root]$export QTDIR=/root/work/qt-2.3.7 [root]$export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH [root]$export TMAKEPATH=/root/work/tmake-1.1/lib/qws/linux-arm-g++ [root]$export PATH=/usr/local/hybus-arm-linux-R1.1/bin:$PATH (3)Qt/Embedded 的编译配置 Qt/Embedded 的编译配置主要通过 configure 命令进行配置。用户可通 过./configure Chelp 查看配置选项,下面介绍几个主要的配置选项功能(*表示默 认选项) 。 -release ...编译成发布版本; -debug ...编译具有调试信息的版本 -shared ...编译生成和使用共享库 (libqte.so);-static ... .编译生成和 使用静态库(libqte.a) -no-thread ...不支持线程编译;-thread ...支持线程编译。如果在编译时选第 26 页 西安文理学院本科毕业设计(论文)择 -thread 选项,Qt/Embedded 编译后生成 libqte-mt.so 共享库或 libqte-mt.a 静 态库 -platform target ...编译平台的选择,在编译时,对 Qt 的源代码编译所采用 的目标平台,Qt 默认为 linux-x86-g++ -shared,一般情况下对该项无需进行配置 -xplatform target...交叉编译平台的选择。如果将 Qt 编译成不同的平台,该选项必须进行选项配置,针对 ARM 开发平台,该选项应配置为 linux-arm-g++ -shared -qconfig local ...使用用户自定义的 qconfig.h。用户可以将自定义的配置选 项(主要是预编译宏的定义) ,文件应保存在 qt-2.3.7 文件夹的 src/tools 目录下。 具体的详细配置选项内容和功能可以参考 qt-2.3.7 目录下的 PLATFORMS 文件。 (4)针对 ARM 平台编译步骤: 1)根据编译 Qt/Embedded 的环境变量的设置方法设置环境变量; 2)触摸屏共享库的编译和 Qt/Embedded 源代码的修改 Qt/Embedded 只支持鼠标和键盘的操作,但在大部分嵌入式系统中使用触摸 屏显示恶化输入,所以用户必须对触摸屏的相关操作编译成共享库或静态库。下面 介绍触摸屏共享库的编译过程。 (假设 tslib.tar.bz2 保存在/root/work) ①解压随 EELiod270 平台光盘提供的 tslib.tar.bz2 文件; ②编译触摸屏库; ③将触摸屏相关的头文件复制到 qt-2.3.7/include 文件夹中; ④将编译好的触摸屏相关库文件复制 qt-2.3.7/lib 文件夹中; [root@local work]$tar -jxf tslib.tar.bz2 [root@local tslib]$cd tslib [root@local tslib]$export CC=arm-linux-gcc [root@local tslib]$./autogen.sh [root@local tslib]$./configure --host=arm-linux [root@local tslib]$make [root@local tslib]$cp -a src/.libs/* [root@local tslib]$ /root/work/qt-2.3.7/lib/第 27 页 西安文理学院本科毕业设计(论文)cp -aplugins/.libs/*.so /root/work/qt-2.3.7/lib/[root@local tslib]$cp Cf src/*.h /root/work/qt-2.3.7/include/ ⑤修改 qt-2.3.7 交叉编译环境参数文件使其增加对触摸屏的支持; 用文本编辑器 vi 或 gedit 打开 qt-2.3.7 目录下的 configs/linux-arm-g++-shared 文件,将 SYSCONF_LIBS = -lm 修改为 SYSCONF_LIBS = -lm -lts,然后保存修改后的文件。在编译 qt-2.3.7 源代码过程中使用触摸屏共享库。 3)执行 configure 命令生成编译时所需的 Makefile。 # ./configure Cxplatform linux-arm-g++ -shared 在执行上述 configure 命令时,系统会问到如下几个问题。 ①是否同意 license?选 yes ②编译配置特性选择: 1. Minimal (630 kB)& 2. Small (960 kB)& 3. Medium (1.5 MB)& 4. Large (3 MB)& 5. Everything (5 MB)& 6. Your own local configuration (src/tools/qconfig-local.h) 选择第 5 项 Everything, 表示选中所以项, 实际上在嵌入式系统中 Qt/Embedded 部分功能根本用不了或用不上,所以为了减小编译库的大小,用户可以根据需要对 Qt/Embedded 进行适当的裁剪。具体可以参考 qt-2.3.7/src/tools/qconfig-xxx.h 文 件 中 的 宏 定 义 ( xxx 表 示 有 几 个 类 似 的 文 件 ) 或qt-2.3.7/doc/html/features.html。 ③象素深度选择: v. VGA-16 - also enables 8bpp 4. 4bpp grayscale - also enables 8bpp 8. 8bpp 16. 16bpp第 28 页 西安文理学院本科毕业设计(论文)24. 24bpp - also enables 32bpp 32. 32bpp 默认选择为 8,16,可以根据 LCD 的象素特性进行选择,可使用默认选项。 ④是否支持 Qt Virtual Framebuffer?在 ARM 开发平台上,可以选择 no。如果 将 Qt/Embedded 编译成能在 X windows 运行的程序,应选择 yes。 配置选择结束后,Qt/Embedded 会输出对不同选项的配置选择结果。同时生成编 译时所需要的 Makefile 文件。 Building on: Building for: linux-x86-g++-shared linux-arm-g++-sharedThread support..................... no GIF support........................ no MNG support........................ no JPEG support....................... no Creating makefiles... Qt is now configured for building. Just run make. To reconfigure, run make clean and configure (5)编译: 在配置完成后,通过运行 Make 实现对 Qt/Embedded 的编译。 #make 如果编译成功,系统输出: The Qt library is now built in ./lib The Qt examples are built in the directories in ./examples The Qt tutorials are built in the directories in ./tutorial ?? Enjoy! - the Trolltech team编译生成的共享库 libqte.so.2.3.7 保存在 Qt 目录的/lib 文件夹中, 通过查看 /lib 文件夹的文件可以确认编译是否成功。第 29 页 西安文理学院本科毕业设计(论文)第七章 模拟实现硬件设计由于时间及实验条件和本人能力所限,本论文并没有对所有设计模块进行实物 验证,只验证了安全防范模块中的监控模块既摄像头监控部分进行调试和验证,有 不足之处请多多谅解。7.1 Video4Linux 和 USB 摄像头驱动配置 7.1.1.Vedeo4Linux 简介Video For Linux(简称 VFL),是 linux 中关于视频设备的内核驱动,它定义了 一套接口,内核、驱动、应用程序以这个接口为标准来进行交流。视频应用程序通 过标准的系统调用即可操作各种不同的视频捕获设备。目前的 V4L 涵盖了视、音频 流捕捉及处理等内容,USB 摄像头也属于它支持的范畴。 在 Linux 下,所有外设都被看成是一种特殊的文件,称为设备文件。系统调用 是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接口,它完 成设备的初始化和释放、对设备文件的各种操作和中断处理等功能,为应用程序屏 蔽了外设硬件的细节,使得应用程序可以像普通文件一样对外设进行操作。7.1.2.OV511 摄像头驱动的加载(1)静态加载 在 arm linux 的 kernel 终端目录下执行 make menuconfig。 首先(*)选择 Multimedia device-&下的 Video for linux。加载 video4linux 模块,为视频采集设备提供了编程接口; 然后在 usb support-&目录下(*)选择 support for usb 和 usb camera ov511 support。这使得在内核中加入了对采用 OV511 接口芯片的 USB 数字摄像头的驱动支 持。 保存配置退出。 执行 make dep;make zImage。 此时在/tftpboot 下就生成了带有 ov511 驱动的内核。 (2)动态加载第 30 页 西安文理学院本科毕业设计(论文)在 arm linux 的 kernel 目录下 make menuconfig。 首先&*&选择 Multimedia device-&下的 Video for linux。 然后在 usb support-&目录下&*&选择 support for usb 和&M&选择 usb camera ov511 support。 保存退出。 Make dep;make zImage;make modules 然后就在/driver/usb 下生成 ov511.o, 同时生成的 zImage 自动放在/tftpboot 下。 然后用新内核启动板子后 insmod ov511.o 就可以成功加载。 动态方式与静态方式相比,测试时要简单的多。不需要下载整个内核,只需通 过 nfs,加载驱动即可测试。在测试成功后就可以编译进内核。7.2 图像获取Video4Linux 可以为 USB 口的摄像头提供统一的编程接口。本设计主要针对 USB 摄像头设备文件/dev/video 进行图像采集方面的程序设计。图像采集的流程主要包 括:打开视频设备;读取设备信息;初始化设置;进行视频采集;关闭摄像头设备。 本设计分别建立以下函数来实现图像采集功能: bool frmclient::InitCamera(int index, int width, int height) :用于初 始化摄像头; void frmclient::SendPicture():用于发送图像数据; char *frmclient::bgr24_bgr32(int width,int height, char *src): 视频数 据转换; void frmclient::NetworkControl():判断是否有网络连接; void frmclient::CameraControl():控制视频采集定时器是否开启 具体流程图如下图 5-4 所示:第 31 页 西安文理学院本科毕业设计(论文)初始化USB摄像头N初始化成功吗?Y N 视频采集 使能允许吗? Y网络传输 使能允许吗 YN开视频采集 定时器关视频采集定时器定时视频采集启动视频网络传输返回图 7-4 视频处理流程第 32 页 西安文理学院本科毕业设计(论文)结束语在经过充分的考察了解和对大量资料的研究后,分析了国内外智能住宅的现状 和发展趋势,并结合我国住宅的实际情况以及人们的需要,给出了一种智能家居控 制系统的开发设计方案。经过一段时间的努力,毕业设计终于接近尾声,答辩即将 开始,我们的大学生活也就要划上结束符号。在设计过程中,我学到了许多在书本 学不到东西,并且通过自己的努力,解决了许多技术上的难题,锻炼了我的实际操 作能力,提高了我的实际操作水平,这些对将来的学习和工作都提供了一笔宝贵的 财富。 由于时间短、实验条件有限,更多的是本人能力有限,没有实现论文中的全部 设计,但是在不断的摸索开发中我渐渐熟悉了嵌入式系统基本的开发流程,熟悉了 一些基本工具的使用,理解了一些基本原理,算是一个小小的入门。设计过程中, 我感觉从事嵌入式开发这个行业要学的东西实在太多了,不光是软件方面,想要做 得好的话,必须做到软硬兼通,这中间缺的知识太多太多,需要努力的去学习,这 个行业的前景比较好,但需要付出很大的努力,相信自己能成为一名合格的嵌入式 系统开发人员。 在这大学的最后时间里,回忆起这四年的时间,很多感慨,有好多知识我只是 学了个一知半解,现在发现懂得太少,想好好补习一下所缺的知识,却发现没有时 间可以留给自己了,懊悔是没用的,只能以后努力了。相信走向社会后,只要朝着 自己的目标一直努力,不放弃任何机会,梦想终会成真的!第 33 页 西安文理学院本科毕业设计(论文)致谢在设计工作期间,我得到了众多老师同学的帮助,在大家的帮助之下我才顺利 地完成了毕业设计。我特别感谢我的指导老师朱继萍老师给我莫大的支持,她负责 任的指导和建议使我受益非浅,她每时每刻的督促使我们不敢有丝毫的怠慢,对此 我们深表感激。我还要感谢学院领导、辅导员老师和其他老师,是他们给我们提供 了如此好的学习和设计环境,使我们能够全心全意的从事设计工作,他们时时关心 我们的设计进展情况使我们深受感动。我还要感谢我的同学们的帮助,他们给了我 很多帮助。我还必须感谢在网上那些不知道姓名的朋友,是他们给了我无私的帮助, 使我们顺利渡过难关,在我遇到一些从未见过的技术问题的时候,是他们站出来帮 我解答。还有其他的一些老师和同学也给了我们很多帮助,在此一并谢过了。第 34 页 西安文理学院本科毕业设计(论文)参 考 文 献[1] 深圳市英蓓特信息技术有限公司.ARM9 Linux 实验教程,深圳:2005 [2] 深圳市英蓓特信息技术有限公司.ARM 基础实验教程, 深圳:2005 [3] 周立功. ARM 嵌入式系统基础教程.北京:北京航空航天大学出版社,2005 [4] 张守信. GPS 技术与应用.北京国防工业出版社,2004 [5] 李明峰 2006 [6] 孙琼. 嵌入式 Linux 应用程序开发详解. 北京:人民邮电出版社, 2006 [7] 锐极电子科技有限公司.ARM & Linux 嵌入式系统开发详解. 北京:北京航空航 天大学出版社,2007 [8] 孙纪坤 2006 [9] (美)A.鲁宾尼(Alessandro Rubini).LINUX 设备驱动程序. 北京:中国电力出 版社,2000 [10] 杨树青 王欢编著.Linux 环境下 C 编程指南. 北京:清华大学出版社,2007 张小全编著.嵌入式 Linux 系统开发技术详解. 北京: 人民邮电出版社, 冯宝红 刘三枝编著. GPS 定位技术及其应用.北京国防工业出版社,[11] 深圳市优龙科技有限公司. Qt 嵌入式图形开发. 深圳,2004 [12] 倪继利. Qt 及 Linux 操作系统窗口设计. 北京:电子工业出版社,2006 [13] (加) 布兰切尼 (英) 桑姆梅菲尔德著. C++ GUI Qt3 编程.北京:北京航空航天大学出版社,2006第 35 页 西安文理学院本科毕业设计(论文)附录An Overview of Embedded LinuxAndrew Tucker
CSE 585 March 2000AbstractIn this paper I will discuss the current state of embedded Linux. details in six key areas: ? ? ? ? ? ? Configurability Real time performance Graphical user interfaces Development tool support Economic considerations Technical support options I’ll outline what Linux is and whatcharacteristics make an embedded Linux system different from a desktop system. I will then discussFollowing that I will compare the real time performance, OS image size, and RAM requirements of embedded Linux with that of Windows CE. I’ll then discuss some retail devices based on embedded Linux and conclude with some general observations on embedded Linux.IntroUnless you’ve been living under a rock for the last few years, you’ve no doubt heard of Linux. Touted as the open source competitor to Microsoft’s Windows NT, it has been much hype and discussion in both the software development and system administration communities, as well as mainstream non-technical news media. When first introduced, Linux was specifically targeted to desktop PCs running an Intel 80x86 or compatible microprocessor. Linus Tmrvalds, the inventor of Linux, was quoted as saying “Linux will never rqn oN anything but a PC with an IDE hard(disk since that is all that I have”. Looking back from th% state of things here in the 21st century, the quote is quite humorous. Today Linux has been ported to many different microprocessors and runs on platforms that don’t include any (ard disc at all. These devices are not even general purpose comput$r systems a.d include things such as network第 36 页 西安文理学院本科毕业设计(论文) routers, heart monitors, a.d data collection units for tracking tornadoes. It is these ty`e of systems that have colldctively come to be labeled as “Dmbe`ded Linux”. In the next seation I’ll look qt what distinguishes an embedded Linux system fRom its desktop cousins. I gill then d)scuss the features of embedded Linux in six areas: bonfigur!bil

我要回帖

更多关于 人工智能家居产品 的文章

 

随机推荐