GSM-MODEM调试备忘(二)

7. 发送短消息后,收到出错信息+CMS ERROR 515
  如果您的GSM MODEM在初始化期间或在指令执行过程当中GSM MODEM又接受新的指令,将会出现此错误。您必须等到初始化完成或指令执行完毕。
  8. 如何才能知道您发送的短消息已被送达目的号码
  a) 采用文本格式发送
  在您采用文本格式发送短消息时,您的GSM MODEM须作以下的设置:
  at+csmp=49,〈X〉,〈X〉,〈X〉
  at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
  〈X〉代表根据您的需要您所选择的合适的参数。
  当您发送完短消息后,您将收到来自短消息中心的以下两种确认中的一种:
  +CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",0
  或:
  +CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",48
  确认中的最后个数代表了此短消息的传输状态。(0表示已经送达目的号码,48表示不可能将此送达目的号码)
  b) 采用PDU格式发送
  在您采用PDU格式发送短消息时,您的GSM MODEM须作以下的设置:
  at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
  〈X〉代表根据您的需要您所选择的合适的参数。
  在您所要发送的PDU格式的短消息中,您须将短消息中心号码后的第一个字节设成31
  在发送完短消息后,您将收到来自短消息中心的以下确认:
  +CDS:〈长度〉00〈PDU格式的确认信息〉
  注意:在收到的PDU格式的确认中,顺序号和传输状态标志都是以16进制数存在的,您可将其直接转成10进制数而无需将其倒置后再转换。
  9. 如何发送中文短消息
  采用现有的GSM MODEM发送中文短消息,都必须先将准备发送的中文短消息转换成16位的Unicode编码。
  A) 采用文本方式发送
  在您采用文本格式发送Unicode编码中文短消息时,您的GSM MODEM须作的设置:
  at+csmp=〈X〉,〈X〉,〈X〉,8
  〈X〉代表根据您的需要您所选择的合适的参数。
  然后您就可将转换好的Unicode编码中文短消息按照发送普通文本短消息的方法发送出去。
  B) 采用PDU方式发送
  您只须在您的PDU格式的短消息中,将目的号码字符串后的第二个字节设成08,将转
  换好的Unicode编码中文短消息作为PDU中的发送内容一齐发送。
  10. 如何建立一个话音呼叫
  向GSM MODEM的串口送指令ATD〈电话号码〉;〈回车〉必须确认电话号码是一个话音号码而非传真或数据号码。
  11. 如何建立一个数据呼叫
  先将您的GSM MODEM作如下设置:
  at+ipr=9600
  at+ifc=2,2
  at+cbst=0,0,1
  向GSM MODEM的串口送指令ATD〈电话号码〉〈回车〉
  必须确认电话号码是一个数据号码而非传真或话音号码,同时必须确认您的SIM卡已开通数据通信的服务。
  12.当GSM MODEM作被叫时,如何显示主叫的电话号码
  将您的GSM MODEM作如下设置:13
  at+clip=1
  13.当GSM MODEM作被叫时,如何判别主叫发起的是话音、数据或传真呼叫
  将您的GSM MODEM作如下设置:
  at+crc=1
  14.当GSM MODEM作被叫时,如何使其自动应答或不能自动应答
  如果您想让您的GSM MODEM自动应答,将您的GSM MODEM作如下设置:
  ats0=〈N〉 N是代表GSM MODEM震铃的次数的一个整数,即GSM MODEM在N 次 震铃后将自动应答。
  如果您想让您的GSM MODEM不能自动应答,将您的GSM MODEM作如下设置:
  ats0=0
  15.如何不通过SIM卡直接读或写短消息
  因为SIM卡只有1万到10万次的读写次数和10-15条短消息的存储空间,还涉及到SIM卡上短消息读写需要一定的时间才能完成。这些因素影响了许 多应用,这些应用需要通过GSM网络进行大量的数据交换,为保证流程的顺利进行,SIM卡要完成大量的读、写和删除操作,SIM卡的寿命周期很快就会达 到,此外,SIM卡完成这些工作所耗费的时间比外界要求的要多。为解决这些问题,有必要在终端上作一些软件设置,使短消息不通过SIM卡进行读写操作。
  以下的描述介绍了如何采用这种方法在Falcom A2系列和数据终端MT4002之间不通过SIM卡交换数据,这种方法也可用与2个MT4002之间。
  a) 串口上的从终端来的RTS信号可用来指示数据交换时隙是否忙,串口准备好接收数据
  b) 如果终端双方都可用来接收和发送短消息,在设置时双方都要设同样的命令和常数。
  在接收端,设命令AT+CNMI=2,2,0,0,0
  在发送端,设命令AT+CSMP=17,167,0,240 (当使用PDU格式发送时,240改成字符串DCS(F0))
  c) 当程序发现短消息以前缀+CMT后跟所传送的数据这种格式时,立即将此短消息捕获并将其分发到原定的地址。
  d) 当发送端如果没有设置CSMP=17,167,0,240时,捕获到的短消息应有前缀+CMTI,此时用命令AT+CMGR=n读取并分发到原定的地址,随后用命令AT+CMGD=n将此短消息删除以保证SIM卡有足够多的空间

