毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)

上传人:gg****m 文档编号:206387476 上传时间:2021-10-31 格式:DOCX 页数:8 大小:60.86KB
返回 下载 相关 举报
毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)_第1页
第1页 / 共8页
毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)_第2页
第2页 / 共8页
毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)_第3页
第3页 / 共8页
毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)_第4页
第4页 / 共8页
毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)》由会员分享,可在线阅读,更多相关《毕业设计:基于嵌入式Linux的短信收发系统设计(定稿)(8页珍藏版)》请在金锄头文库上搜索。

1、基于嵌入式Linux的短信收发系统设计字体:大中小日期:2008-5-19來源:微计算机信息 作者:沙泉& Itnoscript <a href=& ampdb=afp21 ic<imgsrc= n/adfshow?user=Afp21ic|innewshtml|irinews_200x200&db=afp21ic width=200 height=200,* border=0摘要:移动通信中的短消息业务以其方便、可靠和价廉得到了广泛应用,本文在嵌入式Linux 系统中,通过西门子MC35模块,实现了短信收发系统,该系统采用PDU短信模式,能支 持中文短信。程序设计采用异步事件驱

2、动方式,提高了系统的运行效率。嵌入式系统体积小 巧,Linux资源开放,因此该系统经过二次开发,可方便地用于冬种移动数据采集系统中。1. 引言全球移动通信系统GSM是我国范围最广、通信能力瑕强的移动通信业务,而英中的短消息 功能山于其使用方便、价格低廉、叫靠性高而得到广泛应用。嵌入式Linux也是目前得到广 泛应用的技术,功能强大和资源丰富是英最大的优势。本文在嵌入式Linux系统中利用GSM 模块实现短信的收发,对不方便架设通信线的偏远地区,提供了数据采集的新手段。同时嵌 入式系统休积小巧,Linux操作系统资源开放,所以本系统经过二次开发,町方便地构成移 动数据采集系统,用丁远程数据采集、

3、监控。2. 短信收发原理短信服务业务SMS (Short Message Service)是GSM系统提供给用八的-种数字业务。 它与话音传输及传真一样同为GSM数字蜂离移动通信网络提供的主要电信业务。涉及SMS 管理的协议如图1所示。图1 SMS管理的协议图中SME为短信实体,SMSC为短信服务中心,SMCGWMS为SMS网关,HLR是归属 位置寄存器,用于永久储存管理用八和服务记录的数据库,MSC为移动交换中心,VLR为 访问位置寄存器,含有用八临时信息的数据库,交换中心服务访问用户时需要这些信息。 短消息模块的接入方式支持两种模式:基于AT指令的TEXT模式和基于AT指令的PDU 模式,

4、它指的是短信息数据的编码格式,文本模式只支持7bit编码,只能发送纯英文和数 字信息,而PDU模式支持7bit编码、8bit编码和UCS-2编码,其中后者可进行Unicode 编码,如中文,所以本系统采用PDU模式。GSM模块采用标准AT指令集通信,英中本系统用到的AT指令如农1所示。表1相关AT指令功能AT指令短消息格式AT+CMGF短消息中心号码AT+CSCA新消息提示AT+CNMI读短消息AT+CMGR列短消息AT+CMGL发送短消息AT+CMGS短消息删除AT+CMGD3. GSM短信数据格式分析3.1 发送短信PDU字符串山于短信模式选择的是PDU格式,因此对PDU的编码和转码就变得

5、很重耍。中文短信息的 实现需耍将GB2312的中文编码转换为代码页为CP936的Unicode编码,PDU发送字符 串数据格式中主要山短信中心地址、文件头字节、信息类型、目的地址、协议标识、数据编 码方案、有效期、用户数据长度和用户数据组成。例如:设置PDU格式的编码为08 91 6831 08 20 01 05 F0 11 00 0D 91 68 31 21 43 65 87 F9 00 08 00 04 4F 60 59 7DH,这组彳弋 码的含义如下所示:08H:短信服务中心地址信息的长度,共8个八位字节(包括91): 91H:短信服务中心地址格式,用国际格式号码,在前面加;68 31

6、08 20 01 05 F0H:短信服务中心地址,8613800210500,补F凑成偶数个;11H:基本参数,协议数据单元类型,表示发送,TP-VP用相対格式;00H :信息参考,00H农示参考本身号码;0DH :对方手机号数字个数,共13个十进制数:91H :对方手机号,用国际格式号码,在前而加;68 31 21 43 65 87 F9H:对方手机号(TP-DA), 8613123456789,补F凑成偶数个;00H:协议标识(TP-PID),是普通GSM类型,点到点方式;08H:用户信息编码方式(TP-DCS),主要用其1个字节的第2和第3位表示编码方式,08H 表示为UCS-2编码,垠

7、多发140个字符;04H为8-bit编码,最多发140个字符;00H为 7bit编码,最多发160个字符;00H:有效期(TP-VP), 5分钟;04H:短信长度(TP-UDL),实际长度4个字节;4F 60 59 7DH:用户信息(TP-UD), “你好”的 Unicode 编码。3.2 短信接收PDU字符串接收方PDU字符串的含义和发送方不同,同样以“你好”为例,接收方的PDU字符串为:0891 68 31 08 20 01 05 F0 24 0D 91 68 31 67 24 47 63 F0 00 08 70 50 91 31 21 25 23 04 4F 60 59 7DH,英含义如

