邢远 发表于 2014-7-26 15:26:37

浅析智能家居硬件开发文档




前言既互联网技术之后,物联网作为一个信息技术综合应用的代名词,掀起信息产业第三浪潮,大国纷纷将其纳为重点领域,显而易见,它将影响到政治,军事,经济,环境等方方面面,必在未来极大地改变人们的生活。物联网是新一代信息技术的重要组成部分。其英文名称是“The internet of things”。顾名思义,“物联网就是物物相连的互联网”。这里包括两层意思:第一,物联网的核心和基础仍然是互联网,它是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。因此可总结出,物联网的定义是:通过射频识别(RFID)、光电感应器、全球定位系统、激光扫描器信息传感设备,按约定的协议,把任何物体与互联网相连接,进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的一种网络。物联网上部署了海量的多种类型传感器,每个传感器都是一个信息源,不同类别的传感器所捕获的信息内容和信息格式不同。传感器获得的数据具有实时性,按一定的频率周期性的采集环境信息,不断更新数据。其目的是实现物与物、物与人,所有的物品与网络的实时连接,方便识别、管理和控制。其在2011年的产业规模超过2600亿元人民币,行业竞争将会越来越激烈。在市场应用方面,2011年从整体来看,占据中国物联网市场主要份额的应用领域为智能工业、智能物流、智能交通、智能电网、智能医疗、智能农业、智能环保和智能家居等。本文研究的是基于物连网技术的智能家居系统。“智能家居”,又称智能住宅,是通过采用先进的计算机技术、网络通信技术和综合布线技术,建立一个由家庭安全防护系统、网络服务系统和家庭自动化系统等组成的家庭服务与管理集成系统,从而实现全面、安全、舒适的居住环境以及便利的通讯网络家庭住宅。把与家庭生活有关的各种子系统有机结合在一起统一管理,使生活舒适、安全、和高效,具有良好的发展前景。随着科学技术的发展和物质生活水平的提高,人们对家居生活环境的要求也越来越高。家居不再是生活起居的场所,同时也是休闲、娱乐的地方。目前,高科技技术已经融入智能建筑当中,智能的概念也不断得到深化和更新。建设部要求根据不同消费者的需求,推动家居数字化、建筑智能化,产品便利化的发展,未来智能家居市场潜力巨大。智能家居是一个多功能的系统,它包括可视化对讲、家庭内部的安全防范、家电远程监控,远程视频监控、远程医疗诊断及护理系统,网上教育系统、家庭影星系统等。智能家居的基本目标是将家庭中各种信息相关的通信设备、家用电器和家用安防等装置连接到一个智能化系统上进行集中或异地监视、控制和家庭事务性管理,并保持这些家庭设施与住宅环境的和谐与协调。随着人类的应用需求和住宅智能化的发展,智能家居系统将拥有更丰富的内容,系统也越来越复杂,功能也越来越齐全。在当前市场中,智能家居相比传统家居、建材行业所占的市场份额还是微乎其微。在目前的智能家居市场中不少企业均是发展项目与渠道建设并行发展,其中项目合作占据着相当重要的位置,这些项目往往也是定位相对高端的别墅、复式楼和大户型高档小区住宅居多。随着信息技术和Internet技术的飞速发展,智能家居技术在实现成本上大幅度降低,同时人们永不停步地追求生活智能化和舒适化,如果技术更加成熟、成本更加低廉,功能更加完美,其市场需求将会非常巨大。


