有谁知道如何用AT指令发送手机中文短信(200分)

  • 主题发起人 主题发起人 rjiajia
  • 开始时间 开始时间
对了,再告诉你,上面的那个朋友的可能对你的没有帮助,因为他和你用的模块不一样。
当然,只是我现在的猜想而已,你可以作为参考。我给出来的那个API函数,就是用来解
决中文问题的东西,可是据我现在的资料所知道的是,中兴的这个模块,对于你的这个模
块,我就不知道了,按理说,国外的这个东西,我想应该是比较完善的,用不了这个函数。
但是一定可以用别的方法来发送中文的。我提醒你,发送中文好象有两种方法。
 
WaveCom模块肯定没问题,我从2B到2D都试过了。
批量发送基本上7秒钟一条,我最多做过1小时一组200条,连发了8小时
 
yuleibo,不是我小气,真的是我的经验不够,我目前只了解wavecom这种模块一些普通
用法,收发英文消息,电话本功能,简单接听,拨号,我很需要大家的帮助。
当然,多一个人探讨多一份力量,我想如果我能帮得上大家忙的,我一定会尽力的
我手头上有一些这个模块的说明书,可惜本人英文水平有限,有很多东西没搞很清楚,
有兴趣要的的可以联系。
 
iie,能否给个实例,关于编码问题,我想我自己解决了,我现在是PDU发送的格式有些
搞不懂,希望能得到你的帮助。我的mail: deprcc@21cn.com,
我完全按照说明书上的格式做了一,可结果还是不行。
 
to rjiajia
说一下你的模块型号,我也准备动员他们公司购买你的这一种型号,到时候,我们就可以
资料共用了。
EMIAL和我联系。相对你来说,我做的简单一些,他们公司就要求两个功能,短消息可以群发,
二是可以把他们的公司的名字固定的加在里面。
我的EMILA 是yuleibo@tytxy.com
 
to iie,
iie大哥,你有没有发现,这样的模块的速度太慢了。如果按他们公司的想法,
呵。发广告还不如用电子邮件好,一天不断的发,才发5000条。
呵。不过,呵,我只管编程,其它的我不管。呵。我只挣我的1000元。呵。
 
用模块发当然没有用网站发快,如果是出于广告的考虑,就不要这样做了。
我们的用法正好是相反流向的,也就是说主站MT,所以适合。
至于PDU格式的实例,你可以查
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1062904
或者咨询WAVECOM,出于商业动机,我不会轻易在这里给出实例的,请原谅。
yuleibo:我们是用WAVECOM的2D自己做的模块,价格肯定比原厂便宜,你可以考虑。
 
我上次询问的价格大概是3000元不到。
其实我觉得,如果是真的要发短消息广告的话,用模块发是真的不如用网站发,不过,我
了解过,他们可能是从费用的角度考虑的。呵。听他们说有包月的卡,只要4000元不到
而网站发的话,如果用别人的服务就是1角钱一条,如果自己成为SP就不一定了。
不过,那一帮人胆子大,谁知道他们会不会用什么人无横财不富,马无夜草不肥的话来办事
呢?
你们用
WAVECOM的2D自己做的模块,价格肯定比原厂便宜
什么意思?呵。具体的不太明白?
 
用那种卡的话我担保你一个月发的短消息超不过10万条去,呵,这种小算盘人家打得比你精。
后面那句话的意思是我可以卖给你模块或者模块组,价格比较便宜,而且可以奉送动态库,呵。
 
yuleibo兄
你的mail好像有问题,发不过去!
 
我是用pdu格式发送中文的,而且通过gsm7.05(?)标准的都支持at命令,只是有的
手机对at命令的支持有点不同而已。只要是通过
手机来群发,速度都是一样的,更本就没有群发的指令,是通过软方式实现的。
to yuleibo:
我的程序是用bcb写的,我的邮箱是lost-planet@163.net
 
to rjiajia,
yuleibo@tytxy.com
yuleibo@sina.com 都可以的,可能是我收的信太多了吧。呵。
 
TO IIE老哥
你说的:
我可以卖给你模块或者模块组,价格比较便宜,而且可以奉送动态库
多少钱?
要不是这样,一个简单的可以发送中文短消息,可以发连续号码段的程序的DELPHI源程序,
什么其它的功能就不要了。  加上你的模块,你说多少钱?
就是说,我购买了以后,直接与电脑串口相连,装个手机卡就可以按号码段发短消息
老哥,你说软硬件一共多少钱?



 
TO Liulang,
我知道是用软件来发,GSM的资料我也已经找到了,资料
 
TO Liulang,
我知道是用软件来发,GSM的资料我也已经找到了,可以这个帖子里面所提到的资料我全部
已经在自己的电脑上有了,而且看了很长时间。最新的GSM,AT标准我都找到过,而且是在
英文网站上下载的。IIE老哥给出来的那个网址,我好早就看见了。
就是没有群发的命令,我之所以一直没有编程,就是因为设备的问题。让我自己出钱,我不
愿意,除非他们公司愿意。呵。先学习后编程,可能就是我在这个帖子上面可以发言的原因
吧。呵。
 
模块单价1000元,批量优惠,至于动态库接口,你看一下说明就知道你要做什么了,我们是不做群发程序本身的,只做底层。
SMS2000 接口规范
概述
SMS2000 是通过PC串行通信口操作GSM手机收发短信息的函数库,内部支持收发信息缓存,支持多达256个RS232串口多线程操作,且对应用层透明。
接口函数
1.注册可用的通信端口
function Register_Comm(CommIndex: integer;
TextMode: boolean;
Caller: HWND): integer;
stdcall;
返回0..255表示注册成功的索引号;返回负数为失败索引号。
参数:
CommIndex:串口序号,为1-256。
TextMode:False:PDU方式,True:文本方式;
Caller:调用窗口的句柄,为消息通知体系使用;
Pascal接口:
function Register_CommP(CommName: string;
TextMode: boolean): integer;
stdcall;
Delphi需在工程文件USES的第一行引用ShareMem;
参数:
CommName: 串口类型,如’COM1’,但两位数以上串口号码按微软格式应为’//?/COM10’。
其他与通用函数接口一致。
2.反注册通信端口
function UnReg_Comm(Index: byte): integer;
stdcall;
返回0表示反注册成功。
参数:
Index: 索引号,为该端口注册时返回的索引号。
3.反注册所有通信端口
function UnReg_All: integer;
stdcall;

4.未发送成功的短消息数量
function sms_MessageUnsent: integer;
stdcall;
返回未发送成功的短消息数量
5.未读取的短消息数目
function sms_MessageUnRead: integer;
stdcall;
返回未读取的短消息数量
6.发送短消息
function sms_SendMessage(var TelNo: array of char;
TelNoLen: integer;
var Msg: array of Char;
MsgLen: integer;
DCS: integer): boolean;
stdcall;
返回0表示加入发送队列,其他表示发送队列满;
参数:
TelNo: 电话号码;
TelNoLen: 电话号码长度;
Msg:短消息报文;
MsgLen:报文长度;
DCS:短消息报文类型,1:7位,2:8位,3:UC16;
Pascal接口:
function sms_SendMessageP(TelNo: string;
Msg: string;
DCS: integer): boolean;
stdcall;
Delphi需在工程文件USES的第一行引用ShareMem;
7.读短消息
function sms_ReadMessage(var TelNo: array of char;
var TelNoLen: integer;
var Msg: array of char;
var MsgLen: integer;
var TimeTag: array of char;
var TimeLen: integer): boolean;
stdcall;
返回0表示读取成功,其他表示接受队列空;
参数:
TelNo: 电话号码;
TelNoLen: 电话号码长度;
Msg:短消息报文;
MsgLen:报文长度;
TimeTag:时标;
TimeLen:时标长度;
DCS:短消息报文类型,1:7位,2:8位,3:UC16;
Pascal接口:
function sms_ReadMessageP(var TelNo: string;
var Msg: string;
var TimeTag: string): boolean;
stdcall;
Delphi需在工程文件USES的第一行引用ShareMem;
8.已发送短消息
function sms_SentCount: integer;
stdcall;
返回已发送的短消息数量;
9.已接收短消息
function sms_ReadCount: integer;
stdcall;
返回已接收的短消息数量
10.端口已发送短消息数量
function sms_SentCountP(Index: byte): integer;
stdcall;
返回索引端口已发送的短消息数量
参数:
Index: 索引号,为该端口注册时返回的索引号。
11.端口已读取短消息数量
function sms_ReadCountP(Index: byte): integer;
stdcall;
返回索引端口已读取的短消息数量
参数:
Index: 索引号,为该端口注册时返回的索引号。
12.累计错误次数
function sms_ErrorCount: integer;
stdcall;
返回错误次数
13.端口累计错误次数
function sms_ErrorCountP(Index: byte): integer;
stdcall;
返回索引端口错误次数
14.物理未读短消息序号集合
function sms_GetReadSet(Index: byte;
var rs: TSetOfByte): integer;
stdcall;
15.物理未删短消息序号集合
function sms_GetDeleSet(Index: byte;
var rs: TSetOfByte): integer;
stdcall;

16.打开日志记录
function sms_OpenLog: integer;
stdcall;
17.关闭日志记录
function sms_CloseLog: integer;
stdcall;
18.设置超时时间
function sms_SetTimeOut(t: integer): integer;
stdcall;
19.设置延迟时间
function sms_SetDelay(t: integer): integer;
stdcall;

20.取本动态库版本号
function sms_GetVer: integer;
stdcall;
21.取端口状态字
function sms_GetState(Index: byte): integer;
stdcall;
消息接口
成功发送一条短消息时,动态库以自定义消息的方式通知调用方,消息为Windows标准类型,消息代码为WM_USER + 104,其中的域:
Wparam尚未发送的短消息条数,
Lparam发送的短消息条数,
当收到短消息时,动态库以自定义消息的方式通知调用方,消息为Windows标准类型,消息代码为WM_USER + 105,其中的域:
Wparam尚未读取的短消息条数,
Lparam接收的短消息条数
 
老哥的意思是,我用1000元来购买你的模块,你给我开发模块,然后把这个连接库给我,让我自己去
编程,听起来还是不错.反正购买模块大概就是这个钱,可是从你的这个地方购买却可以得到一个现在
的连接库.
你们的模块是不是已经包含天线,电源线,串口连接线?
 
yuleibo,我还想到一个办法,去二手市场买个旧手机,只要可以发短信就可以了,然后对它
编程,最后把那个手机做个漂亮的盒子包装起来,一起卖给公司.成本也不过3百的样子.hoho
以前想过这样来做生产,只是不知道有没有市场,毕竟用手机群发费用太高.
 
MODEM板载天线,一个标准9针RS232接口,你需要再配一个5V的变压器和普通的串口线,
加在一起顶多15块钱。
 

Similar threads

D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
后退
顶部