通过手机模块发短信!在线等~~(50分)

  • 主题发起人 主题发起人 neverdeath
  • 开始时间 开始时间
N

neverdeath

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟有几处不明,希望诸位DFW支持!
1 通过AT指令发送,TEXT模式是否只能发送英文?要发送中文的话是否要用PDU模式?
2 如果TEXT模式能发中文,是否有编码的对照表,这样就不用通过编码转变来实现传输。如果只能发英文,格式是否如下:
at+csca="+8613800534500"
at+cmgf=1
at+cmgs="手机号" > 发送内容+chr(26)
3 要用PUD模式发送中文的话,格式是否如下:
at+cmgf=0
at+cmgs=19
>
0891683108504305F011000D91683164351429F2000800044F60597D
其中短信中心号码:+8613800534500 目的手机号:13465341922
请问PDU编码是否正确?难道必须要每次都输入短信中心号码?我看到手机里有这个东西,他是否就保存在手机卡里,那是不是意味着只要办卡的时候改了就行了?
 
发中文的话delphi有个编码函数的,好像是什么WideCharToMultiByte()或者MultiByteToWideChar(),一个是把中文变成编码,另一个是把编码换成中文,以前我也做这方面的,不过有差不多一年没做了,都忘记了
 
对了,发送内容是 你好
 
推荐《宇讯短信二次开发平台》
http://www.sms2008.net/download/
http://www.sms2008.net/files/KoSMSGateWay_V2006.rar
无需考虑你是用什么语言工具开发的,接口方式有多种,开发很方便,值得试试。
 
中文用 PDU 编码
 
我刚接触DELPHI,不太清楚,我去查查,谢谢兄台提供的线索!
 
我找了一点资料,下了个二次开发的OCX控件,不过受它控制,第一条总是他的广告,SMSControl。刚开始还挺好的,用它能发出去,可到了下午就不知怎么搞得就不行了?
 
我不知道为什么,老是出现错误+CMS ERROR: 512,有经验的同志是否可以指点一下,我用他们的二次开发平台也是这样!
 
to moshengren2000:
WideCharToMultiByte()和MultiByteToWideChar()在那个文件里面,我怎么找不到呀!
 
text中
at+csca="+8613800534500"是多余的,
如果发送接收格式不变,也不用加AT+CMGF这条命令.

PDU 和TEXT 编码可以互相转换,但有一点,TEXT只能发送小于128 的字符,且一些特殊字符不能发送,而PDU则不受限制
 
to helium-he:
兄台的意思是说TEXT也能发中文?那格式?
 
在windows单元下的
 
晕,我有点不知怎么办了,我问之前查了Windows单元的源码,复制到文本里查了,没有找到,我快傻了。
 
你直接在编译环境里打ctrl+空格键就会弹出下拉框的,在里面应该可以选到这两个命令的,(把切换输入法去掉)
 
我的经验是:
TEXT模式下最多只能发140个可见字符
PDU模式下最多能发170个可见字符或是70个汉字

neverdeath
我自己做了一个OCX控件,针对模块收发短信的,有兴趣留个邮箱
只在WAVCOM和SIMCOM的模块上测试过,其它手机模块没试过,呵
 
老大,有没有别的方法,我该了设置里面的键控制,怎么还是中英输入法互换,我该得对不?
 
你把用CTRL+空格键切换的全部取消或用其他的快捷键代替,这个快捷键对delphi的编码很有用的,一定要改啊
 
我用别的键取代了,但看起来没什么变化呀,实在*.pas里面么?奇怪为什么在DELPHI里面CTRL+空格没变化,在这大字的时候有起作用了呢?
 
用TEXT模式只能发送英文短信
用PDU模式可以发送中文和英文的短信。
用PDU模式发送短信时,不必用AT指令设置短信中心的号码。
因为发送短信时,PDU编码里就有短信中心的信息。
网上这种源码很多,好多富翁的笔记里也有解析的代码,自己找找吧。
 
谢谢,能帮我看看上面 的PDU编码是否正确!
 
后退
顶部