How to retrieve images from WROVER esp32 camera

Hi

Firstly - this is my first post so apologies if I break any rules - just let me know and I’ll fix up

I have ESPHOME with Home Assistant that is running Supervisor mode on a Raspberry Pi4. I have recently configured up a Freenove ESP32-WROVER-DEV which has an “inbuilt” camera. Everything appears to be working fine and the camera appears to be taking shots every 10seconds - my question is how do I recover these shots in HA?

Here’s the log output and YAML if this helps at all

[10:49:13][I][app:102]: ESPHome version 2022.6.3 compiled on Aug 16 2022, 10:46:47
[10:49:13][C][wifi:491]: WiFi:
[10:49:13][C][wifi:353]:   Local MAC: 44:17:93:E3:B5:24
[10:49:13][C][wifi:354]:   SSID: [redacted]
[10:49:13][C][wifi:355]:   IP Address: 192.168.1.20
[10:49:13][C][wifi:357]:   BSSID: [redacted]
[10:49:13][C][wifi:358]:   Hostname: 'wrover1'
[10:49:13][C][wifi:360]:   Signal strength: -36 dB ▂▄▆█
[10:49:13][C][wifi:364]:   Channel: 12
[10:49:13][C][wifi:365]:   Subnet: 255.255.255.0
[10:49:13][C][wifi:366]:   Gateway: 192.168.1.1
[10:49:13][C][wifi:367]:   DNS1: 192.168.1.1
[10:49:13][C][wifi:368]:   DNS2: 120.19.253.253
[10:49:13][C][logger:275]: Logger:
[10:49:13][C][logger:276]:   Level: DEBUG
[10:49:13][C][logger:277]:   Log Baud Rate: 115200
[10:49:13][C][logger:278]:   Hardware UART: UART0
[10:49:13][C][esp32_camera:048]: ESP32 Camera:
[10:49:13][C][esp32_camera:049]:   Name: My_Camera
[10:49:13][C][esp32_camera:050]:   Internal: NO
[10:49:13][C][esp32_camera:052]:   Data Pins: D0:4 D1:5 D2:18 D3:19 D4:36 D5:39 D6:34 D7:35
[10:49:13][C][esp32_camera:053]:   VSYNC Pin: 25
[10:49:13][C][esp32_camera:054]:   HREF Pin: 23
[10:49:13][C][esp32_camera:055]:   Pixel Clock Pin: 22
[10:49:13][C][esp32_camera:056]:   External Clock: Pin:21 Frequency:20000000
[10:49:13][C][esp32_camera:057]:   I2C Pins: SDA:26 SCL:27
[10:49:13][C][esp32_camera:058]:   Reset Pin: -1
[10:49:13][C][esp32_camera:076]:   Resolution: 640x480 (VGA)
[10:49:13][C][esp32_camera:101]:   JPEG Quality: 10
[10:49:13][C][esp32_camera:103]:   Contrast: 0
[10:49:13][C][esp32_camera:104]:   Brightness: 0
[10:49:13][C][esp32_camera:105]:   Saturation: 0
[10:49:13][C][esp32_camera:106]:   Vertical Flip: ON
[10:49:13][C][esp32_camera:107]:   Horizontal Mirror: ON
[10:49:13][C][esp32_camera:108]:   Special Effect: 0
[10:49:13][C][esp32_camera:109]:   White Balance Mode: 0
[10:49:13][C][esp32_camera:112]:   Auto Exposure Control: 1
[10:49:13][C][esp32_camera:113]:   Auto Exposure Control 2: 0
[10:49:13][C][esp32_camera:114]:   Auto Exposure Level: 0
[10:49:13][C][esp32_camera:115]:   Auto Exposure Value: 300
[10:49:13][C][esp32_camera:116]:   AGC: 1
[10:49:13][C][esp32_camera:117]:   AGC Gain: 0
[10:49:13][C][esp32_camera:118]:   Gain Ceiling: 0
[10:49:13][C][esp32_camera:124]:   Test Pattern: NO
[10:49:13][C][psram:020]: PSRAM:
[10:49:13][C][psram:021]:   Available: YES
[10:49:13][C][captive_portal:088]: Captive Portal:
[10:49:13][C][mdns:084]: mDNS:
[10:49:13][C][mdns:085]:   Hostname: wrover1
[10:49:13][C][ota:085]: Over-The-Air Updates:
[10:49:13][C][ota:086]:   Address: wrover1.local:3232
[10:49:13][C][ota:089]:   Using Password.
[10:49:13][C][api:138]: API Server:
[10:49:13][C][api:139]:   Address: wrover1.local:6053
[10:49:13][C][api:141]:   Using noise encryption: YES
[10:49:16][D][esp32_camera:168]: Got Image: len=9480
[10:49:26][D][esp32_camera:168]: Got Image: len=9473
[10:49:31][D][api:102]: Accepted ::FFFF:C0A8:10E
[10:49:32][D][api.connection:861]: Home Assistant 2022.8.4 (::FFFF:C0A8:10E): Connected successfully
**[10:49:36][D][esp32_camera:168]: Got Image: len=9545**
YAML
esphome:
  name: wrover1

esp32:
  board: esp-wrover-kit
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "[redacted]"

ota:
  password: "[redacted]"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Wrover1 Fallback Hotspot"
    password: [redacted]

captive_portal:

esp32_camera:
  external_clock:
    pin: GPIO21
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO4, GPIO5, GPIO18, GPIO19, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22

  # Image settings
  name: My_Camera
  # 

Any help would be greatly appreciated - thanks

By adding the camera entity to a home assistant dashboard page.

Thanks for your quick reply - no sooner than I had read your reply than I noticed HA had added it to the dfeault dashboard all on it’s own. The only change I made just beforehand was to remove a blank space from the camera name - I suspect this made the difference

Anyhow - thanks for your reply

1 Like

Did you have any other configuration related to the camera? Your log shows that there are some camera parameters (contrast etc.), but I suppose those could be visible on my log too if the camera setup succeeded. I have a similar board (not Freenove branded though) and I cannot get the camera working. ESPHOME camera - Setup Failed: ESP_ERR_NOT_FOUND - #4 by rantaki3

I start to think that I should just order another, this time Freenove board, as it seems to work for you.

Yes but you don’t even follow advice.

I suppose you cannot answer on behalf of ian.c.bell? I asked the question for confirming that there was nothing more to get it working i.e. the example worked for his board as it is. If so, then I will get the same board - actually ordered it already.

Hi Ian, welcome! Interesting as I tried the WROVER board but was not succesfull in getting it running properly! But I might be able to help you with other issues:
First of all, if your camera IS running you can install MotionEye what runs inside HA and this is a topic in itself, what you can do with it! FANTASTIC!
I used the ESP32-CAM boards with a USB interface to program and works fine as end product. The WROVER has many more functionality and you can make multifunctional units with those! Please use WROVER to search in Youtube for an example. Most I saw was working with Arduino but this is convertible!

Thanks for the pointer. I actually already have MotionEye running very successfully on a Raspberry Pi Zero triggered by a zigbee motion detector (which has run for >1 year on single battery and only 15% discharged). Whole setup send me sms if motion detected when I’m away from home