• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
su in raspicam storing web scatto l image continuo ultimo fotografare per

[Guida] Raspicam per fotografare in continuo, image storing + l'ultimo scatto su web
#1
Tale realizzazione potrebbe essere utile per la video sorveglianza a distanza, inoltre le immagini scattate vengono conservate in una directory e possono essere visionate/elaborate in un secondo momento. Potrebbe essere utile per monitorare e studiare qualsiasi  processo lasciandosi la possibilità di guardarlo in qualsiasi momento. 

Si può utilizzare il sistema anche per inserie immagini in una piattaforma web cloud tipo freeboard.

Il progetto implica che la raspicam sia collegata ad una rete internet (via eternet o wireless).

Preparazioni preliminari 

Abilitare modulo cam del RPi

abilitare SSh

Impostare controllo da remoto con ssh seguendo queste guide

LINK1
e
LINK2

Installare VNC per il controllo remoto da interfaccia grafica.

Volendo si può controllare la raspicam anche fuori della rete domestica con NO-IP seguendo questa guida 

LINK3

Inoltre siccome l'immagazzinamento delle immagini potrebbe occupare molto spazio sarebbe utile avere un HD esterno collegato alla posta usb: per il montaggio automatico seguire questa guida 

LINK4

Se con qualcuna delle directory avete ancora problemi di permessi dopo avere applicato la procedura di cui sopra provate il seguente comando nel terminale

Codice:
sudo chmod -R 777 /mnt/CartellaConPermessiDaSistemare



Progetto 

Creare directory dove verrano conservare le foto nell'HD esterno, ammettiamo che questa directory si chiami "Storage" 



Creiamo una directory dove copiare la foto più recente della directory "storage" e chiamiamola ad esempio "perFotoSuWeb"


Create un sito web. Io ho scelto di farlo con altervista che offre spazio gratuito Altervista 

Attenzione ad acquisire un sito e non un blog. Con Altervista nel caso si acquisisca un blog al posto del sito c'è la possibilità di convertirlo QUI

A questo punto è necessario fare un file eseguibile su Desktop che scatti delle foto ad intervalli fissi di tempo.

Per questo da terminale diamo il seguente comando 

Codice:
sudo nano home/pi/Desktop/NomeFile.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
nohup raspistill -awb auto -w 2542 -h 1944 -t 0 -tl ****** -a 1036 -ae +25+25 -o /path/nomefiledellefoto%05d.jpg &

dove al posto di ****** inseriamo l'intervallo tra una foto e l'altra espressa in millisecondi (ad esempio 10 minuti = 600000)

digitiamo ctrl o per salvare, diamo invio per confermare il nome, e poi ctrl x per uscire da nano.

Diamo i permessi al file con il comando
 
Codice:
sudo chmod 777 home/pi/Desktop/NomeFile.sh

Se lanciamo suddetto file e poi premiamo esegui, il modulo cam incomincia a scattare foto in full HD con bilanciamento del bianco automatico, inserendo un piccolo banner al centro in alto della foto con data e ora ogni tot secondi. Il comando non s'interrompe se il collegamento remoto s'interrompe. I file verranno nominati con numero progressivo da 1 a 99999 (ad esempio nomefile00001.jpg, nomefile00002 ... etc.).
 
Ora creiamo un altro file eseguibile sul Desktop che chiamiamo CopiaUltima.sh il file servirà a copiare la foto più recente tra quelle scattate nella cartellina "PerFotoSuWeb" e rinominarla FotoWeb.jpg

Analogamente a come abbiamo fatto prima nel terminale diamo il comando

