原标题:用AT指令操作短信猫发短信

需要准备的工具:一套正常使用的短信猫,SIM卡和超级终端软件。

我的计算机自带的没有超级终端,我就从http://www.010sms.cn/DownloadShow.asp?ID=25下载了一个,和XP系统自带的一样好用。通过超级终端使用AT命令更方便.如图:

因为设备我都连接好了,所以随意输入一些命令看下模块型号一类的,也检测设备是否正常工作。还有个命令AT+CSQ检测下手机卡信号,如图,说明信号正常,可以进行下一步了。

我第一步先输入AT 回车,出现OK

第二步 输入AT+CMGF=1 设置短信格式

第三步 输入AT+CMGS=13508888888(手机号码) 回车 出现>然后输入内容, 在同时按住CTRL+Z出现发送符号,回车就发送成功

手机已经正常收到:

附AT命令详细操作手册:

一、发送英文短信

发:AT

收:OK

发:AT+CMGF=1

收:OK

发:AT+CMGS=13501337830

收:>

发:data→ //test 为发送内容,→为发送符(ctrl+z,十六进制0x1A)

收:+CMGS: 54 OK

二、发送中文PDU短信

本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:

接收号码:+8613501337830

短信内容:工作愉快!

短信中心号码:+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,恭喜你,发送成功了

三、几个要注意的问题

1、发送的指令用0x0D结尾,注意不是通常认为的0x0D,0x0A。

特别是在发送PDU短信的AT+CMGS=25命令时,

一定只能以0x0D结尾。

2、在发送短信内容时,以0x1A(代表ctrl+Z的虚拟键值)结尾。

3、用AT+CMEE=1命令,可以在短信猫返回ERROR时带上原因,这样方便调试。返回搜狐,查看更多

责任编辑:

手机linux发短信的命令,用AT指令操作短信猫发短信相关推荐

  1. linux环境下使用sort命令完成常见排序操作

    文章目录 前言 命令作用 常见选项 数据文件 核心参数 用法展示 按照指定列排序 将排序结果存入指定文件 查看文件是否已经排序好 去掉排序结果中的重复行 按照数值结果进行排序 反向排序 自定义分割字符 ...

  2. adb发送什么命令能在手机屏幕弹窗显示_常用命令之adb指令

    adb,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具. 它是一种可以用来操作手机设备或模拟器的命令行工具 ...

  3. linux压缩和解压缩类命令|--zip/unzip指令

    zip/unzip指令 说明: zip 用于压缩文件,unzip用于解压,这个项目打包发布常用 基本语法 zip [option] xxx.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令) ...

  4. 记AT命令控制短信猫发短信(中英文)加打电话java

    写在前面:全局变量 private static char symbol1 = 13; private static char symbol4 = '\n'; 拨打电话方法: public stati ...

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

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

  6. Android模拟发短信,[转载]Android模拟器中模拟GPS、打电话、发短信

    首先,当然要打开模拟器 然后,连接模拟器 C:UsersBillGates>telnet localhost 5554 Android Console: type 'help' for a li ...

  7. Java使用短信猫发信息(向串口发送AT指令)

    使用Java发送短信息的方式有两种: 1>使用第三方平台的http请求进行发送,优点是接口简单,使用方便,发送的效率高,多条可以同时发送,缺点是短信平台,三大运营商不提供接口,都是第三方平台,但 ...

  8. PHP手机版源码下载分期系统源码Thinkphp内核开发集成支付,短信功能,征信对接

    PHP手机版源码下载分期系统源码Thinkphp内核开发集成支付,短信功能,征信对接下载链接:https://pan.baidu.com/s/17THZSi8MNV4n7oUZoYRyRg 提取码:8 ...

  9. 阿里大鱼进行发短信业务---使用详细步骤-Java操作

    文章目录 前言 一.开通短信服务 二.快速学习 三.签名管理 1. 何为签名 2. 添加签名 四.模板管理 1. 何为模板 2. 添加模板 五.Java中使用阿里大鱼 1. 开发文档 2. 用到的依赖 ...

  10. vivo手机怎么恢复信息_vivo手机短信删除了怎么恢复?如何查看误删的数据短信...

    vivo手机短信删除了怎么恢复?如何查看误删的数据短信?相信有很多人在使用或者是曾经使用过vivo手机,在使用手机的过程中很多人会出现将短信删除的情况,遇到这种情况我们应该如何去解决呢? 对于vivo ...

最新文章

  1. 技术07期:图计算,让数据间的关系无处可藏【社区分切篇】
  2. java中的进制输出转换_Java I/O : Java中的进制详解
  3. mysql增量同步kafka_MySQL数据实时增量同步到Kafka - Flume
  4. 年末裁员事件背后的启示录(2)
  5. 如何清除Windows共享登录的用户名密码记录
  6. 21.和和instance of
  7. 玩玩机器学习4——TensorFlow基础之激活函数
  8. Apache2 httpd.conf 配置详解 (二)
  9. openquery 如果执行存储过程_ORA-01502--记一次数据库索引失效导致执行存储过程出错...
  10. oracle 数据库汉字乱码
  11. 利用matlab使用窗函数,Matlab中窗函数的简单使用
  12. 彻底拿下QSPI双闪存W25Q256| STM32H750| QSPI 双FLASH |cubeIDE |下载算法(一)
  13. 2019大前端浪潮下的年度终结
  14. Qt 使用WPS或HTML生成word文档
  15. html 提取pdf,使用PDF.js从PDF中提取文本(2019)
  16. 完全数是由古人创造的一种整数,其因数的和(不包含本身)加起来就是数字本身。例如 6= 1+2+3 28=1+2+4+7+14 因数的和比数字本身大的数称为充沛数,因数和比数字本身大的数称为充沛数,因数
  17. 远程工作的五个层次 – 以及为什么您可能处于第2层
  18. Java开发人员必须掌握的Linux命令(二)
  19. h5调用微信,微博等分享
  20. android activity 实际,Android学习感悟之Activity

热门文章

  1. IDE SATA SCSI iSCSI等存储硬盘对比与分析
  2. Unity插件 - MeshEditor(二) 模型网格编辑器(高级)
  3. 飞猪订房显示服务器出错,消费者在飞猪平台全款预订酒店后无法办理入住
  4. BZOJ 4198 [Noi2015 D2T1] 荷马史诗
  5. Java中Method.invoke方法
  6. Istio 东西向流量管理
  7. gimp 架构_GIMP 2.10正式发布,史无前例的改动
  8. 2011年中国大陆十佳IC设计公司
  9. c语言程序设计小球弹跳,C语言实现弹跳小球
  10. lzg_ad:XPE数据库组件