ESP32-CAM, ESP32 con videocamera

L’ESP32-CAM è una scheda con il chip ESP32, l’evoluzione del ESP8266, ed integra una videocamera completamente programmabile ma sopratutto economica.

ESP32-CAM

Oggi vorrei parlarvi di ESP32-CAM, un dispositivo davvero interessante, si tratta di una scheda sulla quale è montato il chip con Wi-Fi e Bluetooth integrato ESP32, l’evoluzione dell’ESP8266, con molte più funzioni, memoria e maggiore velocità.

Questo modulo in particolare ha una caratteristica unica: integra una piccola videocamera, con la quale oltre a funzionare come normale webcam, si possono eseguire vari algoritmi e operazioni interessanti, programmandola proprio come le precedenti schede simili, oltre che con Arduino IDE.
Per fare un esempio, in un programma di base nella libreria ESP32 per Arduino IDE, è presente l’individuazione e il riconoscimento dei volti presentati.

Ma andiamo con ordine, e spieghiamo nel dettaglio le caratteristiche di questa economica scheda con camera.

ESP32-CAM

Confezione ed Imballaggio (7)

L’imballaggio, come al solito, nella norma e ben protetto. La confezione dell’ESP32-CAM è minimale così come il contenuto: abbiamo il modulo principale e da parte la piccola CAM con il piccolo attacco da inserire nell’apposito modulino.

ESP32-CAM

Anche in questo caso, come in alcuni sensori precedenti, avrei preferito magari un manuale o qualche linea guida di base dal quale partire. Ma esattamente come per gli altri sensori recensiti, questo è un dispositivo ‘standard’ e si trovano davvero molti esempi nel web, per quasi tutte le piattaforme.

Hardware (7)

ESP32

Come detto in precedenza, l ‘ESP32 è l’evoluzione dell’ESP8266, oltre ad essere più veloce e ad avere più memoria, ha anche integrato nel modulo migliorato Wi-Fi la compatibilità al Bluetooth.

Solo il modulo di ESP32-CAM

Per quando riguarda i dettagli tecnici: supporta interfacce UART / SPI / I2C / PWM / ADC / DAC, è un modulo ultra-small 802.11b / g / n Wi-Fi + Bluetooth BT / BLE. Troviamo montato un ESP32-S, una CPU dual-core a 32 bit, fino a 240 MHz e fino a 600 DMIPS. La SRAM incorporata nel chip è di 520 KB, presente anche una PSRAM di 4M.

OV2640

La telecamera è una OV2640, la dimensione della sua matrice attiva è di 1600 × 1200 e la lente misura 1/4 di pollice. La sua velocità SPI è di 8 MHz e la dimensione del frame buffer è di 384 KB. Il suo consumo energetico normale è di   70mA, mentre nella modalità di risparmio energetico è di 20 mA. È presente inoltre un comodo modulo lettore TF card.

ESP32-CAM , con la camera separata

Il tutto misura 27 * 40,5 * 4,5 (± 0,2) mm in un DIP-16. La costruzione risulta abbastanza solida e la qualità costruttiva sembra abbastanza buona. Avrei preferito la Cam OV2640 già inserita nel suo alloggiamento, ma l’inserimento è molto semplice. Basta alzare leggermente il pezzettino di plastica basculante della porta, inserire il lembo della camera e richiudere il pezzettino basculante.
Possibilità anche di acquistare un modulo compatibile migliore : la OV7670.
Naturalmente alcuni moduli in commercio potrebbero avere sigle e telecamere diverse.

Alimentazione

Un capitolo a parte riguarda l’alimentazione, probabilmente avrei dovuto omettere questo paragrafo, ma per dovere di cronaca descrivo il problema che mi è accaduto.
Alimentando il modulo soltanto con la USB del mio computer, Arduino IDE riusciva ad eseguire l’upload del progetto nell’ESP32, ma al momento dell’avvio dell’applicazione, mi dava l’errore: <Brownout detector was triggered>. Questo errore era dovuto ad una non sufficiente alimentazione, infatti alimentando il modulo adeguatamente con un alimentatore esterno da 5v sono riuscito a fare eseguire perfettamente qualsiasi progetto.

