Webcam
Come costruire una Webcam wireless senza bisogno di un pc acceso (Parte 3) PDF Stampa E-mail
Valutazione attuale: / 6
ScarsoOttimo 
Scritto da I Magnati della Lomellina   
Domenica 24 Gennaio 2010 11:33

 

Dopo aver installato il nuovo firmware ed aver impostato la connessione wireless, ora possiamo dedicarci all'installazione dei pacchetti necessari per far funzionare il tutto come Webcam wireless e configurare gphoto2.

(N.B. Per permettere una corretta visione dell'articolo agli utenti con tutti i tipi di definizione e di schermo, ho dovuto rimpicciolire le immagini! Per vederle ingrandite cliccate su di esse con il tasto destro del mouse e poi su "Visualizza Immagine")

Innanzitutto andiamo nella pagina iniziale del nostro router Asus, digitando l'indirizzo 192.168.0.20 (staccate infatti prima il vostro Wl-500gP dalla connessione diretta con il PC e accedete a lui via wireless digitando l'indirizzo IP che gli avete assegnato, appunto ad es. 192.168.0.20... ATTENZIONE: Se non si dovesse connettere via wifi, ma solo via ethernet, controllate, connettendolo di nuovo via cavo, che in Network --> Firewall e qui controllate che in basso, in wan, le prime due voci siano su accept!).

Andate poi in System ---> Software

updatepackages

Cliccate su "Update lists" e aspettate qualche minuto che il router faccia l'update dei pacchetti disponibili e via dia l'OK del processo. Se vedete comparire un errore nell'Update, vuol dire che il vostro router non è connesso correttamente ad internet o che non è corretta l'impostazione del DNS-server, per questo riguardate la Parte 2 di questa guida!

Poi andiamo in System --> System e impostate come fuso orario quello di Europe/Rome e cliccate su Save And Apply come sotto:

Ora possiamo passare all'installazione dei pacchetti. Per far questo aprite Putty, che avevamo già scaricato all'inizio: vi si aprirà questa pagina

putty

Inserite in "Host Name" l'ndirizzo IP che avete assegnato al Wl-500gP, che sarà 192.168.0.20 se state lavorando in wireless o 192.168.1.1 se siete ancora in locale. Controllate che la "Connection type" sia su SSH e poi cliccate Open. Si aprirà l'interfaccia di Putty per comunicare con il router:

loginputty

Inserite prima "root" come login e poi "administrator" come password. Non vi preoccupate se mentre inserite la password non viene visualizzato nulla, è normale! ;)

(ATTENZIONE: ho notato, specie con versioni precedenti di OpenWrt, che può succedere che la prima volta non si riesca ad accedere tramite SSH perchè rifiuta la password... Ho risolto collegandomi prima tramite telnet, digitando il comando passwd ed impostando una nuova password, ad esempio administrator... Dopo di che ho chiuso la sessione telnet, ho aperto quella SSH e con la nuova password tutto OK)

 

 

Ora possiamo installare i pacchetti.

Siccome noi abbiamo bisogno delle versioni nuove di gphoto (attualmente le 2.4.11 e siccome se lanciassimo automaticamente l'installazione di questi pacchetti il router installerebbe la versione 2.4.9 che ha dei problemi, l'installazione di gphoto2, libgphoto2 e libgphoto2-drivers la faremo successivamente).

Installiamo ora i pacchetti kmod-usb-core, kmod-usb-ohci, kmod-usb-uhci, kmod-usb2 e wput, scrivendo per ognuno il comando "opkg install *nome pacchetto*" e cliccando poi Invio (es. opkg install wput). Se installando uno dei pacchetti usb vi dice che quel pacchetto c'è già, non vi preoccupate, può darsi che esso fosse già contenuto in un altro pacchetto. Ad esempio kmod-usb-core dovrebbe esser già contenuto in kmod-usb2.

Ora possiamo passare all'installazione dei pacchetti gphoto2, libgphoto2 e libgphoto2-drivers. Per far questo innanzitutto scaricate i pacchetti cliccando sui link seguenti: gphoto2_2.4.11-1_brcm-2.4.ipklibgphoto2_2.4.11-2_brcm-2.4.ipklibgphoto2-drivers_2.4.11-2_brcm-2.4.ipk In questo modo scaricheremo i pacchetti che dovremo mandare al router.

