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,这个隐匿在计网 ...
随机推荐
- Linux 上的 AppImage、Snap、Flatpak 之间的区别和联系
AppImage.Snap 和 Flatpak 是三种用于在 Linux 系统上分发和安装软件的包管理格式.它们都有助于解决软件依赖问题,使得应用程序可以在不同的 Linux 发行版上更容易地安装和运 ...
- 【Git】之分支合并命令
一.Git分支管理 1.查看Git分支 git branch 按Q键返回. 2.创建分支以及删除分支 git branch newtest git branch -d newtest 3.切换分支 g ...
- Go plan9 汇编:内存对齐和递归
Go plan9 汇编系列文章: Go plan9 汇编: 打通应用到底层的任督二脉 Go plan9 汇编:手写汇编 Go plan9 汇编:说透函数栈 0. 前言 在 Go plan9 汇编系列文 ...
- 【转】如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容?
文章名称: 如何在ASP.NET Core自定义中间件读取Request.Body和Response.Body的内容?作者: Lamond Lu地址: https://www.cnblogs.com/ ...
- 入门指南 | Datavines 安装部署篇
摘要:本文主要介绍基于源码部署 Datavines 和执行检查作业,内容主要分为以下几个部分: 平台介绍 快速部署 运行数据质量检查作业 Datavines 的目标是成为更好的数据可观测性领域的开源项 ...
- MDC – Text field
前言 Angular Material 只有 Form field, 但 Material Design 有份 Text field 和 Form field, Form field 是给 check ...
- Angular 学习笔记 (Typescript 高级篇)
由于 typescript 越来越复杂. 所以特意开多一个篇幅来记入一些比较难的, 和一些到了一定程度需要知道的基础. 主要参考 https://basarat.gitbook.io/typescri ...
- Shiro-721—漏洞分析(CVE-2019-12422)
目录 Padding Oracle Attack 原理 PKCS5填充 怎么爆破攻击 漏洞原理 源码分析 漏洞复现 本文基于shiro550漏洞基础上分析,建议先看上期内容: https://blog ...
- 高通ramdump
背景 高通平台下提供了一个工具,专门用来抓取内核死机以后的dump信息.如果只是非系统层面的crash(例如底层应用,安卓程序),则不能抓取dump信息. 在阅读一些文档的时候知道有这个功能,但是一直 ...
- 动态去读 dll 文件
// 反射动态读取 dll // Assembly assembly = Assembly.LoadFile(); 路径 // Assembly assembly = Assembly.LoadFro ...