4G模块发送短信流程
一、英文短信
发: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模块发送短信流程相关推荐
- linux 4g模块发送短信,OpenWRT使用4G模块上网和发送短信
1.配置ppp 配置参考:https://blog.csdn.net/qianguozheng/article/details/50543704 结果就是:lsusb能发现HUAWEI的4G模块,if ...
- Linux-C实现GPRS模块发送短信
"GSM模块,是将GSM射频芯片.基带处理芯片.存储器.功放器件等集成在一块线路板上,具有独立的操作系统.GSM射频处理.基带处理并提供标准接口的功能模块.GSM模块根据其提供的数据传输速率 ...
- (三)Linux 4G模块实现短信发送的两种格式(Text和PDU)
文章目录 一.前言 二.需要掌握的知识 2.1 检查穿串口和SIM卡 2.2 Text格式 2.3 PDU格式 (1)PDU编码规则 (2)短信中心号码 一.前言 在上一篇:(二)树莓派Linux环境 ...
- 使用python移动飞信模块发送短信
作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...
- 通过twilio模块发送短信
twilio官方参考文档:https://www.twilio.com/docs/sms/quickstart/python 使用该模块时只需要在twilio官网注册账号并获取到account_sid ...
- AT指令发送短信流程及接听、拨打电话
一.英文短信 发:AT 收:OK 发:AT+CMGF=1 收:OK 发:AT+CMGS="+8615083111880" 收:> 发:data //data 为 ...
- 16.6 用 Twilio 发送短信
大多数人更可能靠近自己的手机,而不是自己的电脑,所以与电子邮件相比,短信 发送通知可能更直接.可靠.此外,短信的长度较短,让人更有可能阅读它们. 在本节中,你将学习如何注册免费的 Twilio 服务, ...
- python实现第三方验证码获取_python利用第三方模块,发送短信验证码(测试案例)...
今天学到个利用python第三方,发送短信验证码的代码,速实现一遍,短信立即收到,果断记录在案! 环境:虚拟机上centos7平台,python2.7版本: 第三方服务提供商是:云通讯官网:www.y ...
- python发短信验证码_python利用第三方模块,发送短信验证码
对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 首先,申请账号的部分就省略了 1. 获得appid ...
最新文章
- 200 万年薪,却招不到清华姚班毕业生!能上姚班的都是什么人?
- linux平台的实验描述,基于LINUX的操作系统实验平台的设计与实现
- python能做表格吗-python 制作表格
- android r 新建分区_Android实现从下往上弹出视差效果(Activity)
- VLC-OFDM系统中一种改进的可变噪声比特功率分配算法
- SQL语言之数据导入导出(Oracle)
- 201114阶段二qt自定义图元类
- Valgrind 安装与使用
- 机器学习(十六)——隐式狄利克雷划分
- 全志和瑞芯微比较_哪家强_全志瑞芯微海思PK 智能芯片哪家强?
- 一位良心发现的交易员自述:我们是怎么玩弄散户的
- Oracle入门(九A)之用户的权限或角色
- php无get报错,php $_get报错怎么办
- 自己动手写编译器、链接器目录结构
- Frame buffer分析 - fbmem.c【转】
- Eclipse无法DEBUG
- visio软件接口流程图_用Visio制作最专业的技术流程图教程
- 【开源项目分享】GitHub中文排行榜 - 帮助你发现高分优秀中文项目-Java
- linux df -hl 数据解释,linux磁盘空间查看命令(du,df)剩余空间查看详解
- php 怎样清除浏览器痕迹,如何清除电脑使用痕迹?上网痕迹清理的方法介绍