atomvm/AtomVM

ESP32 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
atomvm 604 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

Tiny Erlang VM


AtomVM 是一个从零开始构建的轻量级 Erlang 虚拟机实现,它的核心使命是将 Erlang、Elixir 等函数式编程语言带入微控制器(MCU)和极小型的嵌入式系统。传统上,BEAM 虚拟机(Erlang 虚拟机)对硬件资源要求较高,难以在资源受限的设备上运行。AtomVM 通过实现 BEAM 字节码的一个关键子集,使得开发者能够直接在 ESP32、STM32、Raspberry Pi Pico 等主流 MCU 上运行未经修改的 BEAM 编译产物(.avm 文件)。这意味着,你可以在桌面端用 Erlang 或 Elixir 编写逻辑,然后直接部署到嵌入式设备上,无需学习 C 语言或底层硬件细节。在技术栈上,项目使用 C 语言编写核心虚拟机,依赖 CMake 构建系统,并支持通过 Mbed TLS 和 zlib 提供 SSL 和压缩能力。除了嵌入式平台,AtomVM 也支持 Linux、macOS、FreeBSD 等通用 Unix 系统,甚至可以通过 WebAssembly 在浏览器和 Node.js 中运行。项目目前已经相当成熟,兼容 OTP 21 到 27 版本,并实现了大部分核心标准库函数。它主要解决了物联网和嵌入式开发中“开发效率低”和“硬件门槛高”的矛盾:开发者可以用高层次的函数式语言快速迭代业务逻辑,同时享受 BEAM 生态的容错和并发优势。适用场景包括智能家居传感器控制、工业数据采集、可穿戴设备逻辑、以及任何需要快速原型验证的嵌入式项目。如果你正在寻找一种更现代、更高效的嵌入式开发方式,AtomVM 是一个非常值得关注的选择。

标签