跳转至

HelloWorld 示例

作者:沈园园 | 最后修改:2026-05-15

一、概述

本章节教你怎么用简单的几个步骤,就可以完成一个 helloworld 项目,让合宙的工业引擎,轻松打印 hello world!

本文实现了每3秒打印1次hello world的演示效果,带你快速入门LuatOS二次开发。

二、背景介绍

这里,先要告诉你一些前提条件,希望你能够认真看一看这一节。

这个项目的产品定义是:工业引擎每隔 3 秒,就往串口输出一次 “ hello world” 字符串。

合宙的 工业引擎,植入了 5.3 版本的 Lua 虚拟机,以及内置的一个脚本代码区。

工业引擎上电之后, 虚拟机会去代码区读取脚本代码的 main 入口, 并执行这个 main 入口函数。

你只需要用合宙的 Luatools 工具烧录脚本, 就一定能保证脚本烧录到正确的位置。

在完成这个初始项目之前,你还需要准备好一套合适的硬件。

合适的硬件是什么呢?

是合宙的能运行 LuatOS 脚本的 Air8000核心板。

Air8000 对应的代码仓库地址:

https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo

今天,我们用 LuatOS-Air8000 这个仓库中的 hello world 的demo 作为例子来进行学习。

三、下载示例代码

3.1 最简单快速的方式:

下载示例代码到一个合适的项目目录。

首先进入 LuatOS-Air8000 仓库,点击克隆/下载。

对于很多程序员来说,可能 git 更方便,git 的操作流程可以网上找篇教程文档!

也可以参考Air780epm如何克隆Demo代码仓库文章中:使用git工具下载

四、演示功能概述

每3秒打印1次hello world。

五、准备硬件环境

1、Air8000核心板一块:Air8000A核心板 4G,WiFi,蓝牙,GNSS,多串口,运动检测,大资源-淘宝网

2、TYPE-C USB数据线一根

3、Air8000核心板和数据线的硬件接线方式为

  • Air8000核心板通过TYPE-C USB口连接TYPE-C USB 数据线,数据线的另外一端连接电脑的USB口;
  • 核心板正面的 供电/充电 拨动开关 拨到供电一端;
  • 核心板背面的 USB ON/USB OFF 拨动开关 拨到USB ON一端;

六、准备软件环境

6.1 软件环境

在开始实践本示例之前,先筹备一下软件环境:

1、烧录工具:Luatools 下载调试工具

2、内核固件:本demo开发测试时使用的固件为Air8000 V2032 版本固件,本demo对固件版本没有什么特殊要求,所以你如果要测试本demo时,可以直接使用最新版本的内核固件;如果发现最新版本的内核固件测试有问题,可以使用我们开发本demo时使用的内核固件版本来对比测试;

3、脚本文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/helloworld

4、lib脚本文件:使用Luatools烧录时,勾选 添加默认lib 选项,使用默认lib脚本文件

准备好软件环境之后,接下来查看如何烧录项目文件到Air8000核心板,将本篇文章中演示使用的项目文件烧录到Air8000核心板中。

6.2 API 介绍

LuatOS API 手册:https://docs.openluat.com/osapi/

七、程序结构

helloworld/
│── main.lua
│── helloworld_app.lua
│── readme.md

7.1 文件说明

  1. main.lua:主程序入口文件。
  2. helloworld_app.lua:每3秒打印1次hello world。

八、代码详解

8.1 main.lua

主程序文件 main.lua 是整个项目的入口点。它负责初始化系统环境。

8.2 helloworld_app.lua

每3秒打印1次hello world

8.2.1 每3秒打印1次hello world

local function helloworld_task_func()
    while true do
        -- 每隔三秒钟通过日志输出一次hello world
        log.info("hello world")
        sys.wait(3000)
    end
end

--创建一个task,并且运行task的主函数helloworld_task_func
sys.taskInit(helloworld_task_func)

九、烧录代码到开发板

烧录代码, 需要进行如下几步:

9.1 下载和安装合宙调试工具 LuatTools

要想烧录代码, 先要下载合宙的强大的调试工具: Luatools。

如果你已经安装使用过 Luatools, 可以直接跳到下个小节: 烧录代码。

Luatools 工具主要有如下几个功能:

(1)自动从合宙服务器获取最新的合宙模组固件;

(2)烧录固件和脚本;

(3)查看和保存模组的串口输出日志;

(4)简单的串口调试;

Luatools 下载之后, 无需安装, 解压到你的硬盘,点击 Luatools_v3.exe 运行,出现如下界面,就代表 Luatools 安装成功了:

Luatools 的最新版本的工具下载和详细使用见:01 LuaTools工具教程 - 合宙模组资料中心

9.2 烧录代码

首先要说明一点: 第一次烧录,需要脚本代码和固件的bin文件一起烧录。后续不更换固件的话只需要烧录脚本代码即可。

9.2.1 找到烧录的固件文件

Air8000 的固件可以去DOCS网站下载。底层core下载地址:Air8000 LuatOS固件版本

9.2.2 通过USB口烧录方式,烧录项目文件到 Air8000 核心板

在 Air8000 核心板上 USB Type-C 接口,为芯片烧录下载接口。

9.2.3 通过 USB 将 Air8000 核心板连接到电脑上

首先核心板的背面拨到 ON,正面的拨到供电端。

9.2.4 Air8000核心板进入BOOT下载模式

把Air8000模组的BOOT引脚拉到3.3v,或者直接把BOOT引脚和VDD_EXT引脚相连,然后再给模组上电开机或者重启模组,就可以进入BOOT下载模式了。

具体到Air8000核心板,根据核心板的当前运行状态,执行以下两种情况种的一种即可:

1.当Air8000核心板没有开机时,按着BOOT键然后长按POW开机。

2.当Air8000核心板已经开机时,按下BOOT键然后短按重启键。

通过以下方式来判断是否成功进入BOOT下载模式:

在电脑的设备管理器中,查看串口设备,如果出现了一个端口,则表示成功进入BOOT下载模式,如下图所示:

在电脑的设备管理器中,查看串口设备,如果出现了三个或者四个端口,则表示没有进入BOOT下载模式,如下图所示:

img

如果没有进入BOOT下载模式,则一直重复本小节的操作步骤,直到成功进入BOOT下载模式。

一旦进入BOOT下载模式,表示硬件连接上已经处于就绪状态,此时就可以使用Luatools工具进行烧录了!

9.2.5 新建项目

1、Air8000 核心板通过 USB 连接到电脑。

2、打开 Luatools,选择 4G 模块 USB 打印,点击项目管理测试。

点击项目管理测试后,会弹出"项目管理"对话框后,点击"创建"按键创建新项目,如下图所示:

点击创建后,这时会弹出输入项目名称对话框,输入项目名称后点击确认,如下图:

9.2.6 开始烧录

选择Air8000核心板对应的底层core和对应脚本文件,下载到开发板中。

3 烧录问题排查

如果你在烧录过程中遇到了问题, 请点击https://docs.openluat.com/common/howtodown/,进行烧录的问题排查。

十、运行结果展示

烧录成功后,自动开机运行。出现类似于下面的日志,就表示运行成功:

[2026-05-15 17:18:19.594][000000003.471] I/user.hello world
[2026-05-15 17:18:22.601][000000006.472] I/user.hello world
[2026-05-15 17:18:25.601][000000009.472] I/user.hello world
[2026-05-15 17:18:28.592][000000012.472] I/user.hello world
[2026-05-15 17:18:31.594][000000015.472] I/user.hello world
[2026-05-15 17:18:34.596][000000018.472] I/user.hello world

十一、总结

通过本文学习我们学会了:

1、如何下载LuatOS的core和demo;

2、如何使用烧录工具Luatools;

3、如何编辑lua脚本实现每3秒打印1次hello world;