跳转至

HelloWorld教程

1,介绍

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

要达到这个目标, 你只需要学会用一个名字叫做 Luatools 的 PC 工具,往模组烧录固件和脚本,并用这个同样的 Luatools, 可以查看模组的打印日志。

一切就是这么的简单!

2,必须先要告诉你的一些废话

这里,先要告诉你一些前提条件,虽然听着像是废话,但是如果你不知道的话,可能后面会比较懵逼,所以还是希望你能够认真看一看这一节。

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

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

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

你只需要用 Lua 脚本改写 main 入口函数,并把这个脚本烧录到模组的正确位置,就可以正确运行脚本的代码。

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

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

合适的硬件是什么呢?

是合宙的能运行 LuatOS 脚本的 Air8101 工业引擎。

Air8101 对应的代码仓库地址:

https://gitee.com/openLuat/LuatOS-Air8101

今天,我们用 LuatOS-Air8101 这个仓库中的 demo 作为例子来进行学习,所以,我已经事先准备好了 Air8101 开发板,你准备好了吗?

3,下载工业引擎的示例代码

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

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

然后点击下载 zip 选项到指定目录,解压缩后即可看到。

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

4, 修改代码

用编辑器打开你下载下来的 LuatOS-Air8101/demo/hello_world/main.lua 文件。

https://gitee.com/openLuat/LuatOS-Air8101/tree/master/demo/hello_world

我是习惯用 vscode,后面的例子都用 vscode 做演示了。

如果你是用其他的编辑器, 也差不多类似。

打开 main.lua, 是这个样子的代码:

-- Luatools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
sys = require("sys")


print(_VERSION)

sys.timerLoopStart(function()
    print("hello world")    --  此处打印日志
end, 3000)


-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

这个代码, 第 12 行打印了 “hi, LuatOS”, 而不是 hello world, 这就给你留下了发挥的空间。

你把这段代码稍作修改后,改为这样:

-- Luatools需要PROJECT和VERSION这两个信息
PROJECT = "helloworld"
VERSION = "1.0.0"

-- 引入必要的库文件(lua编写), 内部库不需要require
sys = require("sys")

print(_VERSION)

sys.timerLoopStart(function()
    print("hi, LuatOS")
end, 3000)


-- 用户代码已结束---------------------------------------------
-- 结尾总是这一句
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

然后保存,代码修改工作就大功告成了!

是不是炒鸡简单?

5, 烧录代码到硬件

烧录代码请参考:

https://docs.openluat.com/air8101/luatos/common/download/

6, 验证功能

烧录完成后,Luatools 会自动抓取应用日志和系统日志,并且在主界面解析显示应用日志,如下图所示

从打印的日志可以看到,这个 Air8101 开发板,在不断的打印 hello world。

你太棒了! 你成功了 !