Sen descrición

Wendal Chen 7612047aa3 change: cjson应使用luat_malloc提供的方法,不需要额外Init了 %!s(int64=4) %!d(string=hai) anos
.gitee 40f5837b4a add: ISSUE模板加两句话 %!s(int64=4) %!d(string=hai) anos
.github 8f0a49347e add: ci报错加上最后一次commit的信息 %!s(int64=4) %!d(string=hai) anos
bsp 11b492c50a update: 更新air103芯片和评估板的pinout图 %!s(int64=4) %!d(string=hai) anos
components 7612047aa3 change: cjson应使用luat_malloc提供的方法,不需要额外Init了 %!s(int64=4) %!d(string=hai) anos
demo 1d9e3bd86b add: 对uart的demo添加更多描述,并添加一个总描述 %!s(int64=4) %!d(string=hai) anos
docs 7b19358cd1 add: ir模块设计文档 %!s(int64=4) %!d(string=hai) anos
images 34aed41c84 add: 添加2个入群二维码 %!s(int64=4) %!d(string=hai) anos
lua ab44ee7fb9 update: rotable的遍历函数再严谨一些 %!s(int64=4) %!d(string=hai) anos
luat 358c8edde9 add:u8g2升级至最新版本 %!s(int64=4) %!d(string=hai) anos
mind e5b80f1d99 update: 更新 LuatOS整体.xmind %!s(int64=4) %!d(string=hai) anos
script ba05968a46 move: 把顶层目录的demo移到bsp/air640w目录下 %!s(int64=5) %!d(string=hai) anos
tools 96eeec7967 fix: 最后一次commit的信息。。 %!s(int64=4) %!d(string=hai) anos
.gitignore 3c29431c13 change: linux下暂不支持内嵌sys.lua,禁用先 %!s(int64=4) %!d(string=hai) anos
LICENSE 9c31f22d78 Initial commit %!s(int64=6) %!d(string=hai) anos
README.md baf0e6dcad add: 加个跑分的库 coremark, 切勿与lvgl一起启用 %!s(int64=4) %!d(string=hai) anos
docs.md 70771e41fe add: 添加原型代码 %!s(int64=6) %!d(string=hai) anos
logo.jpg 144f1c9868 update: 更新README %!s(int64=6) %!d(string=hai) anos
luatos.code-workspace 64d648ba7c update: vscode工程文件也更新一下 %!s(int64=5) %!d(string=hai) anos
system.jpg 0bd008a963 add: 添加已经完成的文档 %!s(int64=6) %!d(string=hai) anos

README.md

LuatOS logo

star fork license

air101 air105 air100st air640w win32 pico

LuatOS-SoC是一款实时操作系统,用户编写Lua代码就可完成各种功能, 仅需极少的内存和Flash空间

  1. 基于Lua 5.3.x脚本编程,无需编译,把Lua文本文件下载到设备即可完成开发
  2. 低内存需求, 最低32kb ram, 96kb flash空间
  3. 硬件抽象层兼容M3/armv7/risc-v/win32/posix等等,具有强大的扩展性
  4. 可测试,可模拟,可裁剪,可扩展, 提供高效的开发效率
  5. 基于合宙深耕的Lua-Task编程模型,实现异步/同步无缝切换

代码示例节选

做一个灯神(点亮并闪烁一个LED灯)

local sys = require("sys")

-- 把GPIO19设置为输出模式,上拉,初始电平为低电平(0代表低电平,1代表高电平)
local netled = gpio.setup(19, 0, gpio.PULLUP)

sys.taskInit(function() --(LuaTask的task模式,对应协程)
    while 1 do
        netled(1) -- 输出高电平
        sys.wait(500) -- 等待500ms(LuaTask异步休眠)
        netled(0) -- 输出低电平
        sys.wait(500) -- 等待500ms(LuaTask异步休眠)
    end
end)

-- 主循环, 必须加
sys.run()

如何使用LuatOS-SoC

  1. 首先, 购买开发板(Air101/Wifi / NB-IOT)
  2. 然后, 下载固件包,按压缩包里的文档进行刷机
  3. 开始愉快地玩耍(或者放着积灰...)

QQ群: 1061642968 和 钉钉群


资源


使用到的开源项目

  • lua Lua官网
  • rt-thread 国产rtos, 非常好用
  • rtt-ds18b20 在RT-Thread环境下读取ds18b20
  • LuaTask 合宙LuaTask
  • iRTU 基于Luat的DTU, 稀饭大神
  • airkissOpen 参考其实现思路
  • minmea 解析nmea
  • u8g2_wqy u8g2的中文字体
  • printf A printf / sprintf Implementation for Embedded Systems
  • YMODEM for Python YMODEM 用于下载脚本
  • elua eLua 虽然已经停更多年,但精神犹在
  • FlashDB 一款支持 KV 数据和时序数据的超轻量级数据库
  • cJSON Ultralightweight JSON parser in ANSI C
  • coremark MCU性能测试(跑分)

免费服务

  • NetLab https://netlab.luatos.com/ 支持普通TCP/UDP/加密TCP, 透传调试,公网IP, HEX值收发, Tab式多客户端
  • DevLog udp://devlog.luatos.com:9072 设备日志记录,格式兼容errDump.lua 查看日志请登录LuatOS官网
  • JT808服务 tcp://jt808.luatos.com:8868 JT808-2013协议, 查看轨迹请登录LuatOS官网
  • SoC固件云编译 使用ERP账号(手机号)登录,默认密码888888

更多项目

  • iRTU 开源DTU/RTU解决方案
  • Luat_Lua_Air724U 市面上最畅销的4G Cat.1模块的Luat固件
  • llcom 可运行lua脚本的高自由度串口调试工具
  • irtu-gps 基于iRTU项目,实现GPS数据的接收和展示
  • luatos-boards LuatOS系列开发板和扩展板

总体架构

总体架构

授权协议

MIT License