基于GSM和AVR单片机的智能家居控制系统.doc
《基于GSM和AVR单片机的智能家居控制系统.doc》由会员分享,可在线阅读,更多相关《基于GSM和AVR单片机的智能家居控制系统.doc(22页珍藏版)》请在咨信网上搜索。
基于GSM和AVR单片机的智能家居控制系统 20 资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。 基于AVR单片机和GSM的短信网关 成员: 成星 鲁得泂 王龙 马向超 学院: 物理学院 指导老师: 李茂奎 6月 基于AVR单片机和GSM的短信网关 物理学院 成星 鲁得泂 王龙 马向超 摘要: 本产品以AVR系列单片机ATMEGA16为控制核心, 以GSM短信息发送与接收模块wavecome为辅助设备, 来实现短信的发送与接收功能, 进而实现远程的通信与控制。 关键词: GSM ATMEGA16单片机 设计背景: 随着3G网络的出现, 以及3G手机的普及, 无线通讯技术已经发展到相当成熟的水平, 而无线控制也在各种场合极大的发挥着作用。GSM模块与单片机通信是GSM模块应用的一个核心技术。我们所设计的系统, 利用单片机的串行口知识, 来实现与GSM模块的通信, 以对无线通讯和无线控制有一个更加清晰的认识。 一、 系统设计的目的、 用途及功能: 目的: 利用单片机的串口功能, 实现与GSM模块的通讯, 进而实现短信的发送功能。 用途与功能: 可实现远程的无线通讯, 也可增加扩展实现远程控制功能。 二、 硬件设计思想与原理图 1.单片机的接口 我们使用的是Atmel公司的AVR高速8位微控制器ATmega16 。ATmega16芯片为40个引脚,内部集成了1K字节的RAM、 512字节的EEPROM、 16K字节的Flash以及2个UART串行接口等。由于采用了高性能的MCU,省掉了大量的外围器件,如外扩RAM、 ROM存储器等,使硬件结构大大简化,提高了系统的可靠性。 它与51单片机、 PIC单片机相比具有一系列的优点: 1: 在相同的系统时钟下AVR运行速度最快; 2: 芯片内部的Flsah、 EEPROM、 SRAM容量较大; 3: 所有型号的Flash、 EEPROM都能够重复烧写、 全部支持在线编程烧写(ISP); 4: 多种频率的内部RC振荡器、 上电自动复位、 看门狗、 启动延时等功能, 零外围电路也能够工作; 5: 每个IO口都能够以推换驱动的方式输出高、 低电平, 驱动能力强; 6: 内部资源丰富, 一般都集成AD、 DA模数器、 PWM、 SPI、 USART、 TWI、 I2C通信口、 丰富的中断源等。 当前支持AVR单片机编译器的语言主要有汇编语言、 C语言、 BASIC语言等。其中C编译器主要有CodeVisionAVR、 AVRGCC、 IAR、 ICCAVR等, C语言编译器由于它具有功能强大、 运用灵活、 代码小、 运行速度快等先天性的优点, 使得它在专业程序设计上具有不可代替的地位。 ATmega16芯片的引脚图如下: 其中的PD0即为RXD引脚( RXD是USART的数据接收引脚) , PD1即为TXD引脚( TXD是USART的数据发送引脚) , 引脚11即为GND接地。 2.Max232电平转换芯片接口 Max232芯片是Maxim公司生产的包括2路接受器和驱动器, 适用于各种EIA—232C和v.28/v.24的通信接口。Max232芯片内部有一个电源电压变换器, 能够把输入的+5伏电源电压变换成RS232C输出电平所需的正负10v电压。此芯片工作电压为+5V。 3.GSM模块与单片机的硬件接口连接 我们所用的GSM模块具有数据引出与接收口, 而且支持与GSM 短信息相关的 AT 控制指令(GSM-SMS-AT 指令), GSM模块经过数据口以串行方式接收指令并向外输出数据。硬件连接相当简单, 在数据口中找出RXD、 TXD 和 GND 引脚与单片机的串口对应连接即完成了硬件接口。 注: GSM模块数据线是专为连接PC 机9 针串口而设计的, 其信号电平为标准的RS232 电平, 而单片机的信号电平为TTL电平, 因此只要经过电平转换, 就可很方便的与模块相接。这里能够用开发板上的电平转换部分, 也能够用Max232电平转换芯片。 连接电路如图 1 所示。 4.系统总体电路连接图 三、 软件设计系统 1.GSM模块的软件接口及控制技术 在我们设计的系统中, 采用的是GSM通信模块为WAVECOM, 该模块具备GSM无线通信的全部功能,并提供标准的USART串行接口,支持GSM 07.05所定义的AT命令集的指令。 模块的通讯全部采用AT+XXXX完成。基本的AT指令如下所述: 短消息格式 AT+CMGF 选择短消息支持格式( TEXT or PDU) 显示TEXT参数 AT+CSDH 显示当前TEXT模式下结果代码 新消息提示 AT+CNMI 选择当有新的短消息来时系统提示方式 读短消息 AT+CMGR 读取短消息 列短消息 AT+CMGL 将存储的短消息列表 发送短消息 AT+CMGS 发送短消息 设置TEXT参数 AT+CSMP 设置在TEXT模式下条件参数 删除短消息 AT+CMGD 删除保存的短消息 根据GSM 07.05的定义,SMS短信息的发送和接收模式共有三种: Block模式、 基于AT命令的Text模式和基于AT命令的PDU模式。 其中发送和接收中文或中/英文混合的短信息必须采用PDU模式, Text模式只支持传送英文及数字信息。由于Block模式的相关资料较少, PDU模式的编解码过程复杂, 我们选择Text模式作为我们系统的通讯模式。 2. TEXT模式简介 Text模式只支持传送英文及数字信息, 但它的编码要比PDU模式简单很多。 在Text Mode下, 发送及接收到的数据均以ASCII码的形式来表示。TEXT模式在信息传送时经过串口传递的是十六进制ASCII码。其USART通讯默认使用9600比特率, 8位数据信息, 无奇偶校验, 有一位开始位和一位结束位。 例如, 我们要发送指令来读取第一条短信, 使用命令: AT+CMGR=1; 我们只需要经过串口发送十六进制数码: 0x41,0x54,0x2b,0x43,0x4d,0x47,0x52,0x3d,0x31,0x0d 即可。其中0x41是A对应的ASCII码, 0x54是T对应的ASCII码, 以此类推, 只要将相应英文字母的ASCII码以十六进制的形式发送即可。 3.GSM通讯模式说明( 在实验中得出的一些结论) 鉴于TEXT模式在运行中的易操作性, 我们最终选择了这种模式作为我们GSM模块与单片机之间的通信方式。我们首先编写了一个串口通信程序, 使数据能从单片机的接口发送出来( 利用串口调试助手观察) 。下一步定义各种要用的AT指令及短信内容, 将这些指令经过串口传给GSM模块, 经由模块识别来发送短信内容。我们经过重复测试, 总结出来如下一些规律: ① 所有AT 指令的指令符号、 常数、 TEXT 数据包等都是以ASCII 编码形式传送的, 比如 ”A ” 的ASCII 编码为41H, ”T”的ASCII 编码为54H, 数字”0”的 ASCII编码为30H 等。 ② 单片机控制GSM模块工作, 必须把GSM模块的短信息工作模式设置为TEXT( 只发英文和数字) 格式, 即经过指令 AT+CMGF=1 完成。指令能够写在程序里, 也可经过电脑进行一次设置。以后使用时不需再次设置。 ③ 单片机向GSM模块发送每一条指令后, 必须以回车符作为该条指令的结束, 回车的ASCII 编码为0DH。例如, 单片机向GSM模块发送”AT+CMGF=0” 这条指令, 其ASCII编码序列为”41H、 54H、 2BH、 42H、 4DH、 47H、 46H、 3DH、 3 0 H、 0 D H”, 最后一个字节0DH 就是回车符, 表示该条指令结束, 如果没有这个回车符, GSM模块将不识别这条指令。指令在程序中的定义方式为 char a[]="AT\r\n"; ④GSM模块向单片机传送短信息内容时, 其TEXT数据包的内容是以十六进制表示的数据, 但并不是直接向单片机传递十六进制数据, 而依然是把每一位十六进制数以A S C I I 编码来发送。这样二个字节的十六进制数就变成4 字节的ASCII码。可是TEXT数据包中的数据字节长度部分依然是实际字节长度, 而不是变成ASCII码的字节长度。 ⑤GSM模块执行指令的过程中, 需要将短信内容凑够一定的字符数才往外发送, 而且中间有一定时间的延时。 4.软件设计思想与流程图 本系统旨在完成对SMS短信的发送功能。软件流程图如下: 单片机初始化 GSM模块的初始化 发送AT联机指令 Y 设置短消息中心号码 发送短信内容 Y 软件代码: //ICC-AVR application builder : -5-20 11:21:23 // Target : M16 // Crystal: 7.3728Mhz #include <iom16v.h> #include <macros.h> char a[]="AT\r\n"; //定义AT联机指令 char b[]="AT+CMGS=\r\n"; //设置接受手机号码 char c[]="someone has broken into your house.someone has broken into your house.someone has broken into your house.someone has broken into your house.someone has broken into your house.\r\n"; //定义短信内容 void delay250(unsigned int k) /*延时函数*/ {unsigned int j,i; for (i=0;i<k;i++) { for(j=0;j<25;j++); } } void port_init(void) //端口初始化 { PORTA = 0xFF; DDRA = 0xFF; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x03; DDRD = 0x02; //PD0口接收数据, PD1口发送数据 } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9600 (0.0%) void uart0_init(void) { UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; UCSRC = BIT(URSEL) | 0x06; UBRRL = 0x2F; //set baud rate lo UBRRH = 0x00; //set baud rate hi UCSRB = 0x98; } void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); uart0_init(); MCUCR = 0x00; GICR = 0x00; TIMSK = 0x00; //timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } void USART_TRANSMIT(char data) //发送数据函数 { while(!(UCSRA&(1<<UDRE))); UDR=data; } void main() {int n,u,m; init_devices(); for(n=0;n<4;n++)USART_TRANSMIT(a[n]); //发送AT指令 delay250( 0); for(u=0;u<21;u++)USART_TRANSMIT(b[u]); //设置接受手机号码 delay250( 0); for(m=0;m<180;m++)USART_TRANSMIT(c[m]); //发送短信内容 delay250( 0); } 四.系统测试过程以及测试数据 1.测试仪器 ICCAVR( FOR IMAGE CRAFTING) , AVR STUDIO 4.0, JTAG, 串口调试助手, ATMEGA16单片机等 任何一个模块首次使用时,必须要测试其工作是否正常,由于其自带RS232接口,因此我们能够用PC机的串口调试软件进行调试。 2、 启动串口调试软件(见界面) 1.串口调试软件有许多,能够使用任意一款软件,也能够使用WINDOWS自带的”超级终端"。设置波特率19.2k,这是模块的默认波特率,首次连机能够从2400~57.6k不断测试,直到模有应答。 2、 发送”AT"’ AT 回车 3、 改变波特率”AT+IPS=XXXX" 模块的默认波特率是19.2k,实际使用时,能够改成9600或38.4K,方法如下: AT+IPR=9600 回车 4、 短信模式的设置 (GSM模块的短信模式有2种。第1种是: TEXT模式;第2种是: PDU模式。PDU模式能够采用unicode编码发送英文、 汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。实际使用能够采用TEXT模式。 设置如下: AT+CMFG=1 回车 5、 短信模式简介 SMS是由Etsi所制定的一个规范(GSM 03.40和GSM 03.38)。当使用7-bits编码的时候它能够发送最多160个字符;8-bit编码(最多140个字符)。一般无法直接经过手机显示;一般被用来作为数据消息,例如: smart messaging中的图片和铃声和OTA WAP设置。16-bit信息(最多70个字符)被用来显示Unicode(UCS2)文本信息,能够被大多数的手机所显示。一个以class 0开头的16-bit的文本信息将在某些手机上作为Flash SMS显示(闪烁的SMS和警告SMS)。 有两种方式来发送和接收SMS信息: 使用文本模式或者使用PDU(protocol description unit)模式。文本模式(可能某些手机不支持)实际上也是一种PDU编码的一种表现形式。在显示SMS信息,可能使用不同的字符集和不同的编码方式。 6、 短信读取方法 AT+CMGR=X回车 如果有短信息,短信模块回应: AT+CMGR=1 +CMGR: "REC UNREAD","",,"09/05/10,22: 24: 32+02 testOK OK 短信息分析: ”test OK"就是短信息内容。 短信息的存储容量与Ic卡有关,序号从1-N。 REC UNREAD": 代表短信息未读过。 REC READ" : 已读过。 " : 接收的手机号码。 09/05/10,22: 24: 32+02": 短信息发送的时间。 无短信息,模块回应: AT+CMGR=3 +CMGR: 0,,0 7、 短信的删除方法 AT+CMGD=1回车 8、 短信的发送方法 短信息的发送分成两步: 1: 发送接收的手机号码,等待应答: ”>" AT+CMGS=""回车(目的地址) 模块回应: AT+CMGS="" > 2: 输入短信息的内容(只能是英文): Test 回车 下图为用PC机控制GSM的过程( 经过串口调试助手) 3. 将PC机输出的控制命令转化成单片机输出的指令 1.先定义AT指令字符串。 char a[]="AT\r\n"; char b[]="AT+CMGS=\r\n"; char c[]="someone has broken into your house.。someone has broken into your house.。someone has broken into your house.。someone has broken into your house.。someone has broken into your house.\r\n"; 2.串口通信程序 void USART_TRANSMIT(char data) //发送数据函数 { while(!(UCSRA&(1<<UDRE))); UDR=data; } 3..主函数 void main() { int n,u,m; init_devices(); for(n=0;n<4;n++)USART_TRANSMIT(a[n]); delay250( ); for(u=0;u<21;u++)USART_TRANSMIT(b[u]); delay250( ); for(m=0;m<180;m++)USART_TRANSMIT(c[m]); } 3.测试方法 我们按照如下的思路完成作品, 因为单片机就是一个”微型化的计算机”, 它将计算机的主要功能集成在一块芯片上, 成为一个控制器。因此, 我们先用计算机代替单片机, 最后再将计算机的操作功能写进单片机, 完成系统设计。 首先是计算机与GSM模块的通讯。此部分功能的实现需要用到”串口调试助手”这块软件( 这里强烈推荐一下这款软件, 若要用到串口功能, 这款软件是必不可少的) , 这能够很直观的看到到底从串口传出了什么数据。其中这一部分内容要用到AT指令, 具体用法与格式参看论文, 这里不详述。 其次是单片机与计算机的通讯, 将程序写进单片机后, 将单片机的串口与计算机的串口相连, 点击运行, 就能够从串口调试助手中看到从单片机中是否串出数据, 以及数据的格式正确与否。 最后, 将单片机与GSM模块直接相连, 经过串出指令控制模块发送短信, 模块的响应时间以及指令的格式问题需要在程序中调节优化。 4.测试结果总结 经实验验证, 实现了经过单片机控制GSM Modem 进行短信息的发送。在发送过程中, 有时会出现响应过慢的或发送内容不全情况, 后经修改程序中的延时函数, 以及对GSM 模块初始化后, 问题解决, 系统工作情况良好。 四. 成员分工及完成情况 成星 程序的编写与调试 论文修正 鲁得泂 程序的编写与调试 论文编写 开题报告与总结 王龙 电路板的焊接 硬件连接 ppt制作 马向超 html网页 进度报告 五. 课程设计使用资源 Atmega16单片机, GSM模块, 串口线, 7.3728MHz外部晶振, 导线若干。 六.参考文献 [1] WAVECOM——AT COMMONDS [2] 《AVR单片机嵌入式系统原理与应用实践》 ( 马潮) [3] AVR323数据手册- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 GSM AVR 单片机 智能家居 控制系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文