Looking for a way to automate content downloading from a birdfeeder cam

I’ve got a :bird: birdfeeder with a camera, which was supposed to work over wifi. I was hoping to redirect the video stream to Frigate and record the birds as they come.

To my dismay it turned out that the camera can only work in wifi AP mode! Which, after some thought, makes sense, as it is one of these devices for wildlife photography - you leave it in the woods to record something interesting and come back later to download it. Some such devices don’t even have wifi or bluetooth, you simply need to get the memory card out and copy the content. So having wifi with AP mode is a actually much better for such usage.

So, after I learned I cannot make the camera connect to my home wifi, I started to look for a way to automate downloading the recordings periodically.

I played a bit with the camera and the app I found out that:

  1. The device has an sdcard slot and allows loop-recording, overwriting the old content with newer when no space is left. The content is accessible over http once connected to the device’s AP.

  2. The device’s AP is normally off (to conserve energy - it’s a battery device). But it does listen on a specific BLE service for an “open sezame” command from the app. The command literally is a word “open” (and “close” for turning off). It sometimes needs to be sent more than once.

  3. After the “open” command is sent, the device sets up its AP mode (fixed IP, DHCP server) and waits for the clients. It also sets up a simple, rest-API-based server over http, which can provide the content of sdcard, but also allows to change settings, live-streaming and update firmware OTA.
    If no client connects, the AP is turned off after some time (not measured yet).

  4. I opened the device and I could see it is based on an Allwinner chip, which means it might be possible to flash it with openIPC. But I don’t want to try that just yet.

Possible solution:

Now, I think I need a proxy device with BLE and wifi and some storage (hdd?). The proxy would periodically enable the birdfeeder’s wifi and download the content, filtering out duplicates. Then it would disconnect from the birdfeeder and connect to my home wifi and upload the new content to a local network location.

Anyone has an idea for such a setup?

My mini-pc that hosts HA and other stuff is a little bit too far for BLE but maaaybe in reach of the birdfeeder’s wifi. So for enabling the birdfeeders AP over BLE I planned to use a proxy: an esp32-based device with esphome onboard (already in place). But how to proceed further? The HomeAssistant PC has just one wifi adapter and I really don’t want it to temporarily disconnect from my home wifi :slight_smile: Adding one more wifi adapter would solve this, except I’m afraid the distant to the birdfeeder is too big for the connection to be stable anyway.
So now I think the best solution would be to process it all on a dedicated esp32 board, with an additional storage of course. Now it would “merely” be a case of writing a software that does all :slight_smile:

Any other ideas? Maybe some of you have already seen similar setups?