I wrote some Arduino code (C language) based on already available libraries and utilities, togheter with and Android App as controller client, written using the great blockly development environment MIT App Inventor 2.
There are several tutorials nd howtos on the Internet related to ESP32-Cam board description and programming (a good example here). This small board can be easily programmed uploading fi rmware written using Arduino IDE. The only needed support hardware is a PC and an USB serial programmer module (FTDI or CP2102-like TTL-USB converter).
At the end of this page you can find the hex binary file to upload to the ESP32-Cam board and the apk Android App installation file.
After uploading the firmware in the ESP32-Cam board and while the board is still connected to the PC via USB port, make an hardware reset of the board and you should get a message like the following in the serial monitor (I use Moserial in Ubuntu Linux)
After uploading the firmware in the ESP32-Cam board and while the board is still connected to the PC via USB port, make an hardware reset of the board and you should get a message like this in the serial monitor (I use Moserial in Ubuntu Linux).
The highlighted text is the IP address you need to set in the App to connect to Camera WiFi board (software Access Point), this can vary and depends on your setup.
Search for the 'ESP32-Cam' WiFi device on your smartphone and use the 'esp32cam' temporary password to connect. You can then change the password inside the App.
My Android App is based on the WebViewer AI2's component, in order to show streaming real-time video and preview captured and stored jpegs on the on-board SD card. Communication and files trasfer is via httpd (ESP32 Espressif's library for Arduino). A simple FTP server is also available.
Some simple Timelapse functions have been added as well.
The App will create folders on the SD card with a simple naming convention that is based on current date and time, both for manual Capture and Timelapse sequences as well.
Here is a screenshot of one of the several pages available in the App.
Download and install the apk on your smartphone, then run the App and follow the steps showed below.
After the blue welcome screen you should see the first 'Opts' tab. Follow the steps shown below.
Captured and saved images will be stored in SD card in [date]/CAPT-[time].jpg (e.g. 2020-08-12/CAPT-220546.jpg for a frame saved 2020, August 12th at 10:05:46 PM)
The '<|>' button will open the streaming frame widget at full size, in landscape orientation.
'other options' and 'SD card' tabs
Timelapse
Images will be stored in a folder named [date]/[time] (e.g.: 2020-08-12/132652/TLPS-00001 means sequence started 2020, August 12th at 01:26:52 AM, first Timelapse frame)
Small Timelapse MP4 example. Rendered using ffmpeg on Linux with:
ffmpeg -r 60 -f image2 -i TLPS-%05d.jpg -vcodec libx264 -crf 10 -pix_fmt yuv420p lapse.mp4