Codice:
sudo nano home/pi/Desktop/CopiaUltima.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
cp $(ls -t1 /path/*.jpg | head -n1) /path/FotoWeb.jpg

digitiamo ctrl+O per salvare, diamo invio per confermare il nome, e poi ctrl+X per uscire da nano.

diamo i permessi al file con il comando 

Codice:
sudo chmod 777 home/pi/Desktop/CopiaUltima.sh

A questo punto dobbiamo creare un ultimo file su Desktop che serve a spedire la FotoWeb.jpg sul nostro sito.

Come prima digitiamo nel terminale
 
Codice:
sudo nano home/pi/Desktop/MandaFotoWebSulSito.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
/usr/bin/ftp -inv nomescelto.altervista.org<<ENDFTP
user nomescelto *******
bin
lcd /path/perFotoSuWeb/
put FotoWeb.jpg FotoWeb.jpg
bye
ENDFTP


Dove nomescelto è il nome che è stato scelto per il sito di altervista e al posto ******* la password scelta per il sito di altervista.

Attenzione per altri fornitori di spazio web forse cambia qualcosa, bisogna fare delle prove.

Digitiamo ctrl o per salvare, diamo invio per confermare il nome, e poi ctrl x per uscire da nano.

Diamo i permessi al file con il comando 

Codice:
sudo chmod 777 home/pi/Desktop/MandaFotoWebSulSito.sh


Attenzione: una volta lanciato questo comando la foto sarà visibile in www.nomescelto.altervista.org/FotoWeb.jpg

Ora se vogliamo che periodicamente la foto più recente nella cartellina storage sia copiata nella cartellina PerFotoSuWeb e rinominata FotoWeb.jpg e che questa  periodicamente sia inviata sul sito possiamo farlo con crontab.


Da terminale digitiamo  

Codice:
sudo crontab -e

si apre l'editor nano 

andiamo all'ultima riga e incolliamo

Codice:
*/12 * * * * /home/pi/Desktop/CopiaUltima.sh

*/22 * * * * /home/pi/Desktop/MandaFotoWebSulSito.sh

Questo significa che ogni 12 minuti viene copiata la foto più recente e ogni 22 minuti viene inviata sul sito. Ovviamente la periodicità di esecuzione dei file la sceglierete voi. 12 e 22 sono solo un esempio.


ATTENZIONE: tra gli asterischi è necessario lasciare uno spazio.

Come al solito salviamo il file con ctrl o, diamo invio per confermare il nome e ctrl x per uscire da nano.

I comandi in crontab vengono eseguiti automaticmente all'avvio del RPi.

A questo punto se tutto è andato liscio basta accendere il RPi lanciare il file eseguibile su Desktop che scatta le foto ad intervalli fissi di tempo e per il resto fa tutto Crontab.

per interrompere il processo facciamo un reboot oppure possiamo dare il comando 

Codice:
ps aux

il terminale ci restituisce il listato dei processi in uso, cercare nella lista il pid relativo a raspistill e dare il comando

Codice:
Kill pid

intendendo per pid il numero corrispondente alla colonna pid della riga raspistill.
  

Buona fortuna.
With a little/big help from my friends Rolleyes
Risposta
#2
come ti avevo consigliato, in alternativa, trovo molto semplice l'uso di motioneyeos
https://github.com/ccrisan/motioneyeos/wiki
Idea Blog: Articoli   Heart Lista Amazon  / MyMiniFactory /Album Disegni
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#3
Sì ma quello è un OS per trasformare RPI in una videocamera per videosorveglianza. Mi sembra un po' diverso.
With a little/big help from my friends Rolleyes
Risposta
#4
si si, quello è per la semplicità estrema, in alternativa MotionEye
http://www.howtoembed.com/projects/raspb...spberry-pi
è la stessa cosa, ma si installa su qualsiasi sistema operativo
Idea Blog: Articoli   Heart Lista Amazon  / MyMiniFactory /Album Disegni
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#5
(15/01/2017, 20:43)LaPa Ha scritto: Tale realizzazione potrebbe essere utile per la video sorveglianza a distanza, inoltre le immagini scattate vengono conservate in una directory e possono essere visionate/elaborate in un secondo momento. Potrebbe essere utile per monitorare e studiare qualsiasi  processo lasciandosi la possibilità di guardarlo in qualsiasi momento. 

Si può utilizzare il sistema anche per inserie immagini in una piattaforma web cloud tipo freeboard.

Il progetto implica che la raspicam sia collegata ad una rete internet (via eternet o wireless).

Preparazioni preliminari 

Abilitare modulo cam del RPi

abilitare SSh

Impostare controllo da remoto con ssh seguendo queste guide

LINK1
e
LINK2

Installare VNC per il controllo remoto da interfaccia grafica.

Volendo si può controllare la raspicam anche fuori della rete domestica con NO-IP seguendo questa guida 

LINK3

Inoltre siccome l'immagazzinamento delle immagini potrebbe occupare molto spazio sarebbe utile avere un HD esterno collegato alla posta usb: per il montaggio automatico seguire questa guida 

LINK4

Se con qualcuna delle directory avete ancora problemi di permessi dopo avere applicato la procedura di cui sopra provate il seguente comando nel terminale

Codice:
sudo chmod -R 777 /mnt/CartellaConPermessiDaSistemare



Progetto 

Creare directory dove verrano conservare le foto nell'HD esterno, ammettiamo che questa directory si chiami "Storage" 



Creiamo una directory dove copiare la foto più recente della directory "storage" e chiamiamola ad esempio "perFotoSuWeb"


Create un sito web. Io ho scelto di farlo con altervista che offre spazio gratuito Altervista 

Attenzione ad acquisire un sito e non un blog. Con Altervista nel caso si acquisisca un blog al posto del sito c'è la possibilità di convertirlo QUI

A questo punto è necessario fare un file eseguibile su Desktop che scatti delle foto ad intervalli fissi di tempo.

Per questo da terminale diamo il seguente comando 

Codice:
sudo nano home/pi/Desktop/NomeFile.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
nohup raspistill -awb auto -w 2542 -h 1944 -t 0 -tl ****** -a 1036 -ae +25+25 -o /path/nomefiledellefoto%05d.jpg &

dove al posto di ****** inseriamo l'intervallo tra una foto e l'altra espressa in millisecondi (ad esempio 10 minuti = 600000)

digitiamo ctrl o per salvare, diamo invio per confermare il nome, e poi ctrl x per uscire da nano.

Diamo i permessi al file con il comando
 
Codice:
sudo chmod 777 home/pi/Desktop/NomeFile.sh

Se lanciamo suddetto file e poi premiamo esegui, il modulo cam incomincia a scattare foto in full HD con bilanciamento del bianco automatico, inserendo un piccolo banner al centro in alto della foto con data e ora ogni tot secondi. Il comando non s'interrompe se il collegamento remoto s'interrompe. I file verranno nominati con numero progressivo da 1 a 99999 (ad esempio nomefile00001.jpg, nomefile00002 ... etc.).
 
Ora creiamo un altro file eseguibile sul Desktop che chiamiamo CopiaUltima.sh il file servirà a copiare la foto più recente tra quelle scattate nella cartellina "PerFotoSuWeb" e rinominarla FotoWeb.jpg

Analogamente a come abbiamo fatto prima nel terminale diamo il comando

Codice:
sudo nano home/pi/Desktop/CopiaUltima.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
cp $(ls -t1 /path/*.jpg | head -n1) /path/FotoWeb.jpg

digitiamo ctrl+O per salvare, diamo invio per confermare il nome, e poi ctrl+X per uscire da nano.

diamo i permessi al file con il comando 

Codice:
sudo chmod 777 home/pi/Desktop/CopiaUltima.sh

A questo punto dobbiamo creare un ultimo file su Desktop che serve a spedire la FotoWeb.jpg sul nostro sito.

Come prima digitiamo nel terminale
 
Codice:
sudo nano home/pi/Desktop/MandaFotoWebSulSito.sh

Si apre l'editor nano ci incolliamo all'interno il seguente comando

Codice:
#!/bin/bash
/usr/bin/ftp -inv nomescelto.altervista.org<<ENDFTP
user nomescelto *******
bin
lcd /path/perFotoSuWeb/
put FotoWeb.jpg FotoWeb.jpg
bye
ENDFTP


Dove nomescelto è il nome che è stato scelto per il sito di altervista e al posto ******* la password scelta per il sito di altervista.

Attenzione per altri fornitori di spazio web forse cambia qualcosa, bisogna fare delle prove.

Digitiamo ctrl o per salvare, diamo invio per confermare il nome, e poi ctrl x per uscire da nano.

Diamo i permessi al file con il comando 

Codice:
sudo chmod 777 home/pi/Desktop/MandaFotoWebSulSito.sh


Attenzione: una volta lanciato questo comando la foto sarà visibile in www.nomescelto.altervista.org/FotoWeb.jpg

Ora se vogliamo che periodicamente la foto più recente nella cartellina storage sia copiata nella cartellina PerFotoSuWeb e rinominata FotoWeb.jpg e che questa  periodicamente sia inviata sul sito possiamo farlo con crontab.


Da terminale digitiamo  

Codice:
sudo crontab -e

si apre l'editor nano 

andiamo all'ultima riga e incolliamo

Codice:
*/12 * * * * /home/pi/Desktop/CopiaUltima.sh

*/22 * * * * /home/pi/Desktop/MandaFotoWebSulSito.sh

Questo significa che ogni 12 minuti viene copiata la foto più recente e ogni 22 minuti viene inviata sul sito. Ovviamente la periodicità di esecuzione dei file la sceglierete voi. 12 e 22 sono solo un esempio.


ATTENZIONE: tra gli asterischi è necessario lasciare uno spazio.

Come al solito salviamo il file con ctrl o, diamo invio per confermare il nome e ctrl x per uscire da nano.

I comandi in crontab vengono eseguiti automaticmente all'avvio del RPi.

A questo punto se tutto è andato liscio basta accendere il RPi lanciare il file eseguibile su Desktop che scatta le foto ad intervalli fissi di tempo e per il resto fa tutto Crontab.

per interrompere il processo facciamo un reboot oppure possiamo dare il comando 

Codice:
ps aux

il terminale ci restituisce il listato dei processi in uso, cercare nella lista il pid relativo a raspistill e dare il comando

Codice:
Kill pid

intendendo per pid il numero corrispondente alla colonna pid della riga raspistill.
  

Buona fortuna.

Trovato! grazie mille.

Ilario
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect