Air780E 短信(短消息)测试

一、硬件信息和工具

  1. AIR780E 开发板
    在这里插入图片描述
    在这里插入图片描述
  2. usb转ttl工具
  3. 串口软件
  4. 文档

在这里插入图片描述
在这里插入图片描述

二、短消息基本流程

4G模块发短信基本流程如下:

 1、设置为TEXT模式
 2、查询当前的TEXT模式短信参数
 3、查询字符集
 4、发短信给测试手机号
 5、输入具体信息内容发送

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、指令测试

打开串口助手,通过usb转ttl工具连接air780e开发板,串口配置如下:
在这里插入图片描述

应用测试过程

//1. 查询软件版本
//tx
ATI

//rx
ATI

AirM2M_780E_V1161_LTE_AT

OK


//2. 查询sim卡状态
//tx
AT+CPIN?

//rx
AT+CPIN?

+CPIN: READY

OK


//3. 查询信号质量
//tx
AT+CSQ

//rx
AT+CSQ

+CSQ: 21,0

OK

//4. 查询附着状态
//tx
AT+CGATT?

//rx
AT+CGATT?

+CGATT: 1

OK


//5. 设置为TEXT模式
//tx
AT+CMGF=1

//rx
AT+CMGF=1

OK

//6. 查询当前的TEXT模式短信参数
//tx
AT+CSMP?

//rx
AT+CSMP?

+CSMP: 33,167,0,0

OK


//7. 查询字符集
//tx
AT+CSCS?
//rx
AT+CSCS?

+CSCS: "IRA"

OK


//8. 要发送的手机号
//tx
AT+CMGS="10010"
//rx
AT+CMGS="10010"

> 

//  出现了 > ,则表示可以发短信,一定时间不输入,则会返回 ERROR

//9. 输入要发送的具体内容,发送短信时发送PDU包这一步不要勾选换行符和16进制。
//tx
CXLL  //流量查询,字符串发送
//发送完成,切换为16进制发送,发送0x1A。
//说明:<CTRL-Z>即0x1A是发送,<ESC>即0x1B是终止发送。
1A

//rx
+CMGS: 8

OK

+CIEV: "MESSAGE",1

+CMT: "10010",,"24/07/16,14:34:43 +32"
84254E1A538567E58BE24E3A51C63002000D002056DE590D201C0035003000380033201DFF0C67E5770B6D4191CF534A5E7453054F5991CF3002000D002056DE590D201C0032003000380032201DFF0C67E5770B595799104F5991CF3002000D00208BA9670D52A166F467096E295EA6FF014F7F75284E2D56FD8054901A004100500050

+CIEV: "MESSAGE",1

+CMT: "10010",,"24/07/16,14:34:43 +32"
FF0C8DB34E0D51FA6237529E4E1A52A130014EA48BDD8D39FF0C63075C164E0070B967E54F59989D300167E56D4191CFFF0C70B951FB00200068007400740070003A002F002F0075002E00310030003000310030002E0063006E002F006B00680064006400780020FF0C75454EAB4FBF522930104E2D56FD8054901A3011





84254E1A538567E58BE24E3A51C63002000D002056DE590D201C0035003000380033201DFF0C67E5770B6D4191CF534A5E7453054F5991CF3002000D002056DE590D201C0032003000380032201DFF0C67E5770B595799104F5991CF3002000D00208BA9670D52A166F467096E295EA6FF014F7F75284E2D56FD8054901A004100500050

解码为中文,如下:
在这里插入图片描述
在这里插入图片描述
UTF-16 和 UTF-32 编码分大小端,字符编码下拉框的 UTF-16LE 是小端编码,UTF-16BE 是大端编码BE 是 Big Endian 的缩写,LE 是 Little Endian 的缩写
例如:
汉字我的 UTF-16 的大端编码是 6211,小端编码是 1162。
汉字𪺫的 UTF-16 的大端编码是 D86BDEAB,小端编码是 6BD8ABDE。

注意,常见问题
1、PDU格式发送短信问题?
AT版本发送短信时先查看自己的SIM卡是否设置中心地址,发送短信时发送PDU包这一步不要勾选换行符和16进制。
2、是否支持彩信功能?
不支持
3、如果要发送中文信息:AT+CSMP=17,167,0,8
中文信息要是16进制后面加上1A点发送就行
4、目前不支持电信卡。

参考:
上海合宙Cat.1模组(移芯EC618&EC716&EC718平台系列)AT命令手册V1.6.1

https://doc.openluat.com/wiki/37?wiki_page_id=4508

https://www.toolhelper.cn/EncodeDecode/EncodeDecode

### 使用 Air780E 模块发送中文短信的方法 在使用 Air780E 模块发送中文短信时,需要确保模块配置支持 Unicode 编码,因为中文字符属于扩展字符集。通常情况下,可以通过 AT 命令设置 SMS 文本模式并指定编码方式。 #### 配置 SMS 参数 为了能够成功发送中文短信,首先要进入文本模式,并设定 PDU 或者 TEXT 模式的编码为 UCS2: ```plaintext AT+CMGF=1 // 设置为文本模式 OK AT+CSCS="UCS2" // 设置字符集为 UCS2 OK ``` 上述命令用于初始化环境以便处理非 ASCII 字符串[^2]。 #### 构建和发送短信内容 构建包含中文字符的消息体需要注意转义序列以及字符串长度限制。下面是一个完整的流程实例化过程,在此之前假设已经完成了必要的初始化工作如网络注册等。 ```lua -- Lua 脚本片段 (适用于 LuatOS 平台) local sim = require "sim" function sendChineseMessage(phoneNumber, messageText) local cmd = string.format('AT+CMGS="%s"\r\n', phoneNumber) -- 将输入的信息转换成 UCS2 编码形式 local ucs2EncodedMsg = "" for i = 1,#messageText do local charCode = string.byte(messageText,i) ucs2EncodedMsg = ucs2EncodedMsg .. string.format("%04X",charCode) end log.info("Sending Chinese Message:",ucs2EncodedMsg) -- 执行发送指令 sim.write(cmd..ucs2EncodedMsg..string.char(26)) -- 添加 Ctrl-Z 结束标志 end sendChineseMessage("+861XXXXXXXXXX","你好世界") -- 替换电话号码与实际要发的内容 ``` 这段代码展示了如何利用 Lua 脚本来调用底层 API 完成中文短信的创建与传输动作。注意这里采用的是简单的逐字节转换方法来实现 UTF-8 到 UCS2 的转变;对于多字节字符可能还需要进一步优化转换逻辑以适应不同情况下的需求[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值