尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ESP-Brookesia多运行时架构:一套平台同时跑JS、Lua、WASM、ELF四种应用
【免费下载链接】esp-brookesiaESP-Brookesia is a human-machine interaction development framework designed for AIoT devices.项目地址https://gitcode.com/gh_mirrors/es/esp-brookesia点击查看免费下载ESP-Brookesia 是乐鑫推出的面向 AIoT 与 HMI 产品开发的全栈式开发框架。它的多运行时架构允许同一个设备固件中同时加载 JavaScript、Lua、WASM、ELF 四种类型的动态应用包——你无需为每种语言单独维护一套系统一个 Runtime Manager 就能统一调度。本文将带你快速看懂这套架构的设计思路与核心机制。为什么需要多运行时传统嵌入式产品开发中换一种脚本语言 换一套框架是常见痛点迭代效率JS / Lua 应用可以热更新脚本不必重新烧录固件资源约束Lua 内存占用小适合轻量小屏设备安全隔离WASM 提供沙箱执行适合运行第三方应用性能上限ELF 原生二进制可以跑在高性能扩展场景。ESP-Brookesia 的做法是把四种后端收敛到同一套生命周期合约之下让上层系统System Core不需要关心具体跑的是哪种语言。整体架构一个 Runtime Manager 四个后端下图展示了运行时组件的层级关系核心组件职责如下组件角色说明brookesia_runtime_manager宿主框架后端注册、应用上下文归属、生命周期调度brookesia_runtime_jsJS 后端脚本化业务逻辑、快速迭代、ES module 入口brookesia_runtime_luaLua 后端小型脚本应用、低资源占用、简洁嵌入接口brookesia_runtime_wasmWASM 后端沙箱执行、跨语言模块、可移植部署brookesia_runtime_elfELF 后端原生二进制加载、高性能扩展、平台相关能力四个后端组件完全独立发布通过插件注册机制挂到 Manager 上。在 backend.hpp 中可以看到核心接口IRuntimeBackend所有后端必须实现init / load_app / start_app / stop_app / unload_app / call_function等统一方法并以BackendTypeLua、JavaScript、Wasm、Elf向RuntimeBackendRegistry注册。Manager 通过插件系统枚举所有已注册后端实现后端可插拔。 这意味着开发者按需引入只跑 Lua 应用的产品就只依赖brookesia_runtime_lua固件体积不会浪费在其他后端上。四种语言怎么选维度JS 运行时Lua 运行时WASM 运行时ELF 运行时定位轻量应用入口小型脚本应用沙箱化第三方部署原生高性能扩展生态优势Web 开发者技能可复用嵌入式经典、资源占用低语言无关、安全隔离性能上限最高适用场景快速迭代业务逻辑简单控制/采集类应用应用市场分发第三方包平台相关、重计算模块入口约定ES module 入口文件脚本入口 约定回调WASM 产物可执行产物文档js.rstlua.rstwasm.rstelf.rst应用包结构manifest 决定跑哪个运行时所有运行时应用都打包成标准的App Package其最小结构如下brookesia.app.demo/ manifest.json app/ app.lua res/ profile.json root.jsonmanifest.json的runtime对象是语言选择器runtime: { type: Lua, entry: app/app.lua, resource_dir: res, arguments: [] }type指定后端类型Lua、JavaScript等entry入口文件相对路径resource_dir资源目录内含 JSON UI 描述文件。应用包有两种部署形态.bpk压缩包ZIP 容器运行时由 System Core 解包可选发布验签解包目录直接部署manifest.json app/ res/由System::init()扫描安装。System Core 扫描 storage 中apps/目录找到含manifest.json的一级目录即识别为一个应用。完整字段说明与安全约束见 应用包规范文档。统一生命周期四种语言同一套状态机在 types.hpp 中定义了统一的应用状态Unloaded → Loaded → Running → Stopped →可重新加载 └→ ErrorManager 对外暴露的高层 API见 runtime.hppload_app(config)/unload_app(id)start_app(id)/stop_app(id)call_function(id, module, fn, args)调用应用导出的函数list_apps()快照查询所有已加载应用脚本侧只需在入口文件创建全局表brookesia_app实现约定回调即可接入brookesia_app.on_install() / on_uninstall() brookesia_app.on_start() / on_stop() brookesia_app.on_pause() / on_resume() brookesia_app.on_action(action) / on_timer(timer_id, name)无论 JS 还是 Lua生命周期语义完全一致——这是一套平台跑四种应用的关键所在。详细状态迁移见 应用模型文档。原生桥接脚本如何调用设备能力脚本语言本身够不到 Wi-Fi、音频、存储这些原生服务ESP-Brookesia 通过 **Host Bridge宿主桥接**打通Manager 把原生服务注册为脚本可见的模块host_bridge.hpp独立运行时默认提供brookesia.print()、finish_app()、应用上下文 attach/detach 等基础函数服务声明即权限manifest.json的services数组声明依赖的 RPC 服务名与最低版本Host Bridge 在调用时强制校验——未声明的服务一律不可用天然形成沙箱边界。下图展示了服务层如何与运行时、Agent 协作从应用市场到设备运行这套多运行时架构并非孤立存在而是嵌在完整的产品链路中应用从 App Store 下载.bpk→ System Core 验签解包 → Runtime Manager 按runtime.type分发给对应后端 → 启动 JSON UI 界面。目录与文档指南资料路径运行时组件文档索引docs/zh_CN/runtime/index.rstRuntime Manager 设计说明runtime/brookesia_runtime_manager/docs/main.mdRuntime Manager 源码runtime/brookesia_runtime_manager/src/runtime.cppJS 后端runtime/brookesia_runtime_js/Lua 后端runtime/brookesia_runtime_lua/WASM 后端runtime/brookesia_runtime_wasm/ELF 后端runtime/brookesia_runtime_elf/应用包规范docs/zh_CN/system/core/app_package.rst每个后端组件均提供独立测试工程如 pytest_runtime_manager.py覆盖 ESP32-P4 与 ESP32-S3 等平台。常见问题Q一台设备能同时跑多个不同语言的应用吗A能。list_apps()会返回所有已知应用记录每个AppId归属各自的后端类型互不干扰。QELF 后端在所有平台上都可用吗AELF 是平台相关的原生二进制加载仅在目标平台支持时生效见 elf.rstJS、Lua、WASM 的移植性更好。Q第三方应用如何保证安全A推荐 WASM 后端做沙箱化部署同时 manifest 的服务声明机制对所有运行时应用强制生效未声明的服务无法调用。总结ESP-Brookesia 的多运行时架构用一句话概括就是统一合约、后端可插拔、包格式标准化。Runtime Manager 管生命周期manifest 选语言Host Bridge 控权限——四种语言的应用在同一套系统里平等共存。对于 AIoT 开发者而言这意味着可以用最熟悉的语言写业务逻辑同时享受框架层带来的硬件抽象、服务调用和应用分发能力。赞分享【免费下载链接】esp-brookesiaESP-Brookesia is a human-machine interaction development framework designed for AIoT devices.项目地址https://gitcode.com/gh_mirrors/es/esp-brookesia点击查看免费下载相关推荐终极指南使用Docker快速构建多平台WASM运行时Wasm3终极指南使用Docker快速构建多平台WASM运行时Wasm3 Wasm3是一款超快速的WebAssembly解释器也是目前最通用的WASM运行时。通语言运行时嵌入式跨平台Jasna 教程本地 GPU 马赛克视频修复是怎么做到的附实测数据Jasna 教程本地 GPU 马赛克视频修复是怎么做到的附实测数据 一段 3 分 22 秒的 1080p 视频Jasna 在 RTX 5090 上 39人工智能AI 应用计算机视觉视频处理图像处理深度学习Agno AgentOS 多框架集成实战用一套运行时同时服务 Agno、Claude Code、LangGraph 与 DSPy AgentAgno AgentOS 多框架集成实战用一套运行时同时服务 Agno、Claude Code、LangGraph 与 DSPy Agent 本指南基于 Ag人工智能AI AgentAgent 框架多智能体工具调用RAGAgent 记忆Agent 工作流后端上一篇zk-nvim命令大全从基础操作到高级用法的完整参考下一篇gemma-4-e4b-it-qat-OptiQ-4bit多模态应用开发图像文本处理全解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Falcon-Perception 感知任务详解:如何用一句查询词实现开放词汇检测与像素级分割

Falcon-Perception 感知任务详解:如何用一句查询词实现开放词汇检测与像素级分割

【免费下载链接】Falcon-Perception Inference repo for Falcon-Perception and Falcon-OCR model, early-fusion, natively multimodal, dense Autoregressive Transformer models. 项目地址: https://gitcode.com/gh_mirrors/fa/Falcon-Perception 点击查看 免费下…

📅 2026/10/27 1:26:18
基于Springboot人事管理系统【附源码+文档】

基于Springboot人事管理系统【附源码+文档】

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/27 1:26:17
SSP语音转写实战:说话人分离+时间戳+结构化输出一体化方案

SSP语音转写实战:说话人分离+时间戳+结构化输出一体化方案

1. 项目概述:一次转写,到底在解决什么真实痛点?“一次转写,谁说的几点说的,全给你标好”——这句话不是营销话术,而是我在连续处理了27场线上技术分享录音、14次跨部门会议纪要、还有3个客户访谈素材后&…

📅 2026/10/27 1:21:17
MORE NEWS

更多资讯

📰

零基础搞定CATIA二次开发:CAA、RADE与VS环境搭建全攻略

简介:这份文档面向 CATIA 二次开发初学者与刚进入研究生阶段的学习者,针对专业软件安装繁琐、环境配置易出错这一入门痛点,系统梳理从零搭建开发环境的完整路径。内容围绕 Microsoft Visual Studio 2005、CATIA V5R19、CAA 与 RADE 四款软件的…

📰

32位Office与64位ACE引擎安装冲突:根因分析与MSI修改解决方案

简介:这份文档面向在64位Windows系统上同时使用32位Office 2007与64位Access Database Engine 2010时遭遇安装冲突的技术人员,聚焦ACE引擎版本不兼容这一典型问题,提供一套可落地的解决思路。资源包共1个docx文件,约47KB&#xff…

📰

32位Office与64位ACE引擎共存:7-Zip拆包+ORCA改MSI实战

简介:这份文档面向在64位Windows系统上同时使用32位Office 2007与64位Access Database Engine时遭遇安装冲突的技术人员,聚焦ACE引擎版本不兼容这一典型问题,提供可落地的解决思路。资源包共1个docx文件,约47KB,以图文…

📰

UiPath下载安装与社区版配置:许可证、Profile与包源避坑

简介:这是一份面向办公自动化初学者与职场新人的 UiPath 下载入门指南,围绕 RPA 工具的获取渠道与安装流程展开,适合想接触 RPA 技能、却不知从何处下手的零基础读者参考。资源包共 1 个 docx 文件,约 235KB,以文字步骤…

📰

UiPath社区版安装全流程:环境对表、注册激活与避坑验收

简介:一份面向零基础职场人的 UiPath 下载与安装指引文档,围绕 RPA 自动化工具的获取流程整理,适合对办公自动化感兴趣、希望通过社区版快速上手的个人学习者。文档系统梳理了从进入官网选择社区版或企业版、填写个人信息时个人邮箱与企业邮箱…

📰

会议纪要哪个软件总结精准?智在记录、通义听悟、飞书妙记、Otter.ai 横评实测

开完一场两小时的会,录音躺在手机里,逐字稿几万字,真正要写进纪要的那三五条结论,还得自己一条条翻出来。这件事看着不大,但一周重复五六次,就是实打实的时间成本。这两年会议纪要工具的变化很明显&#xf…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