Air780E如何发送SMS?一文详解!
今天一起来学习使用合宙低功耗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 是否支持彩信功能
不支持。
Air780E如何发送SMS?一文详解!的更多相关文章
- 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)
一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop) 概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...
- 一文详解Hexo+Github小白建站
作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...
- 一文详解 WebSocket 网络协议
WebSocket 协议运行在TCP协议之上,与Http协议同属于应用层网络数据传输协议.WebSocket相比于Http协议最大的特点是:允许服务端主动向客户端推送数据(从而解决Http 1.1协议 ...
- 一文详解 OpenGL ES 3.x 渲染管线
OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...
- 1.3w字,一文详解死锁!
死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...
- 一文详解Redis键过期策略
摘要:Redis采用的过期策略:惰性删除+定期删除. 本文分享自华为云社区<Redis键过期策略详解>,作者:JavaEdge. 1 设置带过期时间的 key # 时间复杂度:O(1),最 ...
- 一文详解 Linux Crontab 调度任务
最近接到这样一个任务: 定期(每天.每月)向"特定服务器"传输"软件服务"的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖 ...
- 一文详解如何在基于webpack5的react项目中使用svg
本文主要讨论基于webpack5+TypeScript的React项目(cra.craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的. 首先,假定您已经 ...
- 一步一步从原理跟我学邮件收取及发送 8.EHLO 命令详解
我们在上一篇中解决了接收一行命令的问题后,就可以来具体的分析邮件发送过程中涉及到的 SMTP 协议内容了. 首先来看通讯过程中的第一个内容:服务器在客户端连接上来后会主动发送一个问好的信息,所以这第一 ...
- 一文详解 ARP 协议
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 公众号连载计算机网络文章如下 ARP,这个隐匿在计网 ...
随机推荐
- Electron初体验
为什么使用electron 最近准备开发一个国产麒麟系统上的桌面程序,主要完成Linux命令的可视化,而electron作为目前最活跃的跨平台桌面应用程序的框架之一,它可以使用网页技术(如 HTML. ...
- Devexpress PdfViewer汉化及隐藏右键菜单
先看效果图 1.效果图 隐藏了打印与文档属性功能 2.原图 1.关键事件 PopupMenuShowing public From() { InitializeComponent(); //弹出菜单加 ...
- Heart Rate Variability - HRV
一次心跳波形 心率变异性 通常希望HRV 越高越好 HRV 公式: 需要指出的是,心率变异性会有多种计算公式. HRV数值相对越小=当天压力越大/身体越疲劳:HRV数值相对越大=当天压力越小/身体状态 ...
- 防御DDOS攻击
如何防御DDOS攻击 1.采用高性能的网络设备 首先要保证网络设备不能成为瓶颈,因此选择路由器.交换机.硬件防火墙等设备的时候要尽量选用知名度高.口碑好的产品.再就是假如和网络提供商有特殊关系或协议的 ...
- 【倒计时3天】“CSIG企业行”走进合合信息,大咖解密智能文档处理背后的底层技术及AI未来展望
3月18日,由中国图象图形学会(CSIG)主办,合合信息.CSIG文档图像分析与识别专业委员会联合承办的"CSIG企业行"系列活动将正式举办,通过搭建学术界与企业交流合作平台,为企 ...
- JAVAEE——JDK安装
1.JDK下载 (1)jdk官网 1.输入下载地址:Oracle Software Downloads | Oracle 2.向下滑动,找到Developer Downloads后点击java 3.点 ...
- Nacos 开启鉴权设置
Nacos 开启鉴权设置 # 开启鉴权 nacos.core.auth.enabled=true nacos.core.auth.system.type=nacos # 开启鉴权之后,你可以自定义用于 ...
- module_softdep
所谓的MODULE_SOFTDEP,就是两个两个模块之间本有依赖,但是一定要要加载顺序的要求. 用法很简单. #define MODULE_SOFTDEP(_softdep) MODULE_INFO( ...
- argmax经过sigmoid和不经过sigmoid区别
起因 今天和同组讨论了一下网络输出时,在torch.argmax之前经过torch.sigmoid和不经过sigmoid的区别. 主要起因是实验结果图像不同 图1 不经过sigmoid 图2 经过si ...
- os.path.basename()和os.path.splitext()
1.os.path.splitext()是用来分离文件名与扩展名: 2.os.path.basename()他返回的是一个base name,我认为就是路径最后一个文件名. import os fna ...