0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解码LuatOS:短信功能的底层运作机制

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2025-06-27 18:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

短信功能在LuatOS中的运行并非表面所见那么简单。本文将深入系统底层,解码其通信协议、数据处理与系统交互,呈现完整的运作图谱。

我们这期主要拆解airsms.lua文件,讲清楚,短信功能在LuatOS上到底怎么运作的。

一、发送短信

LuatOS中已经将短信发送功能封装为:sms.send()函数

只需调用该函数,写入要发送的手机号码和短信内容,就能够完成信息发送。函数返回值成功为true,失败为false。

wKgZO2heZfuAYa23AAFfiGrAYCM572.png

二、接收、存储短信

LuatOS底层在接收到来信时会推送一条"SMS_INC"的信息,并且信息携带着来信号码和来信内容。

接收短信只需使用sys.waitUntil("SMS_INC"),就可以及时捕捉到短信。然后将短信的相关信息写入你的储存器中,或者通过HTTP/MQTT上传到服务器中。

如下图示:

wKgZO2heZpWACYOqAAPNE1JhvYI989.png

三、接收、存储短信

读取短信需要与存储短信做上联动,当新的信息被写入存储器时,推送一条"new_msg",用于激活读取短信的动作,读取短信只需要一直循环sys.waitUntil("new_msg")。通过io.read()函数,就可以读取到存储器中的短信内容。

如下图示:

wKgZPGheZvGAYhVbAAVwN4pSi7U301.png


以上就是短信功能的核心业务逻辑,短短几行代码就可以将短信功能玩弄于股掌之间。

现在,咱们开始体验一下这个短信功能的最终成果!

四、成果展示

将“LuatOS/module/Air8000/project/整机开发板出厂工程”里的工程文件全部刷入Air8000整机开发板。

CORE选择要注意:LVGL固件不支持电信手机卡!!!后续会上线VOLTE版的CORE才会支持电信。

1. 刷入固件后上电开机:

wKgZPGheZ12ABLPAAAveOpxKpno112.png

2. 点击左下角短信按钮-进入短信DEMO界面:

wKgZPGheZ4mAcPHpAA2CR59MFxM340.png

3. 发送短信:

根据第一行提示,点击"开始",发送预设短信,或者用手机给板内手机卡发送电信,触发接收。

wKgZO2heZ76AJHvfAA8rpLSSWEg023.png


