用CMPP3.0实现物联网卡通讯
2017-03-24 12:08
513 查看
当下物联网发展迅猛,物联网卡可以接受短信指令,实现千里之外尽可掌控。本人做过一个这类项目,把相关经验记录下来,分享给需要的人。物联网卡通讯其实跟电话卡一样,可以使用CMPP协议。不过由于物联网卡位数为13位,用的CMPP3.0协议,可以完美支持物联网卡通信。因为CMPP3.0中号码字段增加到32位,还增加了号码类型字段,可能是为了扩展不同类型的卡。
可以是用CMPP3.0协议,也就是说发送短信到物联网卡、从物联网卡回复短信回来,都可以直接用这套CMPP3.0协议。那么跟发手机短信有何不同之处呢,以下就是几点不同: 1.关于编码格式目前物联网卡通讯,如果是英文内容,则只支持Ascii码,也就是Msg_Fmt必须设置成0
如果是发送中文内容,则只支持UCS2编码,即Msg_Fmt必须设置成8另外有个特别费解的问题是,如果是发中文内容,短信网关会自动在短信后面加上一串尾巴,类似【ayf】等。这个问题在开发的时候必须注意,以免发送的指令不能解析,需要做一些逻辑处理把尾巴去掉。 2.关于长短信我们知道一条短信只能发140个字节的内容,如果实际要发的内容超过这个数,就必须拆成多条发送,这样会有一些影响。为了发长短信,我们的CMPP发送程序必须做一些改造,具体请参考我的另一篇博文CMPP3.0 长短信实现方案而对于物联网卡来说,收发长短信必须使用 7 位的协议头格式:06 08 04 XX XX MM NN这也是要注意的一点,否则解析发送都会出错。 3.关于用户号码类型物联网的用户号码类型选择Dest_terminal_type=0即可。若选择1会报错。其他如遇到短信网关返回码,可查询以下网址看返回码解释 http://www.cnblogs.com/tuyile006/p/5849722.html常见返回码:173 是物联网卡没开通短信功能造成的。这就是开发物联网通讯过程中的经验。最终将该通讯模块做成了一个windows服务,在系统中稳定运行,支持每天百万级的信息发送接收。经过一番努力,对程序进行功能扩展,目前已支持:1、支持Cmpp2.0、3.0协议;2、支持一般的短信发送、上行短信接收、状态报告;3、支持长短信,包括下发长短信、上行接收长短信;4、支持Ms Sql数据库、MySql数据库;5、支持普通手机号和物联网卡;6、集成了邮件群发功能;7、全套源码Win服务、全套数据库源码;
程序的设计原理是直接读取数据库中的待发信息,由Windows短信服务负责发送和接收信息,并将是否发送成功的状态回写到数据库。且如果有上行短信,也会接收后保存到上行短信表中。所有,这套程序已经可以支持任何语言,因为你只需要与数据库打交道。-----------------------------------------------------------------短信程序源码Win服务版(CMPP3.0/CMPP2.0协议)
移动物联网卡短信源码(CMPP3.0协议,支持MsSql/MySql数据库)
联通Sgip1.2短信源码
彩信MM7协议C#版客户端
Dest_terminal_Id | 32*DestUsr_tl | Octet String | 接收短信的MSISDN号码。 |
Dest_terminal_type | 1 | Unsigned Integer | 接收短信的用户的号码类型,0:真实号码;1:伪码。 |
Msg_Fmt | 1 | Unsigned Integer | 信息格式:0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字。。。。。。 |
程序的设计原理是直接读取数据库中的待发信息,由Windows短信服务负责发送和接收信息,并将是否发送成功的状态回写到数据库。且如果有上行短信,也会接收后保存到上行短信表中。所有,这套程序已经可以支持任何语言,因为你只需要与数据库打交道。-----------------------------------------------------------------短信程序源码Win服务版(CMPP3.0/CMPP2.0协议)
移动物联网卡短信源码(CMPP3.0协议,支持MsSql/MySql数据库)
联通Sgip1.2短信源码
彩信MM7协议C#版客户端
相关文章推荐
- CMPP3.0实现物联网卡通讯
- 基于 CMPP3.0 协议 SP 端的实现(C#)
- 【开源发布】中国移动通信CMPP3.0 SP端模拟器 C++实现
- Cmpp3.0 C# Net/C# 实现 中国移动 CMPP v3.0 ISMG SP 收发短信的 SP 客户端 (第2版)(CMPP SP Client)
- 基于 CMPP3.0 协议 SP 端的实现(C#) - arcadiaray - 博客园
- CMPP3.0 长短信实现方案
- 通过桥接虚拟网卡使VMWare和宿主机实现双向通讯
- 移动(cmpp2.0/cmpp3.0)、联通(sgip1.2)、电信(smgp3.0)的长短信实现的经验
- CMPP3.0协议实现
- 如何实现“物联网卡+农业”的智能化经营理念
- cmpp3.0中AuthenticatorSource字段的java实现
- 双网卡 -ip转发-不同网段通讯 -如何实现网络分段
- CMPP3.0实现物联网卡发短信遇到的问题
- 使用移动代理CMPP2.0,3.0协议实现短信发送-Java版,使用华为smproxy.jar包
- 关于C#中实现两个应用程序消息通讯的问题
- Microsoft PetShop 3.0 设计与实现 分析报告---数据访问层
- 通过Socket实现进程间异步通讯(三)
- linux下如何实现为一个网卡绑定多个IP地址
- 用Visual C#实现局域网点对点通讯
- 网卡不连线也能工作,谁能实现