# device is https://www.amazon.com/ESP32-CAM-Bluetooth-Camera-Module-Development/dp/B07S5PVZKV/ref=sr_1_3

# has no rst pin, so 
#  1. connect DTR to IO0
#  2. inv monitor-usb --board office_back_cam
#  3. press reset button
#  4. ctrl-c,  inv program-board-over-usb --board office_back_cam

# mosquitto_sub  -v -t office_back_cam/status

# bang(pts/15):/my/proj/homeauto/espNode% catchsegv ./readcam.py --cam office_back_cam  --port 10021



esphome:
  name: garage_outside_cam
  platform: ESP32
  board: esp32cam
  build_path: build

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  domain: ''
  use_address: '10.2.0.44'

mqtt:
  broker: '10.2.0.1'
  port: 1883
  username: ''
  password: ''
  
logger:
  baud_rate: 115200
  level: DEBUG
  
ota:

api:
  port: 6053
  password: 'MyPassword'
  
# https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/
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

  name: camera

  # https://github.com/esphome/esphome/blob/dev/esphome/components/esp32_camera/esp32_camera.cpp#L265 says a 'stream' is 5 sec long

  # setting to 5 causes 'Setup Failed: ERROR'
  max_framerate: 4 fps
  # https://github.com/raphaelbs/esp32-cam-ai-thinker#capabilities says camera
  # is likely ov2640 with these native resolutions:
  # uxga=1600x1200 svga=800x600 cif=400x296
  
  #   160x120 (QQVGA)    'Got invalid frame', then no more
  #   128x160 (QQVGA2)
  #   176x144 (QCIF)     fps: 25 jpg: 20 img: 2KB burst of frames then stopped. 
  #                      fps: 20 jpg: 20 no frames
  #   240x176 (HQVGA)
  #   320x240 (QVGA)     fps: 10 jpg: 20 some frames, 4.5KB
  #   400x296 (CIF)
  #   640x480 (VGA)      fps: 4 jpg: 10 works,  20KB
  #   800x600 (SVGA)
  #   1024x768 (XGA)
  #   1280x1024 (SXGA)   fps: 1  works
  #   1600x1200 (UXGA)

  resolution: 640x480
  
  # 10 to 63. default=10. higher is
  # worse. https://github.com/esphome/esphome/blob/6682c43dfaeb1c006943ae546145e5f22262cadb/esphome/components/esp32_camera/__init__.py#L84
  # sets the lower limit to 10, but
  # https://github.com/raphaelbs/esp32-cam-ai-thinker/blob/master/components/ov2640/sensors/ov2640.c#L345
  # suggests that it might be 0 (for an ov2640, anyway).
  jpeg_quality: 10
 
output:
  - platform: gpio
    pin: GPIO4
    id: gpio_4

light:
  - platform: binary
    output: gpio_4
    name: flash
