|
|
5 年之前 | |
|---|---|---|
| .github | 5 年之前 | |
| bsp | 5 年之前 | |
| docs | 5 年之前 | |
| lua | 5 年之前 | |
| luat | 5 年之前 | |
| script | 5 年之前 | |
| .gitignore | 5 年之前 | |
| .gitmodules | 6 年之前 | |
| LICENSE | 6 年之前 | |
| Makefile.inc | 5 年之前 | |
| README.md | 5 年之前 | |
| docs.md | 6 年之前 | |
| logo.jpg | 6 年之前 | |
| system.jpg | 6 年之前 | |
| tool.lua | 6 年之前 | |
| vscode.code-workspace | 6 年之前 |

LuatOS是运行在嵌入式硬件的实时操作系统,只需要少量内存的flash空间就能运行,用户编写lua代码就可完成各种功能
Lua base RTOS, build for many embedded systems
QQ群: 1061642968
详细代码请查阅 script/app/playit/main.lua
local sys = require("sys")
sys.subscribe("WLAN_READY", function ()
print("!!! wlan ready event !!!")
-- 马上进行时间同步
socket.ntpSync()
end)
disp.init("ssd1306")
display_str("Booting ...")
-- 配网回调
sys.subscribe("WLAN_PW_RE", function(ssid, password)
if ssid then
log.info(TAG, "airkiss GOT", ssid, password)
local conf = {ssid=ssid,password=password}
json.encodeFile(conf, "/wlan.json")
else
log.info(TAG, "airkiss fail")
end
end)
-- 业务流程, 联网后定时发送温度数据到服务器
sys.taskInit(function()
while 1 do
if wlan.ready() then
sys.wait(1000)
local temp = (sensor.ds18b20(28) or "")
display_str("Temp: " .. temp .. " rssi:" .. tostring(wlan.rssi()))
local t = {"GET /api/w60x/report/ds18b20?mac=", wlan.get_mac(), "&temp=", temp, " HTTP/1.0\r\n",
"Host: site0.cn\r\n",
"User-Agent: LuatOS/0.1.0\r\n",
"\r\n"}
socket.tsend("site0.cn", 80, table.concat(t))
log.info("network", "tsend complete, sleep 5s")
sys.wait(5000)
else
log.warn("main", "wlan is not ready yet")
sys.waitUntil("WLAN_READY", 30000)
end
end
end)
-- 主循环, 必须加
sys.run()
TODO: 构建工具链,IDE,刷机工具,等等