news 2026/1/26 20:44:45

如何克隆Demo代码仓库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何克隆Demo代码仓库

今天我们特别将本章介绍给大家,带我们快速体验LuatOS的入门

一、背景介绍

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

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

要想达到这个目的,这里有必要先介绍一下 LuatOS 在4G模组的运行原理:

4G模组,除了运行4G协议栈之外,还植入了5.3版本的Lua虚拟机,以及内置的一个脚本代码区。

4G模组上电之后, 虚拟机会去代码区读取脚本代码的main入口, 并执行这个 main入口函数。

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

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

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

合适的硬件是什么呢?

是能运行LuatOS脚本的4G模组。怎么知道哪些4G模组能运行LuatOS呢?要想知道答案,可以看我们的选型手册中的模块对应的总代码仓库地址。通过代码仓库的网址,我们会看到公开的一系列代码仓库。

我们不仅仅公开了每个模组的示例代码,还把缺陷跟踪也公开了,真是绝对自信!

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

同时,还有强大的社区资料支持,这个网站的LuatOS-SOC接口文档中,可以看到使用的API函数的介绍说明。

在开始之前,我们已经事先准备好了 Air780EPM 开发板。

二、下载模组的示例代码

1、最简单快速的方式:

直接进入仓库,点击下载仓库文件

2、使用git工具下载

以下是以Git Air780E项目进行举例说明,Git Air780EPM流程一样,只需要替换成Air780EPM Git路径即可。

1、进入下载地址后,下载对应的工具

2、双击安装工具

3、双击后,直接下一步安装即可 中途都是一些配置选项,一般使用默认选项即可。

git下载好之后。。。

1、新建一个文件夹,右键打开操作面板

2、设置用户签名:

用户名和邮箱是用来标识是谁提交的代码,输入以下命令

git config --global user.name "用户名"(用户名看情况随意写) git config --global user.email "邮箱"(不需要真实存在,看情况随便写)

3、初始化本地库,输入以下命令

git init

输入这个命令后,可以在当前目录下看到一个.git文件。只有.git文件是用git init命令生成的。其他的没关系。有了.git文件后,当前文件夹就是一个git仓库了,可以与远程的仓库进行连接。

4、从远程仓库下载一个公钥,为了让远程仓库验证自己的身份。输入以下命令

ssh-keygen -t rsa #产生公钥 cat ~/.ssh/id_rsa.pub #查看公钥

生成的公钥可以在C:/User/用户/.ssh下看到

5、将公钥添加到gitee仓库

在gitee找到账号设置,然后找到SSH公钥,再添加公钥。

6、克隆仓库到本地,输入以下命令

此时在资源管理器中可以看到git下来的仓库文件

三、修改代码

今天我们后面的例子都用 vscode 做演示。

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

其中sys.timerLoopStart(func, timeout)的作用是每隔timeout的时间循环执行回调函数func中的内容。

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

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

我们实现了每隔3000ms执行一次printf("hello world")

是不是超级简单?

四、烧录代码到硬件

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

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

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

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

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

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

(2)烧录固件和脚本;

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

(4)简单的串口调试;

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

2、 烧录代码

​ 首先要说明一点: 脚本代码, 要和固件的bin文件一起烧录。

(1)找到烧录的固件文件

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

(2)正确连接电脑和4G模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;

(3)识别4G模组的BOOT引脚

在下载之前,要用模组的BOOT引脚触发下载, 也就是说,要把4G模组的BOOT引脚拉到 1.8v,或者直接把BOOT引脚和VDD_EXT引脚相连。我们要在按下BOOT按键时让模块开机,就可以进入下载模式了。

​ 具体到 Air780EMP开发板,

1、当我们模块没开机时,按着BOOT键然后长按PWR开机。

2、当我们模块开机时,按着BOOT键然后点按重启键即可。

(4)识别电脑的正确端口

​ 判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了boot下载模式,如下图所示:

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

(5)新建项目

​ 首先,确保你的 Luatools 的版本,是大于 3.0.15 版本的。

​ 在 Luatools 的左上角上有版本显示的,如图所示:

Luatools 版本没问题的话, 就点击Luatools 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,如下图:

1、新建一个项目

(6) 开始烧录

选择Air780EPM板子对应的底层core和刚改的main.lua脚本文件。下载到板子中。

点击下载后,我们需要进入boot模式才能正常下载,在(3)(4)小节已经介绍了如何进入boot模式。

3 、烧录问题排查

如果你在烧录过程中遇到了问题, 请点击如下链接,进行烧录的问题排查。

五、验证功能

烧录完成后,会自动开机,此时电脑的设备管理器中会虚拟出三个端口表示正常开机

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

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

六、总结

这节我们学会了

1、如何下载LuatOS的core,

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

3、如何编辑lua脚本实现打印hello world

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/25 21:44:17

从抽检到全检,AI 正在如何改变工厂质量控制体系?

在相当长的一段时间里,抽检一直是制造业中被广泛采用、也被证明有效的质量控制方式。它成立的前提在于:质量风险可以通过概率模型被有效覆盖。但随着工厂规模扩大、产品型号增多、生产节拍加快,质量管理所面临的现实条件正在发生变化。当批次…

作者头像 李华
网站建设 2026/1/18 18:19:21

蓝牙学习之Provision(7)bind (1)

在 Bluetooth Mesh 网络中,设备完成 Provisioning(配网) 后,虽然已分配了 地址(Unicast Address) 和 网络密钥(NetKey),但此时它还不能接收任何应用层命令(如…

作者头像 李华
网站建设 2026/1/19 11:19:19

nRF54LM20B 芯片相关技术: Nordic端到端边缘AI方案

目录 概述 1 边缘AI介绍 2 核心硬件配置 3 Axon NPU 4 AI性能与能效亮点 5 主要应用方向 概述 Nordic Semiconductor新推出的nRF54LM20B是一款专为电池供电物联网设备设计的、集成神经网络处理器(NPU)的超低功耗无线系统级芯片(SoC&…

作者头像 李华
网站建设 2026/1/26 5:06:42

【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】

前言 在控制台中使用字符绘制图形是学习计算机图形学和算法设计的绝佳入门方式。今天,我们将深入探讨如何在C语言中使用*号绘制一个完美的圆。这不仅是一个有趣的编程练习,更是理解计算机图形学基础算法的好机会。 一、绘制圆的挑战 在开始之前&#xff…

作者头像 李华
网站建设 2026/1/21 6:50:37

真正的风险在于工作流安全而非模型安全

随着AI副驾驶和智能助手被嵌入到日常工作中,安全团队仍然专注于保护模型本身。但最近的事件表明,更大的风险在别处:围绕这些模型的工作流程。最近发现两个伪装成AI助手的Chrome扩展程序从90多万用户那里窃取了ChatGPT和DeepSeek的聊天数据。另…

作者头像 李华
网站建设 2026/1/26 19:22:09

FastAPI 学习教程 · 第4部分

依赖注入系统(Dependency Injection)💡 本部分目标:理解 FastAPI 强大的依赖注入机制,学会复用逻辑(如认证、数据库连接、配置加载),让代码更模块化、可测试、可维护。一、什么是“依…

作者头像 李华