项目概览
FastBee-Arduino 将 ESP32 设备、Web 控制台、外设驱动和本地规则引擎组合在一起。用户通过浏览器完成配置,固件负责执行、采集、上报和恢复。
页面导读
页面内容FastBee-Arduino 项目概览:统一架构、运行闭环、功能边界与典型案例。
适用场景适合在动手前了解固件能做什么、不能做什么的用户,避免误选硬件与功能。
前置条件无;建议结合硬件与环境对比页确认开发板型号。
案例展示已独立成页,见 案例展示。
运行闭环
功能边界
| 模块 | 当前能力 |
|---|---|
| Web | AsyncWebServer、REST API、SSE、响应式页面;登录后访问管理接口 |
| 网络 | WiFi AP/STA、mDNS;可选 W5500 以太网和 EC801E-CN 4G |
| 协议 | MQTT/MQTTS、Modbus RTU 主站;从站功能默认未编译 |
| 外设 | GPIO、ADC/PWM、传感器、显示、RF/RFID、电机和 Modbus 子设备 |
| 规则 | 平台、定时、事件、轮询触发;GPIO、传感器、Modbus、显示、脚本等动作 |
| 运维 | 配置导入导出、日志、健康指标、看门狗、OTA(仅 A/B 分区环境) |
统一架构
项目维护一个固件产品;发布环境共享公共编译配置 unified_flags,它只是编译参数复用段,OTA、红外等硬件能力由具体环境覆盖;实际准入由编译、用户选择、预算和运行期保护共同决定:
text
compiled(编译进固件)
AND userEnabled(/config/features.json 中已开启)
AND budgetPassed(启动内存预算通过)
AND NOT runtimeDisabled(未被运行期保护临时停用)因此,各硬件目标复用统一源码和功能模型,但须烧录匹配芯片及分区的镜像,不能跨芯片互刷。配置可按需启停已编译且硬件支持的功能;设备屏幕仅面向 ESP32-S3,其他目标不提供该能力。请以“功能配置”页面和 /api/features/status 的 compiled、userEnabled、active 字段为准。
硬件环境
| 环境 | Flash | PSRAM | OTA | 说明 |
|---|---|---|---|---|
esp32-F4R0 | 4MB | 无 | 否 | 经典 ESP32 通用节点 |
esp32-F8R0 | 8MB | 无 | 是 | ESP32-WROOM OTA 节点 |
esp32-F8R8 | 8MB | 8MB | 是 | ESP32-WROVER 网关/缓存 |
esp32c3-F4R0 | 4MB | 无 | 否 | 低成本 WiFi 节点 |
esp32c6-F4R0 | 4MB | 无 | 否 | WiFi 6 低成本节点 |
esp32c6-F8R0 | 8MB | 无 | 是 | WiFi 6 OTA 节点 |
esp32s3-F8R0 | 8MB | 无 | 是 | S3 无 PSRAM OTA 节点 |
esp32s3-F8R8 | 8MB | 8MB | 是 | S3 主力开发/控制器 |
esp32s3-F16R8 | 16MB | 8MB | 是 | 大容量网关/控制器 |
以上 9 个环境均属于正式发布矩阵。环境名称中的 F 表示 Flash,R 表示 PSRAM;F4R0 是 4MB Flash + 无 PSRAM,不需要改成 N4R0。标准命名不再使用 F8R4,4MB PSRAM 仅作为厂商自定义配置。最终能力以实际模组规格和构建配置为准。
资源与保护
- 4MB 分区表只有一个 app 槽,OTA 路由不会注册。
- 8MB/16MB 分区表提供
app0/app1,并启用 Web 上传和 URL OTA。 FeatureBudget在启动时按内存需求检查功能;预算拒绝时/api/system/status将高风险功能标记为no-memory。- WebMemoryGuard 会在低内存时对重型 API 返回
503和Retry-After,客户端应稍后重试。 - 网络失败、MQTT 断线和 AP 回退均有自动恢复流程;串口日志和
/api/system/diag-bundle可用于定位问题。
适合的使用方式
- 快速验证:在线烧录合并固件,连接 AP 后直接配置。
- 现场节点:WiFi STA + MQTT,上报传感器并通过规则控制 GPIO/继电器。
- 工业网关:W5500/4G + Modbus RTU,轮询从站并映射为本地外设。
- 本地自动化:不依赖云端,使用定时、事件或轮询规则完成闭环控制。