Ora apriamo HFS, che avremo scaricato in precedenza, accertandoci però di aver chiuso tutte le connessioni di rete a parte quella che ci permette di connetterci alla nostra rete e chiudendo quei programmi tipo Skype che utilizzano la porta 80. Inseriamo (cliccando con il tasto destro del mouse sulla parte sinistra della finestra del programma) i files scaricati prima così (andando poi a cercarli nella finestra che si aprirà):

Poi rinominiamoli cliccando su ciascuno di loro con il tasto destro del mouse e cliccando su Rename in questo modo:

Vi ritroverete con questa situazione:

In alto, sulla barra del programma, vedete l'indirizzo IP del PC da cui state lavorando. Di fianco a "You are in Easy Mode" controllate che non ci sia un segnale rosso con scritto "Server is OFF", in tal caso controllate che non ci siano connessioni di rete o programmi che interferiscono con esso. Per installare i pacchetti di gphoto dovete scrivere in putty il seguente comando "opkg install http://192.168.0.2/*nome pacchetto*" (naturalmente sostituite l'indirizzo IP con quello che vedete nella barra). E scrivetelo con, come nome pacchetto, prima gphoto2, poi libgphoto2 e poi libgphoto2-drivers come vedete qui:

Installati tutti i pacchetti possiamo vedere se il nostro router riconosce la nostra fotocamera Canon Powershot A70! Dobbiamo quindi connettere la Canon alla porta USB del Wl-500gP, accenderla, e metterla nella modalità di visione foto sullo schermo LCD, routando la rotellina posta sopra lo schermo LCD dalla modalità "prendere foto"(quella con la macchinina in rosso) alla modalità "play" (con il simbolo play in verde): questo è fondamentale perchè la macchina sia riconosciuta, e, non vi preoccupate, ci permetterà comunque di scattare le foto dando il comando via Putty. Fatto ciò inserite il comando gphoto2 --auto-detect e cliccate su invio. Dovrebbe, dopo alcuni secondi, darvi questa risposta:

auto-detect

Se così non fosse staccate router e Canon dalla corrente e riaccendete tutto, riprovate, ed ora dovrebbe funzionare.

Siamo quindi pronti per mandare il comando per scattare le foto in modo automatico e per mandarle su un sito web che supporta FTP e di cui abbiamo username e password!

Prima create nel vostro account FTP una cartella dove metterete la foto scattata dalla webcam! Se volete che sotto compaia una riga con la città dove si trova la webcam, la data di acquisizione e altre informazioni utili scaricate il file Scritta1Riga (cliccate sopra) e scompattatelo (l'ho preso da meteo-barcellonapozzodigotto.it)! Modificate il file testo.txt con ciò che volete che appaia (exif serve per la data e l'ora di aquisizione) e modificare anche webcam.php se volete ingrandire la scritta o lo spazio blu! Ora uploadate (tramite il vostro client FTP preferito, es. FileZilla) i files nella cartella dove verrà uploadata l'immagine della webcam!

Ora scaricate dai qui i files (cliccate sopra ai primi due per salvarli) capture.shhook.sh...

Ora modifichiamo (con Blocco Note) i parametri che ci interessano:

-in capture.sh potete modificare il parametro imagesize che indica quanto sarà grande la foto che verrà spedita sul web... Io vi consiglio imagesize=2 (1024x768px), perchè mi sembra un buon compromesso tra il una buona risoluzione e la leggerezza dell'immagine!

-in hook.sh modificate i parametri che trovate nella riga "wput -u $work ftp://USER:PASSWD@xxxxxxx.xx/webcam/webcam.jpg", ossia mettete l'user e la password del vostro account FTP in USER:PASSWD e la cartella dove metterete l'immagine della webcam al posto di  xxxxxxx.xx/webcam/, mentre lasciate webcam.jpg alla fine.

 

 

