智能家居远程监控系统_第1页
智能家居远程监控系统_第2页
智能家居远程监控系统_第3页
智能家居远程监控系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种基于SMS的智能家居远程监控系统(1)关键字:SMS智能家居远程监控系统1引言随着生活节奏的加快,生活水平的提高,人们对现代家居的平安性、智能性、舒适性和便捷性提出了更高的要求。智能家居控制系统就是适应这种需求而出现的新事物,正朝着智能化、远程化、小型化、低本钱等方向开展。如今已经十分普及,如何让普通百姓只需要增加少量投入便可以通过远程遥控自己家中的电器设备,远程查看设备或安防系统状况。同时,一旦家中发生煤气泄露、火灾、被盗等平安事故时能够立即获知警报,及时处理。为此本文提出了一种基于SMS和Atmega128的智能家居远程监控系统。2系统结构及工作原理本文所设计的智能家居远程监控系统由CPU模块、短信收发模块、电源模块、时钟模块、LCD显示模块、键盘模块、驱动模块、无线收发模块、检测模块等模块组成,如图1所示。系统的工作原理如下:用户通过将控制或查询命令以短信的形式通过GSM网发送到短信收发模块,CPU再通过串口将短信读入内存,然后对命令分析处理后作出响应,控制相应电器的开通或关断,实现了家电的远程控制。CPU定时检测烟感传感器、CO传感器、门禁系统的信号,一旦家中发生煤气泄露、火灾、被盗等险情时,系统立即切断电源、蜂鸣器警报并向指定的发送报警短信,实现了家居的远程监视。为了到达更人性化的设计,当用户在家时可通过手持无线遥控器控制各个家电的通断,通过自带的小键盘设定授权号码、权限和设定系统的精确时间等参数。LCD用来实时显示各电器状态和各个传感器的状态。图1系统结构框图3硬件系统设计CPU选用Atmega128单片机,它是基于AVRRISC结构的8位低功耗CMOS微处理器,具有性价比高、功耗小、可靠性高等特点。短信收发模块选择厦门桑荣公司的Saro310GSMModem.传感器选择香港嘉永公司的SS-168烟感探测报警器、HD-111家用CO探测报警器。它们在检测到危险信号时输出开关量信号,能及时准确地向CPU发出报警信号。LCD显示模块选用LCD12864带中文字符型液晶显示屏,它自带汉字字库,只用查询中文字库表便能实现LCD的中文显示,占用CPU管脚少,只需三个管脚便能完成通讯和控制。图2系统主要模块原理图。键盘模块采用了一个4×4的小键盘。开关驱动模块实现弱电对强电的控制。因为本系统中有较大功率电器,在启动时电流会较大,可能会到达10A,因此采用了2JB0.5-1型固态继电器。时钟模块选用DS1302时钟芯片,为CPU提供实时时钟。它采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,编程简单,功耗小。无线收发模块选用超外差双向无线接收模块JL-RT01A.电源模块由插头引入220V交流电源,经过220V/36V/12V变压器降压,整流桥整流,二级电容滤波,三端稳压芯片78L05和78L24稳压后,分别为核心板和接口驱动模块提供5V和24V供电。图3主程序流程图。4软件系统设计Atmega128芯片集成的指令功能丰富,内存等资源也都比拟丰富,为了提高编程效率、代码的可读性、可移植性和可维护性,本系统使用C语言开发系统软件。4.1主程序流程系统上电后,首先初始化各底层硬件〔包括LCD设备、串口参数等〕和系统I/O,然后并通过RS-232端口向短信模块发送ATE命令查询短信模块是否正常工作?假设收到应答后,那么顺序发送"AT+CMGF"、"AT+CNMI"、"AT+CSCA"等AT命令〔可参考AT命令集〕,设置或获取相关参数,完成短信预处理。然后进入循环等待状态,定时查询短信模块是否收到新短信,检测各个传感器的信号输入以及键盘操作等。假设查询到有新短信,那么判断它是否来自授权?假设是,核查该号码的权限后,对该短信进行分析,根据具体命令〔见表1-3〕作出响应。一旦检测到烟感、CO传感等传感器有异常,那么立即切断主要电器的电源,输出报警信号并向指定发送短信。4.2GSM短信息设计短信收发模式选择Saro310GSMModem模块使用AT命令集控制短信的收发,它支持TEXT和PDU两种短信收发模式。前者不支持非ASCII码字符,不能收发中文短信,而后者支持多种不同的编码格式,因此在本系统采用PDU模式来收发短信息。中文字显示使用国标码,在CPU中需要先将UCS2编码转换为国标码以便于输出。UCS2编码与国标码之间转换不能依靠算法完成,只能通过查表来实现转换。短信命令格式〔控制协议〕短信命令分为传感器查询命令、根本控制命令、高级管理命令。各种命令格式和说明分别如表1、表2和表3所示。表1传感器查询命令表2根本控制命令表3高级管理命令例如,执行翻开电灯的命令:uint8ExecuteSMSCmd〔void〕//执行命令{caseSMS_DD:RELAY_PORT|=BIT〔RELAY_DD〕;//翻开电灯DvcStt|=0x02;break;//电灯的命令代码为00000010B}短信命令以Unicode码的形式存储在数据缓冲区中。短信命令解析当系统接收到短信命令后,按顺序从传感器查询、根本命令、高级管理命令匹配扫描。扫描代码如下:while〔--i&&!〔mh=strstr〔UART0_RxBuf,DefDetCmd[i]〕〕〕;if〔!i〕//假设非传感命令while〔--j&&!〔mh=strstr〔UART0_RxBuf,DefBasicCmd[j]〕〕〕;if〔!j〕//假设非根本命令while〔--k&&!〔mh=strstr〔UART0_RxBuf,DefAdvanceCmd[k]〕〕;其中,UART0_RxBuf指向接收数据缓冲区,DefDetCmd是系统中预定义的传感器命令,DefBasicCmd是根本控制命令,DefAdvanceCmd是高级管理命令。扫描完成后,对不同类型命令进一步细化处理,返回对应的命令编号。系统根据不同的命令编号完成不同的操作。发送短信当系统接收到带有"?"的短信命令时,完成相应操作后,将给该授权号码发送报告短信。短信息格式定义如下:typedefstructShortMessage//短信息结构{uint8CSCA[19];//短信中心号码uint8FirstOctet[3];uint8TP_MR[3];//消息参考值uint8RecvPhoneNo[19];//对方号码字段uint8TP_PID[3];//协议标识uint8TP_DCS[3];//编码方式uint8TP_VP[3];//有效期uint8TP_UDL[3];//用户数据长度uint8TP_UD[255];//消息内容}SHORTMESSAGE;系统上电时,先执行短信息预处理,将信息结构中的常量赋值并存入Flash中,要发送短信时再将信息结构补充完整。发送过程是〔:1〕向短信模块发送"AT+CMGS"命令〔;2〕短信模块回应后,发送短信息结构串〔;3〕等待发送完成。短信平安设计为了提高系统的平安性,本系统设置了授权号码库,只有在授权号码库中的授权对系统发送的命令才是有效的。当系统接收到一条新短信时,先判断号码是否包含在授权号码库中,如短信来自非授权那么将此信息删除。执行完授权号码发送的命令后,系统再通过短信模块向用户发送命令执行情况的信息。授权号码库是可以修改的,管理号码的可以发送短信命令将陌生号码参加到授权号码库中或删除授权号码,也可以通过键盘添加、删除授权号码。5实物测试该系统的实物测试结果如图4所示,通过授权向系统发送短信"翻开电灯?",系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论