instructables Telecamera di sicurezza super economica con manuale di istruzioni ESP32-cam
Telecamera di sicurezza super economica con ESP32-cam
di Giovanni Aggiustatutto
Oggi costruiremo questa telecamera di videosorveglianza che costa solo 5€, come una pizza o un hamburger. Questa videocamera è connessa al WiFi, quindi saremo in grado di controllare la nostra casa o ciò che la videocamera vede dal telefono ovunque, sia sulla rete locale che dall'esterno. Aggiungeremo anche un motore che fa muovere la telecamera, così possiamo aumentare l'angolo che la telecamera può guardare. Oltre ad essere utilizzata come telecamera di sicurezza, una telecamera come questa può essere utilizzata per molti altri scopi, come controllare se una stampante 3D funziona correttamente per fermarla in caso di problemi. Ma ora, cominciamo
Per vedere maggiori dettagli su questo progetto, guarda il video sul mio canale YouTube (è in italiano ma ha Sottotitoli in inglese).
Forniture:
Per costruire questa fotocamera avremo bisogno della scheda cam ESP32, della minuscola fotocamera fornita con essa e di un adattatore da USB a seriale. La scheda cam ESP32 è una normale ESP32 con questa piccola telecamera su di essa, tutto in un pcb. Per chi non lo sapesse, l'ESP32 è una scheda programmabile simile ad un Arduino, ma con un chip molto più potente e la possibilità di connettersi al WiFi. Questo è il motivo per cui in passato ho utilizzato l'ESP32 per vari progetti di smart home. Come vi ho detto prima la cam board ESP32 costa circa 5€ su Aliexpress.
Oltre a questo, avremo bisogno di:
- un servomotore, ovvero un motore in grado di raggiungere uno specifico angolo che gli viene comunicato dal microcontrollore
- alcuni fili
Utensili:
- saldatore (facoltativo)
- Stampante 3D (opzionale)
Per vedere cosa vede la fotocamera dal telefono o dal computer e per scattare foto useremo Assistente domestico e ESPhome, ma ne parleremo più avanti.
Passaggio 1: preparazione di ESP32-cam
Per prima cosa devi collegare la fotocamera alla scheda con il connettore piccolo, che è molto fragile. Una volta inserito il connettore, puoi abbassare la leva. Quindi ho attaccato la fotocamera sopra la scheda con un pezzo di nastro biadesivo. La cam ESP32 ha anche la possibilità di inserire una micro SD, e anche se oggi non la useremo ci permette di scattare foto e salvarle direttamente lì.
Passaggio 2: caricamento del codice
Solitamente le schede Arduino ed ESP hanno anche una presa usb per caricare il programma dal computer. Questo però non ha una presa usb, quindi per collegarlo al computer per caricare il programma è necessario un adattatore da usb a seriale, che comunica con il chip direttamente tramite i pin. Quella che ho trovato è fatta apposta per questo tipo di scheda, quindi si collega semplicemente ai pin senza dover effettuare altri collegamenti. Tuttavia, anche gli adattatori universali da USB a seriale dovrebbero essere 2ne. Per caricare il programma devi anche collegare il pin 2 a massa. Per fare questo ho saldato un connettore jumper a questi due pin. Quindi, quando ho bisogno di programmare la scheda, metto semplicemente un ponticello tra i due pin.
Passaggio 3: connessione della videocamera a Home Assistant
Ma ora diamo un'occhiata al software che gestirà la fotocamera. Come ti ho detto prima, la videocamera sarà collegata a Home Assistant. Home Assistant è un sistema domotico che funziona localmente e che ci consente di controllare tutti i nostri dispositivi domotici come lampadine e prese intelligenti da un'unica interfaccia.
Per eseguire Home Assistant utilizzo un vecchio PC Windows che esegue una macchina virtuale, ma se ce l'hai puoi usare un Raspberry pi, che consuma meno energia. Per vedere i dati dal tuo smartphone puoi scaricare l'app Home Assistant. Per connettermi dall'esterno della rete locale sto usando Nabu Casa Cloud, che è la soluzione più semplice ma non è gratuita. Ci sono altre soluzioni ma non sono del tutto sicure.
Quindi dall'app Home Assistant potremo vedere il video in diretta della telecamera. Per connettere la videocamera a Home Assistant utilizzeremo ESPhome. ESPhome è un componente aggiuntivo che ci consente di connettere le schede ESP a Home Assistant tramite WiFi. Per connettere ESP32-cam a ESPhome puoi seguire questi passaggi:
- Installa il plug-in ESPhome in Home Assistant
- Nella dashboard di ESPhome, fai clic su Nuovo dispositivo e su Continua
- Dai un nome al tuo dispositivo
- Seleziona ESP8266 o la scheda che hai utilizzato
- Copia la chiave di crittografia fornita, ne avremo bisogno in seguito
- Clicca su MODIFICA per vedere il codice del dispositivo
- Sotto esp32: incolla questo codice (con framework: e digita: commentato)
esp32
tavola: esp32cam
#struttura:
# tipo: arduino
- Sotto con, inserisci il tuo ssid wi2 e la password
- Per rendere la connessione più stabile, puoi dare alla scheda un indirizzo IP statico, con questo codice:
Wi-Fi:
ssid: tuosid
password: la tua password wifi
manuale_ip
# Imposta questo sull'IP dell'ESP
IP statico: 192.168.1.61
# Impostalo sull'indirizzo IP del router. Spesso termina con .1
porta d'accesso: 192.168.1.1
# La sottorete della rete. 255.255.255.0 funziona per la maggior parte delle reti domestiche.
sottorete: 255.255.255.0
- Alla fine del codice, incolla questo:
2_fotocamera:
nome: Telecamera 1
orologio_esterno:
perno: GPIO0
frequenza: 20 MHz
i2c_pin:
sda: GPIO26
scl: GPIO27
dati_pin: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
risoluzione: 800×600
qualità_jpeg: 10
capovolgi_verticale: Falso
produzione:
– piattaforma: GPIO
perno: GPIO4
ID: gpio_4
– piattaforma: ledc
id: pwm_output
perno: GPIO2
frequenza: 50 Hz
leggero:
– piattaforma: binaria
uscita: gpio_4
nome: Luce telecamera 1
numero:
- piattaforma: modello
nome: Servocomando
valore_min: -100
valore_max: 100
passo: 1
ottimista: vero
set_azione:
Poi:
– servo.scrivi:
id: mio_servo
livello: !lambda 'ritorno x / 100.0;'
servo:
– id: mio_servo
uscita: pwm_output
transizione_lunghezza: 5s
La seconda parte del codice, sotto esp2_camera:, de32nisce tutti i pin per la fotocamera vera e propria. Poi con la luce: si definisce il led della telecamera. Alla fine del codice viene definito il servomotore, e il valore utilizzato dal servo per impostare l'angolo di rotazione viene letto da Home Assistant con il numero:.
Alla fine il codice dovrebbe assomigliare a questo, ma non incollare direttamente il codice qui sotto, ad ogni dispositivo viene assegnata una chiave di crittografia diversa.
casa:
nome: camera-1
esp32:
tavola: esp32cam
#struttura:
# tipo: arduino
# Abilitare registrazione
Ger:
# Abilita l'API Home Assistant
API:
crittografia:
chiave: "chiave di crittografia"
otta:
parola d'ordine: "parola d'ordine"
Wi-Fi:
ssid: "tuossid"
password: “la tuapassword”
# Abilita l'hotspot di fallback (captive portal) nel caso in cui la connessione wifi fallisca
ap:
ssid: "Hotspot fallback telecamera-1"
parola d'ordine: "parola d'ordine"
captive_portal:
esp32_camera:
nome: Telecamera 1
orologio_esterno:
perno: GPIO0
frequenza: 20MHz
i2c_pin:
sda:GPIO26
scl: GPIO27
data_pin: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
risoluzione: 800×600
qualità_jpeg: 10
vertical_flip: Falso
produzione:
– piattaforma: gpio
perno: GPIO4
ID: gpio_4
– piattaforma: ledc
id: pwm_output
perno: GPIO2
frequenza: 50 Hz
leggero:
– piattaforma: binaria
uscita: gpio_4
nome: Luce telecamera 1
numero:
- piattaforma: modello
nome: Servocomando
valore_min: -100
valore_max: 100
passo: 1
ottimista: vero
set_azione:
Poi:
– servo.scrivi:
id: mio_servo
livello: !lambda 'ritorno x / 100.0;'
Telecamera di sicurezza super economica con ESP32-cam: Pagina 12
Fare un passo 4: connessioni
servo:
– id: mio_servo
uscita: pwm_output
transizione_lunghezza: 5s
- Dopo che il codice è completo, possiamo cliccare su Installa, collegare l'adattatore seriale dell'ESP32 al nostro computer con un cavo USB e seguire le istruzioni sullo schermo per caricare il codice come avete visto nell'ultimo passaggio (è abbastanza facile!)
- Quando la ESP32-cam è connessa al WiFi, possiamo andare nelle impostazioni di Home Assistant, dove probabilmente vedremo che Home Assistant ha scoperto il nuovo dispositivo
- Fai clic su configura e incolla lì la chiave di crittografia che hai copiato in precedenza.
Una volta caricato il programma, puoi farlo rimuovere il ponticello tra massa e perno 0, e alimentare la scheda (se il jumper non viene rimosso la scheda non funzionerà). Se guardi i registri del dispositivo, dovresti vedere che ESP32-cam si connette al WiFi. Nei passi successivi vedremo come configurare la dashboard di Home Assistant per vedere il video in diretta dalla telecamera, per muovere il motore e per scattare foto dalla telecamera
Passaggio 4: connessioni
Una volta programmato l'ESP32, possiamo rimuovere l'adattatore da USB a seriale e alimentare la scheda direttamente dal pin 5v. E a questo punto alla telecamera manca solo un involucro in cui montarla. Tuttavia, lasciare la fotocamera ferma è noioso, quindi ho deciso di aggiungere un motore per farla muovere. In particolare, utilizzerò un servomotore, che è in grado di raggiungere uno specifico angolo che gli viene comunicato dall'ESP2. Ho collegato i fili marrone e rosso del servomotore all'alimentazione, e il filo giallo che è il segnale al pin 2 dell'ESP32. Nell'immagine sopra puoi vedere gli schemi.
Passaggio 5: costruzione del recinto
Ora devo trasformare il circuito di test in qualcosa che assomigli di più a un prodotto finito. Così ho progettato e stampato in 2D tutte le parti per realizzare la scatolina in cui montare la fotocamera. Di seguito puoi trovare il secondo file .stl 3les per la stampa 2D. Quindi ha saldato i fili per l'alimentazione e il segnale del servomotore ai pin dell'ESP2. Per collegare il connettore del servomotore, ho saldato un connettore jumper ai fili. Quindi il circuito è finito e, come puoi vedere, è abbastanza semplice.
Ho fatto passare i cavi del servomotore e dell'alimentazione attraverso i fori della scatolina. Quindi ho incollato la cam ESP32 al coperchio, allineando la fotocamera con il foro. Ho montato il servomotore sulla staffa che sosterrà la telecamera e l'ho fissato con due bulloni. Ho attaccato la staffa alla piccola scatola con due viti, in modo che la fotocamera potesse essere inclinata. Per evitare che le viti all'interno toccassero i cavi, li ho protetti con guaina termoretraibile. Quindi ho chiuso il coperchio con la fotocamera con quattro viti. A questo punto non resta che assemblare la base. Ho fatto passare l'albero del servomotore attraverso il foro nella base e ho avvitato il braccio piccolo all'albero. Poi ho incollato il braccio alla base. In questo modo il servomotore è in grado di muovere la telecamera di 180 gradi.
E così abbiamo finito di costruire la fotocamera. Per alimentarlo possiamo utilizzare qualsiasi alimentatore da 2v. Utilizzando i fori presenti nella base, possiamo avvitare la telecamera ad una parete o ad una superficie in legno.
Passaggio 6: configurazione della dashboard di Home Assistant
Per vedere il video in diretta dalla telecamera, muovere il motore, accendere il led e muovere il motore dall'interfaccia di Home Assistant abbiamo bisogno di quattro schede nella dashboard di Home Assistant.
- La seconda è una scheda panoramica dell'immagine, che consente di vedere il video in diretta dalla telecamera. Nelle impostazioni della scheda, basta selezionare l'entità della fotocamera e impostare Camera View su auto (questo è importante perché se lo imposti su live la telecamera invia sempre il video e si surriscalda).
- Quindi abbiamo bisogno di un pulsante per scattare foto dalla fotocamera. Questo è un po' più di@culto. Per prima cosa dobbiamo entrare nel File Editor add-on (se non ce l'hai puoi installarlo dallo store dei componenti aggiuntivi) nella cartella con2g e crea una nuova cartella per salvare le foto, in questo caso chiamata camera. Il codice per l'editor di testo per il pulsante è sotto.
ow_name: vero
mostra_icona: vero
tipo: pulsante
tocco_azione:
azione: chiamata-servizio
servizio: camera.snapshot
dati:
filenome: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#cambia il nome dell'entità sopra con il nome dell'entità della tua fotocamera
bersaglio:
entità_id:
– camera.telecamera_1 #cambia il nome dell'entità con il nome dell'entità della tua telecamera
nome: Scatta foto
altezza_icona: 50px
icona: mdi:fotocamera
attesa_azione:
azione: n
- La telecamera ha anche un led, anche se non è in grado di illuminare un'intera stanza. Per questo ho usato un'altra scheda pulsante, che commuta l'entità del led quando viene premuto.
- L'ultima carta è una carta entità, che ho impostato con l'entità servomotore. Quindi con questa scheda abbiamo un cursore molto semplice per controllare l'angolazione del motore e per muovere la telecamera.
Ho organizzato le mie carte in una pila verticale e in una pila orizzontale, ma questo è totalmente facoltativo. Tuttavia, la tua dashboard dovrebbe essere simile a quella mostrata nell'immagine sopra. Ovviamente puoi personalizzare ancora di più le carte, per soddisfare le tue esigenze.
Passaggio 7: funziona!
Finalmente la fotocamera funziona e sull'app Home Assistant posso vedere cosa vede la fotocamera in tempo reale. Dall'app posso anche far muovere la telecamera spostando il cursore, per guardare uno spazio più ampio. Come ho detto prima la fotocamera ha anche un LED, anche se la luce che fa non ti permette di vedere di notte. Dall'app puoi scattare foto dalla fotocamera, ma non puoi fare video. Le foto scattate possono essere visualizzate nella cartella che abbiamo creato in precedenza in Home Assistant. Per portare la fotocamera al livello successivo, puoi collegare la fotocamera a un sensore di movimento o a un sensore di apertura della porta, che quando rileva un movimento scatterà una foto con la fotocamera.
Quindi, questa è la telecamera di sicurezza ESP32. Non è la fotocamera più avanzata, ma per questo prezzo non puoi trovare niente di meglio. Spero che questa guida ti sia piaciuta e forse l'hai trovata utile. Per vedere maggiori dettagli su questo progetto, puoi vedere il secondo video sul mio canale YouTube (è in italiano ma ha i sottotitoli in inglese).
Documenti / Risorse
![]() |
instructables Telecamera di sicurezza super economica con ESP32-cam [pdf] Manuale di istruzioni Telecamera di sicurezza super economica con ESP32-cam, Telecamera di sicurezza super economica, ESP32-cam, Telecamera di sicurezza economica, Telecamera di sicurezza, Telecamera |