WalOS - Walnuts OS,基于嵌入式Linux与LuaJIT技术,采用事件驱动模式,集成多种通信协议与GUI库,可以方便的开发各种嵌入式应用,边缘计算应用与AI应用,目前已经成功用于人脸识别门禁产品、人脸识别考勤产品、防疫哨兵产品、人脸抓拍相机、行为分析智能盒子等产品。
WalOS主要包括两大基础组件:nuts与wos-sdk。
nuts是一个由Libevent + LuaJIT组合的多线程多任务库,可以创建多个线程,每个线程可以有多个任务(task),每个task可以拥有一个独的LuaJIT虚拟机,通过LuaJIT虚拟机对应用进行了隔离。同时,nuts通过支持websocket/http server/http client/mqtt等协议与云平台进行交互。在nuts内部的各个task之间,有RPC、1:N消息队列(sub/pub模式), 1:1消息机制,非常灵活的实现任务间通信与任务与平台间通信。同时针对嵌入式软件特点,nuts提供了构建脚本,可以将lua程序直接编译成LuaJIT字节码,并编译进主程序,不仅方便了应用在嵌入式设备中的部署,也能很好的杜绝绝反编译等破解代码风险。
wos-sdk是对嵌入硬件进行了一次抽象与封装的库,对于WalOS目前支持的硬件单板提供的硬件能力进行一次抽象并封装成统一的接口,基于wos-sdk开的程序可以无缝的移植了wos-sdk的硬件平台上运行。这些接口设备底层的图像/图形处理,串口/网络通信,显示设备驱动与集成的GUI库(目前支持little vgl 8.1版本),算法引擎接口、跟踪算法接口与用户管理接口(为了方便人脸识别应用)。所有的接口均提供C与lua两个访问模式,可以开发纯C应用也可以开发纯Lua应用,或者两者混合编程。
对于wos-sdk支持的单板,还提供了程序打包脚本,可以对用户应用进行打包与升级。采用wos-sdk提供的打包方案,可以直接共用我们的产测工具、刷机/升级工具、DEBUG工具等,简单程序的开发与部署。
请发送申请邮件至 xbits.master AT gmail.com
如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡。
邮箱:
xbits.master @ gmail.com