by


Raspberry PI & Camera Board


official weather station of Isola del Liri, Italy

webcam raspberry PI project

GUI - graphic interface for raspicam




idea

Graphic Interface for RASPICAM & CANON by meteoliri.it

NIENTE PIU GRATTACAPI CON LA MICROSD "PANORAMA V35" - ACQUISTA DA SOLI 25,00€

solution, creativity, innovation

Progetto webcam per la gestione del miniPC Raspberry PI con il suo modulo camera da 5mpx/8mpx e fotocamera CANON. Nella sezione "progetti"

RASPICAM

sono disponibili una serie di articoli su come realizzare e soprattutto programmare una webcam panoramica da posizionare a casa per solo scopo hobbistico o pubblicitario per una propria azienda commerciale. Ovviamente, in ottemperanza alla vigente normativa, le riprese realizzate dovranno essere effettuate ad una distanza tale da non permettere il riconoscimento dei tratti somatici dei soggetti, quindi a voi spetta il giusto posizionamento della raspicam. Molti miei amici, entusiasti del progetto e grazie soprattutto dell'ottimo rapporto qualità/prezzo, una volta assemblato i vari componenti, si trovavano poi nella difficoltà di programmare la webcam, nonostante siano presenti guide esaustive sul sito di meteoliri.it. Così è partita l'idea di mettere a disposizione di chiunque ne facesse richiesta, il progetto "PANORAMA by Meteoliri.it" con la fornitura di una micro SD pre-configurata e completa di tutto il necessario per il regolare funzionamento della webcam.
Con questo progetto non saranno più necessarie guide, programmazioni e grattacapi di qualsiasi genere ma basterà inserire la scheda nel vostro Raspberry Pi, collegare poi il cavo LAN direttamente al router e la rete elettrica.

Screenshot

microSD Panorama microSD Panorama microSD Panorama microSD Panorama
microSD Panorama
microSD Panorama
microSD Panorama
microSD Panorama

Per un esempio pratico si consiglia di visionare l'apposita sezione


INTERFACCIA GRAFICA

microSD Panorama

Basic

Graphic Interface

for Raspberry

Gestione RASPICAM

Gestione CANON

FTP immagini (ritmo 2 min)

Mudulo grafico (cornice+dati su immagine)

Time Lapse (framerate 2min)

CumulusMX

...

microSD Panorama

Pro

RASPICAM & Graphic Interface

Raspberry PI 1 B+ 512mb

Camera PI Board 5mp

Alimentatore 5V 2A

Cavo elettrico 2,5mt

Cavo LAN Cat6 5mt

Custodia IP66 c/staffa

MicroSD

...

microSD Panorama

Premium

RASPICAM & Graphic Interface

Raspberry PI 2 1Gb

Camera PI Board 5mp

Alimentatore 5V 2A

Cavo elettrico 2,5mt

Cavo LAN Cat6 5mt

Custodia IP66 c/staffa

TeamViewer

MicroSD


Come programmare una webcam a scatti

guida pratica per ka tua raspicam




Purtroppo la Camera Pi board non è "plug and play" e occorre eseguire alcuni passaggi preparatori prima di poterla utilizzare con la Raspberry Pi TYPE B Pi. bisognerà quindi iniziare con gli aggiornamenti del raspbian digidando

sudo apt-get install git
            
sudo apt-get update && sudo apt-get upgrade

seguirà la configurazione del boot:

sudo raspi-config

apparirà una schermata come da foto, posizionarsi su "Enable Camera" per l'abilitazione, procedere poi con "4 Internationalisation Options" e quindi "I2 Change Timezone" seguendo le opzioni richieste. Terminare la configurazione con "Finish" utilizzando i tasti freccia dx/sx.

Dopo il Reboot del sistema proseguire con gli aggiornamenti ed installazione di componenti utili per il regolare funzionamento della webcam. senza prima aver effettuato delle prove per verificarne il funzionamento:

sudo mkdir /var/www
            
sudo chmod 777 /var/www
cd /var/www
raspistill -w 800 -h 600 -o /var/www/webcampi.jpg
ls -l

