4G LTE MODEM短信设备通过java串口传输电信卡发送中文失败

admin
2019-9-3 14:59
1545 0 原作者: admin 来自: 腾亨科技
简介
今天有一客户跟我反应,前几天购买的一个4G LTE MODEM短信设备插入的是电信卡发送中文失败的问题一直没找到问题所在偶尔有时有些。插移动联通卡是可以正常使用的因为使用的是PDU模式发送,程序是自己写的,源码原子 ...
今天有一客户跟我反应,前几天购买的一个4G LTE MODEM短信设备插入的是电信卡发送中文失败的问题一直没找到问题所在偶尔有时有些。插移动联通卡是可以正常使用的因为使用的是PDU模式发送,程序是自己写的,源码原子于网上的一个简单的例子java开发包例子使用的是text模式发送短信的源码smsjava。
经过排查监听客户的软件发现编码大小写的问题。SIMCOM7600CE模块不支持小写,只能用大写编码内容,小写传输给模块会返回错误+CMS ERROR: ME failure的错误

下面是捕抓到主要指令及数据进行对比
失败的数据:
短信发送失败
  1. AT+CMGF=1
  2. .OK
  3. AT+CSMP=17,167,2,25
  4. .OK
  5. AT+CSCS="UCS2"
  6. .OK
  7. AT+CMGS="00310035003100310038003100330031003400390034"

  8. .> 621167094e007b507684613f671b.

  9. +CMS ERROR: ME failure
复制代码
发送成功的数据:
短信发送成功
  1. AT+CMGF=1
  2. .OK
  3. AT+CSMP=17,167,2,25
  4. .OK
  5. AT+CSCS="UCS2"
  6. .OK
  7. AT+CMGS="00310035003100310038003100330031003400390034"

  8. .> 621167094E007B507684613F671B.

  9. +CMGS: 131
复制代码



对比不同地方
失败的内容“621167094e007b507684613f671b
成功的内容“621167094E007B507684613F671B
注意看只是字母大小写的问题,一般程序代码直接中文转换成U码后是小写的

最后解决方法是给提交给串口的短信内容字符串用toUpperCase() 方法转成大写后提交。


题外话,另外电信卡发送中文短信也可以用PDU编码,不过是要符合3GPP2协议的PDU编码跟GSM的PDU不一样,PDU是可以支持长短信哦只是比较复杂,TEXT模式简单但不支持长短信,有兴趣的朋友可以自己了解这个文章下CDMA PDU 编解码补充解析
收藏 邀请

鲜花

握手

雷人

路过

鸡蛋

相关阅读

精彩阅读

精选资讯

推荐资讯

广告位

扫描二维码 添加徐工微信咨询 电话:15118131494
联系我们

0755-82604707

周一至周五9:00-18:00

售后服务 / 投诉处理

Powered by 2013-2017   深圳市腾亨科技有限公司 版权所有   粤ICP备16015368号-1

QQ- 短信设备-4G全网通短信设备-JAVA短信二次开发包-Archiver-手机版-小黑屋- THKJ Inc.