您好,欢迎访问三七文档
2014年1月6-7日任务:小组出智能家居的概要设计智能家居系统概要设计文档编写时间:2014年1月4日作者:NO1.小组版本:V1.0版本履历版本号版本变更内容变更者时间V1.0初版作成曾巍2014-1-4一、前言家居智能化在中国的应用已经有一段时间了,但是大多数的智能家居系统仍然适用于别墅、洋房、公寓等高级住房。在世界上人口最多的国家,移动电话的应用也是非常的普及,所以手机智能家居系统软件将最终成为智能家居系统中的主流产品。对于智能家居产品,第一印象便是便捷,通过一个小小的手机,便可随时掌握、控制家里的所有常用家电设备,包括:灯光、窗帘、电器、空调、地暖、新风等,甚至天气预报,室内温湿度显示等,这才是未来理想智能家居的必需品。随着各种基于3G和WIFI功能的智能产品逐步应用于人们的生活中,方便直观触摸操作的移动触摸智能控制终端诸如Android、iPhone、ipad等,必将成为智能家居未来的发展趋势。掏出你的手机按几个键,让智能家居就在指尖的滑动中变为现实,来实现家居智能化的实际操作和应用。例如,我们通过手机来控制他们的家居照明,空调,监控摄像头,电视机,DVD,以及更多。当我们试图找到遥控器打开这些设备时,你可以考虑使用手机来进行相关的操作了。然而,在物联传感智能家居中,有更多的应用。比如:1.如果你在工作的时候,你可以使用移动探测器警报通知您,当您的孩子从学校回家。你甚至可以切换到有监控摄像头的房子,看到他们。2.假如你回家较晚,您可以通过手机轻松地打开你的前廊灯。3.下班前你可以通过手机打开家中的空调设备,设置好适应的温度,然后再开车回家。4.如果你在休假在外的时候,你可以打开家中的某一盏电灯,使它看起来像家中有人。你也可以开启你房间内的安防监控系统,以确保家中的安全。5.为了提高安全性和警惕性,当您进家前,可以使用使用“打开室内所有灯光”按钮。6.通过手机来控制家中视频/音频设备。然后通过手机观看或收听家中的视频或音频。7.如果有小偷闯入你的房子,而你不在家,红外报警探测器会发出警报,你可以看到通过监控摄像头找到小偷的踪迹。现在,您可以使用声光报警器来驱赶和震慑他。本系统结合以上物联网新型概念,实现用户通过网络对家中情况的实时监控。该系统可以使用户能够对家庭内部情况进行实时的掌握以及控制。通过各种传感器获取家庭内信息(温湿度信息、三轴加速度信息、光敏信息),用户在Android界面上可以对这些信息进行掌控。二、系统概述智能家居系统基于最新的物联网技术及移动平台终端,总结传统家居控制、监控的优缺点,适应现代化市场需求,而研发出来的新型终端医疗设备系统。它具有:功耗小(全套设备全部电池供电)、运行稳定(使用目前最先进的家具监控传感器技术)、操作方便(专门个性化定制操作系统)、远距离监控等优点,同时,大大提高家庭安全性和宜居性。一般家庭监控和控制方式传统家庭监控完全靠家庭成员发现和检查,无法实现对突发事件的实时监控和报警。控制时需要分别到不同设备的控制端去单独控制,无法实现一个便携的控制。智能家庭系统智能家居系统采多种传感器用于采集家庭中实时数据信息,将数据交给用户手持终端设备,用户终端用于基础信息显示及对相关设备的控制,家庭环境监测设备(M0模块)会采集房间中的信息并通过zigbee无线网络发送到用户手持终端,在用户手持终端中创建数据库用于保存家庭信息。M0工作模块采用zigbee方式与手持终端进行短距离通信,可以保证数据传输的稳定性,且成本。用户手持终端控制信息同样通过zigbee与M0工作站通讯,进行相关硬件资源的控制。三、系统硬件说明3.1M0模块M0模块是整个智能家居系统的数据源头和设备端。主要包含以下硬件:1)zigbee通讯该模块主要实现和用户终端Pad进行通讯,将本地采集的数据发送给用户,并接收用户发送的控制信息。2)LED灯该模块主要模拟家庭中的灯泡,可以通过用户端进行亮灭控制。3)风扇该模块主要模拟家庭中的换气(通过风扇将室外空气抽进房内,改善空气质量),可进行开关和调档控制。4)蜂鸣器该模块主要模拟家庭中的报警(有异常状况发生的时候报警),可以进行开关控制。蜂鸣器直接采用PWM进行控制。5)FRID射频该模块主要读取家庭中有用户进入状况,对进入人员进行记录。RFID读卡模块通过SPI0接口与M0进行连接,它的中断引脚与M0的IO口相连,在主程序中,只要判断该IO口的电平高低,即可判断是否有卡,如果有卡,则进行相应的读卡操作。RFID的命令格式为:前导头+通讯长度+命令字+数据域+校检码其中前导头固定为0XAA0XBB,通讯长度为去掉前导头和通讯长度本身的所有数据帧的字节数,命令字和数据域详见模块使用说明。在这里我们只要读取卡号,命令字为0X20,返回的数据域为4字节的卡号。cpu发送命令帧之后,需要等待读取返回值,返回值的格式如下:前导头+数据长度+上次发送的命令字+数据域+校检码RFID模块流程图如下:RFID时序图:6)数码管该模块可以指示家庭有多少用户进入,可以进行亮灭控制。7段数码管通过SPI数码管驱动器与M0的I/O口相连;通过74HC595D移位达到不同数字的变化。7)温湿度该模块主要采集家庭温度和湿度信息。温湿度传感器工作原理DHT11数字温湿度传感器是是一款含有已校准数字信号输出的温湿度传感器,它具有成本低,性能稳定,抗干扰能力强等优点。它采用简化的单总线通信,主机通过特定的时序对其进行访问,它一次传送给主机40位数据,高位先出,其数据格式如下:8bit温度整数数据+8bit温度小数数据+8bit湿度整数数据+8bit湿度小数数据+8bit校验位。温度传感器与M0的连接图它与M0的连接如图5.3所示,其中上拉电阻R30是为了保证在总线空闲时,其状态为高电平。DHT11操作流程及时序用户主机发起开始信号后,数据时序如图5.4所示:M0读取数据的步骤如下:1)DHT11上电后(DHT11上电后要等待1S越过不稳定状态,在此期间不要做任何操作),测试环境温湿度,并记录数据,此时DHT11的DATA数据线由上拉电阻拉高,它的引脚处于输入状态,时刻检测外部起始信号。2)将M0设置为输出,并输出低电平,保持18ms以上,然后M0设置为输入,此时DATA数据线被拉高,等待DHT11的响应信号。3)DHT11接收到M0的低电平起始信号后,延时一段时间,向M0发送80us的低电平响应信号,接下来继续发送80us的高电平信号,通知M0准备接收数据。M0接受到低电平响应信号后,延时80us后接受数据。4)DHT11的DATA引脚输出40位的数据,MO根据电平的变化来获得数据。位数据0的格式为50us的低电平加26-28us的高电平。位数据1的格式为50us的低电平加70us的高电平。5)DHT11输出40位数据后,继续输出50us的低电平后转为输入状态。注:主机从DHT11读取的温湿度数据总是前一次的测量值,如两次测间隔时间很长,请连续读两次以第二次获得的值为实时温湿度值。8)光感该模块主要采集家庭中的光照亮度信息。ISL29003是一种集成光传感器,内置的整合型ADC和标准IIC接口,该设备能够采集周围光照强度lux转化为数字量通过IIC输出采集信息,传感器光照强度可从1lux调节到100,000lux的光照强度,ADC具有高达15-bit有效分解.该传感器被金属覆盖,以减少光电二极管在光照较弱的环境下输出读数的效果,可显示低光度lux的功能。ISL29003原理图如图:ISL29003原理图ISL29003传感器工作时序图9)三轴加速该模块主要采集家庭中有非法用户进入后,触动M0模块引起M0板移动信息可以进行亮灭控制。10)ad采集该模块主要模拟采集家庭中一些模拟信息数据。直接使用M0内部的AD转换器。11)OLED本地数据显示该模块主要在家庭本地中显示当前家庭的一些数据信息。OLED与M0上的SPI1相连,在使用SPI前,先使能SPI的时钟单元,对于M0来说,初始状态各个单元的时钟模块都是未使能的。接下来对SPI进行基本设置,如设置数据帧长度及捕获方式等。另外还要将M0设置为主机模式。接下来进行数据的收发操作分析,SPI数据传输是双向的,即数据发送和接受时同步的,但往往只有一个方向的数据是有效的,在操作时,一般将发送和接收封装在一个函数中。发送数据前,先要判断TXFIFO是否满,若不满,则将要发送的数据写入DR寄存器的低16位既DATA寄存器,如果此时总线上的SPI控制器不忙,则数据会被立即发送,否则,写入DATA寄存器的数据要一直等待,直到当前数据被发送完为止。如果发送的数据不足16位,则需要软件进行纠正。接收数据时,先判断RXFIFO是否不空,若不空,则可以读取DATA寄存器里的数据,这里返回的数据是最新一帧的数据。如果数据长度不足16位,则高位补零。SPI数据发送和接收如下图所示:其时序与RFID模块一样。3.2用户终端智能家居用户终端使用深度定制的10寸Android平板作为平台,用于和M0模块进行数据采集通信、远程控制通讯、数据和状态显示。针对智能家居终端平板有以下硬件要求:支持多点电容触摸支持zigbee支持数据库Flash空间在4GB以上能稳定运行Android4.0及其以上版本系统性能稳定,无外接电源正常工作时间在6小时以上四、系统软件设计4.1系统功能描述智能家居系统主要包括:M0端和用户终端Pad。4.2系统模块说明1)M0端M0端硬件框图M0端主流程图如下:2)Pad用户终端应用层页面跳转如下图:按下系统的返回键时,从第二个画面返回到第一个画面。Pad用户端软件框图如下图:程序工作流程说明如下:启动第一个activity,同时启动读线程,读线程不断检查是否有串口数据接收到如果有,创建handelerThread用来处理读取到的数据;在handlerThread线程中如果检查数据包头是否是本系统所发出,如果不是继续等待,如果是本系统发出则检查检查数据类型,如果是各种传感器数据则先判断此时是否存在数据链表,不存在则创建,存在则继续;创建ContrlPanelActivity并更新界面显示数据;同时创建WriteThread进程监听用户界面按钮变化,并等待发送数据;循环接收广播更新界面数据;3)Pad用户终端JNI层及HAL层UARTAPP通过UARTService提供的框架层API访问UART设备,也就是Zigbee提供的UART,UARTService对于UARTAPP应用程序而言是UART设备的服务提供者,UARTService运行在Dalvik中没有办法直接访问UART硬件设备,它只能将具体的UART操作交给本地代码来实现,通过JNI来调用UART硬件操作的封装库libUART_runtime.so,由HALStub框架可知,在libUART_runtime.so中首先查找注册为UART的硬件设备module,找到之后保存其操作接口指针在本地库中等待框架层UARTService调用。这样上层的应用程序就能访问底层的UART硬件设备和读写数据,实现了UARTAPP和硬件设备之间的数据交互。1月8日任务:了解M0板级支持包中函数功能1、安装Keil软件,配置Colink仿真器配置工具2、查阅Keil软件基本使用教程3、系统搭建及创建工程1月9日任务:实现LED编程LED编程实验【实验内容】编写程序,控制实验平台的发光二极管LED1、LED2使它们有规律的点亮和熄灭。代码在Keiluvision4环境下运行。【实验目的】掌握LPC111x_C1xUsermanualR3芯片I/O控制器、及系统的搭建掌握如何通过Keiluvision4环境运行仿真程序【实验平台】M0版【实验步骤】运行LED目录下的工程LED.c1、首先打开Keil软件,指定工作目录。2、根据环境搭建步骤中的步骤运行程,后单击后开始调试运行,运行成功会出现LED灯的闪烁。程序实现如下图:查阅手册及原理图:1月10日任务:家居应用和M0板程序整合任务:BOA服务CGI应用程序的工
本文标题:项目文档
链接地址:https://www.777doc.com/doc-809545 .html