您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > M23模块在远程智能家居控制中的应用
BENQ-M23GSM/GPRS模块在远程智能家居控制中的应用摘要:本文介绍了明基公司生产的M23GSM/GPRS通信模块的性能特点,电源电路、通信电路设计及调试方法,详细说明了M23模块在远程智能家居控制应用中软件设计原理及方法。关键词:M23,远程控制,单片机Abstracts:ThispaperfirstintroducesperformancecharacteristicsofGSM/GPRSM23module,andthenpresentsindetailthedesignprincipleandmethodsofpowercuicirtandcommunicationcuicirt.Finally,thispaperintroducestheapplicationofM23inremotecontrolofintelligenthouse.Keywords:M23,RemoteControl,MCU0.引言对家居环境进行远程监控可以采取多种方式,其中借助SMS(短信)服务平台或GPRS(通用分组无线业务)的数据业务功能传送数据或命令的方式是重要方式之一。BENQ公司的M22/M23模块是目前市场上的主流GSM/GPRS模块之一。它可以应用于GSM短信息通信以及语音通信,利用短信息进行实时性要求不高,数据量不大的数据通信。由于支持GPRS和嵌入式的TCP/IP,M23还可以用于实时性要求较高,数据量相对较大,传输速度相对较快的数据通信领域。1.BENQ-M23GSM/GPRS模块功能简介与电源设计M23主要由GSM基带控制器、射频模块、供电模块(VBAT)、闪存、ZIF连接器、音频、天线接口、常用接口等部分组成。该模块具有短消息服务、语音通话、数据传等功能,对外可提供天线接口、模拟音频接口、异步串接口、SIM卡接口等,给用户设计带来很大的方便。无线通信模块的耗电具有不稳定的特点,在待机状态、和基站的握手状态、通话状态、在拨号状态或者是在信号强弱不同的地方这些因素都会直接的影响无线模块的耗电流。因此,电源设计非常重要。M23推荐的电源电压范围为DC3.6~4.2V,模块在工作中最大的瞬间电流能够达到1.7A。考虑到大电流的需要,电源设计方案采用LM7805和LM2576开关稳压芯片的联合设计。直流电源(+12V)输入给LM7805,输出的DC5V对单片机进行供电,与此同时通过LM2576产生DC4V电压供给M23。由于LM2576具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为M23的稳定、可靠工作提供了强有力的保证。2.BENQ-M23GSM/GPRS模块与MCU和PC机间的通信电路设计M23模块配备了UART/RS-232接口,通过该接口可以和MCU、PC连接,将它们作为系统的控制核心,方便了控制中心的后台设计。当M23模块和MCU通信时,只需要将模块的RXD、TXD与MCU的RXD、TXD交叉相连就可以了。由于M23模块与PC的逻辑电平不一致,因此模块和PC机通信时,必须进行信号的电平转换。这种转换可以由专用电平转换芯片SIPEX3238实现。开发人员初次使用M23模块,可以利用M23与PC间的串口通信功能,借助串口调试助手或超级终端,理解M23的工作过程。例如,在系统电路设计中,可以采用8位平拨开关,分别控制M23的串口与MCU连接或者与DB9连接。当开关1断开,开关2连通时,模块的串口和DB9连通,此时模块不受MCU控制,可以用PC机通过串口调试程序直接对模块进行配置或者测试。在测试正常后,就可以将开关1连通,开关2断开,此时MCU与M23模块通信。3.BENQ-M23GSM/GPRS模块常用指令与调试方法AT命令包括一般命令,呼叫控制命令,网络业务命令,安全性命令,电话本命令,短消息(SMS)命令,补充业务命令,数据命令,传真命令和串口命令。下面以智能家居防盗报警远程控制中主要用到的短消息命令为例,介绍与SMS相关的AT命令、调试方法及程序设计。3.1常用的AT指令SMS短消息的编码方式主要有BlockMode、TextMode和PDUMode三种模式。其中TextMode是纯文本方式,Text模式的短信息发送和接收实比较简单,只能发送ASCII码信息,如不需要传中文则最好采用Text模式发送和接收短信息。这种模式对于智能家居远程控制而言已经足够。GMS模块的通信全部采用Al+XXX的格式完成。与SMS相关的主要AT指令如表1所示:表1:主要AT指令连机AT回车GSM模块连机后回答OK发送模式设置AT+CMGF=1回车采用文本模式,PDU模式为AT+CMGF=0设置短消息中心AT+CSCA=“XXX”回车具体号码由当地运营商决定接收短消息AT+CMGR=X回车从X存储区接收消息删除短消息AT+CMGD=X回车从X存储区删除消息发送短消息AT+CMGS=“XXX”发送短消息的目标号码…….…3.2AT指令调试方法任何一个GSM模块首次使用时,必须要测试其工作是否正常。利用上面介绍的与PC机通信电路,可以采用WINDOWS自带的超级终端,也可以使用各种串口调试助手软件进行调试。下面以串口调试助手为例介绍调试过程。图1为通过串口发送各AT命令后M23模块的返回结果,根据返回的数据即可判断M23的工作情况,为后续的控制程序的编写提供了依据。值得注意的是,在通讯的波特率上,M23是一个自适应的波特率,即M23支持从1200b/s到115200b/s的任何一个标称的波特率,而不必去另外用AT指令去设置波特率。图1串口调试助手调试AT指令过程例如,发送连机、模式设置、设置短消息中心等命令后,正常情况下M23原样返回指令并在回车换行后添加OK字符。AT+CMGL=”RECUNREAD”命令列出未读短信的命令,M23返回SIM卡中未读短信的位置、电话号码、接收日期、短信内容等信息。上图中的短信内容为“GOODLUCK!”。3.3单片机与M23通信模块的软件设计单片机作为整个系统的控制核心,承担着系统初始化、短信息的接收/解释、发送控制命令,以向用户发送家居环境和报警信号短信息的功能。M23模块初始化以及单片机与GSM通信的流程图分别如图2和图3所示。系统上电发送连机命令设置短消息号码有OK返回吗?SIM状态正常?设置短消息格式等待收发短消息YESNOYESNO开始初始化GSM模块允许串行中断有主人命令?有报警信号?解释消息发送控制命令发送短消息给主人其他工作NONOYESYES图2初始化M23模块流程图图3单片机与M23模块通信程序流程图程序开始处需要定义各命令及函数,如下:charcodeATAT_M23[]=AT;//联机指令charcodeAT_M23[]=AT+;//必发前缀charcodeText_M23[]=CMGF=1;//设置文本格式charcodeCenter_M23[]=CSCA=\+8613800631500\;//短消息中心charcodeDelall_M23[]=CMGD=1,4;//上电删除所有短信息charcodeMessage3_M23[]=GOODLUCK!;//要发送的短信内容charcodeRead_M23[]=CMGL=\RECUNREAD\;//读取未读短信………/*********函数声明**************/………voidSendASC(charASC);//发送一个字符voidSendToM23(char*P,unsignedchargeshu);//发送一个命令voidSetText(void);//设置文本模式voidSetCenter(void);//设置短消息中心voidSendMessage();//发送短信息voidLinkM23(void);//联机指令voidRecMessage(void);//读取未读短信………4.结束语以上从M23模块性能特点、AT命令调试以及软硬件综合设计等方面详细介绍了M23模块在智能家居远程控制中的应用方法。值得注意的是,在实际应用中M23模块若要稳定工作,对电源有较高要求,一定不要轻视。参考文献[1]魏芬.GPRS模块M23在无线数据传输方面的应用设计.工业控制计算机.2009.5[2]于园园.基于GSM的远程家居智能控制研究.长春理工大学硕士论文.2009[3]毛慧琴.基于GSM和单片机的远程家电控制系统.广西大学工程硕士学位论文.2008[4]余为清.智能家用远程控制仪的设计与实现.单片机开发与应用.2008第3期[5]张银胜.一种无线温度报警系统的设计.武汉理工大学学报.2009.4
本文标题:M23模块在远程智能家居控制中的应用
链接地址:https://www.777doc.com/doc-2881639 .html