ESP32-Cam video streaming

20.12.2020 Arduino #esp #arduino #mac #streaming

Základní zapojení a nastavení pro zprovoznění platformy ESP32-Cam na Mac OS.


Potřebné součástky

  • ESP32-Cam s OV2640.
  • FTDI programátor.
  • Propojovací kabely.

ESP32-CAM je velmi malý kamerový modul s ESP32-S čipem, který je velmi levný přibližně 10$. Kromě kamery OV2640 a několika GPIO pro připojení periferních zařízení obsahuje také slot pro kartu microSD, který může být užitečný pro ukládání snímků pořízených fotoaparátem nebo pro ukládání souborů, které mají sloužit klientům.

bazaar1003542_esp32cam2

ESP32-CAM nedisponuje konektorem USB, takže se využívá FTDI programátor pro nahrávání kódu prostřednictvím pinů U0R a U0T (sériové piny).

ftdi-programmer-esp32-cam

Funkce

Zde je seznam funkcí ESP32-CAM:

  • Nejmenší Wi-Fi BT SoC modul 802.11b / g / n.
  • Nízkoenergetický 32bitový procesor, může také sloužit aplikačnímu procesoru.
  • Rychlost hodin až 160 MHz, souhrnný výpočetní výkon až 600 DMIPS.
  • Integrovaný 520 KB SRAM, externí 4MPSRAM.
  • Podporuje UART / SPI / I2C / PWM / ADC / DAC.
  • Podpora kamer OV2640 a OV7670, vestavěná lampa blesku.
  • Podpora nahrávání obrázků WiFI.
  • Podpora karty TF.
  • Podporuje více režimů spánku.
  • Integrované Lwip a FreeRTOS.
  • Podporuje provozní režim STA / AP / STA + AP.
  • Podpora technologie Smart Config / AirKiss.
  • Podpora pro místní a vzdálený upgrade firmwaru (FOTA) sériového portu.

Piny ESP32-Cam

Následující obrázek ukazuje rozmístění pinů ESP32-CAM (modul AI-Thinker).

esp32-cam-pinout-new

Deska má tři GND piny a dva piny pro napájení: buď 3,3 V nebo 5V.

GPIO 1 a GPIO 3 jsou sériové piny. Tyto piny potřebujete k nahrání kódu do desky. Dodatečně, GPIO 0 hraje také důležitou roli, protože určuje, zda je ESP32 v nahrávacím režimu nebo ne. Když GPIO 0 je připojen k GND, ESP32 je v nahrávacím režimu.

Ke čtečce karet microSD jsou interně připojeny následující piny:

  • GPIO 14: CLK
  • GPIO 15: CMD
  • GPIO 2: Data 0
  • GPIO 4: Data 1 (také připojeno k integrované LED)
  • GPIO 12: Data 2
  • GPIO 13: Data 3

Ukázkový kód CameraWebServeru

Ve svém Arduino IDE přejděte na Soubor > Příklady > ESP32 > Kamera a otevřete příklad CameraWebServer.

a01-esp32-cam-open-camerawebserver-example

Měl by se načíst následující kód.

a02-camera-web-server-example-code

Před nahráním kódu se musí vložit síťová nastavení do následujících proměnných:

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";


Poté se ujistěte, že jste vybrali správný modul kamery. V tomto případě se používá model AI-THINKER.

a03-ai-thinker-esp32cam

Takže zakomentujte všechny ostatní modely a odkomentujte tento:

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER

 

Pokud se ve seznamu kamer nenachází potřebný typ, musí se na kartě camera_pins.h přidat přiřazení pinů pro konkrétní desku.

Zapojení desky

Připojení desky ESP32-CAM k počítači pomocí programátoru FTDI je velmi jednoduché.

a04-esp32-cam-ftdi-programmer-5v-supply

Mnoho programátorů FTDI má propojku, která umožňuje vybrat 3,3 V nebo 5 V. Ujistěte se, že jumper je na správném místě, abyste vybrali 5V.

Důležité: GPIO 0 je třeba připojit k GND aby se mohl nahrát kód. Po nahrání kódu do desky se propojka musí odstranit, resetovat deska a pak jejiž deksa funkční s nahraným programem.

ESP32-CAM Programátor FTDI
GND GND
5V VCC (5 V)
U0R TX
U0T RX
GPIO 0 GND

Nahrání kódu

1) Přejděte na Nástroje > Deska a vyberte AI-Thinker ESP32-CAM.

2) Přejděte do nabídky Nástroje > Port a vyberte port COM, ke kterému je připojen ESP32.

3) Poté kliknutím na tlačítko upload nahrajte kód.

4) Pokud nedojde k nahrávání, stiskněte tlačítko RESET a upload opakujte.

Získání IP adresy

Po nahrání kódu se odpojte GPIO 0 od GND.

Otevřete sériový monitor s přenosovou rychlostí 115200. Stiskněte tlačítko Reset na desce ESP32-CAM.

IP adresa ESP32 by měla být zobrazena v Serial Monitoru.

a05-esp32-cam-ip-address

Streamování se pak spustí zadání uvedené IP adresy do prohlížeče. Dojde k zobrazení implicitní aplikace pro nastavení streamu a jeho spuštění.

Zdroj: https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide/