基于GSM和AVR单片机的智能家居控制系统样本.doc
《基于GSM和AVR单片机的智能家居控制系统样本.doc》由会员分享,可在线阅读,更多相关《基于GSM和AVR单片机的智能家居控制系统样本.doc(17页珍藏版)》请在咨信网上搜索。
基于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。
关于本文