LuatOS@Air302 V0003正式版 功能更多更强但更省电

2020年10月15日

前前后后打磨了3个月, 收到了成百上千次友善(maybe)的建议和反馈, LuatOS团队提交了N次, 终于可以发布了^_^

LuatOS@Air302 -- LuatOS, 写点Lua代码就能轻松控制硬件, Air302, NB-IOT联网, 超低功耗, 价格便宜,一个锂亚电池跑几年不是事

点个灯(硬件开发的helloworld)

local sys = require("sys")

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

sys.taskInit(function()
    while 1 do
        netled(1) -- 输出高电平
        sys.wait(500) -- 等待500ms
        netled(0) -- 输出低电平
        sys.wait(500) -- 等待500ms
    end
end)

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

 

V0003更新的内容如下:

add: http下载文件,附带demo
add: OTA功能,附带demo
add: 支持设置psm和edrx参数
add: sdk, 配合LuatOS源码, 可自行编译固件. 此SDK非C-SDK.
add: aes解密, crypto库的demo, 解决内存泄漏的bug
add: demo/psm_tcp, 演示tcp长连接, 定时心跳, 快速进入休眠
add: fs库,获取文件系统使用情况
add: ctiot库及demo, 连接到中国电信ctwing平台
add: spi库及demo,读写w25q系列不成问题
add: 支持用户使用UART1的TX功能, 默认是shell功能
update: 合并厂商底层SDK v001.031.20200829
update: 使用统一的require实现
update: 合并厂商底层SDK v001.031.20200829 patch1
update: 下载system分区时把bootloader也下载下去
fix: 更新SDK后, HIB休眠功耗增加的bug
fix: mqtt.lua对pub_msg无响应的bug
fix: 打印和格式化浮点数的bug
fix: gpio上拉/下拉失败,中断不触发的bug
fix: 读取ds18b20失败,顺便加上crc校验, 相当便宜但可靠的温度传感器

 

欢迎到 LuatOS@gitee 了解更多信息, 可以话求个star 和 fork, 谢谢

或许, 你还可以买块开发板玩玩,最低只需6元(wifi板,但不包邮,^_^, Air302的开发板为29.9元)

展开阅读全文
12 收藏
分享
加载中
精彩评论
luatos跑不了java的。但我知道有一家公司还真有跑java的单片机系统,只是流行度很低。
2020-10-16 10:20
1
举报
lua里面使用协程来处理, 例如

```lua
sys.taskInit(function() -- 协程A,500ms打印一次日志
while 1 do
log.info("coA", "hello")
sys.wait(500) -- 等待500ms
end
end)


sys.taskInit(function() -- 协程B, 300ms打印一次日志
while 1 do
log.info("coB", "world")
sys.wait(300) -- 等待300ms
end
end)
```

两个协程(task)的行为看上去就像2个"线程", 以各自的间隔打印日志, 互不干扰
2020-10-15 21:06
1
举报
是个好东西呢,前年买过,很容易上手。
2020-10-15 18:23
1
举报
最新评论 (7)
可以用java写吗
2020-10-16 09:54
0
回复
举报
luatos跑不了java的。但我知道有一家公司还真有跑java的单片机系统,只是流行度很低。
2020-10-16 10:20
1
回复
举报
多线程或者说时间片怎么处理?
2020-10-15 20:52
0
回复
举报
lua里面使用协程来处理, 例如

```lua
sys.taskInit(function() -- 协程A,500ms打印一次日志
while 1 do
log.info("coA", "hello")
sys.wait(500) -- 等待500ms
end
end)


sys.taskInit(function() -- 协程B, 300ms打印一次日志
while 1 do
log.info("coB", "world")
sys.wait(300) -- 等待300ms
end
end)
```

两个协程(task)的行为看上去就像2个"线程", 以各自的间隔打印日志, 互不干扰
2020-10-15 21:06
1
回复
举报
是个好东西呢,前年买过,很容易上手。
2020-10-15 18:23
1
回复
举报
这是个什么东西啊?
2020-10-15 15:36
0
回复
举报
用于硬件设备(例如wifi/4g/nbiot通讯模块)的实时系统,用户只需编写lua代码即可完成业务。这次发布的是针对air302(硬件型号,属于nbiot通讯模块)的大版本
2020-10-15 15:42
0
回复
举报
更多评论
7 评论
12 收藏
分享
返回顶部
顶部