"raspistill" è lo script per la webcam-raspberry che permette alla Camera Pi di scattare le foto settate in questo caso ad una grandezza di 800×600 e rinominato webcampi.jpg

Software & Hardware

CARATTERISTICHE DEL SOFTWARE
Picture formats JPEG (accelerated) , JPEG + RAW , GIF , BMP , PNG , YUV420 , RGB888
Video formats raw h.264 (accelerated)
Effects negative , solarise , posterize , whiteboard , blackboard , sketch , denoise , emboss , oilpaint , hatch , gpen , pastel , watercolour, film , blur , saturation
Exposure modes auto , night , nightpreview , backlight , spotlight , sports , snow , beach , verylong , fixedfps , antishake , fireworks
Metering modes average, spot, backlit, matrix
Automatic White Balance modes off, auto , sun , cloud, shade, tungsten, fluorescent , incandescent , flash, horizon
Triggers Keypress , UNIX signal , timeout
Extra modes demo , burst/timelapse , circular buffer , video with motion vectors , segmented video , live preview on 3D models

CARATTERISTICHE HARDWARE
Available Implemented
Chief Ray Angle Correction Yes
Global and rolling shutter Rolling shutter
Automatic exposure control (AEC) No - done by ISP instead
Automatic white balance (AWB) No - done by ISP instead
Automatic black level calibration (ABLC) No - done by ISP instead
Automatic 50/60 Hz luminance detection No - done by ISP instead
Frame rate up to 120 fps max 90fps. Limitations on frame size for the higher frame rates (VGA only for above 47fps)
AEC/AGC 16-zone size/position/weight control No - done by ISP instead
Mirror and flip Yes
Cropping No - done by ISP instead (except 1080p mode)
Lens correction No - done by ISP instead
Defective pixel canceling No - done by ISP instead
10-bit RAW RGB data Yes , format conversions available via GPU
Support for LED and flash strobe mode LED flash
Support for internal and external frame synchronization for frame exposure mode No
Support for 2x2 binning for better SNR in low light conditions Anything output res below 1296x976 will use the 2x2 binned mode
Support for horizontal and vertical sub-sampling Yes , via Binning and skipping
On-chip phase lock loop (PLL) Yes
Standard serial SCCB interface Yes
Digital video port (DVP) parallel output interface No
MIPI interface (two lanes) Yes
32 bytes of embedded one-time programmable (OTP) memory No
Embedded 1.5V regulator for core power Yes

SATURATION

ISO SETTING

BRIGHTNESS

CONTRAST

"ls" serve per vedere nella directory in cui ci si trova il dettaglio dei file presenti; se lo scatto è avvenuto regolarmnte verrà visualizzato il file denominato webcampi.jpg con byte e orario ultima modifica. Per poterlo visualizzare è necessario l'utilizzo di un software che ti consente di caricare o scaricare files su un server. Esistono vari software gratuiti tra i quali Filezilla e WinSCP (da cercare sul web). Basterà, una volta installato, impostare l'host con l'IP del raspberry, nome utente "pi", password "raspberry" e la porta "22". Una volta connesso digitare nel sito remoto /var/www e trasferire sul vostro PC il file immagine. Quindi visualizzatelo. Ora procediamo con le installazioni della webcam-raspberry come segue (PHP5, librerie e NCFTP per l'invio file tramite FTP):

sudo apt-get install php5
            
sudo apt-get install php5-cgi
sudo apt-get install php5-gd
sudo apt-get install ncftp

Passiamo ora all'aggiornamento del firmware:

sudo apt-get install rpi-update
              
sudo rpi-update
sudo reboot

Ora attendere il riavvio del Raspberry Pi TYPE B ripristinando il terminale con le solite credenziali "login/password", e provare gli scatti

Giorno

cd /var/www 
            
raspistill -w 1600 -h 1200 -co 25 -o /var/www/webcampi.jpg -sa 50 -sh 100 -ev 55 -ex auto -awb fluorescent

Notte

cd /var/www 
            
raspistill -w 1600 -h 1200 -o /var/www/webcampi.jpg -sa 0 -sh 50 -ISO 400 -ev 50 -awb fluorescent -awbg 1,1 -ss 6000000 -t 60000