8、下:08 91 68 31 08 20 01 05 F0H:短信服务中心,分析同发送相同;24H:协议数据单元类型基本参数(TP-MTI/VFP),发送,TP-VP用相対格式;0DH:对方手机号数字个数;91H:对方手机号(TON/NPI),用国际格式号码(在前面加中);68 31 67 24 47 63 F0H :对方手机号(TP-DA), 8613764274360,补F凑成偶数个;00H:协议标识(TP-PID),是普通GSM类型,点到点方式;08H:用户信息编码方式仃P-DCS),分析同发送方;70 50 91 31 21 25H:短信息发送吋间(SCTS) , 07年05月19 FI

9、 13吋12分52秒;23H:发送吋间对应的时区; 04H:短信长度仃P-UDL),实际长度4个字节;4F 60 59 7DH:用户信息(TP-UD), “你好”的 Unicode 编码。4. 系统组成4.1 硬件组成系统山嵌入式Linux系统和西门子MC35模块通过串行接口三线制连接而构成,MC35模 块通过串口 1与嵌入式系统相连,嵌入式系统配置包括50MHz主频的MPC860 32位处理 器,16MSDRA M内存,2个RS232,操作系统采用嵌入式Linux for PowerPC。MC35模 块山GSM基带处理器、电源专用集成电路、射频电路和闪速存储器等部分纽成,负责处理 GSM蜂窝

10、设备中的音频、数据信号,内嵌的软件部分执行应用接口和所有GSM协议栈的 功能 MC35模块支持中文短信,支持GPRS功能,便于将来功能的扩展4.2 libcssl 函数库为了实现短信收发,需要在嵌入式Linux下通过串口发送-係列的AT指令。串行通信是计 算机与其它设备通信的常用方法,在本系统中采用一个基于Linux的串行通信函数库 libcssl,可实现串行接口的异步事件驱动并发。采用该方法,用户只要在服务器和数据源Z 间建立异步连接,编写数据处理函数,而对数据源出件的监测、数据读取、多事件的处理等 操作是山操作系统内部完成的,因而,很大程度上简化了编程者的工作,同时保证了较高的 资源利用率

11、。libcssl函数库提供给用八多种基于事件驱动方式的串行接口函数。其主要的函数有4类 分 别进行串口初始化、收发数据、鉛误信息和结束串口操作。在使用某个串口之前,应调用初 始化函数,为英设定柑应的参数,使得收发双方遵循和同的通信协议和数据格式,同时通过 初始化操作,为串口数据源和采集服务器之间建立异步连接,分配采集句柄。当数据源通过 串口向嵌入式系统发送数据时,该数据会被送入数据缓冲区,并通过该数据源的采集句柄访 问该串II的事件冋调函数,在该函数中完成数据的处理。这样,当用户使用多个串口时,不 需要用多个线程,只需为每个串口设置独立的冋调函数,各冋调函数Z间可方便地实现数据 交换共亨。稈序

12、中可通过获取鉛谋信息得知系统出现的铀误状态,而釆集程序结束,应关闭 串口,释放系统资源。相关的函数如衣2所示。农2 libcssl函数库中的主要函数类型函数名功能初cssl_start启动串口始化cssl_open打开串口cssl_setflowc ontrol设置数据流控制释放资源cssl_close关闭串口cssl_stop停止串口串口发送数据cssl_putchar向串口输出字符cssl_putstring向串口输出字符串cssl_putdata向串口输出数据错误信息cssl_geterror获収错误码4.3 软件设计使用了异步事件驱动函数库,程序设计简单而容易实现,程序主要山2部分组成

13、,即主程 序设计和冋调函数程序设计,主程序只需做初始化和发送短信,其余功能都放在冋调函数中 完成。在主程序中,各变量赋初值,调用cssl_open函数打开串口,设定的参数为采用串1 1,即 嵌入式Linux的ttySO设备,波特率9600bps, 8位数据位,1位停止位,无奇偶校验,无 数据流控制,定义串II接收数据缓冲区有数据输入时,冋调函数为callback函数,该函数 对数据缓冲区中的数据进行分析处理。通过发送AT+CMGF二0指令定义短信模式为PDU 模式,并判断是否有短信需要发送。对待发送的短信按照PDU发送字符串格式进行编码。 冋调函数中首先读取输入缓冲区内容,根据对标志和缓冲区内

14、容的判断,可以得知冋调事件 是山哪个事件引起,分别加以处理,山于每次向GSM模块发送AT指令后,模块会发送 0K或ERROR等响应表示操作成功或失败,所以在冋调函数中一个很重要的功能就是判断 AT指令是否发送成功,为了区分不同AT指令的响应,程序中采用状态标志,表征系统发 送AT指令的类型。在收到新短信后,需要提取短信发送方电话号码、短信发送吋间和短信 内容等相关信息,并加以存储,提取的依据就是短信接收PDU字符串的编码格式。为了避 免山于短信满而无法接收新短信,需要将处理过的短信删除。相关的流程图如图2和图3 所示。图2主程序流程图读取缓冲区内容新短信?N发送血佶成功N发送fei伫失败紇信P

15、DU楔式设更?N新消息規示设国消息提示 联发短信功能N | 厂中我理 I结束无忧电子开发网coqa- co粘息捉不等待审口审件泊息提不接吹短信并处理图3冋调函数程序流程图5-结论 本文的创新之处在于提供了嵌入式Linux下GSM模块的短信收发系统设计方法,程序设计 中利用串行接口驱动函数库libcssl,以中口 I/O事件驱动设备的数据采集。短信收发采用 PDU模式,能够处理中文、英文和中英文短信。异步事件驱动的架构可以提高系统并发处 理性能,程序能够执行多个异步操作而不调用阻塞线程,降低系统开销。嵌入式系统加GSM 模块的系统组成体积小巧,非常适合于偏远地区或移动的数据采集系统。根据系统的需要, 还可以充分利用MC35模块的GPRS功能,实现高速的数据采集。参考文献:1 程全.李向东.基于GSM模块与AT98C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号