88 lines
1.6 KiB
YAML
88 lines
1.6 KiB
YAML
substitutions:
|
|
device_name: polly-a1-mini-camera
|
|
friendly_name: "Polly's A1 Camera"
|
|
|
|
esphome:
|
|
name: ${device_name}
|
|
friendly_name: ${friendly_name}
|
|
|
|
esp32:
|
|
board: esp32dev
|
|
framework:
|
|
type: esp-idf
|
|
# minimum_chip_revision: 3.1
|
|
|
|
# Enable logging
|
|
logger:
|
|
level: INFO
|
|
|
|
# Enable Home Assistant API
|
|
api:
|
|
encryption:
|
|
key: "iLF5QCgTVCwgaA5vjTGez03Dfjvns8JvkcwmUN4NXR8="
|
|
|
|
ota:
|
|
- platform: esphome
|
|
password: "58f86a5e60abe60886cec2f65a1d3da5"
|
|
|
|
wifi:
|
|
ssid: !secret wifi_iot_ssid
|
|
password: !secret wifi_password
|
|
|
|
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
|
ap:
|
|
ssid: "${friendly_name} Fallback"
|
|
password: !secret wifi_password
|
|
|
|
captive_portal:
|
|
|
|
# Web server for standalone control (optional, but useful)
|
|
web_server:
|
|
port: 80
|
|
|
|
i2c:
|
|
- id: camera_i2c
|
|
sda: GPIO26
|
|
scl: GPIO27
|
|
|
|
psram:
|
|
mode: quad
|
|
speed: 80MHz
|
|
|
|
esp32_camera:
|
|
external_clock:
|
|
pin: GPIO0
|
|
frequency: 20MHz
|
|
i2c_id: camera_i2c
|
|
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
|
|
vsync_pin: GPIO25
|
|
href_pin: GPIO23
|
|
pixel_clock_pin: GPIO22
|
|
power_down_pin: GPIO32
|
|
resolution: 1024X768
|
|
jpeg_quality: 20
|
|
vertical_flip: False
|
|
horizontal_mirror: True
|
|
max_framerate: 20 fps
|
|
idle_framerate: 0.05 fps
|
|
|
|
# Image settings
|
|
name: ${device_name}
|
|
# brightness: 1
|
|
# contrast: 0
|
|
# agc_gain_ceiling: 2X
|
|
# agc_mode: MANUAL
|
|
# agc_value: 5
|
|
# ...
|
|
|
|
esp32_camera_web_server:
|
|
- port: 8080
|
|
mode: STREAM
|
|
- port: 8081
|
|
mode: SNAPSHOT
|
|
|
|
switch:
|
|
- platform: gpio
|
|
name: "${device_name}-flash"
|
|
pin: 4
|
|
|