当下物联网发展迅猛,物联网卡可以接受短信指令,实现千里之外尽可掌控。本人做过一个这类项目,把相关经验记录下来,分享给需要的人。
物联网卡通讯其实跟电话卡一样,可以使用CMPP协议。不过由于物联网卡位数为13位,未测试CMPP2.0是否支持,直接保险一点用的CMPP3.0协议。

因为CMPP3.0中号码字段增加到32位,还增加了号码类型字段,可能是为了扩展不同类型的卡。

Dest_terminal_Id 32*DestUsr_tl Octet String 接收短信的MSISDN号码
Dest_terminal_type 1 Unsigned Integer 接收短信的用户的号码类型,0:真实号码;1:伪码。

关于编码格式,一开始尝试了5种常用的编码,短信接收到中文还是乱码,解决方法如下:

*目前物联网卡通讯,如果是英文内容,则只支持Ascii码,也就是Msg_Fmt必须设置成0
如果是发送中文内容,则只支持UCS2编码,即Msg_Fmt必须设置成8
另外有个特别费解的问题是,如果是发中文内容,短信网关会自动在短信后面加上一串尾巴,类似【ayf】等。这个问题在开发的时候必须注意,以免发送的指令不能解析,需要做一些逻辑处理把尾巴去掉。*

关于号码选择类型:
物联网的用户号码类型选择Dest_terminal_type=0即可。若选择1会报错。

其他:
如遇到短信网关返回码,可查询以下网址看返回码解释

http://www.cnblogs.com/tuyile006/p/5849722.html

常见返回码:173 是物联网卡没开通短信功能造成的。

CMPP3.0实现物联网卡发短信遇到的问题相关推荐

  1. 网关短信 群发 为什么卡发短信 群发 贵 ?

    网关短信 群发 为什么卡发短信 群发 贵 ? 首先,要弄清楚什么是卡发短信 ? 什么是网关短信 ? 什么是卡发短信 ? 1 .卡发短信也叫虚拟网关短信,对方收到短信时显示的是我们服务器上的 虚拟手机号 ...

  2. 使用物联网卡发送短信

    从2015年9月1日起 ,购买电话卡需要实名制,也就是说需要本人使用身份证才能购买.但是随着物联网的迅速发展,需要联网的终端逐渐增多.在此环境下,诞生了一种不能电话,不能短信,不需要实名制,只能上网的 ...

  3. STM32 单片机 程序 指纹 门禁锁 RC522 射频卡 发短信 报警

    功能按这个做: 功能设计如下: 硬件:单片机+显示器+指纹模块+继电器+按键+振动模块+发短信模块+人体红外+RC522射频卡刷卡模块+震动模块 1 开机后,检测指纹模块是否存在,如不存在,屏幕会有相 ...

  4. 使用NB卡的NBIOT模块不能发短信

    我用的M5311模块(NBIOT模块的一种)的软件手册里有一个发短信的功能,但是试了很多遍根本发不出去.然后咨询了一下中移物联网的客服,他说"国家已经禁止NB物联网卡发短信了,您办理NB物联 ...

  5. SIM71004G模块使用Linux C语言实现打电话发短信

    为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 一.实验目的: SIM71004G模块使用Linux C语言实现打电话发短信. 二 ...

  6. android实现直接发短信,android5.0以上版本如何直接发送短信?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面的代码在5.0一下版本能够直接发送,但5.0以上就会跳转到系统的短信发送界面,应该怎么修改呢?(我有看到过一个叫"招商致远手机证券" ...

  7. 通过asp.net 短信猫发短信

    如今手机已成为大众交流的主要工具.有关手机的程序开发越来越广泛,本节通过典型实例介绍如何利用短信猫发送.接收短信. 1.方案分析 发短信的一种方法是利用短信猫发短信,本例中使用的是生产的串口短信猫. ...

  8. cmgr linux命令,linux下利用GPRS模块发短信、打电话

    本文转自:http://www.cnblogs.com/wss-linux/p/3986006.html 一.开发环境 内核版本:linux-3.0 开发板:FL2440(nandflash:K9F1 ...

  9. sim900芯片—GPRS使用C语言打电话和发短信应用程序

    ---------------------------------------------  主机操作系统:Centos 6.7 交叉编译器环境:arm-linux-gcc-4.5.4  开发板平台: ...

最新文章

  1. C# Json 序列化与反序列化二
  2. 我们终于可以把 bug 留给子孙后代了
  3. Linux网络——配置网络之iproute家族命令
  4. 管状合金电阻和片状合金电阻的区别_SAE 6118、高电阻合金际锻材
  5. 会计需要哪方面的计算机知识,学会计需要哪些知识
  6. 使用Python Chord包画出好看的弦图
  7. Java具体可以做什么?
  8. echarts X轴和Y轴不对应(xAxis type time)的用法
  9. Wear OS手表应用开发教程之-滑动隐藏布局-SwipeDismissFrameLayout
  10. oracle 输出精确到秒,Oracle时间精确到时、分、秒处理方法
  11. 极域电子教室学生机房管理助手(好好上课)教程
  12. Xposed框架动态调试第三方APP—实战演示
  13. Spring Boot Redis 实现分布式锁,真香!!
  14. FPGA进阶(2):基于I2C协议的EEPROM驱动控制
  15. Linux TC流量控制HOWTO中文版
  16. 如何选择合适的网络自动化工具
  17. DevExpress CMB下拉树
  18. 工业相机分类、相关参数含义
  19. Android 多线程之IntentService 完全详解
  20. 记录一次成功安装PyTorch(Win版)(直接下载安装包式的pip安装)

热门文章

  1. PADS转AD的格式以及错误处理
  2. GC:深入理解GC--细数GC回收器
  3. 从井字棋程序总结C语言初学的知识
  4. 高精度定时器学习(通过官方手册学习)
  5. win7搭建WAMP环境
  6. 如来十三掌的writeup
  7. 咕泡P5人工智能CV 技术NLP项目实战
  8. pdf在线查看 html代码,PDF网页在线阅读器pdfjs
  9. 云应用的概念、特性及部署
  10. 联想r480安全模式_ThinkPad R480拆解-解剖刀下的Racing