效果喜人,你也可以的,快来试试吧!

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LuatOS
    +关注

    关注

    0

    文章

    180

    浏览量

    2768
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LuatOS 内存核心:Lua GC 垃圾回收深度解析

    本文依托 LuatOS 实际开发场景,梳理 Lua 垃圾回收底层运行原理,讲解核心配置调优参数,梳理合规实用的代码开发规范,以此实现设备内存资源合理调配,维持设备长期平稳运行。
    的头像 发表于 05-20 08:00 1301次阅读
    <b class='flag-5'>LuatOS</b> 内存核心:Lua GC 垃圾回收深度解析

    LuatOS的内存分配机制

    不同 LuatOS 硬件平台在内存布局上存在差异,Lua 运行内存、系统内存与 PSRAM 扩展内存的分配方式各有区别。部分型号将系统与脚本内存统一放在 PSRAM 中,部分则采用 SRAM 运行系统、PSRAM 承载脚本的分离架构,以适配不同功耗与性能需求。
    的头像 发表于 04-16 12:37 237次阅读
    <b class='flag-5'>LuatOS</b>的内存分配<b class='flag-5'>机制</b>

    LuatOS 系统框架的模块化设计原理

     LuatOS 的设计核心在于高度模块化与松耦合架构。系统将硬件驱动、通信协议、定时任务等封装为独立模块,通过统一的注册与回调机制接入主事件循环。这种设计不仅提升了代码复用率,也使得开发者可以按需
    的头像 发表于 02-03 15:56 393次阅读
    <b class='flag-5'>LuatOS</b> 系统框架的模块化设计原理

    LuatOS框架的使用(上)

    在资源受限的物联网终端设备中,如何实现快速开发与稳定运行是关键挑战。LuatOS框架通过将Lua语言与底层硬件抽象层深度融合,提供了一套简洁高效的开发范式。本文将围绕LuatOS框架的使用展开,从
    的头像 发表于 01-27 19:38 503次阅读
    <b class='flag-5'>LuatOS</b>框架的使用(上)

    谁还没有短信转发器?开源自制,速来!

     ▼   一、转发器项目简介 这是一款基于4G模组和LuatOS开发的短信转发器,可将接收到的短信通过HTTP转发至Webhook接口,并支持来电提醒、定时重启等实用功能。 1.1
    的头像 发表于 01-27 16:12 502次阅读
    谁还没有<b class='flag-5'>短信</b>转发器?开源自制,速来!

    LuatOS-Air转LuatOS常见故障排查手册

    LuatOS-Air脚本在LuatOS环境中运行失败,问题往往集中在几个关键模块:任务调度、外设驱动、网络配置和固件版本匹配。本文以故障排查的逻辑为主线,列出常见报错现象、可能原因及快速修复
    的头像 发表于 01-13 19:20 376次阅读
    <b class='flag-5'>LuatOS</b>-Air转<b class='flag-5'>LuatOS</b>常见故障排查手册

    警惕兼容性陷阱:LuatOS-Air脚本在LuatOS中的运行异常分析

    即使语法正确的LuatOS-Air脚本,在LuatOS环境中也可能出现“静默失败”——程序无报错但功能未执行。这类问题多与系统事件循环、模块加载时机或硬件抽象层调用方式有关。本文通过多个真实
    的头像 发表于 01-13 19:20 374次阅读
    警惕兼容性陷阱:<b class='flag-5'>LuatOS</b>-Air脚本在<b class='flag-5'>LuatOS</b>中的运行异常分析

    LuatOS MCU核心库全接触:新手操作与功能测试攻略!

    开启芯片级开发实战。 一、MCU核心库函数功能 MCU核心库是LuatOS中封装MCU一些特殊操作的核心模块,提供了对MCU底层功能的访问和控制能力,是开发高级
    的头像 发表于 11-12 14:30 454次阅读
    <b class='flag-5'>LuatOS</b> MCU核心库全接触:新手操作与<b class='flag-5'>功能</b>测试攻略!

    新手必备:LuatOS MCU核心库功能测试与实践指南

    各类开发需求。 一、MCU核心库函数功能 MCU核心库是LuatOS中封装MCU一些特殊操作的核心模块,提供了对MCU底层功能的访问和控制能力,是开发高级
    的头像 发表于 11-12 14:26 521次阅读
    新手必备:<b class='flag-5'>LuatOS</b> MCU核心库<b class='flag-5'>功能</b>测试与实践指南

    教程来啦!LuatOS中的消息通信机制详解及其应用场景

    在资源受限的嵌入式环境中,LuatOS采用消息机制实现模块间解耦与高效通信。通过预定义消息名称(如“new_msg”),开发者可轻松构建响应式程序结构。接下来我们将深入剖析其实现原理与典型使用方法
    的头像 发表于 09-26 18:59 641次阅读
    教程来啦!<b class='flag-5'>LuatOS</b>中的消息通信<b class='flag-5'>机制</b>详解及其应用场景

    LuatOS脚本开发入门:嵌入式运行框架全解析!

    脚本   1.1.1 脚本入口执行文件 简单来说,底层固件首先就是要找到 main.lua 这个文件,然后启动它。 所有的其他功能,都需要在 main.lua 发起。 1.1.2 LuatOS 启动
    的头像 发表于 09-26 17:45 729次阅读
    <b class='flag-5'>LuatOS</b>脚本开发入门:嵌入式运行框架全解析!

    嵌入式开发新选择:LuatOS脚本框架入门教程

      1.1.1 脚本入口执行文件 简单来说,底层固件首先就是要找到 main.lua 这个文件,然后启动它。 所有的其他功能,都需要在 main.lua 发起。 1.1.2 LuatOS 启动脚本的详细
    的头像 发表于 09-26 17:34 880次阅读
    嵌入式开发新选择:<b class='flag-5'>LuatOS</b>脚本框架入门教程

    Task任务:LuatOS实现“任务级并发”的核心引擎

    Task任务通过其强大的并发处理能力,使LuatOS能够在单线程环境中模拟多线程执行,通过协程的挂起与恢复机制,实现任务级的并行操作,显著提升系统效能。 sys核心库是LuatOS运行框架库,也是
    的头像 发表于 08-28 13:49 694次阅读
    Task任务:<b class='flag-5'>LuatOS</b>实现“任务级并发”的核心引擎

    揭秘LuatOS Task:多任务管理的“智能中枢”

    Task任务作为LuatOS的核心组成部分,通过智能化的任务管理机制,实现任务的创建、调度与协同运行,让复杂应用得以高效并行处理,满足实时场景下的严苛需求。 sys核心库是LuatOS运行框架库
    的头像 发表于 08-28 13:48 879次阅读
    揭秘<b class='flag-5'>LuatOS</b> Task:多任务管理的“智能中枢”

    LuatOS短信功能全解析:技术原理与运行逻辑

    想要了解短信如何在LuatOS上高效运行?本文将拆解其airsms.lua文件技术架构,从通信协议到代码实现,逐层揭示短信功能的完整运作流程
    的头像 发表于 07-03 15:25 870次阅读
    <b class='flag-5'>LuatOS</b><b class='flag-5'>短信</b><b class='flag-5'>功能</b>全解析:技术原理与运行逻辑