快速开始
约 765 字大约 3 分钟
2024-05-03
概述
BeShell 是一个运行在 ESP32 上的 JavaScript 开发框架,JavaScript 引擎为 QuickJS,完整支持 ES2020 标准。开发者可以使用 JavaScript 开发 ESP32 应用,同时保留 C++ 扩展能力。
本指南以 ESP32-S3 开发板为例,介绍如何使用 VSCode + ESP-IDF 创建项目、编译烧录,并通过 BeConsole 在线调试。
准备工作
硬件
- ESP32-S3 开发板
- USB 数据线(用于烧录和串口通信)
软件
创建项目
方法一:从 Registry 一键创建
打开命令面板
在 VSCode 中,按
Ctrl+Shift+P打开命令面板,输入ESP Component Registry,打开 ESP Component Registry 页面。搜索并选择
在搜索框中搜索
beshell,找到 BeShell 组件,进入其示例列表,选择 beshell-app 示例。创建项目
点击
Create Project From This Example,等待项目创建完成。
方法二:从 Git 克隆
克隆仓库
如果无法使用 Registry,可以从 Git 克隆 BeShell 仓库:
git clone https://github.com/become-cool/beshell # 或使用 Gitee 镜像 git clone https://gitee.com/become-cool/beshell使用示例
克隆后,examples/beshell-app 目录可直接作为项目使用或复制到其他位置。
选择分区表
根据开发板的 Flash 大小,选择合适的分区表:
| 分区表文件 | 适用 Flash 大小 |
|---|---|
| img/partitions-4MB.csv | 4 MB |
| img/partitions-8MB.csv | 8 MB |
| img/partitions-16MB.csv | 16 MB |
在 sdkconfig 中搜索 CONFIG_PARTITION_TABLE_CUSTOM 和 CONFIG_PARTITION_TABLE_CUSTOM_FILENAME,启用自定义分区表并指定为上述文件路径。
编写 JavaScript 代码
打开 js/main.js,修改为:
import * as console from "console"
console.log("Hello, BeShell!")编译与烧录
配置目标芯片
在 VSCode 底部状态栏,确认目标芯片为
ESP32-S3。如果不是,点击选择正确的芯片。编译项目
按
Ctrl+Shift+P,输入ESP-IDF: Build或使用快捷键Ctrl+B。烧录固件
使用 USB 连接开发板,执行
ESP-IDF: Flash或快捷键Ctrl+Alt+F。提示
如果开发板进入下载模式失败,先按住 BOOT 按钮,再按一下 RESET 按钮,然后松开 BOOT。
打开串口监视器
按
Ctrl+Shift+P,输入ESP-IDF: Monitor或快捷键Ctrl+Alt+M。可以看到输出了
Hello, BeShell!。
使用 BeConsole 调试
BeConsole 是一个网页端 IDE,可以通过串口或 WiFi 连接 ESP32 设备,支持实时编辑代码和交互式命令。
打开 BeConsole
在浏览器中访问 https://beconsole.become.cool。
连接设备
点击左上角连接按钮,选择串口(需授权浏览器访问串口),波特率选择
115200。实时编辑
连接成功后,可以在代码编辑区修改
main.js:import * as console from "console" console.log("Hello, BeShell!") console.log("Hello, World!")修改完成后,点击工具栏的 Save & Reboot 按钮,设备会自动重启并运行新代码。
在串口监视器中可以看到:
Hello, BeShell! Hello, World!
