Videocitofono

Buongiorno a tutti,
tempo addietro ho realizzato l'impianto citofonico da mia madre: due posti interni intercomunicanti e tre cancelli, quindi usai un commutatore Urmet a 4 ingressi. Dato che con tale sistema non si sa da dove suonano, avevo inizialmente pensato di mettere un Arduino nano o mini per intercettare il segnale e accendere un led indicante la provenienza della chiamata. Vorrei spingermi oltre: il videocitofono.
Pensavo di acquistare 4 videocamere OV7670 e due display almeno 640x480 come la videocamera (ho trovato solo 5" e 7" 800x640.

Dubbi:

  1. arduino ha potenza di calcolo sufficiente ad elaborare i frame in modo da avere una qualità delle immagini accettabile?
  2. un arduino nano basta per tutti questi segnali (6 videocamere e due display)?
  3. qualcuno ha mai usato questa videocamera? Avete suggerimenti in merito con un buon rapporto qualità-prezzo?
  4. per il display cosa mi consigliate?

Ho parecchio le idee confuse...

Grazie mille per tutti i suggerimenti che arriveranno

di queste cose non capisco niente, ma in diverse discussioni ho letto che arduino non ha la potenza necessaria per elaborare immagini...

sc73:
Buongiorno a tutti,

  1. arduino ha potenza di calcolo sufficiente ad elaborare i frame in modo da avere una qualità delle immagini accettabile?

No, assolutamente no. Nè potenza nè memoria.
Arduino Uno, Nano, etc. (AtMega328) e comunque anche Arduino Mega (un pò di memoria in più ma sempre una 8 bit) sono delle MCU non CPU, sono pensate per fare da controllori di circuiti. Per gestire web, video, o audio complesso si deve passare a qualcosa di più sofisticato, tipo Raspberry o almeno a mcu a 32 bit

nid69ita:
No, assolutamente no. Nè potenza nè memoria.
Arduino Uno, Nano, etc. (AtMega328) e comunque anche Arduino Mega (un pò di memoria in più ma sempre una 8 bit) sono delle MCU non CPU, sono pensate per fare da controllori di circuiti. Per gestire web, video, o audio complesso si deve passare a qualcosa di più sofisticato, tipo Raspberry o almeno a mcu a 32 bit

Grazie delle delucidazioni.
Mi era parso di capire che Arduino non avesse nè la potenza di calcolo per gestire video nè tutte le uscite necessarie a 6 videocamere come servirebbe a me.
Una curiosità, giusto per capire: che utilità hanno le videocamere 640x480 per Arduino? Non richiedono una potenza di calcolo di cui non dispone?

Grazie

sc73:
Una curiosità, giusto per capire: che utilità hanno le videocamere 640x480 per Arduino? Non richiedono una potenza di calcolo di cui non dispone?

.... assolutamnete nessuna, sono un'emerita presa in giro.

Fatti due conti ... Arduino UNO ha 2KBytes di SRAM, Arduino MEGA ne a 8Kbytes ...
... un immagine in toni di grigio (NON a colori) occupa un byte per pixel da cui ... su Arduno UNO riesci forse a memorizzare un'immagine di 44x44 pixel (1936 bytes + un po' di SRAM che serve al pogramma per lo Stack e le variabili), sulla Mega protresti arrivare a ben 88x88 pixel (7744 bytes ... lasciando sempre un minimo di SRAM per il programma) ... giudica tu se puoi farci qualche cosa di lontanamente utile :smiley:

L'unica cosa che puoi fare è leggere serialmente i bytes dell'immagine e ... trasmetterli da qualche parte per la successiva elaborazione, peccato che ... gia un minimo standard VGA 640x480x3 (RGB) sono 912'600 bytes che trasmessi anche alla massima velocità di 115 Kbps (11500 bytes al sec) fa ... 80 secondi per quadro :smiling_imp:

Tutto chiaro ? :wink:

Guglielmo

1 Like

gpb01:
.... assolutamnete nessuna, sono un'emerita presa in giro.

