Informazioni su ESP32-CAM
ESP32-CAM è un modulo fotocamera di piccole dimensioni rilasciato da Ai-Thinker Co., Ltd, che può funzionare in modo indipendente come il sistema più piccolo, con una dimensione di 27*40.5*4.5mm e una corrente di deep sleep minima di 6mA.
Caratteristiche di ESP32 CAM
- Interfaccia fotocamera (fino a 24MP)
- Connettività Wi-Fi e Bluetooth
- Processore dual-core ESP32-D0WDQ6
- 520KB SRAM
- 4MB di memoria Flash
- Modulo fotocamera OV2640 2MP
- Supporta i formati JPEG e BMP
- Interfaccia USB Type-C
- Connettore batteria LiPo
- CPU a 32 bit, fino a 240MHz
- Ricetrasmettitore Wi-Fi HT40 802.11b/g/n integrato
- Bluetooth dual-mode integrato (classico e BLE)
- Antenna PCB integrata
- 8MByte PSRAM integrati
- Fotocamera integrata
- Connettore esterno per fotocamera
- 5 x GPIO programmabili
- 2 x UART, 2 x SPI, I2C, I2S, IRDA, PWM, GPIO
Schema dei pin ESP32 CAM

ESP32-CAM ha tre pin GND e due pin per l’alimentazione: 3,3V o 5V.
GPIO 1 e GPIO 3 sono pin seriali. Hai bisogno di questi pin per caricare il codice sulla tua scheda. Inoltre, GPIO 0 svolge un ruolo importante in quanto determina se l’ESP32 è in modalità lampeggio o meno. Quando GPIO 0 è collegato a GND, l’ESP32 è in modalità lampeggio.
I seguenti pin sono collegati internamente al lettore di schede microSD:
GPIO 14: CLK
GPIO 15: CMD
GPIO 2: Data 0
GPIO 4: Data 1 (collegato anche al LED integrato)
GPIO 12: Data 2
GPIO 13: Data 3
Sviluppo del progetto ESP32 Cam
Costruzione dell'ambiente
Hardware
- Modulo ESP32-CAM
- Fotocamera OV2640
- Scheda da USB a porta seriale (USB-TTL)
- Linea dupont
- Alimentatore 5V 2A
Il modulo ESP32-CAM è alimentato separatamente, U0TXD, U0RXD e GND sono collegati alla scheda porta seriale e collegati al computer e la fotocamera è collegata al modulo tramite un cavo.
Prima della programmazione, il GPIO0 del modulo ESP32-CAM deve essere collegato a terra e ripristinato. Dopo aver completato la programmazione, GPIO0 viene sospeso e ripristinato per entrare in modalità di lavoro.
Ambiente di sistema
ESP32 può essere sviluppato su diversi sistemi. Ecco un’introduzione all’ambiente di sviluppo della versione desktop Ubuntu (la versione è Ubuntu 18.04.3).
Imposta il server di download
Esegui “Software e aggiornamenti”, fai clic sul menu a tendina “Scarica da” nella scheda “Software Ubuntu”, seleziona “Altro…”, trova “Cina” e seleziona qualsiasi server, fai clic su “Scegli server” e quindi inserisci la password per confermare. Quando viene chiuso, ti verrà richiesto di aggiornare le informazioni, fai clic su “Ricarica” per aggiornare.