第1章绪 论随着人们生活水平的提高,电子技术,通信技术和自动化技术的日趋完善,家居智能化相应也就出现在了人们的生活中。它既能给我们营造了温馨舒适、安全便捷的生活环境,还能够对家电设备进行实时监控以及管理,当家庭安全问题出现后还能及时给我们相应的警报。智能家居系统是将大大小小的各种家用电器以及家庭安全保护设备通过有线或无线的方式连接起来,可以进行集中或远程的监控、管理,为家庭住宅环境的安全提供了高效的管理方式。与普通的家居相比,智能家居不仅包括了普通家居的全部功能,更重要的是它提供给了我们温馨快乐,且安全高效的高质量生活环境,还将一个看似静止的生活空间变成了一个有一定高智能的生活小帮手,更加进一步优化了我们的生活质量。1.1智能家居的简介智能家居系统的概念起源于上世纪70年代的美国,随后,传播到欧洲、日本等国并且得到了很好的发展。在我国,智能家居这一概念推广较晚,约在90年代末家居智能化系统才得以进入国内,但发展速度惊人,至今已存在相当数量的智能化小区及住宅。所谓智能家居(Smart Home)是现代电子技术、自动化技术及通信技术相结合的产物。它是以家为平台,兼备建筑、自动化,智能化于一体的高效、舒适、安全、便利的家居环境。自动化的智能家居不再是一幢被动的建筑,相反,成了帮助主人尽量利用时间的工具,使家庭更为舒适、安全、高效和节能。智能家居是现代社会最热门的话题之一,它的目标是通过网络等信息通信技术手段实现对家居电器等的智能控制,使其能够按照人们的设定工作运行,而不论距离的远近。智能化与远程控制是智能家居的两大特点。目前,已经有越来越多的机构和个人开始了对智能家居进行研究。 随着网络技术的发展,特别是无线网络的发展,网络化智能家居系统可提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手段,使生活更加舒适、便利和安全。它能够自动控制和管理家电设备,对家庭环境的安全进行监控报警,并且能够为住户提供安全舒适、高效便利的学习生活及工作环境。家居智能化系统将家庭中各种与信息相关的通信设备、家用电器以及家庭保安装置通过有线或无线的方式连接起来,并进行集中或异地的监控、管理,保持家庭住宅环境的舒适、协调。
1.3 本课题研究的目的和意义根据前面提到的一些调查结果及数据可以看出,虽然目前智能家居系统有了一定的发展,并且市场上也开始出现相应的产品,但从总体的发展来看,不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。 智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗。而且在现在这个注重绿色环保的世界里,智能地为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理,危机救护等急救控制,充分达到只要是“用户想要的,就是我们追求的”宗旨。1.4 本课题研究的基本内容本次设计是基于ARM9的S3C2440核心处理器,以Linux嵌入式系统为家居总中心监控系统,使用Linux Qt完成控制程序及人机界面的编写,采用ds18b20温度传感器、MQ-2烟雾传感器、光电传感器为数据采集源,采用西门子公司的AT35GSM模块完成通信及监控功能,实现了远程监控、实时监控家居温度、空气质量,以及家居重要财产防盗的功能。1.5 本章小结本章主要分析了智能家居的研究背景,以及国内外的发展现状及发展趋势,以及智能家居平台系统的技术特点。最后简单介绍了本智能家居系统的基本内容和设计思路。
第2章 系统的总体方案设计2.1 系统需求分析针对国内市场的实际情况分析,消费者对远程抄表和物业管理兴趣索然,但是对家电控制、家居安防报警网络却情有独钟,所以目前众多企业都往这一方向发展。而嵌入式技术在最近几年得到了广阔的发展。嵌入式处理器的性能得到了显著地提高,这就为以嵌入式为基础的智能化家居系统的发展奠定了硬件基础,使较复杂的检测和识别算法在系统中得到应用。在软件方面,出现了丰富的支持嵌入式设备的软件,使嵌入式系统的开发的难度降低,出现了大量专注于嵌入式的企业,使嵌入式开发中能得到良好的技术支持。同时智能化家居的概念也更加明确,相关的智能化技术得到了显著地发展,使开发能获得大量先进的资料。设计本智能家居系统,需要满足以下需求。2.1.1 系统功能需求分析(1)能用手机通过收发短信的方式检测家电,打开、关闭家电的工作状态。(2)在家居的门口安装了4*4键盘,当用户输入正确的密码可以把门打开,用户通过其他非法手段比如撬开锁时,系统及时启动报警模块,达到防盗的功能。(3)能实时测量家居内温度、烟雾情况,当室内烟雾浓度偏高时,系统可以打开室内抽风机把室内有害气体抽出室外,当室内烟雾浓度过高,系统启动火灾报警模块,提示家居主人预防火灾的发生。(4)当有小孩靠近窗户时,系统自动把窗户关上,避免小孩可能发生坠楼的危险,当小孩离开时,系统自动把窗户打开。2.1.2 性能需求分析智能家居系统在正常运行时,几乎每时每刻都在运行,必须高度重视系统的稳定性和可靠性,尽量提高系统的容错能力,同时一定要保证系统安全,性能良好。2.1.3 用户界面及其他需求分析智能家居相关的设备都是跟人们生活息息相关的,因而智能家居系统必须要求用户界面友好,用户体验效果良好,并且使用户可以很容易掌握操作流程,同时要求实用、舒适和有个性等。2.2 系统设计的原则智能家居又称智能住宅,它的最基本目的是为人们提供一个舒适、安全、高效、方便、实用的生活环境。对智能家居产品来说,最重要的是应立足于客户的对家居环境的具体需求,以实用为核心,摒弃掉那些华而不实的功能。同时还要充分考虑到用户体验,注重操作的便利化和直观性,注重完美的图形化控制界面。智能家居系统大部分时间都在运行,必须高度重视系统的安全性、可靠性和容错能力,保证系统正常安全使用、质量、性能良好,具备应付各种复杂环境变化的能力。根据目前国内外智能家居系统的发展现状,人们不仅关注家居内部控制,更加注重对家用电器内部情况进行远程实时监控。在要求智能家居控制系统方便快捷的同时,还要求产品外观小、功耗低、成本低和扩展性号的特点。本系统主要针对用户家庭内部进行远程控制,主要实现的功能有:通过远程监控家电运行情况、通过温度、烟雾传感器检测家居温度、空气质量的情况,通过光电传感器监控家庭重要财产,具有防火防盗的功能。2.3 系统总体架构设计本课题旨在设计一套智能家居系统,根据系统的设计需求,本控制系统采用分布式控制方式对智能家居的各部分进行统一控制,主要包括远程监控家电 (包括台灯、风扇) 部分,具有语音提示功能的密码锁防盗部分,窗户自动关窗预防小孩坠楼部分,烟雾浓度监测自动报警部分。各个模块相互独立,某个模块出现故障不影响其他模块运行。本智能家居系统整体架构框图如图2.1所示。
图2.1智能家居系统整体架构框图该智能家居系统用S3C2440处理器,控制器控制远程监控家电模块,检测温度、烟雾模块,密码锁模块等。在实际开发中先在ARMLinux中编写每个模块的驱动程序,编译加载驱动后应用层方能操作硬件模块,手机通过收发短信的方式通过应用层程序与硬件模块通信达到控制硬件的目的。2.4 系统主要硬件介绍2.4.1 ARM处理器嵌入式系统常用的处理器有单片机和ARM,由于考虑到单片机引脚少、功能简单以及后续学习研究等原因,故选择功能更强大的ARM处理器。随着电子技术的发展,ARM处理器经历了包括ARM7、ARM9、ARM11等在内的多个发展阶段,不断成熟的ARM处理器的应用必将为嵌入式的发展带来新的活力,是更高端的产品应用成为可能。Mini2440ARM是一款真正低价实用的ARM9开发板,它采用SamsungS3C2440为微处理器,并采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。它采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。本系统初期采用友善之臂公司集成的mini2440开发板,开发板硬件资源如下所示。图2.2 开发板硬件资源开发板的硬件资源包括:ØSamsung S3C2440A处理器:n主频400MHz,最高533Mhz。ØSDRAM内存:n在板64M SDRAM,32bit数据总线,SDRAM 时钟频率高达100MHz。ØFLASH 存储:n256M Nand Flash, 掉电非易失。n在板2M Nor Flash,掉电非易失,已经安装BIOS。ØLCD显示:n板上集成4线电阻式触摸屏接口,可以直接连接四线电阻触摸屏,支持黑白、4级灰度、16级灰度、256色、4096色STN液晶屏,尺寸从3.5寸到12.1寸。n屏幕分辨率可以达到1024x768象素,支持黑白、4级灰度、16级灰度、256色、64K色、真彩色TFT液晶屏;尺寸从3.5寸到12.1寸,屏幕分辨率可以达到1024x768象素。n   标准配置为统宝3.5 真彩LCD,分别率240x320,带触摸屏。Ø接口和资源:n   1个100M以太网RJ-45接口(采用DM9000网络芯片) 。n   3个串行口。n   1个USB Host 。n   1个USB Slave B型接口。n   1个SD卡存储接口。n   1路立体声音频输出接口,一路麦克风接口。n   1个2.0mm间距10针JTAG接口。n   4 USER Leds 。n   6 USER buttons(带引出座) 。n   1个PWM控制蜂鸣器。n   1个可调电阻,用于AD模数转换测试。n   1个I2C总线AT24C08芯片,用于I2C总线测试。n   1个2.0 mm间距20pin 摄像头接口。n   板载实时时钟电池。n   电源接口(5V),带电源开关和指示灯。n系统时钟源:n   12M无源晶振。Ø实时时钟:n   内部实时时钟(带后备锂电池)。Ø扩展接口:n   1个34 pin 2.0mmGPIO接口。n   1个40 pin 2.0mm 系统总线接口。Ø规格尺寸:n   100 x 100(mm) 。Ø操作系统支持:n   Linux2.6.32.2 + Qtopia-2.2.0+QtE-4.6.1(独创双图形系统共存,无缝切换) 。n   WindowsCE.NET 6.0(R3)。2.4.2 TC35模块TC35是西门子公司出的一款双频900/1800MHZ高度集成的GSM模块。在GSM网络日臻完善的今天,它易于集成,可以在较短的时间内花费较少的成本开发出新颖的产品。在远程监控和无线公话以及无线POS终端等领域您都能看到TC35无线模块在发挥作用。本系统采用TC35对家电进行远程监控,TC35的主要特征如下:Ø信息传送内容:语音和数据。Ø电源:单电源 3.3V~ 5.5V 。Ø频段:双频GSM900MHz和 DCS1800 MHz(Phase 2+) 。ØSIM 卡连接方式:外接。Ø天线:由天线连接器连接外部天线。Ø短信息:MT,MO, CB 和 PDU 模式。Ø音频接口:模拟信号(麦克风,耳麦,免提手柄)。Ø通讯接口:RS232(指令和数据的双向传送)。Ø模块复位:采用AT指令或掉电复位。Ø串口通讯波特率:300bps...115kbps 。要实现发短信或语音功能主要是通过开发板串口发送AT指令经max232把TTL电平转换成RS232电平并处理TC35反馈回来的信息来进行的。下面图2.3是TC35模块和max232串口转换电路。图2.3 TC35模块和max232串口转换电路2.4.3温度传感器本系统选择DALLAS公司生产的DS18B20温度传感器进行开发。DS18B20以超小的体积、超低的硬件开销,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20的主要特征和引脚封装原理图如下:Ø全数字转换及输出。Ø先进的单总线数据通信。Ø测量结果以9~12位数字量方式串行传送。Ø不需要外围任何元件。Ø测温范围-55℃~+125℃,固有测温分辨率为0.5℃。Ø工作电压:3~5V/DC。ØPVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。图2.4DS18B20封装及原理图DS18B20引脚功能说明如下:(1)DQ为数字信号输入/输出端。(2)GND为电源地。(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20与ARM处理器的接口十分简单,只需要将DS18B20的信号线与控制线的一位双向端口连接即可。本系统将DS18B20的信号线与S3C2440的GPE0引脚连接,如下面图2.4所示。图2.4DS18B20引脚电路图2.4.4 MQ-2烟雾传感器MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。MQ-2的主要特征如下:Ø工作温度:-10℃~+50℃Ø报警浓度:0.65~15.5%FTØ工作湿度:10~90%Ø工作电源:12VDC/9VDCØ信号输出:常开/常闭Ø安装方式:吸顶Ø外壳:阻燃树脂Ø产品尺寸:直径105mm 厚度32mm图2.4 MQ-2 引脚接线图根据MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻是电导率的倒数,所以随着烟雾浓度的增大其电阻是减小的)并且参考图MQ-2Datasheet上的测试电路,在根据图2.4的电路图,可以得到烟雾传感器的输出电压如式2.1所示。    (式)2.12.4.5光电传感器光电传感器是各种光电检测系统中实现光电转换的关键元件,它是把光信号(红外、可见紫外光辐射)转变成为电信号的器件。光电传感器是以光电器件作为转换元件的传感器。它可以用于检测直接引起光量变化的非电量,如光强等。本设计试图把光电传感器安装在家庭保险柜或其他重要的财产出,当小偷或其他非家庭主人试图靠近保险柜等重要财产处能自动触发语音报警,从而达到防盗的目的。图2.5 光电传感器引脚图光电传感器简单易用,正确接好线之后输入3.3V高电平,当检测到有障碍物时会一直输出低电平信号。我们把光电传感器的输出引脚接单片机的EINT5/GPF5中断引脚,程序中设定低电平触发,当有小偷靠近保险柜或家居其他重要财产时,系统能捕捉到这一信号从而做出反应。2.4.6 ISD1760语音芯片语音报警部分采用isd1760语音芯片来完成。ISD1700系列录放芯片可工作于独立按键模式和SPI控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入。本设计采用独立按键模式,连接好电路后给芯片的23脚一个电平信号即可播放提前录好的声音。图 2.6 isd1760语音芯片接线引脚图4.1GSM远程控制模块的实现4.1.1 mini2440串口的配置和实现在实际程序设计过程中主要包括两个组成部分,其一是串口的硬件驱动程序,其二是文件系统上的应用程序。S3C2440本身自带了3个串口UART0、1、2,其中UART0做了RS232电平转换,UART1、UART2输出的点平是TTL电平,但是从NFS启动系统需要用到UART0,我们开发时用到UART2,中间经过232电路与GSM模块连接。开发板的内核源代码自带了串口驱动程序,在开发时我们不需要自己编写驱动。在Linux中,所有东西都可以看成文件,在应用层想使用串口时首先需要打开串口:intfd;fd=open(“/dev/ttySAC1”,O_RDWR);if(-1==fd){/*不能打开串口二*/perror(“提示错误!”);}打开串口后还不能时串口正常工作,需要正确设置串口包括设置波特率、效验位和停止位的设置,设置串口主要是设置structtermios结构体的各成员值。Structtermios{unsigned short c_iflag;//输入模式标志unsigned short c_oflag;//输出模式标志unsigned short c_cflag;//控制模式标志unsigned short c_lflag;//本地模式标志unsigned char c_line;//控制协议unsigned char c_cc;//控制模式字符};几乎对串口的操作都是通过结构体structtermios和几个函数实现,其中最重要的是tcgetattr()和tcsetattr(),刚开始程序通过tcgetattr()函数获取设备当前的设置,然后修改这些设置,最后用tcsetattr()使设置生效。在使用串口时,波特率设置成b9600,无校验位,8位数据位和一位停止位。设置好串口之后,就可以通过把串口当作文件读写了。发送数据:charbuffer;intLength=1024;intnbyte;nbyte= write(fd,buffer,Length);接受数据:charbuffer;intLen=1024;intreadbyte= read(fd,buff,Len);4.1.2 通过串口发送短信前面已经简单介绍过TC35模块,TC35模块有40个引脚,通过一个ZIF(ZeroInsertionForce,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。在开发中我们用的是GSM集成模块,模块把我们需要使用的引脚都接了出来,开发时只有提供电源和接上MAX232电路即可。由于开发板上输出的电平是TTL电平,TC35模块输入输出的是RS232电平,因而开发时需要自己外接MAX232电路进行电平转换。让TC35工作的过程主要是通过开发板的串口给TC35发送AT指令以及处理开发板返回的AT指令。通过GSM短信模块发送短信主要有两种格式:英文短信和中文PDU短信。下面是发送英文短信的收发过程。发:AT       //与AT35握手
收:OK
发:AT+CMGF=1   //选择发送短信的格式
收:OK
发:AT+CMGS=15215029882   //要发送的手机号
收:>
发:data→       //test 为发送内容,→为发送符(ctrl+z,十六进制0x1A)
收:+CMGS: 54 OK知道了GSM英文短信的发送过程,只要把握好顺序用nbyte= write(fd,buffer,Length);即可实现发送英文短信的功能。本设计中,用发送短信主要是为了实现家电远程监视的功能,当用户发送检测家电的请求时,系统通过发送英文短信向用户反馈家电的工作状态,从而达到检测家电的功能。要控制家电,首先系统要识别是什么用户向系统发送了消息,而且系统还要识别受到消息的内容,从而对家电进行控制。系统首先保存用户的电话号码,当用户收到消息时,首先判断是否是智能家居系统对家电发送了消息,如果是系统的主人发送的控制命令,系统接着对短信进行解析,最后控制器对家电进行控制。若智能家居系统收到其他用户的短信请求,将不会对短信进行解析,也不会对短信进行监控。GSM短信模块远程监控家电过程如图4.3所示:图4.3 GSM短信模块的程序流程图控制器的串口和连接GSM模块的max232串口相连接,当GSM模块收到信息后马上向开发板返回AT指令信息,因而系统一直在检测是否收到短信,4.2温度采集模块的实现DS18B20温度传感器提供9位到12位(二进制)温度读数,指示器件的温度信息经过单线接口送入DS18B20或从DS18B2O送出,从主机CPU到DS18B20仅需一条线(共地),DS18B20可选择两种供电方式,一是数据总线供电方式,可节省一根导线,但测量温度时间较长;二是外部供电方式,DS18B2O工作电源由VDD引脚接入,I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,这样虽多用一根导线,但测量速度较快,同时总线可以挂接多个DS18B20传感器,组成多点测温系统,为了实现及时多点采集温度,本设计选用了外部供电的方式。DS18B20的测量范围从-55摄氏度到+125摄氏度,增量值为0.5摄氏度,可在1s(典型值)内把温度变换成数字,每一个DS18B20在出厂时已给定了唯一的序号,多个DS18B20可以存放在同一条单线总线上,实现多路温度采集。DS18B20的序号值存放在DSl8B20内部的ROM(只读存贮器)中,多路测量时需用DS18B20的ROM搜索命令对所有单线总线上的传感器进行搜索,然后初始化各DS18B20并发送跳过ROM命令和RAM温度转换命令,单线上各DS18B20完成温度转换后,即可定位某一个DS18B20,并用匹配ROM命令和RAM温度读取命令读取其数字温度值。ROM和RAM存储器操作命令分别如表4.1和表4.2所示:表4.1 ROM存储器操作命令
ROM 指令代码指令功能
Read ROM33H读取DS18B20的64位器件序列号
Match55H总线控制在单线上定位一只特定的DS18B20
Skip ROMCCH总线控制器不需发送器件序列号就可对存储器操作
Search ROMF0H识别单线总线上各单线器件的序列号
Alarm ROMECH对温度超过报警上、下限的器件做出警告搜索响应

表4.2 RAM存储器操作命令
RAM 指令代码指令功能
Write Scratchpad4EH写入数据到储存器字节2,3和字节4
Read ScratchpadBEH读暂存存储器
Copy Scratchpad48H将暂存器中TH,TL和配置寄存器内容复杂到E2PROM
Convert Temperature44H启动DS18B20温度转换
Recall EPROMB8H将E2PROM中TH,TL和配置寄存器内容回写到暂存器
Read Power supplyB4H读电源
数字温度传感器DS18B20将模拟温度信号直接转换为数字信号,然后通过串行通信的方式输出。因此,温度采集的关键是DS18B20的通信协议,为了确保数据转换与传输的完整性,DS18B20器件必须采用严格的通信协议与处理器S3C2440进行数据通信DS18B20数据通信协议包括传感器的初始化,数据执行ROM操作命令和存储器操作命令等。初始化协议定义复位和存在脉冲时序,数据执行协议定义处理器读0读1时序和写0写1时序,所有的命令和数据以字节发送,并且低位在前,高位在后,DS18B20数据通信时序图如图4.4所示:图4.4 DS18B20数据通信时序图处理器将单线总线DQ从逻辑高电平拉为逻辑低电平时,启动一个写时序,所有的写时序必须在60µs~12µs内完成,并且两个连续的写时序之间至少需要1µs的恢复时间,在写“0”整个时序期间,总线一直保持为逻辑低电平,而在写“1”时序期间,处理器先将单线总线拉为逻辑低电平,在时序开始后15µs内将总线释放,写“0”与写“1”时序如图4.5所示:
图 4.5 写“0”与写“1”时序图DS18B20温度采集程序设计流程图如图4.6所示:图4.6 DS18B20温度采集程序设计流程图数据采集过程中驱动层所编写的主要函数如下:1:static intds18b20_init(void);//数据初始化2:static unsignedchar write_byte(void);//向DS18B20读数据3:static unsignedchar read_byte(void);//往DS18B20写数据4:static ssize_tds18b20_read(struct file *file,char __user *buf,size_t count,loff_t *f_pos);//读出温度值,然后利用copy_to_user函数返回给用户层。为便于调试,该驱动模块没有内核驱动方式配置,而是以模块方式配置,所以每次使用的时候必须通过运行insmoddr18b20.ko命令加载模块。温度传感器在嵌入式系统中对应的设备文件为/dev/ds18b20,首先系统调用函数intfd_ds18b20=open(“/dev/ds18b20”,O_RDWR)打开嵌入式设备中的传感器设备,打开设备失败返回-1,以后的系统函数就可以使用fd_ds18b20来对设备进行操作。关闭数字温度传感器的函数为close(fd_ds18b20)。系统通过调用read(fd_ds18b20,&result,sizeof(result))读出温度值,保存在result中,最后显示出来。4.3烟雾传感器模块的实现MQ-2气体传感器可检测多种可燃性气体,当传感器所处环境中存在可燃性气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出电压信号。根据传感器输出的电压大小判断环境中可燃性气体浓度的大小。MQ-2气体传感器输出的是电压信号,处理器要把相应的电压值转换成对应的数值,S3C2440自带了A/D转换的功能,A/D转换芯片在嵌入式系统中对应的设备文件“/dev/adc”,首先系统调用函数intfd_adctest=open(“/dev/adc”,O_RDWR)打开嵌入式设备中的A/D转换设备,打开设备失败返回-1,以后的系统函数就可以使用fd_adctest来对设备进行操作。关闭烟雾传感器的函数为close(fd_adctest)。下图是烟雾传感器的连接图。图4.7 烟雾传感器接线图如上图所示,MQ-2其他传感器有6只针状管引脚,其中4个用于信号输出,2个用于提供加热电流。设传感器表面电阻是Rs,它是通过与其串联的负载电阻RL上的有效电压信号输出获得的,参考MQ-2datasheet可得二者之间的关系如式4.1所示: 式(4.1) 根据式4.1以及MQ-2的工作原理(其电导率随着气体浓度的增大而增大,其电阻式电导率的倒数,所以电阻是减小的,其特性相当于一个滑动变阻器),可以得到式4.2。 式(4.2)为回路电压即电源电压,其加在MQ-2传感器的1脚、3脚之间,是传感器4脚、6脚输出电压,为传感器的体电阻。若气体浓度上升,必将导致下降。而的下降则会导致MQ-2的4脚、6脚对地输出的电压增大,所以气体浓度增大,其输出电压也会增大。S3C2440开发板的A/D转换器会把输入的模拟电压信号转换成0-1023之间的数字,转换成的数字越大,说明电压越大即烟雾浓度越大。假设程序中经过A/D转换后的数字是,在程序中可以设两个值、,假设=400,=800,若>,系统把室内的抽风机打开,把有害气体排出室外,若>,系统把蜂鸣器开起,进行报警。此烟雾报警模块的程序流程图如图4.8所示。图4.8烟雾报警模块的程序流程图4.4 具有语音提示功能的密码锁防盗模块的实现本模块用到了4*4键盘作为输入设备,系统所用到的键盘实物图和电路图4.9和4.10所示。图4.9 4*4键盘实物图图4.10 4*4键盘电路图‘0’-‘9’和‘A’、‘B’、‘C’、‘D’代表16个值。在程序中用按下“#”键表示确认输入密码,用按下“*”表示删除输入。如下面图4.11所示,程序不断扫描键盘,判断是否有按键闭合,若某个按键按下,系统执行延迟去抖动代码,接着继续扫描键盘,判断用户按下了哪个按键,计算按键键值,并对按下按键进行有效标志。键盘扫描算法如图4.11所示。


图4.11 4*4键盘扫描程序一开始在程序初始化某一个密码,程序不断检测用户输入,当用户输入正确密码时即打开门,同时系统将不再接收由红光电感器输入的中断信号,有人强行打开门时,屋内光电传感器检测到异常信号,系统执行中断服务程序,接着向ISD1760语音芯片发送触发信号进行语音报警。此模块整体程序流程图如图4.12所示。图4.12密码锁防盗门流程图。具有语音提示功能的密码锁防盗门模块在开始时先初始化外部中断,接着程序将一直查询红外传感器是否检测到信号,判断是否有中断请求,若发生中断请求,先判断用户是否输入了正确的密码打开门的,若是,则把门打开,若否,系统将触发语音报警模块运行。系统中用光电传感器来检测和发出中断信号。光电传感器是各种光电检测系统中实现光电转换的关键元件,它是把光信号(红外、可见紫外光辐射)转变成为电信号的器件。光电传感器是以光电器件作为转换元件的传感器。它可以用于检测直接引起光量变化的非电量,如光强等。如下图所示,光电传感器有三个引脚,红线和绿线分别连接电源正负极,黄线是信号输出线,当传感器没有检测到东西时,信号线输出高电平信号,当传感器感应到前方有东西时,输出低电平信号。光电传感器及其引脚图如图4.13所示图4.13 光电传感器及其引脚图在正常工作时,光电传感器默认输出高电平,当有人靠近时,光电传感器输出低电平。在设计时根据这个电平跳变的特征,本文利用下降沿中断的概念,当有东西靠近传感器时将触发一次中断。通过判断光电的信号线是否有下降沿的变化从而断定是否有人靠经保险柜等重要财产。光电传感器在嵌入式系统中对应的设备文件为/dev/red_sensor,首先用intfd_redsensor=open(“/dev/red_sensor”,O_RDWR)来打开嵌入式系统中的光电传感器设备驱动,fd_redsensor是调用打开设备函数后返回的文件描述符(打开错误后返回-1),之后的函数就可以使用fd_redsensor来对设备进行操作。关闭光电传感器为close(fd_redsensor)。在QT程序中本设计用到了Timer定时器的概念,每隔一秒种查看是否有外部下降沿中断的发生,当没有发生中断时,上层应用程序读到底层硬件驱动程序中copy_to_user函数返回的数据是0,当有外部中断时,读到的数据是1。当上层QT程序判断出现下降沿中断后马上发出信号触发报警模块进行语音报警。此外,语音报警模块本系统用的是外部的录音芯片ISD1760,该语音芯片是 Winbond推出的单片优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。根据芯片电路把电路连接好,提前往芯片里面录好音,当检测到可能有小偷时,通过ioctl(fd_redsensor,0,1)控制输出相应的控制电平就可以达到报警的目的。4.5 预防小孩坠楼模块近年来小孩坠楼现象时有发生,我们通过在窗户附近安装人体红外传感器,检测到小孩靠近窗户时将关闭窗户,小孩离开窗户后将把窗户打开,最大限度保护小孩的安全。在模型中我们只用了一个人体红外传感器,还不能准备判断是大人还是小孩靠近窗户,但在实际项目中可在不同高度安装人体红外传感器通过高度准确是大人还是小孩靠近窗户。人体红外传感器实物图和引脚接线图如图4.14和图4.15所示。图 4.14 人体红外传感器图4.15 红外传感器引脚图接线图红外传感器上电后输出2.3V左右的电压,检测到信号后输出0V电信号,在传感器接入控制器过程中,用74LS04芯片把输入其中的信号取反,74LS04芯片是个反相器芯片,进过测试,红外传感器没检测到信号经反向器输出高电平,红外传感器检测到有信号经反相器将输出低电平信号。由此可检测是否有小孩靠近窗户而决定是否把窗户打开或关闭。下面图4.16是预防小孩坠楼模块程序流程图。图4.16窗户预防小孩坠楼模块系统开机时,初始化人体红外传感器使其正常工作,系统一直判断是否有信号输入从而判断是否有小孩靠近窗户,当有小孩靠近窗户,判断窗户是否是打开着的,若窗户已经打开,则系统触步进电机把窗户关闭,接着延迟一段时间,再判断小孩是否已经离开窗户从而决定把窗户打开或关闭。系统中用步进电机打开或者关闭窗户,步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。我们采用的时28BYJ48型四相八拍电机(A-AB-B-BC-C-CD-D-DA-A。。。),电压为DC5V—DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。4.6本章小结本章首先介绍系统总体模块设计原理,然后分别描述系统各个模块的实现过程,包括GSM远程监控家电模块,数字温度采集模块,烟雾浓度采集及其报警模块,具有语音提示功能的密码锁防盗模块,窗户预防小孩坠楼模块。






第5章 系统测试5.1 整体界面测试该智能家居系统的开发平台是友善之臂推出的mini2440开发板,它的核心控制器是S3C2440,在项目开发中用Qtopia做为应用层程序设计包括系统界面设计。Qtopia是Trolltech公司(现已被诺基亚收购)为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台,Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。下面图4.17是该智能家居系统的整体效果图。图4.17 智能家居整体效果图为更好地展示作品,拍摄作品各模块功能,我们把整个系统拆分开来。在开发中,把智能家居系统设计成一个应用程序加载在mini2440的栏目下,下面图4.18螺丝刀所指向是该智能家居系统的程序图标。图4.18智能家居程序图标点击打开程序后智能家居系统控制器界面如下图4.19所示,系统界面显示室内温度情况,室内空气质量状态,正常情况下显示“Theair quality is well”,同时显示家电此时的工作状态。图4.19智能家居系统程序界面5.2 模块功能测试5.2.1 远程监控家电模块功能测试系统开机时,台灯和风扇都是关闭的,如上面图4.19和图4.20所示。在此时我们通过手机发送“tdk”命令把台灯打开。图4.20 向系统发送“tdk”命令
图4.21系统收到命令后把台灯打开

接着通过手机短信把风扇打开,下面图4.22和4.23是把风扇打开的测试情况。图4.22 发送“fsk”命令
图4.23 把风扇打开
此时台灯和风扇都是打开着的,经过测试下面系统界面也正确显示家电的运行状态。

图4.24 家电工作状态此时台灯跟风扇都处于工作状态,下面向系统发送“qjk”命令监控家电的工作状态,如图4.25和图4.26所示。
图4.25 发送“qjk”命令
图4.26 系统返回家电的工作状态
5.2.2 密码锁防盗模块功能测试经过测试,此模块能正确工作。下面测试具有语音提示功能的密码锁防盗模块,,首先输入密码,如下面图4.27所示。输入正确密码时将把门打开,如下面图4.28所示。图4.27 输入密码
图4.28 输入正确密码,把门打开



图4.29 通过非法手段把门打开图4.30检测到异常,进行语音报警
当有非法人员用非法方式把门打开时,系统将进行语音报警,如下图所示。经过测试,此模块也能正常工作。5.2.3 烟雾报警模块功能测试烟雾报警模块在室内空气质量良好时显示“Theair quality is well”;当烟雾浓雾偏高时,控制器上显示“The air qualityis not well!”,同时系统把抽风机打开把室内有害气体排出室外;当烟雾浓度过高时,控制器显示“Theair quality is bad!“,同时启动蜂鸣器进行烟雾报警。在测试时,用打火机给烟雾传感器加烟雾,测试烟雾传感器检测打火机有害气体的情况进行测试,经过测试,此功能模块正常工作。下面图4.30是烟雾传感器测试打火机气体情况,图4.31是厌恶浓度偏高时,系统同抽风机把有害气体拍到室外。图4.31 把门撬开时系统将进行语音报警图4.32 把门撬开时系统将进行语音报警
5.2.4 预防小孩坠楼模块功能测试经过测试,此模块能正确工作。该作品设计的是只能家居模型而非真正实物,在模型中我们只用了一个人体红外传感器,还不能准备判断是大人还是小孩靠近窗户,但在实际项目中可在不同高度安装人体红外传感器通过高度准确判断是大人还是小孩靠近窗户。下面图4.33是窗户开启状态,在窗户附近没有检测到人体存在,图4.34是窗户处人体红外传感器检测到有人(用手测试)靠近窗户把窗户关闭的情况。窗户处于关闭状态时,把手放开窗户,系统会自动打开,经测试,此模块能正常工作。
图4.33 把门撬开时系统将进行语音报警
图4.34 把门撬开时系统将进行语音报警







第6章总结与展望6.1 总结基于物联网的智能家居系统不只包含嵌入式技术的应用,同时还是一个复杂的综合性工程。在做嵌入式系统的研究的同时,还不得不从系统的角度考虑诸如网络、环保、生态等其他问题。其中涉及到的很多知识与我的专业知识相距甚远,如建筑、家电等;更加涉及到很多人文的内容。所以在作品的实现及论文的撰写过程中,都遇到了比较大的困难。这也从一个侧面反映了智能家居系统在设计和部署过程中的难度,也就可以理解为什么现在市面上的系统总是离本系统的要求相去甚远。本文所阐述的实现智能家居、园区的架构,立足于目前先进的软、硬件技术,但也没有完全摆脱传统概念的束缚。智能家居的设计必须具有前瞻性,紧密关注当前的技术发展方向,才能够确保所设计的结构、采用的技术具有扩展性和更长的生命周期。本文所提出的系统结构,引入了较先进的软、硬件技术,为进一步研究确定了方向。未来科技的发展速度是人们无法预料的,在智能家居建设方面会出现什么样的成果,也是我们所期待的。但是有一点可以肯定,随着时间的推移,我们的生活条件将会得到进一步的改善,我们的生活质量会更上一层楼。目前智能家居技术是家电领域里一个很热门的朝阳技术,基于ARM的嵌入式系统设计及开发技术也正被应用到越来越多的领域。本文将基于ARM的嵌入式开发技术应用于智能家居,设计了基于ARM的嵌入式远程智能家居监控系统。本课题主要进行了以下几个方面的工作:1.深入研究了国内外智能家居系统的现状和发展趋势,在此基础上设计了嵌入式远程家居监控系统框架。2.建立了嵌入式系统平台和开发环境,包括嵌入式Linux的裁减、移植,嵌入式Linux文件系统的制作,加载。3.设计并实现了智能家居系统的模型,该智能家居系统实现了GSM远程控制模块,温度、烟雾数据采集模块,具有语音提示功能的密码锁防盗功能模块,预防小孩坠楼模块。各个模块相互工作,不相影响,经过测试,每个模块都能正常运行。智能家居系统是个大型、复杂的系统,在研究该课题并实现智能家居系统过程中我们学习了很多相关知识,也发现了很多不足之处,比如系统界面效果欠缺友好,整体模型布线方面有待改进,智能家居系统功能还需不断完善。另外系统的稳定性、抗干扰性仍需提高。6.2 展望智能家居系统是一个庞大的网络,是一个实践应用性很强的课题。要使系统能够经受实际应用的严格考验,还需要进行许多深入细致的工作,由于个人能力和客观条件的限制,论文所作的研究还存在着很多的不足之处,根据自己大四一年来从事这方面研究的经验,可以提出如下几点展望:(1)丰富家居主控制器的外围电路设计,如增加显示屏幕,还有友好的输入界面,高控制的简易性。(2)由于实验条件的限制,目前的系统调试还只是对模拟控制的调试,未能在实际家电上使用,希望以后在此方面做更多工作。(3)在安防监控设计中,本课题只实现了低速图像采集的设计,对于不断提高的需求,高速视频的采集需要用DSP等高端嵌入式芯片,嵌入式智能家居控制器研究及家居网络开发。(4)家居控制系统是一个很大的网络,有很多接入模块,本课题只对家电控制模块和图像采集模块做了设计,不仅对这两个模块需要进一步的完善,其他每个功能模块的功能都需要细心设计,建立和完善整个家居网络控制系统还需要完成大量的工作。(5)本系统还可以用于工业现场的远程控制系统。


hc2014 发表于 2014-10-26 22:09:35

楼主怎么不形成书本,方便下载呢?不过感谢LZ分享
页: [1]
查看完整版本: 浅析智能家居硬件开发文档