利用GSM模块收发短信_第1页
利用GSM模块收发短信_第2页
利用GSM模块收发短信_第3页
利用GSM模块收发短信_第4页
利用GSM模块收发短信_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章第二章 GSM 模块模块 GSM 模块 是将 GSM 射频芯片 基带处理芯片 存储器 功放器件等集 成在一块线路板上 具有独立的操作系统 GSM 射频处理 基带处理并提供标 准接口的功能模块 本文选用的 GSM 模块为西门子 TC35I 模块 2 TC35I 的内部由 GSM 基带处理器 射频 Flash 天线接口 匹配电源 ASIC 和 40pin 的 ZIF 插座组成 由若干超大规模集成电路和射频器件构成 包 含信号处理 信道编码 GSM 控制 收发信单元 射频控制 数据输入输出接 口等部分 可以快速安全可靠地实现系统方案中的数据传输 语音传输 短信 息服务和传真服务 模块的工作电压为 3 3V 5 5V 可以工作在 900MHZ 和 1800MHZ 两个频段 所在频段功耗分别为 2W 900MHZ 和 1W 1800MHZ 模 块有 AT 命令集接口 支持文本和 PDU 模式的短信息 3 此外 该模块还有电 话簿功能 多方通话 漫游检测等功能 常见工作模式由省电模式 IDLE TALK 等模式 通过 40 管脚的 zif 连接器 可分别连接 SIM 卡支架和天 线 作为 TC35I 的核心 基带处理器主要处理 GSM 终端内的语音 数据信号 并涵盖了蜂窝射频设备中的所有的模拟和数字功能 在不需要额外硬件电路的 前提下 支持 FR HR 和 EFR 和语音编码 4 TC35I 模块自带串行通信接口 可以方便地与 PC 机 单片机等进行串行通 信 从而实现对 TC35I 模块的控制 虽然 TC35I 模块的串口提供了许多控制线 但是由于考虑到接口的简单性 并且与 PC 机的 UART 进行连接 所以采用两 线 TXD RXD 连接 TC35I 的其他管脚在不使用的时候 如果该管脚为输出 的话 一般让该管脚悬空 如果该管脚为输入管脚 需要将该管脚通过 10K 的 电阻拉高 另由于 IGT 管脚是控制 TC35I 模块工作的管脚 所以需要将管脚上 拉 从而可以通过 PC 机来控制 TC35I 模块的工作状态 在此次连接是使将 TC35I 模块的电源管脚全部连接在一起 由于 TC35I 是一个功能完全的模块 因此不需要做任何的信号处理和射频处理 5 TC35I 的开发板上有发光二极管来指示 TC35I 的工作状态 当发光二极管 LED 熄灭时 表明 TC35I 处于关闭或睡眠状态 当 LED 为 600ms 亮 600ms 熄 时 表明 SIM 卡没有插入或 TC35I 正在进行网络登录 当 LED 为 75ms 亮 3s 熄时 表明 TC35I 已登录进网络 处于待机状态 第四章第四章 PDUPDU 数据格式及数据格式及 ATAT 命令命令 4 14 1 PDUPDU 数据格式数据格式 4 1 14 1 1 PDUPDU 简介简介 PDU 相当于一个数据包 它由构成消息 SMS 的信息组成 作为一种数据 单元 它必须包含源 目的地址 保护 有效 时间 数据格式 协议类型和正 文 正文长度可达 140 字节 它们都以十六进制表示 PDU 结构根据短消息由 移动终端发起或以移动终端为目的而不同 当由移动终端发起时 PDU 的格式为 SMS C PDU 类 型 MRDAPIDDCSVPUDL UD 0 140oct ed 当以移动终端为目的时 PDU 的格式为 SMSC PDU 类 型 OAPIDDCSSCTSUDL UD 0 140oc ted 其中 SMSC 为短消息业务中心地址 DA OA 为源 目的地址 PID 为协议识 别 DCS 为数据编码 UDL 为用户数据长度 UD 为用户数据 VP 为有效时间 MR 指明是发出信息 SCTS 指明短消息到达业务中心的时间 4 1 24 1 2 发送短信发送短信 PDUPDU 格式格式 AT 十 CMGS Send SMS command 发送短消息指令 PDU 模式中 首先发送短消息数据的长度 AT CMGS 等待返回 ASCII 字符 则可将 PDU 数据输入 PDU 数据以 作为结束符 短消息发送成功 模块返回 步骤步骤 1 1 发送 发送 AT AT 连接测试 返回连接测试 返回 OKOK 步骤步骤 2 2 设置短信息发送格式设置短信息发送格式 AT CMGF 0 选择短消息信息格式 0 PDU 1 TEXT 步骤步骤 3 3 发送发送 PDUPDU 短消息数据的长度 从短消息数据的长度 从 1111 开始 不包括短信中心的号码 开始 不包括短信中心的号码 AT CMGS 25 十六进制 41542B434D47533D32350D 返回返回 步骤步骤 4 4 输入输入 PDUPDU 数据数据 在 后输入 十六进制 0D 0A 3E 20 0891683108200905F011000D91683103190019F00008A7106C344F4D003D00357C73 ASCII 码 步骤步骤 5 5 按按 ctrl zctrl z 发送短消息 发送短消息 如果短消息发送成功 则返回 OK 并显示信息号 CMGS CMGS 000 如果短消息发送失败 则返回如下信息号 CMS ERROR HEX 发送 PDU 数据格式为 ASCII 转换为 HEX 最后输入 1A 1A 30 38 39 31 36 38 33 31 30 38 32 30 30 39 30 35 46 30 31 31 30 30 30 44 39 31 36 38 33 31 30 33 31 39 30 30 31 39 46 30 30 30 30 38 41 37 31 30 36 43 33 34 34 46 34 44 30 30 33 44 30 30 33 35 37 43 37 33 1A HEX PDU 数据格式分析 PDU 式支持汉字 汉字的十六进制 PDU 编码直接采用汉字 4 1 34 1 3 UnicodeUnicode 编码的格式编码的格式 1 SCA 1 SCA 短信息服务中心地址短信息服务中心地址 08 9191 683108200905F0 1 08 短信息服务中心地址长度指 91 683108200905F0 8 个字节的 长度 2 91 短信息中心号码类型 91 是 TON NPI 遵守 International E 164 标准 指在号码前需加 号 此外还有其它数值 但 91 最常用 91 指国际 类型 81 指国内类型 91 10010001 号码类型 数值类型 Type of Number 000 未知 001 国际 010 国内 111 留 作扩展 号码鉴别 Numbering plan identification 0000 未知 0001 ISDN 电话号码 E 164 E 163 1111 留作扩展 3 683108200905F0 短信息中心号码 对于短消息中心号码的编码采用的 是半位码 取十六进制的 ASCII 码 8 的 ASCII 码是 38 6 的 ASCII 码是 36 所以数字编码只要取相应的二进制的后四位就可以有效的表示一个数字 也就是十六进制的右边一位 所有数字都取二进制的后四位 然后两两合并 后面的字符是高四位 前面的字符是低四位 依此原则 短消息中心号码的前 两位号码为 86 编码后为 68 同样的 13 编码为 31 但是最后只剩下一个 0 用 F 补齐 编码为 F0 其中 86 为中国的国际区号 注 西安短信中心 号码 863 通称短消息中心地址 SCA 2 FO2 FO 文件头字节文件头字节 发短信时设为发短信时设为 11 11 11 1 设置 用户数据头标识 TP UDHL TP User Data Header Indicator 0 不含任何 头信息 1 含头信息 状态报告要求 TP SPR TP Status Report Request 0 需要报告 1 不 需要报告 有效期格式 TP VPF TP Validity Period Format 00 不提供 Not present 10 整型 标准 01 预留 11 提供 8 位字节的一半 Semi Octet Represented 拒绝复制 TP RD TP Reject Duplicates 0 接受复制 1 拒绝复制 信息类型提示 TP MTI TP Message Type Indicator 00 读出 Deliver 01 提交 Submit 3 3 MRMR 信息类型 信息类型 TP Message ReferenceTP Message Reference 一般为 一般为 0000 4 4 DADA 被叫号码被叫号码 0D0D 9191 683103190019F0683103190019F0 0D 被叫号码长度 8613309100910 共 13 位 实际号码长度 91 被叫号码类型 为国际类型 683103190019F0 被叫号码 经过了位移处理 实际号码为 8613309100910 编码方式与短消息中心号码相同 5 5 PIDPID 协议标识协议标识 TP PIDTP PID TP Protocol IdentifierTP Protocol Identifier 一般为 一般为 0000 BIT No 7 6 5 4 3 2 1 0 Bit No 7 与 Bit No 6 00 如下面定义的分配 Bit No 0 Bit No 5 01 参 见 GSM03 40 协议标识完全定义 10 预留 11 为服务中心 SC 特殊用途分 配 Bit No 0 Bit No 5 一般将这两位置为 00 Bit No 5 0 不使用远程网络 只是短消息设备之间的协议 1 使用远程网 络 Bit No 0 Bits No 4 00000 隐含 00001 电传 00010 group 3 telefax 00100 语音 00101 欧洲无线信息系统 ERMES 00110 国内系 统 10001 任何基于 X 400 的公用信息处理系统 10010 Email 6 6 DCSDCS 数据编码方案数据编码方案 TP DCSTP DCS TP Data Coding SchemeTP Data Coding Scheme Bit No 7 与 Bit No 6 一般设置为 00 Bit No 5 0 文本未压缩 1 文本用 GSM 标准压缩算法压缩 Bit No 4 0 表示 Bit No 1 Bit No 0 为保留位 不含信息类型信息 1 表 示 Bit No 1 Bit No 0 含有信息类型信息 Bit No 3 与 Bit No 2 00 默认的字母表 01 8bit 10 USC2 16bit 11 预留 Bit No 1 与 Bit No 0 00 Class 0 01 Class 1 10 Class 2 SIM 卡特 定信息 11 Class 3 00 有效期 TP VP TP Valid Period 08 使用 UNICODE 编码类型 00 7 位编码 7 7 VPVP 相应的有效期 相应的有效期 value h value h A7A7 为为 24 小时小时 00 to 8F VP 1 5 分钟 90 to A7 12 小时 VP 143 30 分钟 A8 to C4 VP 166 1 天 C5 to FF VP 192 1 周 8 8 UDL UDL 用户数据长度 用户数据长度 TP User Data LengthTP User Data Length 即实际短信息内容长度 即实际短信息内容长度 9 9 UDUD 用户数据 用户数据 TP User DataTP User Data 即短信内容 即短信内容 4 24 2 短信短信 ATAT 命令介绍命令介绍 所谓 AT 指令 就是指控制 TC35I 的命令 它们有固定的格式 选择相应的 AT 指令通过 TC35I 模块的串行通信口发送给 TC35I 模块 就能控制模块的工作 了 其中常用的指令有设置短消息中心号码 选择文本方式 发送短消息 读 短消息 删除短消息等操作命令 AT 指令就是控制器与 TC35I 模块间通信的语 言 6 比如要设置短消息中心号码 则要向 TC35I 模块发送下文引号中的内容 AT CSCA 86138004325000 如果设置成功 TC35I 模块就会返回下文中引号中的内容 AT CSCA 86138004325000 OK 其中值得注意的地方是 向 TC35I 模块发送一条 AT 指令时 TC35I 模块在 执行完指令时不仅返回 OK 在 OK 上还显示你发送给模块的那条指令 本文涉及的以及常用的 AT 指令有以下几个 1 AT CMGD X 删除 SIM 卡内存的短消息 X 为短消息的位置序号 X 1 为删除第一条短消 息 以此类推 2 AT CMGL n 列出 SIM 卡中的短消息 n 0 是未读短消息 n 1 是已读短消息 n 2 是未 发送短消息 n 3 是已发送短消息 n 4 是所有短消息 3 AT CMGR X 读取第 X 条短消息 X 为短消息的位置序号 4 AT CMGS 发送短消息 AT CMGS短信内容 返回 CMGF XX XX 代表数字 表示发送成功 返回 ERROR 表示发送失败 5 AT CMGF n 选择短消息信息格式 n 0 为 PDU 编码格式 n 1 为 Text 编码格式 只支 持发送英文及数字 6 AT CSCA 短消息中心地址 AT CSCA 8613800432500 为设置为吉林地区短消息中心地址 7 AT CNMI 显示新收到的短消息 AT CNMI 1 1 2 收到短消息后自动提示 第五章第五章 通过串口收发短消息通过串口收发短消息 5 15 1 用串口收发过程用串口收发过程 当 ME 收到一条消息时 主动发出通知给 TE 或者直接将消息转发到 TE 与 查询机制相比 它类似于中断机制 先简要说明一下短消息类 class 的概念 根据指定储存的位置 短消息分为 class 0 3 四个类 也可以不指定类 no class 由 ME 按默认设置进行处理 存储到内存或者 SIM 卡中 在 TPDU 的 TP DCS 字节中 当 bit7 bit4 为 00 x1 01x1 1111 时 bit1 bit0 指出消息所 属类 00 class 0 只显示 不储存 01 class 1 储存在 ME 内存中 02 class 2 储存在 SIM 卡中 03 class 3 直接传输到 TE GSM Modem 一般都支持一条 AT CNMI 指令 可用于设定当有某类短消息到达 时 如何处置它 只储存在指定的内存 易失的 非易失的 中 先储存后通知 TE 还是直接转发到 TE 等等 AT CNMI 指令语法为 AT CNMI mode 通知方式 0 不通知 TE 1 只在数据线空闲的情况下 通知 TE 否则不通知 TE 2 通知 TE 在数据线被占用的情况下 先缓冲起来 待数据线空闲 再行 通知 3 通知 TE 在数据线被占用的情况下 通知混合在数据中一起传输 mt 消息储存或直接转发到 TE 0 储存到默认的内存位置 包括 class 3 1 储存到默认的内存位置 并且向 TE 发出通知 包括 class 3 2 对于 class 2 储存到 SIM 卡 并且向 TE 发出通知 对于其它 class 直 接将消息转发到 TE 3 对于 class 3 直接将消息转发到 TE 对于其它 class 同 mt 1 bm ds bfr 的含义 请参考相关标准文档 一般不需要去关心它们 在程序中具体实现时 使用 mode 2 mt 1 比较简单 对所有类型的短消息 只要在收到 ME 送来的 CMTI 通知后 用 AT CMGR 指令读取消息内容就行 了 TE 与 ME 之间的通信过程 举例如下 初始化 AT CNMI 查看能支持的设置范围 CNMI 0 2 0 3 0 2 3 0 1 0 1 OK AT CNMI 查看当前设置 CNMI 0 0 0 0 0 OK AT CNMI 2 1 设置为 mode 2 mt 1 OK AT CNMI 再查看当前设置 CNMI 2 1 0 0 0 OK 过了一段时间 有一条消息到达 CMTI ME 8 通知 消息已经存储在 ME 内存中 序号为 8 AT CMGR 8 读第 8 条消息 CMGR 8 27 0891683108200505F0240D91683158812764F80000402052110373800741E19058341 E01 OK AT CMGD 8 删除第 8 条消息 OK 还有一种方式 mode 2 mt 2 也很令人感兴趣 在这种方式下 除了 class 2 外 消息不存储 直接转发到 TE 需要处理消息通知和内容两种情况 复杂一些 但如果发送方也由程序控制 可以只发 no class 或 class 1 的消息 这样不存 储在接收方 ME 内存 一般是闪存 非易失性的 中 肯定能延长它的使用寿命 TE 与 ME 之间的通信过程 举例如下 AT CNMI 2 2 设置为 mode 2 mt 2 OK 过了一段时间 有一条消息到达 CMT 26 0891683108200505F0040D91683158812764F8000840205211639180064F60597D002 1 5 25 2 调试及结果调试及结果 本文利用串口调试助手向 TC35I 模块发送 AT 指令 首先将 GSM 模块开发板中的串口与计算机串口通过串口线相连 实物图如 图 1 所示 打开串口调试助手 选择相应的串口号 由于 TC35I 模块上电复位 后默认的串行通信波特率为 9600 因此要选择串口调试助手的波特率为 9600 1 设置完串口调试助手后 为 TC35I 模块供电 供电后指示灯亮 然后按下 复位按钮 这时串口调试助手上可以看出 TC35I 模块向计算机发送了若干数据 表明模块启动成功 然后可以看到模块上的 LD2 灯一亮一灭 亮和灭的时间间 隔相同 都是 600ms 表明 TC35I 模块正在登入网络 过一分钟左右 如果看 到 LD2 长灭短亮 亮 75ms 灭 3s 说明 TC35I 已经成功登入 GSM 网络 可以 与外界通过通信了 然后就可以通过串口调试助手发送 AT 指令来控制 GSM 模 块了 首先要做的就是对 TC35I 模块进行初始化设置 初始化流程如图 2 所示 包括发送联机命令 设置短消息中心号码 选择文本模式和设置为收到短消息 自动提醒方式等 图 2 GSM 模块初始化流程图 利用串口调试助手调试 TC35I 模块的具体步骤如下 1 将 TC35I 开发板的串口与计算机串口通过串口线连接起来 打开串口 调试助手 选择相应的串口 本次调试的串口为 COM1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论