已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长江大学工程技术学院 毕毕业业设设计计 论论文文 题题 目目 名名 称称 基于 GSM 远程控制系统的设计 题题 目目 类类 型型 毕业设计 系系 部部 信息系 专专 业业 班班 级级 自动化 0802 班 学学 生生 姓姓 名名 袁易 指指 导导 教教 师师 朱嵘涛 助教 辅辅 导导 教教 师师 朱嵘涛 助教 时时 间间 2011 年 11 月 25至至2012 年 6 月 10 日 目录目录 任务书任务书 开题报告开题报告 指导教师审查意见指导教师审查意见 评阅教师评语评阅教师评语 答辩会议记录答辩会议记录 中文摘要中文摘要 英文摘要英文摘要 前言前言 XVXV 1 1 绪论绪论 1 1 1 1 题目来源 1 1 2 研究的目的和意义 1 2 2 总体方案与论证总体方案与论证 3 3 2 1 设计方案模块 3 2 2 无线通信模块 3 2 3 控制单元模块的选择 4 2 4 电源模块的选择 4 2 5 系统总体框架 4 3 3 系统硬件模块设计系统硬件模块设计 6 6 3 1 电源及复位电路的设计 6 3 2 串口通信模块设计 7 3 3 GSM 模块接口设计 8 3 4 串行存储器的设计 11 3 5 采集系统模块设计 12 3 6 外部继电器控制模块设计 13 3 7 单片机模块的设计 14 4 4 系统软件设计系统软件设计 1717 4 1 串口程序设计 18 4 2 存储程序设计 21 4 3 短消息程序设计 25 4 4 信息采集控制程序设计 33 5 5 短消息收发测试短消息收发测试 3131 5 1 普通测试 34 5 2 特殊测试 35 6 6 总结总结 3636 6 1 系统其他改进方案 36 参考文献参考文献 3737 致谢致谢 3838 附录附录 3939 长江大学工程技术学院毕业设计长江大学工程技术学院毕业设计 论文论文 任务任务 系 信息系 专业 自动化 班级 60802 学生姓名 袁易 指导教师 职称 朱嵘涛 助教 1 毕业设计 论文 题目 基于 GSM 的远程控制系统的设计 2 毕业设计 论文 起止时间 2011 年 11 月 15 日 2012 年 6 月 10 日 3 毕业设计 论文 所需资料及原始数据 指导教师选定部分 1 康华光 电子技术基础 M 北京 高等教育出版社 2000 2 周立功 ARM与嵌入式系统基础编程 M 北京 北京航空航天大学出版社 2004 3 谭维瑜编 电机与电气控制 M 北京 机械工业出版社 2007 4 周立功等 嵌入式系统软件开发实例 M 北京 北京航空航天大学出版社 2004 5 周立功等 深入浅出ARM7 LPC213X 214X 上 M 北京 北京航空航天大学出版社 2004 6 刘洪涛等 嵌入式系统技术与设计 M 北京 人民邮电出版社 2009 7 胡汉才 嵌入式Linux系统设计与开发 M 北京 机械工业出版社 2009 8 冀常鹏 AVR单片机GSM GPRS应用技术 M 北京 国防工业出版 社2011 9 刘峥嵘等 嵌入式系统设计与实战 M 北京 机械工业出版社 2007 10 赵苍明等 嵌入式Linux应用开发教程 M 北京 人民邮电出版社 2009 4 毕业设计 论文 应完成的主要内容 1 方案的选用与设计 2 硬件电路设计 3 软件编程 5 毕业设计 论文 的目标及具体要求 目标 能够通过短信实现对目标板 LED 灯的控制 要求 1 掌握在 Linux 如何对程序进行编译和执行 2 掌握linux 下串口驱动程序的开发 3 能实现对开发板 LED 的控制 6 完成毕业设计 论文 所需的条件及上机时数要求 微机一台 CPU 2 0G 以上 内存 2G 以上 硬盘 160G 以上 软件 LINUX ARM9 开发板一个 上机时数要求 大约 150 小时 任任务务书书批批准准日日期期 2 20 01 11 1 年年 1 11 1 月月 2 25 5 日日 系系主主任任 责责任任教教授授 签签字字 任任务务书书下下达达日日期期 2 20 01 11 1 年年 1 11 1 月月 3 30 0 日日 指指导导教教师师 签签字字 完完成成任任务务日日期期 年年 月月 日日 学学生生 签签名名 长江大学工程技术学院 毕业设计 论文 开题报告毕业设计 论文 开题报告 题题 目目 名名 称称 基于 GSM 的远程控制系统的设计 题题 目目 类类 型型 毕业设计 系系 部部 信息系 专专 业业 班班 级级 自动化 60802 班 学学 生生 姓姓 名名 袁易 指指 导导 教教 师师 朱嵘涛 助教 辅辅 导导 教教 师师 朱嵘涛 助教 开题报告时间开题报告时间 2011 年 12 月 20 日 1 1 题目来源题目来源 远程监控系统有两种类型 一种是生产现场没有现场监控系统 而是将数据采 集后直接送到远程计算机进行处理 这种远程监控与一般的现场监控没有多大的区 别 只是数据传输距离比现场监控系统要远 其它部分则和现场监控系统相同 另 一种是现场监控与远程监控并存 一般是采用现场总线技术将分布于各个设备的传 感器 监控设备等连接起来 这样就从分立单元阶段进入了集成单元阶段 然后各 个管理站点的服务再用局域网连接起来 这样就形成了企业内部网 Intranet 由 于建立了基本的网络信息基础结构 设备监测 维护技术进入了集成系统阶段 GSM 远程控制系统在这些条件下逐步发展成熟起来 2 2 研究的目的和意义研究的目的和意义 随着住宅智能化的发展 越来越多的集中式太阳能热水站开始替换传统的家用太 阳能热水器进入智能化小区 从属于小区智能控制分系统中的供水子系统 一些学校 工厂的集中供水等也需要控制 大规模的智能小区往往占地数万平方米 业主上千户 集 中住宅楼几十座甚至上百座 终端节点多而分散 通信距离长 而每个终端的数据量 小 用户的地理分布范围比较宽 经济的做法是为每个住宅楼构造一个相对独立的太 阳能热水工作站 以下简称太阳能热水站 通过远传由物业部门统一管理 传统的 太阳能热水工程本身并不具备远传和计量管理功能 嵌入式系统可以很好的解决现场 的数据采集和控制 以电缆为传输介质 按 485 总线方式实现通信 是现场控制中的 常规解决方案 但昂贵的布线 复杂的施工 使许多智能小区望而止步 SMS Short Message Service 是 GSM 系统中提供的终端之间进行文本信息收发的应用服务 用 户无需另外组网 节省了昂贵的建网费用和维护费用 加上 GSM 本身具备的数据传 送功能 为远程数据传送和监控设备的通信提供了一个强大的支持平台 为了维护太阳能热水站的正常运行 通常每个节点需要记录的物理量有水位 水 温 水压 管温等模拟量的输入和数个开关量的输出 由现场的嵌入式系统采集并 发送给 GSM 通信终端 通过 SMS 的服务中心将数据信息以文本和数字的方式传送到 无线监控中心 完成信息采集 信息传送 信息传送至监控中心 信息分析 事件处理 远程检测 信息记录的工作流程 如图 1 所示 图图 1 1 系统结构图系统结构图 3 3 阅读的主要参考文献及资料名称阅读的主要参考文献及资料名称 1 康华光 电子技术基础 M 北京 高等教育出版社 2000 2 周立功 ARM与嵌入式系统基础编程 M 北京 北京航空航天大学出版社 2004 3 谭维瑜编 电机与电气控制 M 北京 机械工业出版社 2007 4 周立功等 嵌入式系统软件开发实例 M 北京 北京航空航天大学出版社 2004 5 周立功等 深入浅出ARM7 LPC213X 214X 上 M 北京 北京航空航天大学出版社 2004 6 刘洪涛等 嵌入式系统技术与设计 M 北京 人民邮电出版社 2009 7 胡汉才 嵌入式Linux系统设计与开发 M 北京 机械工业出版社 2009 8 冀常鹏 AVR单片机GSM GPRS应用技术 M 北京 国防工业出版 社2011 9 刘峥嵘等 嵌入式系统设计与实战 M 北京 机械工业出版社 2007 10 赵苍明等 嵌入式Linux应用开发教程 M 北京 人民邮电出版社 2009 4 4 国内外现状和发展趋势与研究的主攻方向国内外现状和发展趋势与研究的主攻方向 远程监控是国内外研究的前沿课题 国内外都展开了积极的研究 1997 年 1 月 首届基于 Internet 的远程监控诊断工作会议由斯坦福大学和麻省理工学院联合主办 有来自 30 个公司和研究机构的 50 多位代表到会 会议主要讨论了有关远程监控系 统开放式体系 诊断信息规程 传输协议及对用户的合法限制等 并对未来技术发 展作了展望由斯坦福大学和麻省理工学院合作开发基于 Internet 的下一代远程监控 诊断示范系统 这项工作同时也得到了制造业 计算机业和仪器仪表业的 Sun HP Boeing Intel Ford 等 12 家大公司的热情支持和通力配合 之后 由 这些公司共同推出了一个实验性的系统 Testbed Testbed 用嵌入式 Web 组网 用实 时 JAVA 和 Bayesian Net 初步形成在 Internet 范围内的信息监控和诊断推理 另外 许多国际组织 如 MIMOSA Machine Information Management Open System Alliance SMFPT Society for Machinery Failure Prevention Technology COMADEM Condition Monition an Engineering Management 等 也纷纷通过网络 进行设备监控与故障诊断咨询和技术推广工作 并制定了一些信息交换格式和标准 许多大公司也在他们的产品中加入了 Internet 的功能 如 Bentley 公司的计算机在 线设备运行监测系统 DataManager200 可以通过网络动态数据交换 NetDDE 的方式向 远程终端发送设备运行状态信息 著名的 National Instruments 公司也在它的产品 LabWindows CVI 以及 LabVIEW 中加入了网络通讯处理模块 因而可以通过 WWW FTP E2mail 方式在网络范围内进行监控数据的传送 法国 ALARM 研究组 对生产过程的智能报警和监控系统进行了长期研究 并在多个项目中进行了应用 国内对于远程监控技术也开展了积极的研究目前 西安交大 华中科技大学 哈尔滨工业大学 南京理工大学等高校已取得了较为先进的研究成果 如西安交通 大学研制的大型旋转机械计算机状态监测系统及故障诊断系统 RMMD 华中科技大学 开发的汽轮机工况监测和诊断系统 KBGMD 哈尔滨工业大学的微计算机化机组状态 监视与故障诊断专家系统 MMMDES 等 5 5 主要研究内容 需重点研究的关键问题及解决思路主要研究内容 需重点研究的关键问题及解决思路 5 1 主要研究内容 主要研究内容 随着网络技术的飞速发展和监控范围的扩大 监控系统由过去的单机监控过渡到 现在的网络监控 但目前还存在着一些问题 首先 网络通信技术不足的问题 网 络通信技术是远程监控技术中最为关键的技术 然而 目前网络通信一般简单采用 Socket 技术 甚至 FTP 或 Email 等 这些技术无论在传输的数据量 编程的灵活性 还是安全性方面都有很大的欠缺 特别是对于现场多个端点的数据采集 会大大增 加编程的复杂度 不能满足远程监控技术对网络通信的需求 其次 网络通信中多 种结构并存的问题 目前的远程监控系统结构大多比较复杂 分布距离远 而且还 存在着不同局域网 不同平台 甚至在同一局域网中的操作平台以及编程语言也可 能有不同的问题 这就要求集成网络中的不同平台 实现相互之间的通信 而这些 问题采用传统方法是难以解决的 本课题主要研究在 GSM 的远程控制系统设计的可 行性方案 5 2 需重点研究的关键问题 需重点研究的关键问题 系统的硬件部分设计 设计基于GSM的数据采集 传输和控制系统 就是最终设计一个单片机控制的通 信终端 核心是工业手机芯片 该设计选用ZWG 3A 通过现在的GSM网络传输远程采 集的各种数据及信号到控制中心 同时可以完成控制中心对远程采集点的控制 如此 实现远程智能监控及控制 传感器或是A D等设备完成对监控信息的采集 进行简单的处理后传给单片机 需要记录的物理量有水位 水温 水压 管温等模拟量的输入和数个开关量的输出 单片机在模块中实现流程的控制 以及对采集到的数据进行简单处理 以能够通过GSM 模块的发送 同样 控制GSM模块也是通过单片机实现的 它通过发送AT 指令来控制 GSM模块的发送接受等操作 另外在响应远程的控制时 也会再次对GSM 模块进行操作 或是设置 掉电保护 就是E2PROM 的存储器 控制程序就存贮其中 在每一次通电时 完成对终端设备的初始化 开始新的控制流程 同时可以存储采集的数据 在意外的断 电时 可以起到保护数据的作用 不至于下次通电不能正常运行 如图2 MCU 单片机 89C51 掉电保护 UA RT GSM 通信模块 现场信号采集 其他 IO 控制 图图 2 2 保护数据电路图保护数据电路图 系统的软件部分设计 软件的设计包括两部分 就是终端的响应和控制程序 它是响应控制中心的控制 信号 程序主要是通过单片机运行实现 另外一种就是控制中心的程序 除了与终端 相同的程序功能外 还应该拥有是维护系统的功能 6 6 完成毕业设计 论文 所必须具备的工作条件 如工完成毕业设计 论文 所必须具备的工作条件 如工 具书 计算机辅助设计 某类市场调研 实验设备和实具书 计算机辅助设计 某类市场调研 实验设备和实 验环境条件等 及解决的办法验环境条件等 及解决的办法 微机一台 CPU 2 0G 以上 内存 2G 以上 硬盘 160G 以上 软件 LINUX ARM9 开发板一个 上机时数要求 大约 150 小时 7 7 工作的主要阶段 进度与时间安排工作的主要阶段 进度与时间安排 2011年11月25日 2011年12月20日 查找资料 完成开题报告 2011年12月21日 2012年3月5日搜集文献 确定方案 2012年3月6日 2012年4月6日 系统分析与设计阶段 2012年4月7日 2012年4月30日 编程阶段 2012年5月1日 2012年5月10日后期调试阶段 2012年5月11日 2012年5月20日 论文撰写阶段 2012年5月20日 2012年6月10日 进行总体的整理和修改 最终完成 8 8 指导教师审查意见指导教师审查意见 长江大学工程技术学院毕业设计长江大学工程技术学院毕业设计 论文论文 指导教师评审意见指导教师评审意见 学生姓名专业班级 毕业设计 论文 题目 指导教师职称评审日期 评审参考内容 毕业设计 论文 的研究内容 研究方法及研究结果 难度及工作量 质量和水平 存在的主要问题与不足 学生的学习态度和组织纪律 学生掌握基础和专业知识的情况 解决实际问题 的能力 毕业设计 论文 是否完成规定任务 达到了学士学位论文的水平 是否同意参加答辩 评审意见 指导教师签名 评定成绩 百分制 分 注 此页不够 请转反面 长江大学工程技术学院毕业设计长江大学工程技术学院毕业设计 论文论文 评阅教师评语评阅教师评语 学生姓名专业班级 毕业设计 论文 题目 评阅教师职称评阅日期 评阅参考内容 毕业设计 论文 的研究内容 研究方法及研究结果 难度及工作量 质量和水平 存在 的主要问题与不足 学生掌握基础和专业知识的情况 解决实际问题的能力 毕业设计 论文 是否完成规定 任务 达到了学士学位论文的水平 是否同意参加答辩 评语 评阅教师签名 评定成绩 百分制 分 注 此页不够 请转反面 长江大学工程技术学院毕业设计长江大学工程技术学院毕业设计 论文论文 答辩记录及成绩评定答辩记录及成绩评定 学生姓名专业班级 毕业设计 论文 题目 答辩时间年月日 时答辩地点 一 答辩小组组成 答辩小组组长 成员 二 答辩记录摘要 答辩小组提问 分条摘要列举 学生回答情况评判 三 答辩小组对学生答辩成绩的评定 百分制 分 毕业设计 论文 最终成绩评定 依据指导教师评分 评阅教师评 分 答辩小组评分和学校关于毕业设计 论文 评分的相关规定 等级 五级制 答辩小组组长 签名 秘书 签名 年月日 系答辩委员会主任 签名 系 盖章 基于基于 GSM 远程控制系统远程控制系统的设计的设计 学 生 袁 易 长江大学工程技术学院 指导老师 朱嵘涛 长江大学工程技术学院 摘要摘要 随着 GSM Global System for Mobile Communication 移动通信网络的 迅速普及和竞争的日益激烈 新技术和新业务的开发和应用已经提到一个十分重要 的位置 短消息业务 SMS 作为 GSM 网络的一种基本业务 已得到越来越多的系 统运营商和系统开发商的重视 基于这种业务的各种应用也蓬勃发展起来 本文提出了一种基于 GSM 短消息的远程控制系统 在给出系统的总体设计的基 础上 设计了系统的硬件和软件 并对其应用领域作了一些探讨和研究 系统以 GSM 网络作为远程信号的传输平台 对 GSM 网络体系结构作了详细的讲解 并且着 重讲述了对于本课题相当重要的短消息业务的通信原理 数据的传输方式主要是短 消息方式 系统中采用 PDU 模式 对短消息的 PDU 编码和解码进行详细的讲述 短消息的接收和发送是通过 AT 指令来实现的 讲述了常见的 AT 指令及其使用方 法 系统的硬件设计中 对主要硬件 TC35 和 MSP430F149 单片机及其外围电路进 行了详细的讲述 系统分为两个部分进行设计 控制中心站和远程控制分站 控 制中心站硬件包括一台 PC 机 GSM 通信模块 TC35 两者通过 RS232 连接 远程 控制分站硬件包括 GSM 通信模块 TC35 MSP430F149 单片机 显示单元 各种传感 器和数据采集与处理单元 系统的软件设计包括控制中心站软件设计和远程控制分 站软件设计 远程控制分站软件设计中运用 IAR 公司为 MSP430 系列单片机开发的 C430 集成开发环境和 C 语言调试器作为程序开发工具 其软件包括单片机初始化 主程序 信号采集中断程序 通过串口的短消息接收和发送程序 论文的最后部分 以 GSM 短消息的远程控制系统为基础 结合温度检测技术设计出一套基于 GSM 的 远程温度控制系统 并给出了此系统应用领域的一些探讨和研究 关键词关键词 MSP430 GSM TC35 远程控制 AT 指令 Design of Remote Control System Based on GSM Student Yuan Yi Yangtze University College of Technology 数据位为 8bit U0CTL CHAR 将寄存器的内容清零 U0TCTL 0X00 波特率发生器选择 SMCLK U0TCTL SSEL1 波特率为 19200 UBR0 0 0Xa1 UBR1 0 0X01 调整寄存器 UMCTL 0 0X49 使能 UART0 的 TXD 和 RXD ME1 UTXE0 URXE0 使能 UART0 的 RX 中断 IE1 URXIE0 使能 UART0 的 TX 中断 基于 GSM 远程控制系统的设计 第 18 页 共 39 页 IE1 UTXIE0 设置 P3 4 为 UART0 的 TXD P3SEL BIT4 设置 P3 5 为 UART0 的 RXD P3SEL BIT5 P3 4 为输出管脚 P3DIR BIT4 return 通过上面的程序可以看出 只要设置相应的寄存器就可以设置串口工作的参 数 在上面的程序中 串口 0 的通信率为 19200 波特 秒 4 1 24 1 2 中断服务程序中断服务程序 串口进行数据的发送和接收处理时 采用中断服务程序来实现 下面为具体 的中断服务程序 处理来自串口 0 的接收中断 if VER 200 interrupt UART0RX VECTOR void UART0 RX ISR void else pragma vector UART0RX VECTOR interrupt void UART0 RX ISR void endif char chrTemp 接收来自的数据 UART0 RX BUF nRX0 Len temp RXBUF0 nRX0 Len temp 1 chrTemp UART0 RX BUF nRX0 Len temp 1 4 系统软件设计 第 19 页 共 39 页 if chrTemp 13 chrTemp 10 接收到一帧信号 nRX0 Len nRX0 Len temp nRev UART0 1 nRX0 Len temp 0 处理来自串口 0 的发送中断 if VER nTX0 Len 数据发送完毕 nSend TX0 0 nTX0 Len 0 nTX0 Flag 1 基于 GSM 远程控制系统的设计 第 20 页 共 39 页 在上面的中断服务程序中 为了与其他程序进行数据交互 使用全局变量或 者全局缓冲区来实现 例如 UART1 TX BUF 和 Ntx1 Flag 等 4 2 存储程序设计存储程序设计 在本系统中 利用串行存储器存储某些重要数据 单片机通过 I2C 与串行存储 器进行接口 由于本系统使用的单片机是 MSP430F149 该单片机没有 I2C 外围接口 因此需要采用一般的 I O 端口来模拟 I2C 总线的功能 从而实现串行存储器的读 写 操作 本系统使用的串行存储器为 24LC02B 串行存储器主要有读 写操作 下面分 别进行详细介绍 4 2 14 2 1 写操作写操作 24LC02B 的写操作有两种形式 单字节写和按页写 下面对单字节写和按页 写两种方式分别进行介绍 单字节写就是在指定的地址中写入内容 首先单片机发送控制字节 然后发 送地址字节 最后输入写的内容 具体程序如下 int WriteSingleByte char nAddr char nValue int nTemp 0 xA0 写命令 启动数据总线 I2C START 发送控制字节 I2C TxByte nTemp 等待 ACK nTemp I2C GetACK if nTemp 发送地址字节 I2C TxByte nAddr 等待 ACK 4 系统软件设计 第 21 页 共 39 页 nTemp I2C GetACK if nTemp 发送数据字节 I2C TxByte nValue 等待 ACK nTemp I2C GetACK if nTemp 停止总线 I2C STOP return nTemp 按页写是一次写入 8 个字节 按页写操作的第一个字节的操作和按字节写操 作是一致的 当写完第一个字节后 单片机继续写下一个内容 在写完最后一个 字后 单片机在总线上产生停止信号 需要注意的是 一次最多只能写入8 个 字节 如果操作多于 8 个字节 则写入的内容会被黑覆盖 下面为具体的程序 int PageWrite char nAddr char pBuf int i int nTemp 0 xA0 写命令 启动数据总线 I2C START 发送控制字节 I2C TxByte nTemp 等待 ACK nTemp I2C GetACK if nTemp 发送地址字节 I2C TxByte nAddr 等待 ACK nTemp I2C GetACK 基于 GSM 远程控制系统的设计 第 22 页 共 39 页 if nTemp 发送数据字节 for i 0 i 8 i I2C TxByte pBuf 0 等待 ACK nTemp I2C GetACK if nTemp 停止总线 I2C STOP return nTemp 4 2 24 2 2 读操作读操作 24LC02B 的读操作有 3 种形式 当前地址 随机读和顺序地读 当前地址读 需要知道上次读操作后的地址 因此不具有操作独立性 这里不做介绍 下面对 随机读和顺序读你好吗进行介绍 随机读可以读任何地址的数据 首先由单片机发送一个控制字节 然后发送 地址数据 最后读出该地址的数据 下面给出具体的程序 int ReadRandom char nAddr char nValue 写命令 int nTemp 0 xA0 启动数据总线 I2C START 发送控制字节 I2C TxByte nTemp 等待 ACK nTemp I2C GetACK if nTemp 4 系统软件设计 第 23 页 共 39 页 发送地址字节 I2C TxByte nAddr 等待 ACK nTemp I2C GetACK if nTemp 启动数据总线 I2C START 发送控制字节 nTemp 0 xA1 I2C TxByte nTemp 等待 ACK nTemp I2C GetACK if nTemp 读取数据 nValue I2C RxByte 停止总线 I2C STOP 成功返回 return 1 顺序读是连续读出多个字节 它的开始操作和随机读是一样的 在读完一个 字节后 对 24LC02B 发送确认 ACK 信号 再继续下一个字节 当读到最后一 个字节的时候 音片机需要在总线上产生停止信号 具体程序如下 int ReadSeq char nAddr char nValue int nLen int i int nTemp 0 xA0 写命令 I2C START 启动数据总线 I2C TxByte nTemp 发送控制字节 基于 GSM 远程控制系统的设计 第 24 页 共 39 页 nTemp I2C GetACK 等待 ACK if nTemp I2C TxByte nAddr 发送地址字节 nTemp I2C GetACK 等待 ACK if nTemp I2C START 启动数据总线 nTemp 0 xA1 I2C TxByte nTemp 发送控制字节 nTemp I2C GetACK 等待 ACK if nTemp for i 0 i nLen i 读取数据 nValue i I2C RxByte 读一个字节数据 I2C SetACK 发送 ACK I2C STOP 停止总线 return 1 成功返回 4 3 短消息程序设计短消息程序设计 在本系统中 单片机通过串口 0 向 GSM 模块发送相应的 AT 命令来实现短消息的 发送和接收 在介绍具体程序之前 首先简单介绍消息相关的 AT 命令 4 3 14 3 1 ATAT 命令介绍命令介绍 AT 命令是一套用于对 GSM 模块控制的命令 通常以 AT 开头 单片机通过向 GSM 模块的控制 不同的 AT 命令控制 GSM 模块的不同动作 通常情况下 AT 命令以 字母 AT 开头 以 ASCII 码为 13 的字符结尾 下面介绍几种常用的 AT 指令 下 面的命令如果不做特殊说明 都是需要带 ASCII 码为 13 的字符结尾 如果不带 则 会对该条命令进行说明 4 系统软件设计 第 25 页 共 39 页 同一般的有线 MODEM 一样 GSM 模块的 AT 指令集支持标准的 V 25ter 指令集 也支持传真指令集 作为 GSM 模块 它支持满足规范 GSM07 05 和 GSM07 07 的指令 集 其中 GSM07 07 主要是短消息的应用 考虑到本章介绍的是短消息应用系统 这 里只讨论 GSM07 05 指令集 GSM07 05 指令集提供的 AT 命令主要实现短消息的发送 删除 存储等操作 下面对某些 AT 命令进行具体的介绍 tc35 模块中与 SMS 有关的 GSM AT 指令介绍 GSM 引擎模块提供的命令接口符合 GSM07 05 和 GSM07 07 规范 GSM07 07 中定 义的 AT Command 接口 提供了一种移动平台与数据终端设备之间的通用接口 GSM07 05 对短消息作了 详细的规定 在短消息模块 收到网络发来的短消息时 能够通过串口发送指示消息 数据终端设备可以向 GSM 模块发送各种命令 与 SMS 有关的 GSM AT 指令如表 1 所列 GSM AT 指 令集 是由诺基亚 爱立信 摩托罗拉和 HP 等厂家共同为 GSM 系统研制的 其中 包含了对 SMS Short Message Service 的控制 AT 指令功能详解 1 短消息发送命令 AT CMGC 该命令主要用于短消息的发送 它提供 TEXT 形式的短消息的发送 也提供 PDU 格式的短消息的发送 另外它还提供测试指令 具体的指令格式下 AT CMGS 响应为 OK 该指令主要是用来进行测试 AT CMGS Text is entered 该命令是用来发送基于 TEXT 格式的短消息 如果发送成功 则响应为 CMGS 如发送失败 则响应为 CMS ERROR 在该命令中 为字符串形式的目的地址 指摘收短消息的手机号码 它的 类型由来确定 为地址类型识别号 当的第一个是 时 的值为整数值 145 否则的整数值为 129 该条令在输入完前面 的参数后 以回车符号结束 接下来输入短消息的内容 并以字符 Ctrl Z 结束 基于 GSM 远程控制系统的设计 第 26 页 共 39 页 该字符的 ASCII 码值为 26 如果取消发送 则以字符 ESC 结束 如果发送成 功 则返回服务中心的时间戳 具体可以参看响应命令格式 如果发送不成功 则 返回错误信息 AT CMGS PDU is given 该命令是用来发送基于 PDU 格式的短消息 如果发送成功 则响应为 CMGS 如果发送失败 则响应为 CMS ERROR 在该命令中 首先发送命令 AT CMGC 并以回车符号结束 然后等待 GSM 模块返回 字符 当返回 字符后 再具体输入 PDU 的内容 并以字符 Ctrl Z 结束 该字符的 ASCII 码值为 26 如果取消发送 则以字符 ESC 结束 如果发送成功 则返回状态信息 具体可参看响应命令格式 如果发送不成 功 则返回错误信息 在基于 PDU 格式的短消息中 所有的参数均在 PDU 数据包里 具体的数据格式在后面进行详细说明 2 删除短消息命令 AT CMGD 删除 SIM 卡内存的短消息 该命令主要用于短消息的删除 因为一般手机的存储量或者 SIM 卡的存储量是 有限的 因此有时需要删除已经阅读过的短消息 它具体提供两条指令 具体的指 令格式如下 AT CMGD 响应为 OK 该指令主要是用来进行测试的 AT CMGR INDEX 该命令主要用来删除指定位置的短消息 如果删除成功 则响应为 OK 如果删 除失败 则响应为 CMS ERROR 3 阅读短消息命令 AT CMGR 该命令主要用于阅读短消息的内容 它具体提供两条指令 具体的指令格式如 下 AT CMGR 响应为 OK 该指令主要用来进行测试 AT CMGR INDEX 4 系统软件设计 第 27 页 共 39 页 该命令主要用来阅读指定位置的短消息 如果操作成功 则响应为具体的短消 息内容 针对 TEXT 模式和 PDU 模式 有不同的响应内容 如果操作失败 则响应变 CMS ERROR 关于短消息内容的解析在后面会进行详细介绍 4 选择消息格式命令 AT CMGF 该命令主要用于设置短消息的格式 将短消息设置成 TEXT 格式或者 PDU 格式 它具体提供三条命令 具体的指令格式如下 AT CMGF 响应为 OK 该指令主要用来进行测试 AT CMGF 该命令主要用来读取格式 如果操作成功 则响应为 CMGF OK AT CMGF 该命令主要用来设置格式 如果操作成功 则响应为 OK 当 mode 的值为 0 时 代表 PDU 格式 mode 的值为 1 时 代表 TEXT 格式 5 短信中心设置命令 AT CSCA 该命令主要用于设置短信中心 它具体提供三条命令 具体的指令格式如下 AT CSCA 响应为 OK 该指令主要用来进行测试 AT CSCA 该命令主要用来读取短信中心的地址 如果操作成功 则响应为 CSCA OK 响应中的为短信中心的地址 用来表示为地 址类型识别号 可以参照 AT CMGS 命令中的含义 AT CSCA 该命令主要用来设置短信中心的地址 如果操作成功 则响应为 OK 为 短信中心的地址 用来表示为地址类型识别号 可以参照 AT CMGS 命令中的含义 以上只列出了短消息操作的一些 AT 命令 其他 AT 命令就不再进行详细介绍了 具体可以参看 AT 命令手册 基于 GSM 远程控制系统的设计 第 28 页 共 39 页 4 3 24 3 2 短消息的设置短消息的设置 通过前面 AT 命令的介绍可知 由于短消息发送可以采用 TEXT 格式 也可以采 用 PDU 格式 因此在发送短消息之前 需要设置短消息的格式 另外 也需要设置 短信中心号码 下面为上体的程序 1 短消息中心地址的设置 在短消息的发送过程中 源 GSM 终端将短消息发送到另外一个目的 GSM 终端 源 GSM 终端首先将短消息发送到短信中心 由短信中心再转发给目的终端 因此实 现的机制是存储转发的机制 这样就必须要正确设置好短信中心的地址 下面为该 部分程序的具体代码 设置短信中心地址 int setCsca char pBuf char phone int offset int i pBuf 0 A pBuf 1 T pBuf 2 pBuf 3 C pBuf 4 S pBuf 5 C pBuf 6 A pBuf 7 pBuf 8 offset 9 for i 0 i 14 i pBuf offset i phone i offset 14 4 系统软件设计 第 29 页 共 39 页 pBuf 8 offset 1 pBuf offset offset 1 pBuf offset 1 offset 1 pBuf offset 4 offset 1 pBuf offset 9 offset 1 pBuf offset 13 offset 1 return offset 在该程序中 封装的数据为 AT CASC 00 149 这样的数据 函数返回 的是数据包的长度 命令中的参数必须是字符形式 命令中的短信中心地址必须为 0 这样的格式 命令中的 149 为地址识别号 这里地址信息中使用了 因此识别号为 149 2 短消息格式的设置 在发送短消息时 需要选择短消息的格式 短消息的格式有 TEXT 和 PDU 两种格 式 下面为具体的程序 设置短消息格式 int setCmgf char pBuf int format pBuf 0 A pBuf 1 T pBuf 2 pBuf 3 C 基于 GSM 远程控制系统的设计 第 30 页 共 39 页 pBuf 4 M pBuf 5 G pBuf 6 F pBuf 7 pBuf 8 char 0 format pBuf 9 13 return 10 在该程序中 封装好命令 AT CMGF n n 的值为 0 或者 1 后 函数返回的是 数据包的长度 当 n 的值为 0 时 格式为 PDU 格式 当 n 的值为 1 时 格式为 TEXT 格式 通过上面的程序也可以看出 对于短消息的处理 主要是针对相应的 AT 命令将 数据进行封装的 具体的数据发送和接收则由串口发送中断服务程序和串口接收中 断服务程序完成 3 发送短消息 通过前面 AT 命令的介绍可知 短消息可以是按照 TEXT 模式或者 PDU 模式发送 具体采用哪种模式发送短消息 需要根据系统的需要来决定 另外 也要取决于 GSM 模块支持的具体格式 有的 GSM 模块只支持 TEXT 模式 有的 GSM 模块只支持 PDU 模式 也有的 GSM 模块两种模式都支持 在此 将对这两种模式进行介绍 基于 TEXT 模式的发短信代码实非常简单 实 现起来也十分容易 只要将电话号码和发送内容封装好即可 但最大的缺点是不能 收发中文短信 而 PDU 模式不仅支持中文短信 也能发送英文短信 基于 PDU 模式 的实现要稍微复杂一点 由于 PDU 数据包有具体的帧结构 因此必须按照 PDU 数据 包的格式进行封装数据 下面先分析 PDU 数据包的帧结构 因此必须按照 PDU 数据 包的格式进行封装数据 下面先分析 PDU 数据包的帧结构 在 PDU 数据包的帧结构中 SMSC 字段为短消息中心的地址 PDU 类型 指明数据包的类型 MR 协议识别号 DCS 为短消息的编码格式 对于数字或 者字符采用编码值为 00 如果内容是汉字 则采用的编码值为 08 采用的 是 UNICODE 编码方式 在该系统中采用的字符编码方式为 VP 表示短消息的 4 系统软件设计 第 31 页 共 39 页 有效时间 UDL 表示数据内容的长度 UD 为具体的短消息的内容 这里需要 强调的是 在 PDU 数据包里面 所有的数字是以字符形式发送的 根据前面介绍的短消息发送的 AT 命令可知 首先发送头信息 然后必须等待 TC35 模块的响应 则继续发送具体的内容数据 其流程图如下图 4 2 图图 4 24 2 短消息发送的流程图短消息发送的流程图 下面简单介绍下 PDU 编码规则 PDU 模式收发短信可以使用 3 种编码 7 bit 8 bit 和 UCS2 编码 7 bit 编码用于发送普通的 ASCII 字符 8 bit 编码通常用于发送数据消息 UCS2 编码 用于发送 Unicode 字符 一般的 PDU 编码由 A B C D E F G H I J K L M 十三项组成 A 短信息中心地址长度 2 位十六进制数 1 字节 B 短信息中心号码类型 2 位十六进制数 C 短信息中心号码 B C 的长度将由 A 中的数据决定 D 文件头字节 2 位十六进制数 北京经纬星航科技发展有限公司 E 信息类型 2 位十六进制数 F 被叫号码长度 2 位十六进制数 G 被叫号码类型 2 位十六进制数 取值同 B H 被叫号码 长度由 F 中的数据决定 I 协议标识 2 位十六进制数 基于 GSM 远程控制系统的设计 第 32 页 共 39 页 J 数据编码方案 2 位十六进制数 K 有效期 2 位十六进制数 L 用户数据长度 2 位十六进制数 M 用户数据 其长度由 L 中的数据决定 J 中设定采用 UCS2 编码 这里是 中英文的 Unicode 字符 4 短消息接收和处理 包括短消息的删除和接收 根据前面对短消息读取 AT 命令的分析可以看出 短消息的接收主要饰物三 个步骤 首先发送读取短消息的命令 然后GSM 模块返回响应 最后对响应进 行解析得到短消息的内容 在分析响应数据时 根据采用的是TEXT 模式还是 PDU 格式 其分析程序也会不同 一般来说 手机的存储量或者 SIM 卡的存储量是有限的 因此需要删除已经 阅读过的短消息 短消息的删除操作主要是通过发送删除的AT 命令 前面已经 介绍过 在此不再详述 短信接收 处理流程的流程图如图 4 3 所示 图图 4 34 3 短信接收 处理流程的流程图短信接收 处理流程的流程图 4 系统软件设计 第 33 页 共 39 页 4 4 信息采集控制程序设计信息采集控制程序设计 模拟量采集模块主要是单片机通过 A D 通道采集来自传感器的信号 并将信号 进行处理 MSP430F149 的 A D 转换有几种模式 比如序列通道单次转换 序列通道 多次转换 考虑到有 8 路采集 因此选用序列通道单次转换 当然也可以采用序列 通道多次转换 关于转换模式的选择主要设置相应的 A D 转换的寄存器来实现 数 据采集的时间间隔则通过定时器 A 来完成 就是在每次定时器 A 中断到来时读取 A D 采集得到的数据 在读数据之前先停止 A D 转换 当读取数据完毕后启动 A D 转换 如果得到数据 则设置一个标志位通知主程序 告诉主程序已经得到新的数 据 整个模块采用中断服务程序的结构 如图 4 4 所示为该模块的程序流程图 该 模块主要涉及 A D 转换和定时器 A 的操作 图图 4 44 4 信息采集软件流程信息采集软件流程 基于 GSM 远程控制系统的设计 第 34 页 共 39 页 5 短消息收发测试短消息收发测试 5 1 普通测试普通测试 普通测试说明 选取 2012 年 5 月 1 日至 15 日作为实验日期 每日分别向同一号 码发送 15 条短消息 并统计接收到短消息的数量作为测试 测试结果显示 一共发 送了 225 条短消息 实际收到 210 条 成功率为 93 3 测试分析 发送失败主 要发生在五一国际劳动节 5 月 1 Et 至 5 月 3 日 期间 成功率最差的一天是 5 月 1 日 仅为 73 3 另外在周末 发送成功率也较平时要低 如 5 月 10 日和 11 日 分别为 周六和周日 发送成功率分别为 86 7 和 93 3 导致这些现象的主要原因是节 假日短消息发送量剧增 导致网络拥塞 即使已经收到的短消息也可能有几秒的延 时 5 2 特殊测试特殊测试 特殊测试分为兼容性测试和可靠性测试两种 兼容性测试说明 系统向多种卡号 如移动卡 联通卡 小灵通卡 发送短消息 再测试接收到的数量 以此来判断系 统的兼容性 测试结果及分析 由于该短信平台开发及测试均采用移动公司的卡号 所以在与移动卡号进行通信时 成功率较高 与联通卡号通信时 给 4 个不同号码 均发送 l5 条测试短消息 成功率也还可以 与小灵通卡号通信时 成功率较低 造 成这一现象的主要原因是各大运营商之间的相互兼容性不够和网络性能的差异 可 靠性测试说明 平台在短时间内发送大量短消息 同时测试接收到的短消息的数量 以此来验证该短信平台的可靠性 测试结果及分析 成功率最高为 100 最低为 92 当系统以每两秒发送一条短消息时 成功率可达到 100 当系统以每一秒 发送一条短消息时 成功率分别为 94 由测试数据可知 本平台的可靠性较好 可以满足实际需求 6 总结 第 35 页 共 39 页 6 总结总结 经过一年左右的分析 研究 设计和调试 本次毕业设计最终实现了一套比 较完整的基于 GSM 短消息的远程控制系统 本系统着眼于建立一个基于 GSM 短消息方式的远程控制平台 能够实现控 制中心站与远程控制分站的 GSM 远程通信 在详细分析研究 GSM 网络协议和 短消息通信原理的基础上 给出了系统的大体框架 设计了短消息通信软件 同 时给出了远程控制分站部分的硬件结构方案 设计了基于 MSP430 系列单片机 的远程控制分站子系统 实现了对控制对象的数据采集和处理功能 并通过 GSM 通信模块 TC35 与控制中心站通信 最终设计出来的系统分为控制中心站和远程控制分站两大部分 控制中心站 能够成功接收远程控制分站的控制数据并且保存在数据库当中 根据需要还可随 时调用和打印出来 同时也能实时控制远程控制对象的状态 还可以通过发送短 消息的方式发送设置命令给远程控制分站 同时将本系统与温度检测相结合 成功地实现了基于 GSM 的远程温度控 制 研究结果表明 将 GSM 短消息方式应用于控制系统是切实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年学习动力激发课程
- 2026道德与法治一年级阅读角 阅读中国传统成语故事
- 2025广西河池市大化瑶族自治县招聘县属国有企业领导班子人员笔试历年参考题库附带答案详解
- 2025广东深圳龙岗区产服集团“春雨”第四批招聘12人笔试历年参考题库附带答案详解
- 2025年秋季江苏钟吾大数据发展集团有限公司(第二批次)招聘笔试历年参考题库附带答案详解
- 2025年下半年贵州安顺市关岭兴关工业发展有限公司及旗下子公司招聘第一批考察合格及拟聘用人员笔试历年参考题库附带答案详解
- 2025山东种业集团有限公司校园招聘71人笔试历年参考题库附带答案详解
- 2025山东德州天衢建设发展集团有限公司招聘工作人员拟聘用人员笔试历年参考题库附带答案详解
- 2025安徽省盐业集团有限公司所属冷链运营公司(筹)社会招聘笔试历年参考题库附带答案详解
- 2025安徽公共资源交易集团招聘26人笔试历年参考题库附带答案详解
- 2026广东东莞市东晟控股集团有限公司招聘4人建设笔试参考题库及答案解析
- Z20名校联盟(浙江省名校新高考研究联盟)2025-2026学年下学期高三高考二模数学试卷(含答案)
- 2026年新版保密员考试题库含完整答案(名师系列)
- 无人机武器防范安全预案
- DB50T 1915-2025电动重型货车大功率充电站建设技术规范
- 樱桃介绍课件
- TSZTCM 01-2024《中药代煎代配实施管理规范》
- 城乡供水一体化项目运营管理方案
- 2025内蒙古呼和浩特市北兴产业投资发展有限责任公司猎聘高级管理人员2人历年参考题库附答案
- 《QBT 1022-2021 制浆造纸企业综合能耗计算细则》(2025年)实施指南
- 口腔医学:牙周病与口腔修复技术
评论
0/150
提交评论