Fatti due conti ... Arduino UNO ha 2KBytes di SRAM, Arduino MEGA ne a 8Kbytes ...
... un immagine in toni di grigio (NON a colori) occupa un byte per pixel da cui ... su Arduno UNO riesci forse a memorizzare un'immagine di 44x44 pixel (1936 bytes + un po' di SRAM che serve al pogramma per lo Stack e le variabili), sulla Mega protresti arrivare a ben 88x88 pixel (7744 bytes ... lasciando sempre un minimo di SRAM per il programma) ... giudica tu se puoi farci qualche cosa di lontanamente utile :smiley:

L'unica cosa che puoi fare è leggere serialmente i bytes dell'immagine e ... trasmetterli da qualche parte per la successiva elaborazione, peccato che ... gia un minimo standard VGA 640x480x3 (RGB) sono 912'600 bytes che trasmessi anche alla massima velocità di 115 Kbps (11500 bytes al sec) fa ... 80 secondi per quadro :smiling_imp:

Tutto chiaro ? :wink:

Guglielmo

Non potevi essere più chiaro!

Stavo guardando per curiosità il raspberry pi 3... si parla di 42€ minimo... un Arduino nano dalla Cina costa meno di 2€! La differenza direi che c'è nelle potenzialità ma anche nel prezzo!

Mi sa che tornerò all'idea iniziale di usare arduino per accendere un led associato ad ogni pulsantiera

sc73:
un Arduino nano dalla Cina costa meno di 2€

Orrore e raccapriccio :o

Hanno trovato un ottimo metodo per riciclare i rifiuti, li vendono in occidente per 2 euro :slight_smile:

Non credo che neanche un Raspberry Pi funzioni per mancanza di Interfaccia da collegare 4 di quelle telecamere e 2 display.
Ok si potrebe usare un monitor con risoluzione maggiore e 4 telecamere Ethernet. A quel punto é da pensare se non é meglio usare un sistema dedicato alla videosorveglanza.

Ciao Uwe

un consiglio che potrei dare, sarebbe una telecamera IP con protocollo ONVIF con audio, raspberry per ogni monitor, creando una interfaccia HTML con il flusso audio-video ONVIF e sotto creare dei collegameneti con arduino collegato in rete, creando sempre nella pagina Html una piccola finestra con dei pulsanti e led di segnalazione.

AuAnWeb:
un consiglio che potrei dare, sarebbe una telecamera IP con protocollo ONVIF con audio, raspberry per ogni monitor, creando una interfaccia HTML con il flusso audio-video ONVIF e sotto creare dei collegameneti con arduino collegato in rete, creando sempre nella pagina Html una piccola finestra con dei pulsanti e led di segnalazione.

????
Perdona la mia scarsa conoscenza ma mi sono perso...
Io mi sono avvicinato ad arduino da circa un anno ed ho imparato a gestire timer, interrupt, debouncing, trasmissione rf, ma di interfacce ne so veramente poco.

La soluzione che proponi è fattibile con costi contenuti? Considerato che ho due 3 cancelli, 1 porta e due risponditori interni da rendere intercomunicanti, dovrei gestire 6 telecamere da attivare automaticamente, una sola alla volta, con due display. Oltre alle difficoltà tecniche mi sa che il costo del materiale non sia del tutto indifferente...

sc73:
????
Perdona la mia scarsa conoscenza ma mi sono perso...
Io mi sono avvicinato ad arduino da circa un anno ed ho imparato a gestire timer, interrupt, debouncing, trasmissione rf, ma di interfacce ne so veramente poco.

La soluzione che proponi è fattibile con costi contenuti? Considerato che ho due 3 cancelli, 1 porta e due risponditori interni da rendere intercomunicanti, dovrei gestire 6 telecamere da attivare automaticamente, una sola alla volta, con due display. Oltre alle difficoltà tecniche mi sa che il costo del materiale non sia del tutto indifferente...

secondo me devi cercare comunicazioni Voip per raspberry e poi interfacciare arduino,in passato ho fatto gia queste cose con colleghi di lavoro, che ormai non sono piu disponibili a realizzare progetti.
Mandami un messaggio privato, se posso ti aiuto volentieri.