FRScz.com
FRScz
O mně

Blog ·

Kompakt z ESP32-CAM — návod na stavbu

Domácí digitální fotoaparát s fyzickou spouští, ukládáním na SD kartu a webovou galerií přes Wi-Fi, postavený na AI-Thinker ESP32-CAM se senzorem OV3660.

  • ESP32-CAM
  • OV3660
  • Arduino
  • domácí fotoaparát
  • Wi-Fi

Domácí digitální fotoaparát s fyzickou spouští, ukládáním na SD kartu a webovou galerií přes Wi-Fi — postavený na modulu AI-Thinker ESP32-CAM se senzorem OV3660.

OV3660 · 3 Mpx · SD karta · galerie přes Wi-Fi · Arduino IDE · celkem asi 200 Kč

00 — Seznam součástek

Ks Součástka Poznámka
1× AI-Thinker ESP32-CAM + OV3660 + základní deska váš modul
1× Karta microSD (Class 10, naformátovaná na FAT32) doporučeno 8–32 GB
1× Tlačítko bez aretace (6mm mikrospínač) spoušť
1× Li-Po baterie 3,7 V, 1000–2000 mAh nebo USB powerbanka
1× Nabíjecí modul TP4056 pro Li-Po (s ochranou) pro nabíjení baterie
1× Step-up měnič MT3608 (výstup 5 V) pokud napájíte přímo z Li-Po
1× Posuvný přepínač SPDT zapnutí a vypnutí
— Propojovací kabely, smršťovací bužírky, malá prototypová deska

01 — Zapojení hardwaru

Základní deska AI-Thinker už obsahuje převodník USB na sériovou linku pro programování. Pro stavbu fotoaparátu stačí zapojit tlačítko spouště a napájení.

Důležité: ESP32-CAM v jednobitovém režimu MMC používá piny GPIO pro SD kartu. GPIO13 je v tomto režimu volný a slouží pro tlačítko spouště. Za běhu fotoaparátu NEPŘIPOJUJTE nic dalšího ke GPIO4 (bleskové LED) ani k pinům SD karty.

Tlačítko spouště

Pin ESP32-CAM Součástka Poznámka
GPIO13 Pin tlačítka 1 INPUT_PULLUP — tlačítko stahuje na GND
GND Pin tlačítka 2 Aktivní v nule — rezistor není potřeba

Napájení

Modul Odkud Kam Poznámka
Posuvný přepínač Li-Po + TP4056 BAT+ Hlavní vypínač
TP4056 BAT+ / BAT− MT3608 IN+ / IN− Ochrana nabíjení
MT3608 OUT+ 5 V základní desky Zvýšení na 5 V, dolaďte trimrem
Společná zem Všechny GND GND základní desky Ideálně zapojení do hvězdy

Nejjednodušší napájení: pokud chcete bateriový obvod zatím vynechat, napájejte základní desku přes její port micro-USB z malé USB powerbanky. Všechno tak můžete hned vyzkoušet.

SD karta

Slot na kartu microSD je přímo na modulu ESP32-CAM. Kartu naformátujte na FAT32 a vložte ji před zapnutím. Firmware sám vytvoří složku /photos.

02 — Nastavení firmwaru

Nastavení Arduino IDE

  1. Nainstalujte Arduino IDE 2.x z arduino.cc.

  2. V File → Preferences → Additional Boards Manager URLs přidejte adresu balíčku desek ESP32:

    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. Otevřete Tools → Board → Boards Manager, vyhledejte esp32 od Espressifu a nainstalujte verzi 2.x.

  4. Vyberte desku AI Thinker ESP32-CAM.

  5. Nastavte schéma oddílů Huge APP (3MB No OTA/1MB SPIFFS).

  6. Nastavte PSRAM na Enabled.

Úprava firmwaru

Otevřete esp32cam_camera.ino a na řádcích 17–18 doplňte přihlašovací údaje k Wi-Fi:

const char* WIFI_SSID     = "YourNetworkName";
const char* WIFI_PASSWORD = "YourPassword";

Nahrání firmwaru

Před nahráním: základní deska má pro programovací režim tlačítko IO0. Držte IO0, stiskněte RESET (nebo odpojte a připojte napájení), tím přepnete do režimu bootloaderu, a pak v Arduino IDE klikněte na Upload.

  1. Připojte základní desku k počítači přes USB (používá vestavěný čip CH340/CP2102).
  2. V Arduino IDE vyberte správný COM/sériový port.
  3. Podržte tlačítko IO0 na základní desce.
  4. Jednou stiskněte RESET (IO0 pořád držte).
  5. Pusťte IO0 a v Arduino IDE klikněte na Upload ↑.
  6. Po dokončení nahrávání znovu stiskněte RESET, aby se program spustil.

