今天一起来学习使用合宙低功耗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

是否自动处理电话号号码的格式,
默认是按短信内容和号码格式进行自动判断,
设置为false可禁用

返回值:

返回值类型 解释

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?一文详解!的更多相关文章

  1. 一文详解 Linux 系统常用监控工一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)具(top,htop,iotop,iftop)

    一文详解 Linux 系统常用监控工具(top,htop,iotop,iftop)     概 述 本文主要记录一下 Linux 系统上一些常用的系统监控工具,非常好用.正所谓磨刀不误砍柴工,花点时间 ...

  2. 一文详解Hexo+Github小白建站

    作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...

  3. 一文详解 WebSocket 网络协议

    WebSocket 协议运行在TCP协议之上,与Http协议同属于应用层网络数据传输协议.WebSocket相比于Http协议最大的特点是:允许服务端主动向客户端推送数据(从而解决Http 1.1协议 ...

  4. 一文详解 OpenGL ES 3.x 渲染管线

    OpenGL ES 构建的三维空间,其中的三维实体由许多的三角形拼接构成.如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成.而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x.y ...

  5. 1.3w字,一文详解死锁!

    死锁(Dead Lock)指的是两个或两个以上的运算单元(进程.线程或协程),都在等待对方停止执行,以取得系统资源,但是没有一方提前退出,就称为死锁. 1.死锁演示 死锁的形成分为两个方面,一个是使用 ...

  6. 一文详解Redis键过期策略

    摘要:Redis采用的过期策略:惰性删除+定期删除. 本文分享自华为云社区<Redis键过期策略详解>,作者:JavaEdge. 1 设置带过期时间的 key # 时间复杂度:O(1),最 ...

  7. 一文详解 Linux Crontab 调度任务

    最近接到这样一个任务: 定期(每天.每月)向"特定服务器"传输"软件服务"的运营数据,因此这里涉及到一个定时任务,计划使用Python语言添加Crontab依赖 ...

  8. 一文详解如何在基于webpack5的react项目中使用svg

    本文主要讨论基于webpack5+TypeScript的React项目(cra.craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的. 首先,假定您已经 ...

  9. 一步一步从原理跟我学邮件收取及发送 8.EHLO 命令详解

    我们在上一篇中解决了接收一行命令的问题后,就可以来具体的分析邮件发送过程中涉及到的 SMTP 协议内容了. 首先来看通讯过程中的第一个内容:服务器在客户端连接上来后会主动发送一个问好的信息,所以这第一 ...

  10. 一文详解 ARP 协议

    我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 公众号连载计算机网络文章如下 ARP,这个隐匿在计网 ...

随机推荐

  1. Electron初体验

    为什么使用electron 最近准备开发一个国产麒麟系统上的桌面程序,主要完成Linux命令的可视化,而electron作为目前最活跃的跨平台桌面应用程序的框架之一,它可以使用网页技术(如 HTML. ...

  2. 并查集noi水题 (P1955 [NOI2015]程序自动分析)

    现将输入排序,把merge排在前面 ,避免冗余计算 1 n=rd(); 2 FOR(i,1,n) 3 { 4 s[i].x=rd(),a[++tot]=s[i].x, 5 s[i].y=rd(),a[ ...

  3. C# JSON序列化指定名称

    今天在做项目时遇到了要将json对象序列化为数据库表,  结果数据库表和json对象数据类型和字段名称对不上.于是就有了一下的解决方案: 需要转化的对象 { "orgAccountId&qu ...

  4. 安装 MinGW-w64

    简介 MinGW-w64 是 MinGW 项目的 64 位版本.MinGW(Minimalist GNU for Windows)是 GCC 编译套件和 GNU Binutils 移植到 Window ...

  5. Python 项目及依赖管理工具技术选型

    Python 项目及依赖管理工具,类似于 Java 中的 Maven 与 Node 中的 npm + webpack,在开发和维护项目时起着重要的作用.使用适当的依赖管理工具可以显著提高开发效率,减少 ...

  6. c++异步回调函数引用传递空指针异常

    c++异步回调函数引用传递空指针异常 问题描述 最近使用 c++ / qt 开发的一个桌面应用,运行到一处异步执行python脚本任务的方法处报错: 进程已结束,退出代码-1073741819 (0x ...

  7. Openstack-dashboard默认配额

    创建实例不超过10个 方法一 修改配置文件 在使用openstack的过程中,默认创建的实例最多10个,这是因为配额默认实例就是10 所以我们需要修改配置文件/etc/nova/nova.conf中的 ...

  8. 日志与追踪的完美融合:OpenTelemetry MDC 实践指南

    前言 在前面两篇实战文章中: OpenTelemetry 实战:从零实现分布式链路追踪 OpenTelemetry 实战:从零实现应用指标监控 覆盖了可观测中的指标追踪和 metrics 监控,下面理 ...

  9. Go runtime 调度器精讲(十一):总览全局

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 前面用了十讲介绍了 Go runtime 调度器,这一讲结合一些图在总览下 Go runtime 调度器. 1. 状态转换图 首先是 Gorou ...

  10. Maven高级——多环境配置与应用

    多环境配置与应用 开发步骤 定义多环境 <!--配置多环境--> <profiles> <!--开发环境--> <profile> <id> ...