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开源版本的又一次进化。聚焦嵌入式应用生态,全新固件独具特色。

LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!

完全抛弃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寸均为默认支持,更大尺寸可通过自行编译固件开启。内置中文字体,显示无忧。

LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!

LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!


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 | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!

欢迎加入LuatOS技术交流群

共同探讨全新应用开发


LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!


每个建议都值得关注,每个技能都值得分享





更多精彩等你来参与

LuatOS | 最新固件V0005发布,Cat.1/Nb-IoT/Wi-Fi全覆盖!!!

本期特别送出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)模组接入华为云物联网平台

合宙ESP32C3 更换Flash调整固件教程分享

LuatOS | 体验全新BSP—基于Win32的LuatOS仿真器,悬赏活动火热来袭

联盛德 HLK-W806 : 兼容开发板 LuatOS Air103

必看!LuatOS自定义C库全新教程,一文极速上手