LuaTools的使用指南

发布时间:2026/7/22 3:36:03
LuaTools的使用指南 什么是 LuatOS 固件在 LuatOS 生态中固件firmware就是烧录到模组芯片中、让硬件跑起来的那一套底层软件。固件好比是手机的出厂操作系统比如 iOS 或 Android。手机硬件出厂时就已经装好了系统你拿到手机后只需要安装 AppLua 脚本就可以使用了。在 LuatOS 里固件 操作系统你的 Lua 脚本 App。固件的文件命名规则固件文件以.soc为后缀命名格式如下LuatOS-SoC_版本号_模组型号_编号.soc举例说明固件文件名含义LuatOS-SoC_V2018_Air780EPM_104.socV2018 版本、Air780EPM 模组、104号固件LuatOS-SoC_V2016_Air8101_104.socV2016 版本、Air8101 模组、104号固件LuatOS-SoC_V2008_Air8000_1.socV2008 版本、Air8000 模组、1号固件固件里包含什么一个 LuatOS 固件由 5 层组成┌──────────────────────────┐ │ Lua 标准库 │ ← 字符串、表、数学运算等原生 Lua 功能 │ LuatOS 核心库 │ ← mqtt、http、gpio、uart、lcd 等硬件驱动库 │ Lua 虚拟机 (Lua VM) │ ← 执行 Lua 脚本的运行环境 │ LuatOS 适配层 │ ← 适配不同芯片的桥梁 │ 主芯片系统平台 (FreeRTOS) │ ← 底层的实时操作系统未开源 └──────────────────────────┘其中用户二次开发最关心的是上两层—— Lua 标准库 LuatOS 核心库gpio、uart、mqtt、lcd 等。为什么同一模组有不同编号的固件如 1号、103号、104号是因为不同编号的固件内置了不同的核心库组合这是由模组的硬件资源Flash/RAM 大小决定的。以 Air780EPM 为例104号固件相比 1号固件✅多了libgnss定位、little_flashSPI Flash、otp安全存储、fft傅里叶变换❌少了camera摄像头、lcd显示屏、eink墨水屏、tp触摸、u8g2脚本区大小368KB104号 vs 256KB1号104 属于64位固件101-199号1号属于32位固件1-99号。固件和用户脚本的关系┌──────────────┐ 烧录 ┌──────────────────┐ │ 固件(.soc) │ ─────────→ │ 模组芯片 │ │ (操作系统) │ │ (手机硬件) │ └──────────────┘ └──────────────────┘ ↑ ┌──────────────┐ ┌────┴──────┐ │ Lua 脚本 │ ───────────→ │ 运行你的 │ │ (你的 App) │ 下载到 │ 业务逻辑 │ │ main.lua │ 文件系统 └───────────┘ └──────────────┘工作流程先给模组烧录一个固件相当于装好操作系统再通过 Luatools 工具把你的 Lua 脚本下载到模组的文件系统中上电后固件中的 Lua 虚拟机就会执行你的 Lua 脚本LuatOS 固件 为特定模组定制的、内置了硬件驱动和 Lua 运行环境的嵌入式操作系统镜像文件用户只需编写 Lua 脚本作为应用程序在其上运行无需关心底层芯片细节。Air8101固件的含义1.基本信息固件版本V2018LuatOS-SoC_V2018_Air8101固件下载LuatOS-SoC_V2018_Air8101Demo 源码LuatOS-Air8101发布日期2026.07.072.104号固件支持的核心功能功能支持情况airUI 人机交互界面✅cameraUSB/DVP 摄像头拍照大图解码✅BLE 蓝牙✅airlink 设备间通讯✅audio 音频✅hzfont 字库✅TF 卡fatfs✅videoplayer 视频播放✅V2014起支持lcd JPG 解码✅V2018起支持加密库crypto/gmssl✅触摸屏tp✅FOTA 固件升级✅总而言之Air8101 的 V2018 版本 104号固件是一个以UIAirUI操作功能为核心的固件版本同时集成了摄像头拍照、蓝牙、音频、TF卡存储等功能适用于需要图形界面交互场景的开发。3.常见固件对比对比项LuatOS-SoC_V2016_Air8101_104LuatOS-SoC_V2018_Air780EPM_104目标模组Air8101WiFi 模组主打 UI 显示Air780EPM4G Cat.1 蜂窝模组主打 IoT 通信固件版本V2016V2018较新架构64位固件101-199号64位固件101-199号脚本区512KB368KB文件系统1752KB168KB运行内存(RAM)1.5MB用户可用 Lua 内存约 2MB较小未明确标注但远小于 Air8101核心功能定位差异Air8101 的 104 号固件→以 UI 图形界面开发为核心✅airUI— 基于 LVGL 9.4 的图形化开发核心库104号首次新增✅camera— USB/DVP 摄像头拍照大图片解码✅lcd— 显示屏驱动✅tp— 触摸屏✅hzfont— 矢量字库✅audio— 音频多媒体✅SIP 通话✅wlan— WiFi 网络✅ble— 蓝牙✅videoplayer— 视频播放V2014 起支持❌不支持fft、protobuf、xxtea、iconv、u8g2Air780EPM 的 104 号固件→以 4G 蜂窝通信和物联网为核心✅mobile— 蜂窝通信4G Cat.1✅libgnss— GNSS 定位✅otp— 一次性可编程存储✅little_flash— SPI Flash 驱动✅fft— 快速傅里叶变换✅ 标准 IoT 通信库mqtt、http、socket、ftp、websocket✅ 标准外设uart、spi、i2c、gpio、pwm、adc、can❌不支持camera、lcd、tp、u8g2、eink、audio、SIP、ble、wlan、airUI固件用途V2016_Air8101_104适合带屏幕的 UI 交互设备如智能面板、HMI 人机界面有摄像头、触摸屏、WiFi、蓝牙、音频、矢量字库等全套多媒体/显示能力V2018_Air780EPM_104适合4G 物联网数据采集与通信设备如远程监测、定位追踪有 4G 联网、GNSS 定位、OTP 安全存储但基本无 UI 显示能力简单说Air8101 的 104 号是显示交互型Air780EPM 的 104 号是通信数据型两者面向完全不同的应用场景。项目管理一个完整的 LuatOS 项目 内核固件 脚本和资源文件Luatools 项目管理界面的配置分为两大块┌─────────────────────────────────────────────┐ │ ① 内核固件底层CORE ← 选择 .soc 文件 │ │ │ │ ② 脚本和资源列表Script ← 本问题的重点 │ │ ├── 用户脚本文件必须 │ │ ├── 资源文件可选 │ │ └── lib脚本文件可选 │ │ │ │ ③ ☑ 添加默认lib推荐勾选 │ └─────────────────────────────────────────────┘具体需要导入的文件1️⃣ 用户脚本文件必须你自己编写的.lua文件核心通常是main.lua程序入口以及其他自定义的.lua模块文件。文件说明main.lua必备入口文件LuatOS 启动后最先执行此文件xxx.lua你的业务逻辑模块通过require(xxx)引用 可以从合宙官方 Demo 仓库下载LuatOS: Powerful embedded Lua Engine for loT devices, withmany components - Gitee.com2️⃣ 资源文件可选除了.lua脚本之外的所有其他文件例如文件类型示例图片logo.png、icon.jpg音频alarm.mp3、ring.wav文本config.txt、readme.md其他字体文件、证书文件等这些文件会被下载到模组的文件系统中供脚本运行时读取。3️⃣ lib 脚本文件可选推荐用默认有两种方式处理 lib 脚本方式操作✅推荐勾选添加默认libLuatools 自动匹配与当前固件对应的官方 lib 库省心省力手动指定点击添加文件选择你自己准备的 lib 脚本文件建议始终勾选添加默认lib除非你有特殊的定制 lib 需求。操作步骤总结1. 创建项目2. 选择底层固件.soc 文件 ← 内核固件3. 点击脚本和资源列表的添加按钮├── 添加 main.lua ← 用户脚本必须├── 添加 其他 .lua 文件 ← 用户脚本可选└── 添加 图片/音频等资源文件 ← 资源文件可选4. 勾选 ☑ 添加默认lib ← 自动使用官方 lib5. 点击 下载底层和脚本 或 下载脚本底层CoreLua开发的底层Core增加脚本或资源文件添加用户脚本、数据及Lib库默认USB打印tracetrace三个选项是用来选择打印输出方式的添加默认lib不建议勾选升级文件包含core用于项目打包可按需选择升级文件包含脚本用于项目打包建议直接勾选升级文件无资源文件用于项目打包不选USB BOOT下载使用Boot模式下载下载脚本只下载脚本列表中的数据下载底层和脚本底层core和脚本列表中的数据都下载语法检查单独检查用户编写的脚本有无语法错误(注意:首次下载时强烈建议直接下载底层和脚本)常见问题1.提示缺少库文件点击确认后会提示缺少的具体脚本文件