Il difetto probabilmente è limitato al mio modulo, ed in effetti ho trovato pochi riscontri sul web. Il dubbio sul problema comunque rimane, ma molto probabilmente la corrente delle mie porte usb non è sufficiente, non ho dato più tanto caso a questo aspetto poiché non era la prima volta che succedeva un fatto del genere. Semplicemente l’alimentazione delle mie porte usb probabilmente non raggiunge i 5V stabili. E i chip come quello montato sull’ ESP32-CAM risultano molto sensibili per quanto riguarda le variazioni di corrente.

Schema di ESP32-CAM

Comunque alimentando il modulo con batterie o un buon alimentatore esterno non dovrebbe esserci nessun problema.

Software (9)

La gestione del software risulta abbastanza versatile, infatti risulta compatibile con la versione del modulo ESP32-CAM AI-Thinker. Per tanto tutti gli esempi e i programmi compatibili funzioneranno.
Si programma molto facilmente attraverso l’interfaccia Arduino IDE, resta pur sempre un modulo ESP e per quanto tale compatibile con tutte le piattaforme di programmazione di questo genere.

Arduino IDE

Una volta installato il software di Arduino, nella scheda Impostazioni, sotto il menu ‘File’, all’interno del campo “URL aggiuntive per il gestore schede:” dovrete aggiungere la riga:

https://dl.espressif.com/dl/package_esp32_index.json

Se avete già indirizzo, come per esempio quello per l’ESP8266, potete separarli con la virgola.
Dal menu Strumenti > Scheda > Gestore schede…  dovrete ricercare la parola ‘ESP32’ e installare la scheda ‘ESP32 by Espressif Systems’ Potrete cosi selezionare la vostra scheda e la porta COM corrispondente come per l’ESP8266, sotto gli esempi avrete vari programmi per ESP32.

Tra i vari esempi è presente anche Camera > CameraWebServer, con cui si può gestire lo stream video, regolare molte impostazioni e scegliere fra 4 effetti di esempio. Inoltre sempre in questo esempio c’è la possibilità di individuare i volti e, tramite un tasto, di ‘registrarli’, riconoscendoli poi in seguito tramite un rettangolo verde e la scritta del numero ID del volto. Naturalmente è un programma di esempio e guardando le righe di codice sarà facilmente modificabile per le vostre esigenze.

CameraWebServer

Presente anche, per esempio, un programma per riconoscere e decifrare i QR Code, e spedirli eventualmente attraverso un’email, o visualizzarlo, perché no, sul display ILI9341 precedentemente recensito.

Le possibilità software sono infinite, grazie ad un processore, potente nella sua categoria e soprattutto economico.

Prezzo (9)

Il prezzo su Amazon è davvero molto competitivo e ci sono davvero tante offerte che rendono questo acquisto molto allettante.

L’ESP32-CAM è un dispositivo che fino a qualche anno fa sarebbe costato davvero molto, ora si trova anche a pochi euro. Lo consiglio vivamente, è un Modulo che vi darà sicuramente grosse soddisfazioni.

ESP32-CAM

Provate a dare un’occhiata alle varie offerte su Amazon.

7 thoughts on “ESP32-CAM, ESP32 con videocamera

  1. Salve.
    Esiste un ESP32-CAM con più pin?
    Oppure come posso estendere dei pin I/O?

    Grazie

    @}-,-‘——–
    Gianfranco

    1. Salve!

      Si, in effetti la camera occupa molti I/O. Potrebbe essere utile una scheda di espansione IO Expander ESP32 .
      Inoltre ricordo un progetto con 8 chip MCP23016, che riusciva ad aggiungere 128 GPIOs al ESP01.
      Ci saranno sicuramente dei facili esempi online.

      Salve e grazie per aver postato 😉

  2. Buon giorno,
    ho provato ha compilare lo sketch CameraWebServer con Arduino che mi dà l’ errore:
    Lo sketch usa 2594774 byte (197%) dello spazio disponibile per i programmi. Il massimo è 1310720 byte…
    Come mai?
    Hai un suggerimento?
    Grazie

    1. Salve,
      Molto strano, sei sicuro di aver selezionato il modulo ESP32 corretto ? Dovrebbe avere una PSRAM esterna da 4 MB.
      Ora non posso testare, appena potrò ti saprò dare altri suggerimenti.

      Grazie mille per aver postato 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *