GSM Communication on EBox4300--(1)主要是关于EBox4300上实现GSM通信的框架;GSM Communication on EBox4300--(2)陈述了硬件的制作;这次就讲讲EBox4300和TC35i的通信吧。

根据TC35i的“TC35i_ATC_V01.03”文档,我们可以使用AT指令来控制它的行为。由于之前的硬件设计中,没有加入耳机和麦克风,所以诸如打电话之类的语音试验这里就不能进行了,发短信是最简单直接的一个试验。短信有关的AT指令如下:

    AT+CMGC发出一条短消息

    AT+CMGD删除SIM卡内存的短消息

    AT+CMGF选择短消息信息格式:0-PDU;1-文本

    AT+CMGL列出SIM卡中的短消息PDU/text: 0/"REC UNREAD"-未读,1/"REC READ"-已读,2/"STO UNSENT"-待发,3/"STO SENT"-已发,

4/"ALL"-全部的

    AT+CMGR读短消息

    AT+CMGS发送短消息

    AT+CMGW 向SIM内存中写入待发的短消息

    AT+CMSS从SIM卡内存中发送短消息

    AT+CNMI显示新收到的短消息

    AT+CPMS选择短消息内存

    AT+CSCA短消息中心地址

    AT+CSCB 选择蜂窝广播消息

    AT+CSMP设置短消息文本模式参数

    AT+CSMS选择短消息服务

上述AT指令是通过串口来交互的,根据我之前写的文章Serial Port Debug on EBox4300,就在EBox4300上可以通过串口来和TC35i通信了。

对串口的操作可以用托管代码来实现,即使用System.IO.Ports中的SerialPort,主要就是Open,Close,Read和Write功能。设计一个简单的界面来显示正在进行的串口操作,如下图1所示:

图1:一个简单的UI调试界面

上图中,1和2是ZigBee(EBox4300的串口1)信号发送和接收的显示窗口;3和4是GSM短信息发送和接收的显示窗口;5是目标用户的手机号码输入框;6是进行简单操作的按钮,包括串口打开、关闭,TC35i模块的初始化,发送、接收显示区的清空等等。

EBox4300给TC35i发送指令,其实就是往串口2写字符,串口2输出可以用:m_serialPort2.Write();

例如,初始化短信模式设置的时候,可以使用:

//set AT+CMGF=1+回车换行

m_serialPort2.Write(new char[] { 'A', 'T', '+', 'C', 'M', 'G', 'F', '=', '1' }, 0, 9);

m_serialPort2.Write(new byte[] { 0x0D }, 0, 1);

m_serialPort2.Write(new byte[] { 0x0A }, 0, 1);

特别需要注意的是:短信内容发送完毕必须以十六进制数0x1A结束,例如,发送短信时,先发送对方号码,然后发送数据:

//发送text中输入的对方手机号码

stATCommand = "AT+CMGS=+86" + textBoxPhoneNumber.Text;

btATCommand = stATCommand.ToCharArray();

m_serialPort2.Write(btATCommand, 0, 22);

m_serialPort2.Write(new byte[] { 0x0D }, 0, 1);

m_serialPort2.Write(new byte[] { 0x0A }, 0, 1);

Thread.Sleep(15);

m_serialPort2.Write(new char[] { 'H', 'e', 'l', 'l', 'o'}, 0, 5);

//set SMS end symbol

m_serialPort2.Write(new byte[] { 0x1A }, 0, 1);

至此,在EBox4300上实现GSM网络联网,发送短信的部分已经完成,希望对大家有用,谢谢关注!

项目的演示,可以观看Youtube上的视频,链接地址:http://www.youtube.com/watch?v=EOiiRbr0q5I。

Enjoy!

本文转自施炯博客园博客,原文链接http://www.cnblogs.com/dearsj001/archive/2008/12/02/1346327.html:,如需转载请自行联系原作者

GSM Communication on EBox4300--(3)相关推荐

  1. GSM Communication on EBox4300--(2)

    上一篇GSM Communication on EBox4300--(1)主要是关于EBox4300上实现GSM通信的框架.这次就讲讲如何设计包含西门子TC35i的GSM通信模块吧. GSM通信模块主 ...

  2. GSM Communication on EBox4300--(1)

    2008年的最后一个月马上就要到来,今天花了一天的时间,终于初步完成了这学期初上报的微软学生项目,接下来就是写Report了.我觉得作为学生,最重要的就是肯学习.肯交流,学习是自己的事情,只有通过自身 ...

  3. 基于单片机的车内滞留儿童预警系统设计

     word完整版可点击如下下载>>>>>>>> 基于单片机的车内滞留儿童预警系统设计-嵌入式文档类资源-CSDN下载内容包括详细设计文档word版,附带 ...

  4. 基于单片机的家庭火灾警报系统设计

    word完整版可点击如下下载>>>>>>>> 基于单片机的家庭火灾警报系统设计.rar-单片机文档类资源-CSDN下载1.资源内容:毕业设计lun-we ...

  5. 简述GPS,GSM,GPRS和GNSS的名称区别

    GPS GPS(Global Positioning System)全球定位系统.是一个属于美国的卫星导航系统. GPS可以提供车辆定位.防盗.反劫.行驶路线监控及呼叫指挥等功能.要实现以上所有功能必 ...

  6. GSM技术类有哪些最新发表的毕业论文呢?

    一.总体简介 GSM技术的相关文献在1998年到2020年内共计142篇,主要集中在无线电电子学.电信技术.自动化技术.计算机技术.邮电经济 等领域,其中期刊论文90篇.会议论文5篇.专利文献47篇: ...

  7. Survey Report on CDMA ——Learning Triggered by GSM Hijacking

    电子科技大学   格拉斯哥学院   2017级    刘钰玺    无同组同学 1. Introduction Recently, the real experience of a netizen o ...

  8. GSM模块的调试(一)

    概述 此次我使用的GSM是基于SIM900A芯片的通信模块,其功能和800A兼容(800系列是900系列的升级款)可以实现打电话,发短信,和服务器发送指令等功能.接下来将从GSM的工作原理及通过USB ...

  9. GSM模块_GPRS数据传输机制和原理

    GSM模块_GPRS数据传输机制和原理 通信专业术语 GPRS网络结构 GPRS工作原理 GPRS协议模型 GPRS连接过程详解 GPRS的应用--TCPIPPPP GPRS相关AT指令集 GPRS网 ...

最新文章

  1. JSON字符串通过response下载保存
  2. springmvc原理详解(手写springmvc)
  3. C ++ 函数模板求三个数的最大和
  4. 成功解决在Eclipse中出现的can not find declarration to go to
  5. 拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)
  6. python的误差条形图的解释_如何使用python绘制带有误差条的条形图?
  7. best single model of RSNA
  8. (转载)windows server 2003的注意事项
  9. 软件定义汽车带来的困境---如何破局?
  10. python算法学习代码_python 算法学习部分代码记录篇章1
  11. 列表生成式、生成器表达式、模块导入
  12. CSS学习总结(4)——盒模型/背景属性
  13. 微信小程序—轮播图+背景变化
  14. Attempt to read from field ‘android.os.VibrationEffect com.android.server.VibratorService$Vibration.
  15. 记录一次app崩溃信息调试
  16. 如何在Mac上解决蓝牙问题
  17. APS系统是什么?APS系统是什么意思?
  18. C语言-返回数组并输出其值
  19. 通过图片识别定位拍摄地点——微信小程序
  20. 【图像加密】 Logistic混沌+Arnold置乱图像加密解密【含Matlab源码 1281期】

热门文章

  1. 《通灵芯片》阅读笔记 // 持续
  2. 百度云网盘链接不存在解决办法
  3. 服务器的操作系统和数据库关系,数据库、数据库管理系统和SQL之间的关系
  4. 锁定“嵌入式AI”应用 中科创达启动第二轮成长
  5. 期末前端web大作业:用DIV+CSS技术设计的动漫网站
  6. 基于FPGA的一维卷积神经网络CNN的实现(一)框架
  7. Java温故而知新-程序逻辑结构
  8. php基础语法——输出语句
  9. python爬虫获取豆瓣正在热播电影
  10. Caliburn.Micro学习笔记目录——li-peng