转自bbs.sendsms.cn

时间: 2024-12-29 05:11:38

GSM-MODEM调试备忘(二)的相关文章

php调试备忘

php 调试配置其实很简单,以下只是做一个备忘. 1.ide 使用eclipseForPHP.首先下载一个 php_xdebug-2.2.3-5.4-vc9.dll,并在php.ini里面增加: [XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.profiler_append = 0 xdebug.profiler_enable = 1 xdebug.profiler_enable_trigger =

LaTeX宏包TikZ-UML使用备忘二

代码的文件头与备忘一中的一样,这里不再列出. 示例三 % 51CTO陆巍的博客 \begin{center} \begin{tikzpicture} \begin{umlpackage}[x = 0, y = 0, draw = purple, fill = umlyellow]{Policy} \umlsimpleclass[draw = purple]{Policy Layer} \umlinterface[right = 1cm of Policy Layer, draw = purple

定位代码【备忘二】

_asm    {        call l        l :        pop eax            mov eval, eax    }    wchar_t buf[MAXBYTE] = { 0 };    _ltow_s(eval, buf, 16);

Nancy之结合TinyFox调试备忘

最近把一个小项目的数据库换成MongoDB,同时用了MongoRepository 这个开源组件来对数据进行操作. 通过NuGet安装之后,它会自动在web.config文件生成一个连接字符串.但是却并不会配置TinyFox, 所以运行时会一直出现NullReference 以及不能加载Owin Adapter 后面经过排查是忘记更新TinyFox的配置(很久之前是配置好了的). 把自动生成的连接字符串更新到TinyFox.exe即可成功运行 更新之后,可以正确运行了!

Redis备忘(二)

内存回收: 有时候发现10g的Redis删掉1g的key,内存占用没啥变化,因为内存页分配,有的页面可能还存在key,整个页面不能回收. 主从同步: CAP原理:一致性 可用性 分区容忍性 redis主从是异步同步数据的,所以并不满足一致性要求(redis是最终一致性),主节点修改后,立即返回,即使主从断开,主节点依然正常服务,所以满足可用性. 增量同步:主节点将指令记录在ringbuffer中,从节点执行同步,并向主节点反馈同步到的偏移量,网络环境不好时,buffer中的指令会覆盖,这时候需要

调试android chrome web page简明备忘

必备工具 adb tools.android chrome 先开启手机调试模式 adb forward tcp:9919 localabstract:chromedevtoolsremote 成功会提示 * daemon not running. starting it now on port 5037 * * daemon started successfully * 不成功的话用这个命令再试 adb kill-server 接着打开下面的链接,这里的9919是上面adb命令中指定的 http

寄存器备忘

32位CPU所含有的寄存器有: 4个数据寄存器(EAX.EBX.ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES.CS.SS.DS.FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 其中 EBX,ESI,EDI,EBP 四个寄存器 可 在 [...]  中用于内存单元寻址 1.数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间. 32位CPU有4个32位的通用

RxJava & RxAndroid备忘

"你问我要去向何方,我指着大海的方向" 今天在刷G+的时候看到Dave Smith推荐了一个视频 <Learning RxJava (for Android) by example> 点进去看了一下,原来是位熟悉的"阿三哥",视频封面如下:(没有歧视的意思,不要喷我啊~,为什么感到熟悉?接着往下看) 几乎同时也看到了JetBrains在G+也推荐了篇在Medium上的博文 <RxAndroid And Kotlin (Part 1)> ,然后

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”