I prossimi script sono da creare nella cartella /var/www con:

cd /var/www
            
sudo nano scatto1.sh

e copia/incolla il seguente codice (script principale x lo scatto della webcam):

#!/bin/bash
              
dn=$(php /var/www/dn.php)
./var/www/dati.sh
echo $dn "$uT"
if [ $dn = "1" ]
then
echo "Switching to day mode"
raspistill -w 1600 -h 1200 -co 25 -o /var/www/webcampi.jpg -sa 50 -sh 100 -ev 55 -ex auto -awb fluorescent
php /var/www/ridu.php
ncftpput -u "$utente" -p "$pass" "$sito" "$desti" /var/www/webcamx.jpg
chmod 777 /var/www/webcamx.jpg
exit 0
else
if [ $dn = "2" ]
then
echo "Switching to night mode"
raspistill -w 1600 -h 1200 -o /var/www/webcampi.jpg -sa 0 -sh 50 -ISO 400 -ev 50 -awb fluorescent -awbg 1,1 -ss 6000000 -t 60000
php /var/www/ridu.php
ncftpput -u "$utente" -p "$pass" "$sito" "$desti" /var/www/webcamx.jpg
chmod 777 /var/www/webcamx.jpg
exit 0
fi
fi
exit 0

Codice in php per ridurre a piacimento e qualitativamente il file immagine da inviare con FTP sul proprio sito web:

sudo nano ridu.php

copia ed incolla il seguente codice ridu.php così strutturato:

<?php
              
include "SmartImage.class.php";
$src = "/var/www/webcampi.jpg";
$img = new SmartImage($src);
// Resize and save to file
// the true value means to cut the image
$img->resize(1024, 768, true);
$img->saveImage("/var/www/webcamx.jpg", 85);
?>

salvare con ctrl+x e quindi tasto "y" per la conferma. Scaricare e trasferire tramite Filezilla il file smartimagesulla directory /var/www

Codice in php per il calcolo effemeridi (alba e tramonto):

sudo nano dn.php

copia ed incolla il seguente codice dn.php con modifica della lat e long relativa alla propria località, così strutturato:

#!/usr/bin/php
                
<?php
$lat=41.68;
$long=13.58;
date_default_timezone_set('Europe/Rome');
$uT=time();
$sun_info = date_sun_info($uT, $lat,$long);
$sunrise = $sun_info['civil_twilight_begin'];
$sunset = $sun_info['civil_twilight_end'];
$alba = $sunrise+200;
$tramonto = $sunset-200;
if ($uT>$alba && $uT<$tramonto) echo "1";
else echo "2";
?>

salvare con ctrl+x e quindi tasto "y" per la conferma.
creare questo piccolo file contenente i dati per la connessione FTP:

sudo nano dati.sh

copia/incolla il seguente codice apportando le dovute modifiche: 

#/bin/bash
                  
utente="tuosito@aruba.it"
pass="password"
sito="ftp.tuosito.it"
desti="www.tuosito.it/webcam"
destiTL="www.tuosito.it/timelapse"

salvare con ctrl+x e quindi tasto "y" per la conferma. infine, per far eseguire lo scatto automaticamente anche e soprattutto ogni volta che si spegne accidentalmente il miniPC è necessario aggiungere una linea di comando da settare a piacimento nel crontab dopo l'ultima riga: 
crontab -e 
copia/incolla il seguente codice.
Da notare il settaggio è impostato ad ogni 2 minuti, ma si può modificare a piacimento la parte numerica (esempio... 1,6,11,16,21,26,etc oppure 1,11,21,31,41,51):

1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59
                    * * * * sh /var/www/./scatto1.sh

salvare con ctrl+x e quindi tasto "y" per la conferma. Ripristinare con "sudo reboot".

Guide per Raspberry PI

elenco articoli

Interfaccia grafica.

Setting colori, qualità, nigth/day & timelapse

Raspberry Pi & GPhoto2

Come programmare una webcam a scatti con GPhoto2

Script scatto webcam

Programma la tua Webcam raspberry con camera board