第四部份:通过使用ESPHome的方式ESP32 Cam加到HomeAssistant
- 在HomeAssistant安装ESPHome插件,安装加载项一定要确认能连上github.com,否则不能加载插件,或添加国内的仓库,可参考:
https://blog.csdn.net/yyandad/article/details/125363539
- 当加载商店的插件显示出来后,选择ESPHome进行安装,安装完成后启动
- 打开webUI,准备添加设备
- 选择NEW DEVICE,输入设备名称,下一步
- 选择ESP32,去掉Use recommended settings的勾选,选择AIThinkerESO32-CAM
- 此时会在ESPHome页面生成yaml配置文件,和产生一个key,这时候点一下key,copy这个Key保存,然后选择SKIP,退出
- 回到ESPHome页面,选择刚才生成的配置文件,点EDIT
- 修改配置文件,注意这里要根据你的主板不同来修改,具体可参考
ESP32 Camera Component — ESPHome
修改以下红色字体部份,保存
#zqO6w/llWuE69Gqwx6U3cvAE2s5ImZE6Ut4gjWH3jHY=
esphome:
name: esp32-5640
friendly_name: esp32-5640
esp32:
board: esp32cam
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "zqO6w/llWuE69Gqwx6U3cvAE2s5ImZE6Ut4gjWH3jHY="
ota:
password: "e04584b5835c56929302ea4605addb2e"
wifi:
ssid: "Guest"
password: "L2021###"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-5640 Fallback Hotspot"
password: "t9e0RbFNQVCQ"
captive_portal:
# Example configuration entry
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
power_down_pin: GPIO32
reset_pin: GPIO15
resolution: 800x600
jpeg_quality: 10
vertical_flip: false
horizontal_mirror: false
brightness: 1
aec2: True
ae_level: 1
contrast: 1
# Image settings
name: MyCamera04
- 将ESP32 Cam和烧录底坐,Microusb连接,将插到树莓派的USB口
- 在配置文件处,选择install,你可以先用Validate在确认yaml配置文件是否正常
- 选择第三项,网上大部份的文章都是选择第四项,手动安装,然后通过软件烧录bin文件,但本人没有成功过,有知道的朋友可以解答一下
- 选择后可以看到一个port口,打开烧录界面
- 等待一些时间出现以下画面,说明成功,按Close退出
- 可以将ESP32 CAM连接到安装了Arduino的电脑验证是否成功,如果能获取到IP,说明已经连接到wifi,记住这个IP.
- 返回到HomeAssistant主页面,导航到配置—设备与服务,进行集成页
- 添加集成,搜索ESPHome
- 输入刚才的那个IP和创建yaml文件时的key
- 在主页面就可看到视频
- 在集成主页面就可看到ESPHome,看到设备和实体。
补充:ESPHome配置摄像头的yaml文件有很多参数,通过ChatGpt查询到以下一些参数,请参考
在 ESPHome 中配置 ESP32 Cam 时,每个参数的可能值取决于具体的功能和支持范围。以下是一些常见参数及其可能的值:
1. resolution
设置摄像头的分辨率。可能的值包括:
SXGA (1280x1024)
UXGA (1600x1200)
XGA (1024x768)
SVGA (800x600)
VGA (640x480)
CIF (400x296)
QVGA (320x240)
HQVGA (240x176)
QQVGA (160x120)
2. jpeg_quality
设置 JPEG 图像的质量。值的范围是 0 到 63,其中 0 是最差质量,63 是最佳质量。
3. vertical_flip 和 horizontal_mirror
这两个参数控制图像的翻转和镜像。可能的值是:
true
false
4. wb_mode (白平衡模式)
控制摄像头的白平衡。可能的值包括:
auto
sunny
cloudy
office
home
5. contrast, brightness, saturation
这些参数控制图像的对比度、亮度和饱和度。它们的值通常在 -2 到 2 的范围内。
6. special_effect
设置特殊效果。可能的值包括:
none
negative
grayscale
red tint
green tint
blue tint
sepia
7. gainceiling
控制图像的增益上限。可能的值取决于你的摄像头硬件,通常包括:
AGC_GAIN_2X
AGC_GAIN_4X
AGC_GAIN_8X
AGC_GAIN_16X
AGC_GAIN_32X
AGC_GAIN_64X
AGC_GAIN_128X
8. lens_correction
启用或禁用镜头校正。可能的值是:
true
false
如果启用镜头校正 (true),你还可以设置以下参数:
horizontal: 水平校正的强度,通常是一个数字值。
vertical: 垂直校正的强度,通常是一个数字值。
radius: 校正的半径,通常是一个数字值。
strength: 校正的强度,通常是一个数字值。
9. 其他高级设置
这些包括 aec_value, aec2, ae_level, agc_gain, gain_ctrl, bpc, wpc, raw_gma, lenc, hmirror, dcw, colorbar 等。这些参数的可能值和具体效果会根据你的摄像头硬件和 ESPHome 的版本有所不同。通常,它们是布尔值(true 或 false)或者数字值,用于微调摄像头的行为和图像处理。