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