Ora installate WinScp e poi configuratelo come vedete nelle due immagini qui sotto, ossia inserite l'indirizzo IP del Wl-500gP, con user e psw (dovrebbero essere root e administrator), modificare il Protocollo File in SCP e poi sulla sinistra andate in SCP e impostate come vedete nella seconda immagine:

winscplogin

winscplogin2

Cliccate su Accedi e vi si aprirà una schermata come sotto, dove a sinistra avrete le cartelle e i files sul vostro PC e a destra quelle sul router. Nella schermata a sinistra andate nella cartelle dove avete salvato i files appena scaricati. Trasferite i files in questo modo: capture.sh nella cartelle /root/ (quella che vi si apre al login di winscp: nell'immagine che vedete sotto ci sono anche altri files, ma da voi non dovrebbe esserci altro nella cartella /root oltre alla cartella .gphoto e al file capture.sh che inserite voi) e hook.sh in /usr/bin/ (la troverete salendo di un livello, poi aprendo usr e poi bin).

winscpschermata

Ora chiudete WinSCP!

Ora controlliamo che lo script funzioni, digitate in Putty: sh /root/capture.sh

Dopo qualche secondo la fotocamera dovrebbe fare uno scatto ed inviarlo online! Se invece Putty restuisse degli errori, provate a chiudere Putty, scollegate dalla corrente il router e la Canon e poi riattacateli, ora riaprite Putty e riprovate!

Ora dobbiamo fare in modo che il nostro script venga avviato ogni minuto (od ogni tot di minuti che volete voi).

Per far questo colleghiamoci al nostro router tramite l'indirizzo 192.168.0.20 e andiamo in System --> Scheduled Task ed inseriamo la riga

*/1 * * * *      /root/capture.sh

come vedete sotto, cliccando poi su Submit:

In questo modo il router ogni minuto scatterà un'immagine e la manderà online. Potete anche impostare intervalli diversi, ad esempio al posto di */1 potete mettere */5 se volete foto ogni 5 minuti, oppure mettere i minuti in cui volete che scatti l'immagine, ad esempio 15,30,45 per fare in modo che scatti in quei minuti di ogni ora. Ci sono molte altre combinazioni che potete impostare seguendo le istruzioni sul file crontab che trovate un po' dappertutto online (ad esempio qui nel secondo paragrafo /etc/crontabs/root)

Ora possiamo chiudere il Browser, Putty, staccare router e Canon dalla corrente e, una volta collegati insieme dopo qualche secondo il sistema funzionerà regolarmente (in teoria il tutto dovrebbe partire dopo aver cliccato su Submit prima)! Tutto questo fa sì che lo script funzioni da solo e, nel caso di un calo di tensione, al riavvio tutto riparta come prima (sempre che abbiate l'accortezza di fare in modo che la Canon si riaccenda ogni volta tenendo schiacciato il tastino On/Off ad esempio con un fermacampione come spiegato nella mia guida su come costruire una custodia per tutto il sistema, raggiungibile cliccando qui)!

BEN FATTO!

P.s. Ho notato che la Webcam si incatasta dopo circa 24ore... Ho ovviato al problema inserendo un timer a monte delle spine in modo che spenga tutto il sistema alle ore 03.30 e lo riaccenda alle ore 04.00.

 

Ringraziamenti: per la parte software un ringraziamento speciale ad Alessio Sangalli, senza il cui aiuto non sarebbe stato possibile realizzare tutto questo!

Un ringraziamento anche alla comunità di IRC #openwrt e#gphoto, un sistema di chat dove utenti esperti potranno darvi le dritte del caso, in inglese, e scaricabile da qui: http://xchat.org/

In particolare un grazie a _Marcus_ di #gphoto e s-taylo di #openwrt...

 

PER VEDETE LA WEBCAM IN TEMPO REALE ANDATE QUI: http://www.imagnatidellalomellina.it/webcam/109-webcam-meteo-robbio.html

 

Ultimo aggiornamento Giovedì 29 Dicembre 2011 23:28
 

Contatore

I Magnati sostengono:

robbionelcuore

Dona con PayPal

Ricerca con Google

Ricerca personalizzata

Sondaggio

Quanto ti è stato utile il nostro Sito?