EnvSense-Box 硬件设计
1. 主控单元
| 参数 | 规格 |
|---|---|
| 芯片 | ESP32-WROOM-32E |
| 内核 | 双核 Xtensa LX6, 240MHz |
| 外设 | I2C×2、UART×3、SPI×3、GPIO、RMT |
| 无线 | WiFi 802.11 b/g/n + BLE 4.2 |
选型原因: 丰富的外设接口满足四类传感器(3×I2C + 1×UART)并发采集需求,WiFi 能力为后续 MQTT 接入预留。
2. Pin 分配
| 外设 | 引脚 | 说明 |
|---|---|---|
| I2C SCL | GPIO 26 | AHT20 / BMP280 / BH1750 共用总线 |
| I2C SDA | GPIO 27 | 同上 |
| UART2 TX | GPIO 17 | SC8CO2 CO₂ 传感器 |
| UART2 RX | GPIO 16 | SC8CO2 CO₂ 传感器 |
| UART0 TX/RX | 默认 | 日志 + JSON 数据输出(串口调试) |
| WS2812 LED | GPIO 5 | 状态指示灯(RMT 外设) |
3. I2C 总线设备
三个传感器共享一组 I2C 总线(SCL=GPIO26, SDA=GPIO27, 100kHz),通过不同地址区分:
| 设备 | 型号 | I2C 地址 | 说明 |
|---|---|---|---|
| 温湿度传感器 | AHT20 | 0x38 | SMD 封装,集成式温湿度传感器 |
| 气压传感器 | BMP280 | 0x76 | Bosch 数字气压计,含温度补偿 |
| 光照传感器 | BH1750 | 0x23 | 数字光照强度计,连续测量模式 |
4. UART 设备
| 设备 | 型号 | 接口 | 波特率 | 协议 |
|---|---|---|---|---|
| CO₂ 传感器 | SC8CO2 | UART2 | 9600 bps | Modbus RTU CRC16 |
通信协议:
- 查询指令:5 字节固定帧
{0x64, 0x69, 0x03, 0x5E, 0x4E} - 响应帧:14 字节,前 2 字节为帧头(0x64, 0x69),字节 4-5 为 CO₂ 浓度值(uint16, ppm),末 2 字节为 CRC16 校验
- 读超时:200ms
5. 状态指示灯
| 参数 | 说明 |
|---|---|
| 型号 | WS2812 智能全彩 LED,1 颗 |
| 连接 | GPIO 5,通过 RMT 外设控制 |
| 分辨率 | 10MHz |
| 绿色 | 所有传感器采集正常(亮度 50%) |
| 红色 | 任一传感器故障或无响应 |
6. 电源管理
| 参数 | 说明 |
|---|---|
| 输入 | 5V DC(Type-C 或排针) |
| 稳压 | 板载 LDO 5V→3.3V,供 ESP32 及 I2C 传感器 |
| 5V 直供 | SC8CO2、WS2812 |
| 工作电流 | < 150mA(平均值) |
7. 原理图
完整原理图见附件:

8. PCB 与结构
PCB 设计文件和 3D 外壳文件见 GitHub 仓库 Hardware/ 目录。


