Remote camera for esp-idf.
Take a picture and Publish it via FTP.
esp-idf ver4.1 or later.
Use a USB-TTL converter.
ESP-32 | USB-TTL |
---|---|
U0TXD | RXD |
U0RXD | TXD |
GPIO0 | GND |
5V | 5V |
GND | GND |
git clone https://github.com/nopnop2002/esp-idf-remote-camera
cd esp-idf-remote-camera
git clone https://github.com/espressif/esp32-camera components
make menuconfig
make flash monitor
Change GPIO0 to open and press the RESET button.
Set the following items using menuconfig.
ESP32 supports the following file systems.
1.SPIFFS file system on FLASH
2.FAT file system on FLASH
3.FAT file system on SPI peripheral SDCARD
4.FAT file system on SDMMC peripheral SDCARD
You can select any one using menuconfig.
- Using FAT file system on SPI peripheral SDCARD
Must be formatted with FAT32 before use
ESP32 pin | SPI pin | Notes |
---|---|---|
GPIO14(MTMS) | SCK | |
GPIO15(MTDO) | MOSI | 10k pull up if can't mount |
GPIO2 | MISO | |
GPIO13(MTCK) | CS | |
3.3V | VCC | Can't use 5V supply |
GND | GND |
- Using FAT file system on SDMMC peripheral SDCARD
Must be formatted with FAT32 before use
ESP32 pin | SD card pin | Notes |
---|---|---|
GPIO14(MTMS) | CLK | 10k pullup |
GPIO15(MTDO) | CMD | 10k pullup |
GPIO2 | D0 | 10k pullup |
GPIO4 | D1 | not used in 1-line SD mode; 10k pullup in 4-line SD mode |
GPIO12(MTDI) | D2 | not used in 1-line SD mode; 10k pullup in 4-line SD mode |
GPIO13 (MTCK) | D3 | not used in 1-line SD mode, but card's D3 pin must have a 10k pullup |
N/C | CD | optional, not used in the example |
N/C | WP | optional, not used in the example |
You can choose the file name on the FTP server side from the following.
1.Always the same file name
2.File name based on date and time
When you choose date and time file name, you will need an NTP server.
Fixed file name
File name based on date and time
You can choose one of the following shutter methods
- Shutter is the Enter key on the keyboard
For operation check
-
Shutter is a GPIO toggle
-
Initial Sate is PULLDOWN
The shutter is prepared when it is turned from OFF to ON, and a picture is taken when it is turned from ON to OFF. -
Initial Sate is PULLUP
The shutter is prepared when it is turned from ON to OFF, and a picture is taken when it is turned from OFF to ON.
-
I confirmed that the following GPIO can be used.
GPIO | PullDown | PullUp |
---|---|---|
GPIO12 | OK | NG |
GPIO13 | OK | OK |
GPIO14 | OK | OK |
GPIO15 | OK | OK |
GPIO16 | NG | NG |
- Shutter is TCP Socket
You can connect with mDNS hostname.
You can use tcp_send.py.
python ./tcp_send.py
- Shutter is UDP Socket
You can use udp_send.py.
python ./udp_send.py
ESP32-CAM by AI-Thinker have flash light on GPIO4.