《课程设计(论文)基于GPRS的远程控制课程设计报告.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于GPRS的远程控制课程设计报告.doc(15页珍藏版)》请在三一办公上搜索。
1、 物理与电子工程学院 嵌入式系统与应用课程设计报告题 目 基于GPRS的远程控制实现 系 别 物理与电子工程学院 年 级 级 专 业 电子科学与技术 班 级 二班 学 号 学生姓名 指导教师 职 称 实验师 设计时间 目 录一、绪论21.1本设计课题目的及意义,重点解决了什么问题;21.2通过设计,系统实现的具体功能;31.3系统的主要特点或亮点、创新点;31.4系统运行的软、硬件环境;3二、GPRS远程控制系统32.1 GPRS系统综述32.1.1 GPRS技术特点32.1.2 GPRS工作原理42.2 GPRS系统结构5三、程序设计63.1GPRS模块和ARM的串口连接建立;63.2 AT
2、指令的分析。8四、实验现象94.1可运行程序的下载编译94.2程序运行结果104.3开发板链接led灯显示结果104.4警告发短信到手机结果114.4随机编辑手机号码,随机短信内容发送短信结果11五、实验注意点及问题125.1端的连接与调试125.2多进程函数的互斥锁125.3编辑短信发送自定义手机号码12六、总结与体会12七、参考文献13引言GPRS是通用分组无线业务(GeneralPacketRadioService)的英文简称,通用无线分组业务是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接,特别适用于频繁的、少量的数据传输。GPRS应用于远程智能家居控制系统具有
3、实时在线、接入范围广、数据传送速率高、支持TCP/IP协议和X.25协议、运行费用低等特点。随着我国经济的高速增长、人民生活水平的日益提高,实现家庭信息化、网络化已经成为社会发展的新趋势。但是目前国内的智能家居产品主要存在着产品兼容性差、交互操作复杂、产品价格居高不下等缺点,这些因素都直接制约着智能家居产业的进一步发展。本文将介绍一种新型实用的家电远程智能控制系统,其主要特色在于能够实现以收发短信的方式对家庭用电设备进行通断电状态查询和控制,同时还具有手动发送短信,定向发送警告等功能。并且还具有不受家居环境影响、性价比高、工作稳定可靠、操作简单、实用性强等优点。关键词:GPRS;智能家居;短信
4、控制;警告提醒一、 绪论1.1本设计课题目的及意义,重点解决了什么问题;利用ARM9的开发平台在Linux操作系统中,利用GPRS模块通过短信控制LED灯的点亮,利用按钮触发中断发送固定报警信息。A、Linux下编程实现串口初始化和输入短信接收方的手机号码。B、GPRS模块和ARM的串口连接建立;AT指令的分析。C、接收到短信控制LED灯点亮;D、按钮按下,发送指定短息。重点解决问题:随机定义手机号码,随机定义短信内容,进行短信的发送。1.2通过设计,系统实现的具体功能;功能1:随机定义手机号码,随机定义短信内容进行短信的发送。功能2:设计定向短信及内容,实现报警功能。功能3:通过手机短信,控
5、制LED等的点亮与熄灭。功能4:多进程进行,通过按键控制实施不同的功能。1.3系统的主要特点或亮点、创新点;1.随机定义手机号码,随机编辑短信内容实施短信的发送,可以进行短信的沟通。2.短信控制LED的点亮与熄灭,固定短信号码,如同自己加剧设置固定号码,别人无法控制1.4系统运行的软、硬件环境;硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发环境、仿真器驱动程序、超级终端通讯程序二、 GPRS远程控制系统2.1 GPRS系
6、统综述2.1.1 GPRS技术特点GPRS是通用分组无线业务(General Packet Radio Service)的简称,是建立在GSM基础上的无线网络技术,它在现有的GSM网络上叠加了一个基于分组交换的无线接口,引入三种新的逻辑网络实体:服务GPRS支持节点(SGSN)、网关GPRS支持节点(GGsN)和分组控制单元(PCU),同时配合软件升级,目标是提供高速分组数据业务。用分组交换来补充电路交换是对GSM技术的一个重要升级。分组交换的一大优点是可以灵活分配网络资源,仅在数据传送时才使用无线信道,这样多个用户可以共享一条无线信道,大大提高资源利用率。GPRS的数据传送使用业务信道,速率
7、为9kbps-一214kbps,如果一个用户独占8个信道,总速率将超过170kbps,在实际中单个用户可以同时使用l至3条信道,速率为几十kbps13】。GPRS的主要特点是:(1)覆盖范围广、可以移动、接入地点无限制、能满足跨地区的接入需求。(2)GPRS采用分组交换技术,高效传输高速或低速数据和信令,优化了对网络资源和无线资源的利用。数据传输速率高,理论传输速率171Kbps,实际传输速率40Kbps。(3)系统的传输容量大,扩容无限制。(4)通信费用低。进行连接的方法是租用专线或电话线,基于数据流量、业务类型及服务质量等级(QOS)计费。计费方式更加合理,用户使用更加方便。(5)实时性好
8、。与短消息服务比较,系统无时延,可很好的满足系统对数据采集和传输实时性的要求。(6)GPRS网络接入速度快,提供了与现有数据网的无缝连接。GPRS网本身就是一个分组型数据网,支持TCPIP和X25协议,无需经过PSTN等网络的转接,直接与分组数据网(IP网或x25网)互通,接入时间仅几秒,快于电路型数据业务。2.1.2 GPRS工作原理GPRS采用与GSM相同的频段、相同的频带宽度、相同的突发结构、相同的无线调制标准、相同的调频规则以及相同的TDMA帧结构。因此,在GSM系统上构建GPRS系统时,GSM系统的绝大部分部件都不需要作硬件改动,只需作软件升级。构成GPRS系统的方法是:(1)在GS
9、M系统中引入三个主要组件,这三个主要组件是SGSN(GPRS业务支持节点)、GGSN(GPRS网关支持节点)和PCU(分组控制单元),SGSN、GGSN有时有合称为GSN(GPRS支持节点)。(2)对GSM系统中的相关部件进行软件升级。GPRS系统在无线资源分配上采用动态信道分配方式,仅在有效数据通信时占有物理信道资源,因此既可以长时间保持在线,又没有独占信道,可以大大提高频率资源的利用率。当一则消息含有大量的数据时,它可以被分成多个分组,不同的分组可以通过不同的信道发送,这些分组到达目的地以后,它们被重新组合起来,恢复成原有消息。GPRS的分组数据功能并不对GSM系统支持的电路交换服务产生影
10、响,GSM和GPRS可以共处一网,并做到互不影响。现有的GSM移动台MS,不能直接在GPRS中使用,需要按GPRS定义的标准进行改造(包括硬件和软件的改造)才可以用于GPRS系统。GPRS定义了三类MS:A类、B类和C类。A类可同时工作于GPRS和GSM;B类可自动地在GPRS和GSM两者之间切换工作;C类只能手动地在GPRS和GSM两者之间切换工作。因为将来的GSM和GPRS将是共处一网的,所以MS的发展方向也将是GSM和GPRS兼容的。在GPRS用户使用GPRS业务之前,它首先要通过GPRS附着过程将自己的信息登记在SGSN中。附着过程结束后,SGSN建立了移动台的信息,并对移动台作移动性
11、管理,尽可能地获得移动台的位置信息。移动台如要访问外部数据网,需要发起PDP上下文激活过程,通过此过程使移动台到GGSN建立一条逻辑通路,从而可以访问外部数据网。2.2 GPRS系统结构目前GSM网络的业务主要包括语音业务和数据业务两种,实现GPRS也就是把目前GSM网络中的数据业务分离出来,形成一个分组交换的数据业务。为了实现这一点,需要在现有的GSM网络中引入三种新的逻辑网络实体:SGSN、GGSN和PCU,同时配合软件升级。GPRS的系统结构如图所示,各部分简介如下。(1)分组控制单元(PCU)PCU是通过对BSS进行软件升级而引入的,主要用来处理数据业务。PCU负责管理分组分段和规划、
12、无线信道、传输错误检测和自动重发、信道编码方案、质量控制、功率控制等。(2)服务GPRS支持节点(SGSN)用于跟踪移动台的位置、执行移动性管理、安全性功能和SGSN与MSC处于相同的体系层次,接入控制。对于移动台,SGSN是GPRS网络的服务访问点。(3) 网关GPRS支持节点(GGSN)GGSN提供了GPRS网络和外部网络如分组交换公用数据网(PSPDN)之间的接口,相当于一个网关。当外部网有数据包需要传输到移动台时,数据包首先到达GGSN,再由GGSN转发到该移动台对应的SGSN;当移动用户要向外部网发送数据包时,也由GGSN进行转发。GPRS系统结构三、 程序设计3.1GPRS模块和A
13、RM的串口连接建立;int Uart_Set(int fd1,int nSpeed, int nBits, char nEvent, int nStop)struct termios newtio,oldtio;if ( tcgetattr( fd1,&oldtio)!=0) perror(SetupSerial 1);return -1;bzero(&newtio, sizeof( newtio );newtio.c_cflag |= CLOCAL | CREAD; newtio.c_cflag &= CSIZE; switch( nBits )case 7:newtio.c_cflag |
14、= CS7; /data: 7bitsbreak;case 8:newtio.c_cflag |= CS8; /data: 8bitsbreak;switch( nEvent )case O: newtio.c_cflag |= PARENB;newtio.c_cflag |= PARODD;newtio.c_iflag |= (INPCK | ISTRIP);break;case E: newtio.c_iflag |= (INPCK | ISTRIP);newtio.c_cflag |= PARENB;newtio.c_cflag &= PARODD;break;case N: newti
15、o.c_cflag &= PARENB;break;switch( nSpeed ) /set the bpscase 2400:cfsetispeed(&newtio, B2400);cfsetospeed(&newtio, B2400);break;case 4800:cfsetispeed(&newtio, B4800);cfsetospeed(&newtio, B4800);break;case 9600:cfsetispeed(&newtio, B9600);cfsetospeed(&newtio, B9600);break;case 115200:cfsetispeed(&newt
16、io, B115200);cfsetospeed(&newtio, B115200);break;case 460800:cfsetispeed(&newtio, B460800);cfsetospeed(&newtio, B460800);break;default:cfsetispeed(&newtio, B9600);cfsetospeed(&newtio, B9600);break;if( nStop = 1 ) /set the 1bit stopnewtio.c_cflag &= CSTOPB;else if ( nStop = 2 ) /set the 2bit stopnewt
17、io.c_cflag |= CSTOPB;newtio.c_ccVTIME = 0;newtio.c_ccVMIN = 0;tcflush(fd1,TCIFLUSH); if(tcsetattr(fd1,TCSANOW,&newtio)!=0)perror(com set error);return -1;printf(set done!n);return 0;3.2 AT指令的分析。GPRS模块和应用系统是通过串口连接的,控制系统可以发给GPRS模块AT命令的字符串来控制其行为。GPRS模块具有一套标准的AT命令集,包括一般命令、呼叫控制命令、网络服务相关命令、电话本命令、短消息命令、GPR
18、S命令等。详细信息请参考扩展板的应用文档。用户可以直接将扩展板和计算机串口相连,打开超级终端并正确设置端口和如下参数:波特率设为115200,数据位为8,关闭奇偶校验,数据流控制采用硬件方式,停止位为1。然后可以在超级终端里输入“AT”并回车,即可看到GPRS模块回显一个“AT”;亦可以尝试下列AT命令子集。短消息AT指令AT+CMGF=选择短消息格式。mode=0为PDU模式,1为文本模式。建议文本模式。AT+CSCA?读取短消息中心地址。AT+CMGL=列出当前短消息存储器中的短消息。stat参数空白为收到的未读短信。AT+CMGR=读取短消息。index为所要读取短信的记录号。AT+CM
19、GS=xxxxxxxxCR Text CTRL+Z发送短消息。xxxxxxxx为对方手机号码,回车后接着输入短信内容,然后按CTRL+Z发送短信。CTRL+Z的ASCII码是26。AT+CMGD=删除短消息。index为所要删除短信的记录号。tty_writecmd(fd,at+cmgf=1r,sizeof(at+cmgf=1r);注:设置短信格式,mode=1.短信格式为文本格式tty_writecmd(fd,at+cmgd=1,4r,sizeof(at+cmgd=1,4r);注:删除短消息,释放内存tty_writecmd(fd,at+cmgr=1r,sizeof(at+cmgr=1r);
20、注:读取短消息read(fd,buf,1024);/printf(recn);if(strstr(buf,num)&strstr(buf,on)!=NULL)printf(onn);ioctl(led_fd, 1, 0);ioctl(led_fd, 1, 1);ioctl(led_fd, 1, 2); usleep(100);tty_writecmd(fd,at+cmgd=1r,sizeof(at+cmgd=1r);char cmd_buf25;/=at+cmgs=xxxxxxxxxxx;注:设置发送短信的手机号码short_message_bufi = 0x1A;注:ASCII码是26,短信
21、发送指令标志四、 实验现象4.1可运行程序的下载编译4.2程序运行结果Xshell运行提示结果图4.3开发板链接led灯显示结果Led等点亮结果图4.4警告发短信到手机结果手机警告短信图4.4随机编辑手机号码,随机短信内容发送短信结果结果实现:1、随机编辑手机号码,随机编辑短信内容进行发送短信2、按键控制警告提示3、手机短信控制LED等的点亮五、 实验注意点及问题5.1端的连接与调试超级终端的连接与调试,原先超级终端有点问题,在老师的知道下,我们通过超级终端短信调试工具进行超级终端的调试,电脑串口的输入输出串联验证串口工作是否正常。5.2多进程函数的互斥锁在实现多进程的时候,我们遇到了函数死循
22、环的情况,不停的读取短信内容,参考相关资料,发现多进程函数需要添加一个互斥锁,“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在 哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”5.3编辑短信发送自定义手机号码在这一模块中,如何通过Xshell程序下载软件进行短信的编译和电话号码的设定。起初一直卡在多进程与这一模块
23、的实现,通过查阅资料学到,可以通过按键实现函数调用,从而实现多进程程序。六、 总结与体会此次实验课题是基于GPRS的远程控制设计。原先对这一模块一无所知,通过本次实验,不断的搜集资料,再实验不断进行过程中,我渐渐了解到超级终端通讯程序的功能以及使用方法。渐渐的掌握了at指令,学会了利用at指令来实施超级终端的通讯功能。通过编写程序实施短信的互发,利用GPRs短信功能进行LED灯的远程短信控制。按键功能实现多进程功能,多进程运行程序。同时学会了如何定向发送警告,通过超级终端短信功能进行警告提醒。GPRS远程控制,当前家用电器的发展趋势,这次实验让我了解了社会形势的发展,同时,也让我深刻理解了我们
24、这个专业的发展方向。在实验过程中,我们走了很多的弯路,超级终端通信功能的连接,串口的设置,串口驱动程序的下载,随机编辑短信随机发送手机号码等。原先一直卡在超级终端的连接,浪费了很多的时间,但在这个过程中也收获了很多,习了超级终端的工作模式。困难重重,但受益匪浅。七、 参考文献1 金建设主编.嵌入式系统基础教程.大连:大连理工大学出版社,20092 张学武, 江冰, 张卓编.嵌入式系统原理与接口技术.北京:电子工业出版社,20133王真星著.嵌入式产品分析与设计.北京:电子工业出版社,20134王勇著.嵌入式系统原理与设计.浙江:浙江大学出版社,20075/Elecia Wbite著.嵌入式系统设计与实践.余水清译.北京:机械工业出版社,2013设计性实验报告成绩: 指导教师签名: