跳至主要內容

大约 2 分钟

BeShell 是一个为 ESP32 平台设计的 JavaScript 开发框架。

BeShell 的 JavaScript 引擎采用 QuickJSopen in new window ,完整的实现了 ES2020 标准。BeShell 将很多常用的 ESP-IDF API 封装为 JavaScript 接口,开发者可以完全使用 JavaScript 开发单片机应用。


主页和文档

完整的文档请访问 BeShell 主页:https://beshell.become.coolopen in new window


特性

BeShell 在 ESP32 平台上提供了以下 JS 层面的特性:

  • GPIO 操作 (数字/模拟输入输出,PWM输出等)

  • 单片机功能外设 (I2C/SPI/UART/WiFi/蓝牙 等)

  • 一些硬件设备和IC的驱动 (电机、屏幕、摄像头、传感器、控制器等)

  • 多种文件系统 (LittleFS / Fat32 / RawFS / SDCard)

  • 在多种通讯方式(串口/WiFi/标准IO)上提供了协议,可以用于执行交互式JS命令 (REPL) 和 文件传输

  • GUI (LVGL for JavaScript)

  • MP3/JPEG/MIDI音色合成 等媒体功能

  • 通讯协议 (HTTP/HTTPS/WebSocket/MQTT等)

  • 符合流行的 JS 开发习惯,尽可能接近 NodeJS 等生态

  • 其他

所有特性都是可以在编译前自由剪裁,根据需要引用功能,以便保持较小的编译尺寸。

最小的 BeShell 仅仅是一个 JS for ESP32 。


环境 / IDE

BeShell 很好的支持两种开发环境:ArduinoESP-IDF框架

BeShell 以 Arduino库ESP-IDF components 两种形式发布。使用者可以根据自己的喜好、能力选择应用开发环境。


混合编程

BeShell 提供了友好且优雅的 C/C++/JavaScript 接口,支持使用者客户混合编程

  • 计算密集或高频的任务用 C/C++ 写

  • 业务复杂的任务用 JavaScript 写。

由于 BeShell 提供了完备的 JS 特性,大部分简单的应用,是可以 纯JS 完成的。


跨平台

BeShell 具备良好的跨平台性,同时也能在 Linux/MacOS/Windows 上编译运行。BeShell 还提供了 WebAssemble 的构建共享,可以在浏览器里运行 BeShell 。


工具

BeConsoleopen in new window 是一个 WEB 在线 IDE,可以通过 串口、WiFi 连接到运行 BeShell 应用的 ESP32 设备,提供了命令终端、文件管理、代码编辑器等功能。

上次编辑于:
贡献者: alee