跳转至

HelloWorld 示例

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

一、概述

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

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

二、背景介绍

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

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

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

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

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

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

合适的硬件是什么呢?

是合宙的能运行 LuatOS 脚本的 Air1601/Air1602 MCU引擎。

Air1601/Air1602 对应的代码仓库地址:

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

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

三、下载示例代码

3.1 最简单快速的方式:

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

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

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

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

四、演示功能概述

每3秒打印1次hello world。

五、准备硬件环境

1、Air6101开发板一块:Air6101开发板购买链接

2、TYPE-C USB数据线一根

3、Air6101开发板和数据线的硬件接线方式为

  • Air6101开发板通过TYPE-C USB口连接TYPE-C USB 数据线,数据线的另外一端连接电脑的USB口;
  • 开发板正面的 USB供电/外部供电 拨动开关 拨到USB供电一端;

4、硬件资料:Air6101模块硬件资料

六、准备软件环境

6.1 软件环境

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

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

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

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

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

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

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 找到烧录的固件文件

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

9.2.2 通过串口烧录方式,烧录项目文件到 Air1601 开发板

在 Air1601 开发板上丝印标注 USB1,为芯片烧录下载接口。;

9.2.3 通过 USB 将 Air1601 开发板连接到电脑上

将 USB 数据线插入 Air1601 开发板的 USB Type-C 接口,即可为开发板供电,同时该接口也用于程序烧录。

若遇到因电脑 USB 端口供电不足导致的烧录失败,也可改用外部稳压电源通过开发板上的 VIN 引脚进行供电。

注意:

不能是仅有充电功能的数据线

默认情况下, 板⼦⽆法刷机, 也⽆法上电运⾏的, 需要改⼀下以下⼏个拨动开关

9.2.4 打开设备管理器查看端口

正确插入 USB 转串口扩展板并且 USB 成功连接电脑后,电脑的设备管理器可以看到"USB-SERIAL CH343"的端口。

9.2.5 新建项目

首先打开 LuaTools(需更新到 3.1.10 及以上版本),选中"USB-SERIAL CH343"端口,并且勾选上"通用串口打印",串口波特率选择"2000000",然后点击"打开串口",接下来点击"项目管理测试"。

Luatools 版本没问题的话, 就点击Luatools 右上角的“项目管理测试”按钮,弹出"项目管理"对话框后,点击"创建"按键创建新项目,如下图所示:

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

9.2.6 开始烧录

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

3 烧录问题排查

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

十、运行结果展示

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

[2026-04-15 17:30:00.866][LTOS/N][000000078.026]:I/user.hello world
[2026-04-15 17:30:03.865][LTOS/N][000000081.026]:I/user.hello world
[2026-04-15 17:30:06.868][LTOS/N][000000084.026]:I/user.hello world
[2026-04-15 17:30:09.846][LTOS/N][000000087.027]:I/user.hello world
[2026-04-15 17:30:12.831][LTOS/N][000000090.027]:I/user.hello world
[2026-04-15 17:30:15.834][LTOS/N][000000093.027]:I/user.hello world
[2026-04-15 17:30:18.812][LTOS/N][000000096.028]:I/user.hello world

十一、总结

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

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

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

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