核心优势
≤¥50
项目预算上限
WebUSB
手机直连烧录
95%
Blockly 代码正确率
70%
硬件项目完成率
项目案例
智能气象站
¥35
- ESP32 开发板 (¥15)
- DHT11 温湿度传感器 (¥5)
- BMP280 气压传感器 (¥8)
- 面包板 + 杜邦线 (¥7)
光合作用模拟器
¥42
- Arduino Nano (¥12)
- 光敏电阻模块 (¥3)
- RGB LED 灯 (¥5)
- OLED 显示屏 (¥15)
- 其他配件 (¥7)
智能避障小车
¥48
- Arduino Uno (¥18)
- HC-SR04 超声波传感器 (¥6)
- SG90 舵机 (¥5)
- 小车底盘 + 电机 (¥12)
- 电池盒 + 开关 (¥7)
WebUSB 一键烧录
┌──────────┐ USB ┌──────────────┐
│ 手机 │ ─────────────────▶ │ Arduino │
│ 浏览器 │ WebUSB 通信 │ ESP32 │
└────────── │ ──────────────┘
│ │
▼ ▼
┌──────────┐ ┌──────────────┐
│ Blockly │ │ Python 后端 │
│ 代码编辑 │ │ 编译服务 │
└──────────┘ └──────────────┘
无需安装任何软件,通过手机浏览器即可完成:
- Blockly 图形化编程编辑代码
- 后端 Python 服务编译为 hex 文件
- WebUSB API 直接烧录到开发板
- 实时串口调试查看输出
Blockly 代码示例
智能气象站数据采集
// Blockly 生成的 Arduino 代码
#include <DHT.h>
#include <Adafruit_BMP280.h>
DHT dht(2, DHT11);
Adafruit_BMP280 bmp;
void setup() {
Serial.begin(9600);
dht.begin();
bmp.begin(0x76);
}
void loop() {
// 读取温湿度
float temp = dht.readTemperature();
float humi = dht.readHumidity();
// 读取气压
float pressure = bmp.readPressure() / 100.0F;
// 发送数据到串口
Serial.print("Temp:");
Serial.print(temp);
Serial.print(",Humi:");
Serial.print(humi);
Serial.print(",Pressure:");
Serial.println(pressure);
delay(2000);
}
硬件项目库结构
hardware_projects/
├── weather_station/
│ ├── circuit_diagram.png # 电路图
│ ├── arduino_code.ino # Arduino 代码
│ ├── blockly_template.json # Blockly 模板
│ ├── components.json # 物料清单
│ └── README.md # 项目说明
├── photosynthesis_simulator/
│ └── ...
└── obstacle_avoidance_car/
└── ...
技术栈
- Arduino / ESP32 - 主流开源硬件平台
- WebUSB API - 浏览器直连烧录
- Blockly - 图形化编程编辑器
- Python Serial - 串口通信后端
- Supabase - 项目数据存储