一、英文短信

发:AT
收:OK
发:AT+CMGF=1 (设置短信格式,1为文本格式;0为PDU格式)
收:OK
发:AT+CMGS=13902433649
收:>
发:data→ // data 为发送内容,→为发送符(ctrl+z,十六进制0x1A)
收:+CMGS: 54 OK

二、中文PDU短信

以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:
接收号码:+8613902433649
短信内容:工作愉快!
短信中心号码:+8613800100500

1、短信中心号码处理:用字符串 addr 表示
a、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
即 addr = “+8613800100500”
=> addr = “8613800100500F”
b、将奇数位和偶数位交换。
=> addr = “683108100005F0”
c、将短信息中心号码前面加上字符91,91是国际化的意思
=> addr = “91683108100005F0”
d、算出 addr 长度,结果除2,格式化成2位的16进制字符串,16 / 2 = 8 => “08”
=> addr = “0891683108100005F0”

2、手机号码处理:用字符串 phone
a、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
即 phone = “+8613902433649”
=> phone = “8613902433649F”
b、将手机号码奇数位和偶数位交换。
=> phone = “683109423346F9”

3、短信息部分处理:用字符串 msg 表示
a、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为 5DE54F5C61095FEBFF01,(转换在linux里可用iconv函数实现。)
b、将 msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 => “0A”,再加上 msg
=> msg = “0A5DE54F5C61095FEBFF01”

4、组合
a、手机号码前加上字符串 11000D91(1100:固定,0D:手机号码的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81)
即 phone = “11000D91” + phone
=> 11000D91683109423346F9
b、手机号码后加上 000800 和刚才的短信息内容,000800也写死就可以了
即 phone = phone + “000800” + msg
即 11000D91683109423346F9 + 000800 + 0A5DE54F5C61095FEBFF01
=> phone = 11000D91683109423346F90008000A5DE54F5C61095FEBFF01
c、phone 长度除以2,格式化成2位的十进制数
即 11000D91683109423346F90008000A5DE54F5C61095FEBFF01 => 50位 / 2 => 25

5、所以要发送的内容为
发:AT
收:OK
发:AT+CMGF=0
收:OK
发:AT+CMGS=25
收:>
发:addr+phone→ //→为发送符(ctrl+z,十六进制0x1A)
收:+CMGS: 54 OK

6、如果返回不是ERROR,恭喜你,发送成功了

4G模块发送短信流程相关推荐

  1. linux 4g模块发送短信,OpenWRT使用4G模块上网和发送短信

    1.配置ppp 配置参考:https://blog.csdn.net/qianguozheng/article/details/50543704 结果就是:lsusb能发现HUAWEI的4G模块,if ...

  2. Linux-C实现GPRS模块发送短信

    "GSM模块,是将GSM射频芯片.基带处理芯片.存储器.功放器件等集成在一块线路板上,具有独立的操作系统.GSM射频处理.基带处理并提供标准接口的功能模块.GSM模块根据其提供的数据传输速率 ...

  3. (三)Linux 4G模块实现短信发送的两种格式(Text和PDU)

    文章目录 一.前言 二.需要掌握的知识 2.1 检查穿串口和SIM卡 2.2 Text格式 2.3 PDU格式 (1)PDU编码规则 (2)短信中心号码 一.前言 在上一篇:(二)树莓派Linux环境 ...

  4. 使用python移动飞信模块发送短信

    作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...

  5. 通过twilio模块发送短信

    twilio官方参考文档:https://www.twilio.com/docs/sms/quickstart/python 使用该模块时只需要在twilio官网注册账号并获取到account_sid ...

  6. AT指令发送短信流程及接听、拨打电话

    一.英文短信 发:AT 收:OK 发:AT+CMGF=1  收:OK 发:AT+CMGS="+8615083111880" 收:> 发:data       //data 为 ...

  7. 16.6 用 Twilio 发送短信

    大多数人更可能靠近自己的手机,而不是自己的电脑,所以与电子邮件相比,短信 发送通知可能更直接.可靠.此外,短信的长度较短,让人更有可能阅读它们. 在本节中,你将学习如何注册免费的 Twilio 服务, ...

  8. python实现第三方验证码获取_python利用第三方模块,发送短信验证码(测试案例)...

    今天学到个利用python第三方,发送短信验证码的代码,速实现一遍,短信立即收到,果断记录在案! 环境:虚拟机上centos7平台,python2.7版本: 第三方服务提供商是:云通讯官网:www.y ...

  9. python发短信验证码_python利用第三方模块,发送短信验证码

    对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 首先,申请账号的部分就省略了 1. 获得appid ...

最新文章

  1. 200 万年薪,却招不到清华姚班毕业生!能上姚班的都是什么人?
  2. linux平台的实验描述,基于LINUX的操作系统实验平台的设计与实现
  3. python能做表格吗-python 制作表格
  4. android r 新建分区_Android实现从下往上弹出视差效果(Activity)
  5. VLC-OFDM系统中一种改进的可变噪声比特功率分配算法
  6. SQL语言之数据导入导出(Oracle)
  7. 201114阶段二qt自定义图元类
  8. Valgrind 安装与使用
  9. 机器学习(十六)——隐式狄利克雷划分
  10. 全志和瑞芯微比较_哪家强_全志瑞芯微海思PK 智能芯片哪家强?
  11. 一位良心发现的交易员自述:我们是怎么玩弄散户的
  12. Oracle入门(九A)之用户的权限或角色
  13. php无get报错,php $_get报错怎么办
  14. 自己动手写编译器、链接器目录结构
  15. Frame buffer分析 - fbmem.c【转】
  16. Eclipse无法DEBUG
  17. visio软件接口流程图_用Visio制作最专业的技术流程图教程
  18. 【开源项目分享】GitHub中文排行榜 - 帮助你发现高分优秀中文项目-Java
  19. linux df -hl 数据解释,linux磁盘空间查看命令(du,df)剩余空间查看详解
  20. php 怎样清除浏览器痕迹,如何清除电脑使用痕迹?上网痕迹清理的方法介绍

热门文章

  1. 工作感受月记 201901月
  2. 还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!
  3. python数据处理2: 拟合数据、整合数据、导出数据
  4. 中职网络安全—隐藏信息探索
  5. 瑞芯微RK3328芯片怎么样?RK3328处理器参数介绍
  6. 歪写数学史(数学界的花木兰——苏菲﹒热尔曼)
  7. 什么录音软件可以录制电影对白
  8. 全国大学生数学建模大赛入门1——赛前准备及注意事项
  9. autoJS for 快手极速版 可运行
  10. Python实现对某微博用户数据分析