Ověření funkce

  1. Otevřete Serial Monitor na 115200 baud.
  2. Měli byste vidět: inicializace kamery OK → SD karta OK → IP adresa Wi-Fi.
  3. Otevřete prohlížeč a přejděte na zobrazenou IP adresu.
  4. Webová galerie by se měla hned načíst.

03 — Webová galerie

Webové rozhraní běží přímo na ESP32. Z libovolného zařízení v místní síti otevřete:

http://<ESP32-IP-address>/

Dostupné adresy:

URL Metoda Popis
/ GET Webová galerie
/capture GET Pořídí fotku, vrátí JSON
/list GET Pole JSON se všemi názvy fotek
/photo?name=IMG_1.jpg GET Zobrazí fotku v prohlížeči
/photo?name=IMG_1.jpg&dl=1 GET Stáhne fotku

04 — Ladění OV3660

OV3660 je 3Mpx senzor (lepší než běžný OV2640). Ve firmwaru můžete upravit tato nastavení:

sensor_t* s = esp_camera_sensor_get();
s->set_vflip(s, 1);        // 1 = flip vertically (OV3660 default mount)
s->set_hmirror(s, 0);      // 1 = mirror horizontally
s->set_brightness(s, 1);   // -2 to +2
s->set_saturation(s, 0);   // -2 to +2
s->set_contrast(s, 0);     // -2 to +2
s->set_whitebal(s, 1);     // auto white balance
s->set_awb_gain(s, 1);     // AWB gain
s->set_aec2(s, 1);         // auto exposure advanced
s->set_ae_level(s, 0);     // -2 to +2 exposure bias

Možnosti rozlišení

Konstanta Rozlišení Použití
FRAMESIZE_UXGA 1600×1200 Nejlepší kvalita (výchozí)
FRAMESIZE_SXGA 1280×1024 Dobrý kompromis
FRAMESIZE_XGA 1024×768 Rychlejší snímání
FRAMESIZE_VGA 640×480 Nejrychlejší, malé soubory

05 — Nápady na krabičku

Několik způsobů, jak stavbu zabalit:

Varianta A — tělo z 3D tiskárny

Na Printables nebo Thingiverse hledejte „ESP32-CAM case“. Pro modul AI-Thinker existuje spousta návrhů. Doplňte vlastní horní panel s otvorem pro objektiv OV3660, štěrbinou pro SD kartu a zapuštěným tlačítkem spouště.

Varianta B — plechovka od Altoids / instalační krabička

Do instalační krabičky z ABS o rozměrech 100 × 60 mm od TME/GM Electronic se vejde modul i malá Li-Po baterie. Vyvrtejte otvor pro objektiv (OV3660 potřebuje výřez asi 10 mm) a tlačítko umístěte nahoru.

Varianta C — kompaktní USB powerbanka

Některé ultratenké powerbanky (Xiaomi Slim 5000) jsou sotva větší než samotný ESP32-CAM. Přilepte modul na záda, připojte krátký USB kabel a máte napájení bez jediného pájení.

Klíčové rozměry: deska AI-Thinker ESP32-CAM: 40 × 27 mm. Kamerový modul OV3660 vyčnívá asi 15 mm nad desku. Základní deska přidá zespodu asi 5 mm.

06 — Řešení problémů

Příznak Pravděpodobná příčina Řešení
Camera init failed 0x105 Kamera nebyla rozpoznána Zkontrolujte usazení plochého kabelu a dostatečné napájení (≥ 500 mA)
SD card mount failed Špatný formát nebo vadná karta Přeformátujte na FAT32, zkuste jinou kartu
Obraz vzhůru nohama Uchycení OV3660 Přepněte set_vflip(s, 0) nebo 1
Wi-Fi se nepřipojí Špatné údaje nebo dosah Zkontrolujte SSID a heslo, přibližte se k routeru
Brownout reset při focení Nedostatečný proud Použijte kvalitní USB kabel a zdroj ≥ 1 A
Fotka uložená, ale má 0 bajtů Chyba framebufferu Přidejte delay(500) před první snímek v setup()
Tlačítko spouští vícekrát Zákmity Zvyšte DEBOUNCE_MS na 500

Kompletní arduino sketch esp32cam_camera.ino leží vedle původního návodu v repozitáři mého portfolia (blog-posts/pointandshoot-cam/esp32cam_camera.ino).

← Všechny články

O mně