GithubHelp home page GithubHelp logo

openluat / luatos Goto Github PK

View Code? Open in Web Editor NEW
438.0 20.0 98.0 282.55 MB

LuatOS -- Powerful embedded Lua Engine for IoT devices, with many components and low memory requirements (16K RAM, 128K Flash)

Home Page: https://wiki.luatos.com

License: MIT License

Python 0.06% C 99.67% Lua 0.16% Makefile 0.01% Batchfile 0.01% CMake 0.01% Shell 0.01% C++ 0.11%
lua rtos wifi nbiot 4g-lte luatos air101 air103 air105 esp32c3

luatos's Introduction

LuatOS logo

star fork license

air101 air105 esp32 ec618,Air780E ec7xx PC

LuatOS : Powerful embedded Lua Engine for IoT devices, with many components and low memory requirements (16K RAM, 128K Flash)

强大的Lua引擎, 为mcu和物联网设备高度优化, 支持众多组件, 非常低的内存需求(最低16K RAM, 128K Flash).

快速入门

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

资料大全

授权协议

MIT License

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

luatos's People

Contributors

1095798460 avatar 1553604199 avatar allewalker avatar chain01 avatar chenlong3388 avatar chenxiahuaxu avatar chenxuuu avatar dingheng666 avatar doudouladou avatar dozingfiretruck avatar dreamcmi avatar fanyeyuan avatar flyqaq avatar foolishtan avatar gameshi avatar genj1kai avatar hhaarryy3388 avatar houqing101 avatar hyzgit avatar jeremyhash avatar li3211 avatar lulipro avatar pkm-bai avatar snailbao avatar tykjdxjcxq avatar wendal avatar wingpengfei avatar yingfuemi96 avatar zhaikeyan avatar zozoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luatos's Issues

LuatOS - demo - 模块demo

  • gpio的demo
  • uart的demo
  • socket的demo
  • wlan的demo
  • http的demo
  • mqtt的demo
  • disp的demo
  • spi的demo
  • i2c的demo
  • sensor的demo

LuatOS - demo - 集成demo(playit)

配合飞思创的开发板, 名称暂定playit

  • playit 位于app/playit
    • airkiss 配网
      • 无配网信息时的配网
      • 按键触发重新配网
    • 显示屏集成
      • 启动提示
      • 配网过程提示
      • 运行时状态提示
    • 传感器
      • ds18b20
      • sht30
    • 数据展示
      • 数据上报
      • 数据展示小程序/网页

uart代码触发内存爆满的讨论

先把原始代码贴上

local sys = require "sys"
log.info("main", "uart demo")
local uartid = 1
local recvBuff = {{}, {}}
--初始化
local result = uart.setup(
    uartid,--串口id
    115200,--波特率
    8,--数据位
    1--停止位
)
local function read(uid)
    local s = table.concat(recvBuff[uid])
    recvBuff[uid] = {}
    uart.write(uartid,s)
end
sys.timerLoopStart(function()
    log.info("RAM:", _G.collectgarbage("count"))-- 打印占用的RAM
end, 1000)
local function taskRead()
    uart.on(
        1,
        'receive',
        function(uid, length)
            table.insert(recvBuff[uid], uart.read(uid, length or 1024))
            sys.timerStart(sys.publish, 50, 'UART_RECV_WAIT_', uid)
        end
    )
end
sys.subscribe('UART_RECV_WAIT_', read)
sys.taskInit(taskRead)
sys.run()

LuatOS - http库

要求: 基于netc.h, 不涉及具体平台的代码, 不依赖rtt

  • 设计文档
  • 模块Lua API实现

memheap爆magic错误,原因和触发条件待查

使用playit脚本, 一段时间后(期间操作过串口, 发free/list_thread/list_memheap), 报以下错误

((header_ptr->magic & RT_MEMHEAP_MASK) == RT_MEMHEAP_MAGIC) assertion failed at function:rt_memheap_free, line number:515 

LuatOS - mqtt库 - 优化改造

这个任务的主要工作是将 mqtt.lua 中的部分逻辑, 使用C语言实现到luat_lib_mqttcore.c

  • 改造 encodeUTF8
  • 改造 packCONNECT
  • 改造 packSUBSCRIBE
  • 改造 packUNSUBSCRIBE
  • 改造 packPUBLISH
  • 改造 packACK
  • 改造 packZeroData
  • 改造 unpack
  • 改造 update_resp

欢迎领取上述小任务, 领取后请在1周内完成. 以上任务没有依存关系, 均可独立提交成果.
推荐使用pull request方式提交.

提交pr后, 请签署 CLA , 仅第一次提交时需要签署.

LuatOS - 构建任务 - STM32F1/F4

现在已经有w60x和qemu两个板子作为实现

  1. W60x -- 联网能力的体现
  2. qemu -- 方便对机制验证, 不需要真机就能测试
  3. stm32f1/stm32f4 -- 新增1款板子, 体现一下LuatOS在stm32上也能跑

LuatOS - mqtt库

要求: 基于netc.h, 不涉及具体平台的代码, 不依赖rtt

  • 设计文档
  • 模块Lua API实现

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.