LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!
Posted 合宙Luat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!相关的知识,希望对你有一定的参考价值。
LuatOS是运行在嵌入式硬件的实时操作系统,深度整合Lua语言,只需少量内存和Flash空间就能运行,用户编写Lua代码即可实现各种功能。
本次发布的最新固件LuatOS V0005,Cat.1/NB-IoT/Wi-Fi全覆盖,开启全新应用!
文末固件链接抢先体验,还有Luat幸运小牛抽奖等你来~
1
LuatOS全新固件特点
LuatOS源于合宙已成功服务于20000+企业客户,千万级出货应用的Luat框架,是合宙Luat开源版本的又一次进化。聚焦嵌入式应用生态,全新固件独具特色。
完全抛弃AT的底层设计
没有虚拟AT接口,没有RIL库,没有AT命令的解析与回调,不用在系统队列与用户队列中反复绕圈。
设计之初就秉着替代并超越AT的信仰,绕过SDK的AT框架,实现一整套与AT Engine平行的LuatOS Engine。
API调用更快捷高效,内存更省,逻辑更清晰,扩展性更好。
基于Lua 5.3,支持原生位运算符
local newval = val ^ 0xFF
local newval2 = val2 << 3
数值类型扩展到64位,支持更大的数据范围
local val = 1 << 63
local val2 = 0xFFFFFFFF
利用率更高的Lua专属内存
最低内存需求仅16k,提供64k内存足以满足低复杂度的应用。
在资源紧缺的Wi-Fi/NB-IoT模块,默认提供64kb内存,也能满足紧凑型应用的内存需求,后续还有提高内存使用率的方案。
内置墨水屏驱动
无需复杂的调试,内置驱动从1寸到2.9寸均为默认支持,更大尺寸可通过自行编译固件开启。内置中文字体,显示无忧。
Cat.1固件的额外特性
本次发布的V0005是针对Cat.1模组的第一个版本,涵盖一般的外设功能和联网功能外,还有一些值得关注的特性:
可调整的串口缓冲区大小
默认16k,最高128k,避免极端场景下uart出现overflow的可能性。
可回滚的脚本升级机制
脚本区与脚本OTA区,均为256kb,前者为线刷,后者为OTA写入,没有繁琐的AT解析,LuatOS提供的lua库文件很小,用户脚本占大头。
后续还支持SD卡升级,敬请期待!
连续性内存
Air724(RDA8910系列)固件默认提供1.5mb的Lua VM独占内存,最高可容纳512kb的单一长字符串,字符串拼接不再惧怕内存溢出。
NB-IoT固件的额外更新
释放UART0供用户使用
虽然它不是很纯(有点脏数据),但胜在波特率可以很高很高(最高6M)。
Ctiot库优化
紧跟SDK的升级,对Ctiot库进行优化改进。
2
下一版本期待你参与设计
下个版本V0006,会带来什么?预期会增加或实现的功能有:
Lua脚本调试
当前仅Air640w固件得以实现,V0006将覆盖全部模块!
https://gitee.com/openLuat/vscode-luatos-debug
Zbuff库
高性能的C风格缓冲区库,提供丝滑的 char[ ] 操作体验。
上下滑动,查看功能代码:
-- 创建zbuff
local buff = zbuff.create(1024) -- 空白的
-- local buff = zbuff.create(1024, "123321456654") -- 创建,并填充一个已有字符串的内容
-- 类file的读写操作
buff:write("123") -- 写入数据, 指针相应地往后移动
buff:seek(0, zbuff.SEEK_SET) -- 把指针设置到指定位置
local str = buff:read(3)-- 把刚才那3个字节读出来,内容是字符串,指针也往后移动了
-- 按数据类型读写
local n = buff:readInt8() -- 支持int8~int64,uint8~uint64,float32,double64
-- buff:writeInt8(0x32) -- 同时也支持写入上述整型/浮点数
-- 支持pack/unpack操作
local _, a, b, c = buff:unpack("IIH") -- 支持unpack解码
-- buff:pack("IIH", 0x1234, 0x4567, 0x12) -- 也支持pack打包
log.info("buff", str, n)
-- 类数组操作
buff:seek(0, zbuff.SEEK_SET) -- 又回到开头
local b = buff[2] -- 直接按数组来读取, 得到ASCII码, 0x32, 注意,这里按C的标准来
buff[3] = 0x33 -- 直接赋值可还行
还有很多想法,等待一步步实现:
1)Air724固件的文件浏览器
像资源管理器那样操作模块的内部文件,是怎样的体验?
2)云刷机
在页面编辑,按一下远程下载,模块自行下载脚本,自动开始运行,很流畅~
3)压榨内存
既然code是固定的,那岂不是能放在flash上吗?那调试信息也可以。
4)SPI Flash也挂文件系统
W25Q挺便宜的呀,扩容杠杠的。
LuatOS V0005全新体验
- 固件下载链接 -
https://gitee.com/openLuat/LuatOS/releases/v0005.release
或点击文末【阅读原文】直达
欢迎加入LuatOS技术交流群
共同探讨全新应用开发
每个建议都值得关注,每个技能都值得分享
更多精彩等你来参与
本期特别送出6只Luat幸运小牛
正确的参与方式
Luat幸运小牛0329
即可参与幸运抽奖
03月29日18:00自动开奖
03月29日18:00自动开奖
03月29日18:00自动开奖
- 祝好运 - 祝好运 - 祝好运 -
以上是关于LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!的主要内容,如果未能解决你的问题,请参考以下文章
手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台
手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台
LuatOS | 体验全新BSP—基于Win32的LuatOS仿真器,悬赏活动火热来袭