Files
mobile_comm/luatos/air780epm
wangfq e8917e7041 fix(vd960Air): 修复上电反复复位, 打通测试服务器连接
现象: 上电后 Lua VM 报 uart_app.lua:28 attempt to index a boolean value
      → VM exit → 15s 后自动复位, 死循环, 永远走不到 MQTT 连接

根因(4 处叠加, 第 1 处致命):
1. config.lua 末尾漏 return —— require 对无返回值模块返回 true,
   local CFG = require "config" 后访问 CFG.CFG_xxx 直接报错
2. 全工程 10 处调用 mstick(), 但 LuatOS 并无此 API(正确为 mcu.ticks())
3. MQTT 服务器仍是合宙官方测试服 lbsmqtt.airm2m.com:1884
4. MQTT 鉴权用户名/密码硬编码为空串

修复:
1. config.lua 末尾加 return _G(配置项本就是全局变量);
   另: ClientID 的 mobile.imei() 加空值防护(or "unknown")
2. 新增 mstick.lua: 全局 mstick() = mcu.ticks() 封装(回退 os.time()*1000),
   原 10 处调用点零改动; main.lua 在 require "config" 之后 require "mstick"
3. 服务器改为 110.41.131.144:1883(明文非 TLS), 新增 CFG_MQTT_USER/PASS,
   mqtt_main 改为 auth(CLIENT_ID, CFG_MQTT_USER, CFG_MQTT_PASS, true)
4. .gitignore 放行 vd960Air/tools/ —— 官方 tools/ 忽略规则导致自检脚本
   无法入库(sim_frame_test.py 自 8/31 起一直未入库)

新增工具:
- tools/sim_load_test.lua: 离线加载+冒烟自检(lua5.3 + LuatOS API 桩 + 严格全局
  检查), 按 main.lua 真实顺序加载全部模块并冒烟调用关键函数, 用于抓取
  "require 返回值缺失""调用了不存在的 API"这类语法检查抓不到的运行时问题

验证:
- luac5.3 -p 全部 14 个 lua 文件通过
- 离线自检: 16 项断言 + 8 项冒烟全部通过
- Python 帧协议参考验证全部通过
- readme Markdown 表格列数 0 异常

文档: readme 补 §8 板级问题修复记录, 更新文件结构/待确认清单/计划表
2026-09-10 15:35:10 +08:00
..

star fork license

LuatOS,基于强大的Lua引擎架构设计,Lua脚本开发,快速实现业务逻辑;

LuatOS,在合宙历史上经历了两个阶段,一个是LuatOS-Air,一个是LuatOS-SoC,也就是现在的LuatOS

LuatOS-Air,典型硬件为Air724UG,为合宙上一代的产品;

LuatOS,也就是曾经命名过的LuatOS-SoC,是合宙现在主推的开发方式,所支持的硬件如下:

Air8000系列,包括Air8000/Air8000W/Air8000G/Air8000T/Air8000A/Air8000D等;

Air8101系列,包括Air8101/Air8101A等;

Air780Exx系列,包括Air780EPM/Air780EHM/Air780EHV/Air780EGH等;

LuatOS,现已支持74个核心库,55个扩展库,1000余个API,100多个基于场景的demo,让你开发智能设备像做PPT一样轻松。

本仓库包含如下文件夹:

  1. .github文件夹Github Action 配置文件, 用于自动化构建和测试
  2. components 组件库,,LuatOS在Lua基础上扩展的一系列库的源码
  3. lua文件夹,Lua虚拟机5.3系列的源码, 经过合宙优化和测试
  4. luat文件夹LuatOS核心框架代码
  5. module文件夹,合宙模组和工业引擎主流型号的固件、demo、project参考代码等
  6. script文件夹LuatOS扩展库
  7. tools文件夹,辅助工具
  8. .gitignore Git的文件忽略配置文件

快速入门

  1. 使用或购买支持的开发板
  2. 掌握刷机
  3. 尝试学习LuatOS, 浏览API, 30分钟入门lua语法(视频)
  4. 愉快地写业务代码

资料大全

授权协议

MIT License

print("感谢您使用LuatOS ^_^")
print("Thank you for using LuatOS ^_^")