今天闲着,把吃灰的 ESP32-CAM 拉出来遛遛
目标:让浏览器里能蹲到一个 30 fps 的小监控,全程 30 min 搞定,踩坑算我的。
1. 驱动:CH340 一路畅通
插上板子没反应?八成差驱动。
官网直接撸 CH343SER.exe,装完在“设备管理器”看到 COM× 就算过关。
小提示:如果后面上传一直卡“Connecting...”,先别怀疑线,把驱动重装一遍再说,CH340 就这点脾气。
2. Arduino IDE:两步搞定环境
- 装 IDE:
官网 arduino.cc 下个最新版,一路 Next。 - 装 ESP32 全家桶:
- 打开 IDE → 文件 → 首选项 → 附加开发板管理器网址,粘进去
https://dl.espressif.com/dl/package_esp32_index.json - 工具 → 开发板 → 开发板管理器,搜 “esp32” → 安装(体积略大,喝杯奶茶)。
- 打开 IDE → 文件 → 首选项 → 附加开发板管理器网址,粘进去
安装完重启 IDE,开发板选 “ESP32 Worver Module”,其他默认即可。
3. 让摄像头“上网”
3.1 拿官方例程
文件 → 示例 → ESP32 → Camera → CameraWebServer,点一下就打开。
3.2 改三行代码
const char* ssid = "你家WiFi";
const char* password = "WiFi密码";
#define CAMERA_MODEL_AI_THINKER // 把别的型号注释掉,只留这一行
3.3 进入下载模式并上传
接线:
USB-TTL ESP32-CAM
5V → 5V
GND → GND
TXD → U0R (RX)
RXD → U0T (TX)
IO0 → GND (下载时必须拉低)步骤:
- 按住 RESET → 2. 点 IDE 上传 → 3. 看到 “Connecting...” 松 RESET → 4. 进度条跑完自动重启。
上传成功马上断开 IO0 与 GND,再按一次 RESET,板子就会连 WiFi。
4. 看视频去
工具 → 串口监视器,波特率 115200,等个几秒出现:
Camera Ready! Use 'http://192.168.x.x' to connect
把 IP 复制到浏览器,点 “Start Stream”,画面秒出。
5. 帧率不够?三行参数秒提 FPS
回到 CameraWebServer.ino,搜到下面几个值,照着改:
config.frame_size = FRAMESIZE_SVGA; // 800×600 够用
config.jpeg_quality = 12; // 画质降一点,数据量小
config.grab_mode = CAMERA_GRAB_LATEST;// 永远拿最新帧,延迟最低
重新上传,肉眼可见地流畅许多。
6. 容易翻车的点
- 供电:电脑 USB 口经常喂不饱,外接 5 V 1 A 以上电源最稳。
- 下载失败:IO0 没接地、接触不良、线太长,按 RESET 的时机不对,都可能导致 “No serial data received”。
- Brownout 报错:画面一卡一卡还重启,就是电压掉坑,换粗线 + 换 USB3.0 口,或直接上独立 5 V。
7. 完工!
一块不到 30 块的板子,加几行代码就能在局域网里“直播”,帧率 20-30 fps 毫无压力。
想再玩花一点,把 MJPEG 流嵌到 Node-RED、HomeAssistant,甚至加上人脸识别,都是后话了。
今天先这样,去喝杯咖啡,欣赏一下自己的小监控吧。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运阳的小窝
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果