Installa il software
sudo apt-get purge vim-common
sudo apt-get install vim
sudo apt install git
Installa l'ambiente dipendente
sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
Codice del progetto e ambiente di sviluppo
elemento pull
Esegui il pull del progetto e dei sottomoduli contemporaneamente:
git clone --recurse-submodules https://github.com/Ai-Thinker-Open/Ai-Thinker-Open_ESP32-CAMERA_LAN.git
Se il pull viene interrotto, è necessario accedere alla directory del progetto per eseguire nuovamente il pull del sottomodulo:
cd Ai-Thinker-Open_ESP32-CAMERA_LAN/
git submodule update --init --recursive
Framework di sviluppo
Dopo aver estratto il progetto, puoi vedere che c’è una directory esp-idf nella directory del progetto. esp-idf (Espressif IoT Development Framework) è il framework di sviluppo esp. L’ambiente di sviluppo del progetto è costruito tramite esp-idf. La versione idf in questo progetto è esp-idf-v4.0.
Imposta il percorso IDF_PATH
Modifica il file di configurazione .bashrc:
cd esp-idf/
vim ~/.bashrc
Usa il comando vim per aprire .bashrc, usa la tastiera per spostare il cursore alla fine del file, premi a per inserire, premi Invio alla fine per andare a una riga vuota e inserisci il contenuto corrispondente in base al seguente formato per impostare la variabile IDF_PATH:
# export IDF_PATH=<percorso assoluto esp-idf>, l'esempio è il seguente
export IDF_PATH=/home/user/Desktop/esp32/Ai-Thinker-Open_ESP32-CAMERA_LAN/esp-idf
Dopo aver completato l’input, premi esc per annullare la modifica, :wq per salvare ed uscire, esegui il seguente comando per rendere effettiva immediatamente la modifica:
source ~/.bashrc
Verifica se la variabile è valida:
echo $IDF_PATH
Se il percorso stampato è coerente con l’impostazione, vai al passaggio successivo, altrimenti devi rioperare.
Installa gli strumenti di sviluppo
Esegui lo script install.sh nella directory esp-idf:
./install.sh
Quindi il terminale mostra le informazioni di download. Dopo aver stampato “All done!”, l’installazione è completa. A questo punto, esegui lo script export.sh per impostare la variabile d’ambiente:
. ./export.sh
Nota che c’è uno spazio dopo il primo “.”, che deve essere eseguito ogni volta che apri il terminale per lo sviluppo e il debug del progetto.
Dopo l’esecuzione dello script, viene stampato “Done!” per indicare il successo, quindi il progetto può essere configurato, compilato e scaricato.
Configura, Compila e Scarica
Configurazione del progetto
Entra nella directory del progetto demo “Ai-Thinker-Open_ESP32-CAMERA_LAN/examples/single_chip/camera_web_server”
cd ../examples/single_chip/camera_web_server/
Quindi iniziamo a configurare il progetto:
make menuconfig
Il messaggio “recipe for target ‘mconf.o’ failed” è un problema di dipendenza, inserisci sudo apt-get install libncurses5-dev per installare le dipendenze pertinenti e riprova.
L’interfaccia di configurazione è la seguente:

Usa i tasti freccia e il tasto Invio per spostare il cursore per operare, entra nell’interfaccia “Serial flasher config” e fai riferimento alla figura seguente per l’impostazione, qui la porta seriale è impostata su “/dev/ttyUSB0”, e deve essere impostata per connettersi al modulo ESP32-CAM durante il funzionamento porta seriale.

Entra in “Camera Web Server”->”Camera Pins”->”Select Camera Pinout” interfaccia, seleziona “ESP32-CAM by AI-Thinker”.

Entra nell’interfaccia “Camera Web Server”->”Wifi Settings” per impostare la modalità Wifi, “Wifi STA SSID” & “Wifi STA Password” e “Wifi AP SSID” & “Wifi AP Password” per impostarne uno di essi.
(Wifi STA significa modalità Station, ESP32-CAM si connette alla rete Wifi di altri dispositivi; Wifi AP significa modalità AP, il computer o il telefono cellulare si connette all’hotspot Wifi aperto da ESP32-CAM)
La modalità Wifi AP è utilizzata qui, e il “Wifi AP IP Address” sottostante imposta l’indirizzo IP del modulo in modalità Wifi AP.

Dopo aver completato l’impostazione, utilizzare i tasti sinistra e destra per spostare il cursore inferiore su “
Compila e Scarica
compila:
make
scarica:
make flash
Si noti che il modulo GPIO0 deve essere collegato a massa e ripristinato prima della programmazione.
Quando si scarica make flash, viene utilizzata di default la porta precedentemente configurata “/dev/ttyUSB0”, e altre porte possono essere specificate con il parametro -p: make flash -p [PORT]
Se indica che il fallimento nell’apertura della porta seriale potrebbe essere causato da un problema di autorizzazioni, è possibile aprire tutte le autorizzazioni della porta seriale con sudo chmod -R 777
Ricevi informazioni di stampa della porta seriale:
make monitor
Si noti che il modulo GPIO0 deve essere sospeso per l’accensione o il ripristino durante il funzionamento.
Inoltre, è possibile utilizzare l’assistente della porta seriale per visualizzare le informazioni di stampa del modulo.
Scatta Foto e Video
Dopo aver scaricato il firmware demo, il modulo ESP32-CAM è acceso e in esecuzione. Collegare il computer o il telefono cellulare alla rete in cui si trova il modulo e accedere all’indirizzo del modulo nel browser.
In modalità Station, l’indirizzo del modulo è l’indirizzo IP assegnato dal dispositivo hotspot Wifi al modulo; in modalità AP, è l’indirizzo impostato da “Indirizzo IP Wifi AP”.
Nella pagina web del modulo, fare clic sul pulsante “Get Still” sotto la barra delle operazioni a sinistra per scattare una foto e sul pulsante “Start Stream” per registrare un video. Dopo aver scattato una foto o un video, l’immagine verrà visualizzata sulla pagina web.
Visualizza l’interfaccia operativa del modulo sul telefono cellulare come segue, puoi fare clic su “Salva” nell’angolo in alto a destra dell’immagine per salvare l’immagine.





