今天带大家学习的是低功耗4G模组发送SMS短消息的解析,
咋们以Air780E为实例,让大家了解更透彻。
1、SMS介绍
SMS(短消息服务,ShortMessageService)功能主要用于在蜂窝网络中传输短消息。
移动,联通卡不需开通VOLTE可以支持短信功能。
在4G网络中,短信可以在数据传输的同时进行,不会因数据业务占用网络资源而被延迟或阻塞。
在Air780E模块中,当收到新短信后,MAIN_RI变为低电平,持续120ms,再变为高电平。可根据这个引脚来判断是否有新短信。
2、演示功能
本demo演示了sms功能。
3、准备硬件环境
3.1 Air780E开发板一套,包括天线、USB数据线
3.2 数据通信线
typec接口USB数据线即可。
3.3 开通短信功能的SIM卡
Air780E不支持电信卡的短信功能!
如果是联通卡或者移动卡,均可收取短信,但实名制的卡才能发送短信。
如果是专网卡,请参考专网卡配置指南:(暂时相关文章还没出,后续补充)
4、准备软件环境
4.1 基本的下载调试工具
使用说明参考:
Luatools下载和详细使用:
https://docs.openluat.com/Luatools/
5、sms功能软硬件资料
本文通过demo演示来说明本章节内容的基本用法。
5.1 源码和工具
Air780E模块使用固件:SDK&Demo-合宙文档中心,本demo使用的固件版本是:LuatOS-SoC_V1112_EC618_FULL.soc
本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/sms
将固件和脚本烧录到模块中,使用说明参考:Luatools下载和详细使用
源码和固件已打包,如下所示:点我,下载完整压缩文件包
5.3 本demo使用api简介
sms.send(phone,msg,auto_phone_fix)
作用:发送短信
参数:
传入值类型 | 解释 |
---|---|
string |
电话号码,必填 |
string |
短信内容,必填 |
bool |
是否自动处理电话号号码的格式, 默认是按短信内容和号码格式进行自动判断, 设置为false可禁用 |
返回值:
返回值类型 | 解释 |
---|---|
bool/nil | 成功返回true,否则返回false或nil |
sms.setNewSmsCb(func)
作用:设置新SMS的回调函数
参数:
传入值类型 | 解释 |
---|---|
function |
回调函数,3个参数,num,txt,metas |
返回值:
返回值类型 | 解释 |
---|---|
nil |
传入是函数就能成功,无返回值 |
6、代码示例介绍
6.1 发送短信
6.1.1 demo介绍
只需要调用sms.send()函数,填入对方手机号和消息内容即可。
通过设置回调函数。或者订阅发送完成的系统消息,来进行发送完成的处理。
本demo的效果是给服务商发短信消息,查询话费信息。
6.1.2 将程序烧录到开发板
参考:将固件和脚本烧录到模块中:Luatools下载和使用教程-合宙模组资料中心。
7、功能验证
成功发送短信。
8、总结
本示例介绍了如何发送短消息服务。
9、常见问题
9.1 物联网卡支持短信功能吗?
一般来说,物联网卡是不支持短信功能的,具体需要咨询物联网卡供应商。
9.2 支持移动、电信,联通卡的短信功能吗?
Air780E不支持电信卡的短信功能!!
如果是联通卡或者移动卡,均可收取短信,但实名制的卡才能发送短信。
9.3 是否支持彩信功能
不支持。
分享完毕。
审核编辑 黄宇