一、硬件准备与开发环境配置
硬件连接
使用USB转TTL模块连接ESP32-CAM(GPIO0需接地进入烧录模式)
7
确保摄像头模块(如OV2640)正确插入排线,避免反接或接触不良
7
Arduino IDE配置
安装Arduino IDE 1.8.19及以上版本
1
添加ESP32开发板支持:在“首选项”中填入https://dl.espressif.com/dl/package_esp32_index.json,然后通过“开发板管理器”安装ESP32库
7
选择开发板型号:AI Thinker ESP32-CAM
7
二、代码烧录与摄像头配置
示例程序修改
打开示例:文件 > 示例 > ESP32 > Camera > CameraWebServer
7
修改Wi-Fi配置:替换ssid和password为你的网络信息
7
启用摄像头型号:取消注释#define CAMERA_MODEL_AI_THINKER(对应安信可模块)
7
烧录与测试
编译并上传代码,成功后断开GPIO0与GND的连接,按RST键重启
7
访问ESP32-CAM的本地IP(通过串口监视器查看)验证视频流,默认地址为http://<ESP32_IP>/stream
6
三、Home Assistant集成
通过ESPHome接入(推荐)
在Home Assistant中安装ESPHome插件(Supervised版本)或独立运行Docker容器
5
创建新设备,配置YAML文件如下:
yaml
Copy Code
esp32_camera:
external_clock:
pin: GPIO0
frequency: 20MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
保存后编译并烧录至ESP32-CAM
4
通过Generic Camera集成
在configuration.yaml中添加:
yaml
Copy Code
camera:
- platform: generic
name: "ESP32_CAM"
still_image_url: "http://<ESP32_IP>/capture"
stream_source: "http://<ESP32_IP>/stream"
重启Home Assistant后添加摄像头卡片
1
四、调试与优化
问题排查
若视频流卡顿,降低分辨率或帧率(修改ESPHome配置中的framesize)
4
确保MQTT服务器配置正确(若使用Tasmota固件需设置setOption51 1)
1
安全建议
为视频流启用密码保护(通过ESPHome的authentication配置)
5
通过上述步骤,ESP32-CAM的视频流可稳定显示在Home Assistant中,适用于智能监控等场景
4
5。
参考 |