venerdì 13 settembre 2013

Collegare Raspberry in Desktop remoto


Una delle esigenze che possono esserci e' quella di poter collegare la Raspberry attraverso il Desktop remoto, in maniera da utilizzare il pc casalingo come se fosse collegato fisicamente con la nostra Rasp. Per fare questo e' necessario istallare il server VNC sulla Raspberry e il VNC viewer sul pc locale.

Collegare Raspberry in Desktop remoto:

Ho eseguito passo passo questa guida che e' fatta molto bene e funziona alla grande.
In sostanza:
Ho installato il programma vnc sulla  Raspberry:
sudo apt-get install tightvncserver

Ho creato un file chiamato vncboot in /etc/init.d/vncboot con questo contenuto:
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO

#! /bin/sh
# /etc/init.d/vncboot

USER=root
HOME=/root

export USER HOME

case "$1" in
 start)
   echo "Starting VNC Server"
   #Insert your favoured settings for a VNC session
   /usr/bin/vncserver :0 -geometry 1280x800 -depth 16 -pixelformat rgb565
   ;;

 stop)
   echo "Stopping VNC Server"
   /usr/bin/vncserver -kill :0
   ;;

 *)
   echo "Usage: /etc/init.d/vncboot {start|stop}"
   exit 1
   ;;
esac

exit 0

-------------------------------------------

Poi da utente di root (sudo bash) ho sistemato i permessi del file con
chmod 755 /etc/init.d/vncboot
Poi con il comando
update-rc.d vncboot defaults

Ho reso bootabile lo script.
Al prossimo Reboot il sistema dara' accesso al client VNC esterno
Al primo collegamento si dovra' settare la password di VNC (cosa che puo' essere fatta anche subito 
dopo l'istallazione chiamando il programma direttamente da shell)

BerryCam come ti piloto la RaspiCam da Iphone

BerryCam come ti piloto la RaspiCam da Iphone
Ho trovato un simpatico programmetto che consente di gestire la Raspicam attraverso Iphone o Ipad. Sono due giorni che ci sto battendo il capo sopra e finalmente posso dire di averlo "domato"!
Come sapete la mia memoria fa acqua da tutti i pori, quindi eccomi qui a stilare un rapportino delle operazioni "governate" con successo!
Il programma a cui faccio riferimento e' questo che trovate qui
dove sono riportate le istruzioni per il caricamento del programma su Iphone o Ipad e come configurare la Raspberry Pi per poter funzionare correttamente.


Rispetto alle indicazione del sito ho apportato qualche modifica per ottenere un sistema che parta allo start-up della macchina e che possa quindi essere lasciato stand alone, pronto per scattare foto controllandolo a distanza.
Il mio sitema prevede di poter collegare la Raspberry direttamente al terminale mobile, Ipad o Iphone che dir si voglia, fungendo direttamente da Access Point WiFi, in maniera da poter essere utilizzata anche lontano dalle reti casalinghe, penso al controllo remoto di un camper quando siamo spensierati sulla spiaggia, per esempio, o per vedere cosa combinano i ragazzi nella stanza a fianco, o per controllare ed immortalare degli eventi dove anche noi  facciamo parte dell'immagine che vogliamo ottenere, foto con animali per esempio.....
Insomma ci sono una montagna di occasioni durante le quali e' utile un sistema del genere.
Quindi passiamo alla descrizione di come ho operato.
Fatto il dowload del file berryCam.py da qui ho spostato il file nella cartella /home/pi/berrycam/  costruita per l'occasione (diversamente da quanto descritto nel tutorial del sito, per evitare che quando uno si collega con il browser WEB alla porta 8000 della Raspberry, questa si trovi a snocciolare tutto il contenuto della cartella /home/ e quindi lasciare la possibilita' all'utente del programma di vedere tutto il contenuto degli eventuali utenti della macchina- cosa che ho segnalato agli autori e che secondo me dovranno sistemare anche nel loro sistema-)
Dopo questo passaggio sono andato a configurare il file /etc/rc.local aggiungendo  il programma con la sua path , in questo modo il programma parte in automatico ad ogni reboot del sistema.
Cioe':

sudo vi /etc/rc.local
ed ho inserito queste due righe nel file di configurazione digitandole prima di " exit  0 ":
cd /home/pi/berrycam/
python /home/pi/berricam/berryCam.py &


la & serve per farlo partire come demone.
Adesso se facciamo i primi scatti (ovviamente dopo aver scaricato il programma di gestione del telefono da Apple Store) volendo anche da qui -------->
Possiamo anche vedere gli scatti a grandezza naturale attraverso un browser  (da una macchina inserita nella stessa sottorete della Raspberry, naturalmente) digitando come indirizzo il numero IP della Raspberry e puntando sulla porta 8000 della stessa.
nel mio caso e'  http://192.168.1.169:8000/

RaspiCam la telecamerina III parte


Allora, dopo aver installato la RaspiCam sulla Raspberry Pi ed aver fatto le prime foto di test, ho cercato di fare in maniera di ottenere una serie di foto per costruire filmati in time lapse. Abbiamo visto nell'articolo precedente come ho cercato di risolvere il problema della sovrascittura, ma il sistema cosi come impostato, non risolve il problema.

Oggi ho cercato di approcciare il tutto in un altro modo, facendo scattare Raspistill solo una foto alla volta, senza utilizzare la funzione timelapse interna al programma (-tl), mentre ho deciso di utilizzare crontab per la definizione del numero deglil scatti. In questo modo possimao anche far eseguire piu' istruzioni consecutive al sistema, come quella di fare l'upload delle foto sul file server in FTP e la loro successiva cancellazione in locale.


Ecco cosa ho fatto:
Partendo dall'inizio:
da /home/pi
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ftp
mkdir cronfiles
per ottenere /home/pi/cronfiles
cd cronfiles
sudo vi cronscatta.cron
che contiene questo:
#=================================================================
#                TEST SCATTO FOTO OGNI TOT  MINUTI
#     utilizzo RASPISTILL per scattare 1 foto alla volta
#     utilizzo crontab per ripetere l'operazione ogni TOT minuti
#     fatta la foto, provvedo all'upload e poi cancello la foto
#     una accortezza nell'associare l'ora al nome della foto
#     per evitare di sovrascriverla ad ogni upload
#              per farlo ogni minuto
#     * * * * * /home/pi/raspicam/scatta_up_cancella.sh
#              per farlo ogni 5 minuti:
#     */5 * * * * /home/pi/raspicam/scatta_up_cancella.sh
#              per farlo ogni 25 minuti:
#     */25 * * * * /home/pi/raspicam/scatta_up_cancella.sh
#=================================================================

MAILTO=""
*/5 * * * * /home/pi/raspicam/scatta_up_cancella.sh >/dev/null


poi:
mkdir /home/pi/raspicam
cd /home/pi/raspicam
sudo vi /home/pi/raspicam/scatta_up_cancella.sh
con questo contenuto:
#!/bin/sh

# scatta_up_ecancella.sh
#
#
# Created by Valerio on 31/07/13.
# Copyright 2013 __MyCompanyName__. All rights reserved.
#
#
# setta il nome del file inserendo la data e l'ora x evitare
# di sovrascrivere al prox passaggio
# poi copia il file su server ftp
# dunque cancella il jpg in locale

echo "Content-type: image/jpg";
echo;

filename=$(date -u +"%Y%m%d_%H%M%S").tlapse.jpg


# Configurazione Server FTP
HOST="ftp.tognozzi.net"
USER="XXXXXXXXXXXXX"
PASS="XXXXXXXXXXXX"
PATH_RMT="/www.tognozzi.net/XXXXXXXXX"
PATH_LCL="/home/pi/raspicam/"
#FILE="*.jpg"

# Rendo attiva la cartella con il file da copiare
cd $PATH_LCL

# Scatto la foto con i parametri impostati
#raspistill  -w 1024 -h 768 -o /home/pi/raspicam/$filename -t 3000  -n -ex au
to  - awb auto
raspistill  -o /home/pi/raspicam/$filename -t 3000  -n -ex auto  -awb auto

# Connessione al server FTP e trasferimento file
ftp -n -i $HOST <user $USER $PASS
binary
cd $PATH_RMT
mput $filename
quit
EOF


# chiusa la connessione  cancello le foto in locale
cd $PATH_LCL
sudo rm $filename


# FINE

per rendere eseguibile il file

chmod +rx scatta_up_cancella.sh
e quindi si fa leggere a crontab il file preparato di schedulazione delle attivita':
sudo /usr/bin/crontab /home/pi/cron/cronscatta.cron

a questo punto il sistema dovrebbe si  sincronizzare con crontab e la Raspberry pi comincia a fare le foto volute, le trasferice sul server ftp, e le cancella in locale.


Cosa ne pensate?
Per la gestione di crontab ho seguito le indicazioni di questo sito
Stay Tuned
Tecnogeppetto

Gestire il Led Rosso della Raspberry Cam

Girellando per la rete ho trovato questo utile programmetto per la gestione del Led Rosso della Cam della Raspberry.
Di per se sembra inutile, ci sono tanti altri pin da utilizzare, che senso puo' avere di accendere o spengere a piacimento proprio quello della Cam?
Un senso lo ha per me che sto costruendo una stazionciana di monitoraggio esterna, da affiancare ad una stazione meteo, per esempio, o da utilizzare per la costruzione di filmatini in time lapse con immagini all'esterno. Naturalmente per questo scopo. la RaspiCam deve avere il Led spento, per evitare diversi effetti collaterali non richiesti, quali per es. non fìdare nell'occhio, non ottenere dei riflessi strani sulla ripresa, ecc.... ecc.....
Ma quando il circuito e' nella sua scatolina, bello chiuso e sigillato, e' difficile capire dall'esterno se tutto e' ok e tutto funziona regolarmente, quindi puo' essere utile un segnale da parte della Raspberry, quale migliore occasione di utilizzare il nostro Led del tutto inusato fino a questo momento?
Quindi il programmino che lo fa lampeggiare poprio mentre lo sto monitorando e' un toccasana per questo scopo.
Ecco di seguito il programma, rimediato da questo link grazie Matt per la condivisione

#!/usr/bin/env python
import time
import RPi.GPIO as GPIO
 
# Use GPIO numbering
GPIO.setmode(GPIO.BCM)
 
# Set GPIO for camera LED
CAMLED = 5
 
# Set GPIO to output
GPIO.setup(CAMLED, GPIO.OUT, initial=False)
 
# Five iterations with half a second
# between on and off
for i in range(5):
  GPIO.output(CAMLED,True# On
  time.sleep(0.5)
  GPIO.output(CAMLED,False) # Off
  time.sleep(0.5)
 
Il programma e' gia' funzionante senza aggiunta di altro, io lo ho modificato soltanto per abbreviare i tempi di lampeggio, per evitare che faccia luce proprio quando la Cam sta scattando la foto, passando da 0,5 secondi a 0,15 secondi, sia il tempo di on che quello di off, in questo modo il lampeggìo dura meno dell'intervallo tra uno scatto e l'altro
 

Come spengere il Led rosso della RaspiCam

Quando lo cerco non lo trovo mai, ed e' gia' una diecina di volte che mi capita di doverlo utilizzare, Dunque: Raspberry Cam Come spengere il Led della Raspberry Cam? E' molto semplice, va modificato il file config.txt contenuto nella cartella di boot quindi: sudo vi /boot/config.txt e qui in fondo al file aggiungere ill comando: disable_camera_led=1 chiudere e rebootare FATTO Buon divertimento cn Raspberry Stay Tuned TecnoGeppetto

Come rilevare la temperatura con Raspberry Pi ed il sensore DS18B20

Come rilevare la temperatura con Raspberry Pi ed il sensore DS18B20.
Scrivo questa nota perche' ho fatto degli esperimenti con il sensore in oggetto qualche settimana fa, ma quando sono tornato a testare il circuito di rilevazione della temperatura con il sensore collegato, mi sono accorto di essermi dimenticato completamente la procedura che avevo testato con le prime prove. Di conseguenza e' importanter che fissi alcune note su come ho condotto i miei esperimenti, altrimenti rischio (causa l'età avanzata) di non essere in grado di condurne di analoghi qualche giorno dopo!

Quiindi partiamo.

Si tratta di un sensore di temperatura tra i più utilizzati sia nel campo hobbistico che in quello professionale, ha una sensibilita' ed una accuratezza della rilevazione di tutto rispetto, con una precisione che si attesta nell'ordine del mezzo grado centigrado. Ottimo per ogni tipo di test a livello hobbistico e per la maggior parte delle applicazioni in campo domotico.
 Collegamenti da effettuare tra il sensore DS18B20 e la Raspberry Pi


Per caricare i moduli Kernel necessari, queste sono le istruzioni. Faccio notare che i moduli vengono caricati in modo temporaneo, al reboot della Raspberry Pi se vogliamo leggere la temperatura di nuovo, devono essere ricaricati, utilizzando le stesse istruzioni.
sudo modprobe w1_gpio && sudo modprobe w1_therm
sudo sh -c "echo 'w1_gpio\nw1_therm\n' >> /etc/modules"

A questo punto si deve andare a leggere all'interno della cartella /sys/bus/w1/devices/ il nome proprio del sensore che abbiamo attaccato alla nostra Raspberry, 
leggendo le directory create con l'istruzione  ls -l /sys/bus/w1/devices/

 
 Questa e' l'struzione da shell per ottenere la lettura diretta dal sensore. il sensore che avrete utilizzato si chiamera' con un nome univoco, quindi per fare altrettanto con un sensore diverso dovete cambiare il nome ( 28-000004bf24bf ) che ricaverete come destritto sopra.
cat /sys/bus/w1/devices/w1_bus_master1/28-000004bf24bf/w1_slave

Cio' che ricaviamo indietro dalla istruzione appena digitata sono le due righe nell'immagine qui sopra. La prima, per quello che ho capiro, conferma con il risultato "YES" l'effettiva lettura avvenuta, la seconda riga invece contiene la lettura vera e propria ( t=28875 ) nel caso in figura.
Il valore, per ottenere la lettura in gradi centigradi, deve essere diviso per 1000, in questo caso si otterra' una lettura in gradi centigradi di 28,875°C
Vi rimando alla pagina web dalla quale ho attinto per condurre questo esperimento
http://raspbrew.tumblr.com/post/40446499326/reading-temperatures-on-a-raspberry-pi-using-ds18b20
Leggete bene tutta la guida, e' fatta molto bene e a seguire riporta anche tutta una serie di esempi di come utilizzare l'informazione con programmini in Python costruiti per l'occasione.

Quando saro' in grado di svilupparne direttamente, certamente ne pubblichero' i risultati.
Molti altri esperimenti bollono in pentola, tra i tanti:
Costruzione di una sistema di telecontrollo con Raspberry Pi
Costruzione di un sistema di rilevazione presenze con Raspberry Pi e Arduino
Sistema di irrigazione alternativo con Arduino
ecc. ecc.  stay tuned
TecnoGeppetto

Pandora Radio con Raspberry Pi

Ecco un altro progettino che circola in rete e che mi ha interessato fin dal primo momento.

 Pandora e' una radio web americana che ha la peculiarita' di corstuire il palinsesto in funzione dei gusti musicali del radioascoltatore.

Infatti ogni ascoltatore puo' configurare la propria radio in funzione dei propri gusti e delle proprie predisposizioni musicali, costruendo direttamente sul proprio profilo le proprie play list personalizzate. Insomma, ascolterai solo quello che ti piace!!
 Pandora pero', per una questione di licenze, e' soltanto raggiungibile dall'America, mentre per noi che viviamo in Italia nega l'accesso.

Naturalmente e' sempre vero tutto ed il suo contrario, quindi, una rapida ricerca ed ecco trovato il sistema per ascoltarla anche dall'italia:
 Con Firefox basta caricare un plugin ed e' subito risolto il problema, si tratta di ProxMate, che , senza neppure riavviare Firefox, lo rende subito operativo anche in caso di blocchi IP come nel caso dei Pandora.

 Quando pero' sono passato ad istallare il sistema sul mio Raspberry ho dovuto escogitare un altra formula per poter ottenere il sistema funzionante senza utilizzare Firefox, ma bensi' i comandi da shell come nel caso del progettino di Adafruit.

Infatti costruito il tutto come da istruzioni della splendida LadyAda, che sono molto chiare e piuttosto semplici, ci ritroviamo un sistema che funziona solo se il tuo IP e' di un sistema americano, altrimenti tentando l'accesso da shell attraverso il programma indicato dal tutorial (pianobar) la risposta da parte dei server di Pandora e' un generico errore ed il programma "pianobar" termina ed esce.
 La prima cosa da fare quindi e' quella di modificare il dns del sistema, la strada che ho scelto e' quella di modificarlo localmente solo sulla Raspberry che conterra' il sistema Pandora Radio, andando a editare il file /etc/resolv.conf aggiungendo queste due righe al posto di quelle che vi si trovano dentro il file:

  nameserver 69.197.169.9 
  nameserver 192.95.16.109 

ad oggi 03 luglio 2017 sembra che questi ip sopra non funzionino piu'
eccone di nuovi e, ad oggi funzionanti

Portaller
      Preferred: 107.170.15.247
Alternate: 77.88.8.8
Questo file viene aggiornato ad ogni riavvio del sistema, quindi, per evitare che al successivo reboot del sitema il file venga modificato di nuovo con i parametri ricevuti dal server dhcp della rete alla quale la Raspberry accede per andare online, va digitato questo secondo comando da shell:

  sudo chattr -i /etc/resolv.conf 

 Questo comando rende non scrivibile il file di configurazione, bisogna ricordarselo nel caso si voglia ritornare alla configurazione di default, nel qual caso per rendere nuovamente editabile il file il comando e' il seguente:

 sudo chattr +i /etc/resolv.conf (cambia solo il segno della opzione "i" )

 Dopo effettuato il reboot del sistema si dovrebbe ottenere il completo accesso ai server Pandora anche dall' Italia.
 Ovviamente se tutte le altre operazioni sono state svolte correttamente.

Gestire le Cartelle di Raspberry direttamente nel Mac


 

Ho scoperto un'altra cosa sul sistema Raspberry Pi, semplicemente caricando il programma netatalk e rebootando il sistema, si ottiene direttamente nel doc di Mac la nostra Raspberry che viene vista come cartella del sistema.
Basta connettersi come utente della Raspberry con utente e password e si vedranno immediatamente tutti i file e le cartelle contenute nella home dell'utente Raspberry.
Naturalmente la Raspberry ed il Mac devono essere nella stessa rete e con sotto la stessa classe di numerazione IP.
Il comando per ottenere il programma dal repository e' il seguente

sudo apt-get install netatalk


Fine
buon divertimento
TecnoGeppetto

RaspiCam seconda puntata




Fatte le prime prove con la telecamerina che si comporta egregiamente come mera macchina fotografica, adesso sono passato a realizzare un sistema di scatto foto in automatico per costruire un archivio di foto per time lapse. Per evitare che la semplice istruzione
raspistill - o nomefile.jpg
alla seconda esecuzione sovrascriva il file della foto, ho trovato questo escamotage:
raspistill -o myimage_%06d.jpg
in questa maniera, utilizzando il comando -tl che consente alla RaspiCam di continuare a scattare foto per un tempo espresso in millisecondi, si evita che continui a scattare utilizzando sempre lo stesso nome peril file della foto sovrascrivendolo. Cosi' infatti si ottiene una serie di file numerati myimage_000001.jpg in avanti
l'istruzione completa e':
raspistill -o myimage_%06d.jpg -tl 60000 -t 7200000
in questo caso la RaspiCam scatta una foto ogni 60 secondi (-tl) (60 x 1000millisec.) e lo fa per un tempo (-t) di 2 ore ( 60s x 60m x 2h x 1000millisecondi).
In questa maniera, pero', la capienza del disco potrebbe essere messa a dura prova, infatti le immagini a grandezza standard occupano circa 3 MB ognuna, quindi ho pensato di copiare le immagini ottenute su un server ftp, in maniera da non riempire il disco.
ho scritto questo semplice file da far girare per salvare i file immagini su uno spazio ftp e successivamente cancellarli in locale. La procedura deve essere ancora perfezionata, in quanto non ci sono controlli dell'avvenuto upload, in questo modo, se qualcosa andasse storto, andando avanti comunque lo script, cancellerebbe le immagini senza averle salvate, e noi rimarremmo a bocca asciutta!
Una altra successiva implementazione dovra' per forza prevedere la rinominazione dei file in funzione del tempo, poiche' in questa versione, dopo aver fatto girare lo script di salvataggio delle immagini, se il programma Raspistill venisse fermato, alla sua ripartenza comincerebbe da capo con la numerazione, ed al passo successivo, cioe' all'upload saremmo sempre nella condizione di sovrascittura delle immagini sul server ftp, avendo le seconde immagini lo stesso nome delle prime
. Insomma, c'e' ancora da lavorare, comunque fino a qui le immagini sono sequenziali, e possono essere salvate su di uno spazio ftp e cancellate da locale.
Di seguito lo script creato:
#!/bin/bash

# Configurazione Timelapse
HOST="ftp.tognozzi.net"
USER="XXXXXXXXXXXXXX"
PASS="XXXXXXXXXXXXX"
PATH_RMT="/www.tognozzi.net/XXXXXXXXXXXXXXX"
PATH_LCL="/home/pi/raspicam/"
FILE="*.jpg"

# Rendo attiva la cartella con il file da copiare
cd $PATH_LCL

# Connessione al server FTP e trasferimento file
ftp -n -i $HOST <<EOF
user $USER $PASS
binary
cd $PATH_RMT
mput $FILE
quit
EOF
# chiusa la connessione cancello le foto in locale
cd $PATH_LCL
sudo rm $FILE
Che ne dite?
Stay Tuned
Tecnogeppetto

Attivare WiFi su Raspberry Pi

La scheda Raspberry Pi fa ormai parte da giorni della mia scrivania e dei miei progetti. Come per Arduino, dopo qualche giorno di tempo trascorso su altri progetti, mi sono accorto che non mi ricordo piu' come ho raggiunto alcuni risultati (sara' colpa dell'età??), per evitare di ricominciare sempre tutto da capo, mi sono deciso anche in questo caso, a raccontare gli sviluppi ed i progressi con Raspberry Pi qui sul blog, in maniera tale da essere utile anche a qualcuno di voi lettori che seguite le mie indicazioni.


Quindi, uno dei primi scogli che ho dovuto scavalcare e' stata la corretta gestione della chiavetta WiFi compatibile.
 Qui di seguito i passi che ho compiuto per farla riconoscere al sistema e far comunicare la Raspberry Pi con l' AP della mia stazione.
Intanto la chiavetta che ho scelto e' questa   per il costo esiguo, solo 8 euro e per la sua totale compatibilita' con Raspberry Pi.
Naturalmente il collegamento alla Raspberry mod. B e' piu' semplice, in quanto il modello B e' dotato di 2 porte USB, quindi in una si puo' installare la chiavetta e nell'altro la tastiera per effettuare le modifiche, nel caso della Rasp mod. A invece, si deve scegliere due strade, o utilizzare un HUB USB autoalimentato ( perche la Rasp non ce la fa a fornire corrente sia per l'alimentazione dell'HUB che per la chiavetta ) e quindi poter cosi' utilizzare la tastiera direttamente collegata via USB, oppure collegare la Rasp mod A via serale al Mac e comunicare tramite seriale con la Shell per le relative modifiche e settaggi. In questo caso ho utilizzato questa seconda scelta ( mi piace complicarmi la vita!!)
Si parte quindi con il  collegamento della Raspberry Pi mod A attraverso i PIN della GPIO ad un adattatore seriale USB che sara' collegato al Mac. Io ho utilizzato questo, ma va bene anche questo , collegato alla USB ed ai PIN  TX, RX, GND della GPIO. Per comunicare da Mac si deve aprire la finestra di Terminale e col comando " ls /dev " si deve controllare il nome con cui viene  "vista" la scheda USB-seriale , nel mio caso tty.usbmodem431 .
A questo punto ci si collega col programma " screen " al device e con la velocita' di default della Raspberry PI che e' 115200 baud.
screen /dev/tty.usbmodem431 115200
A questo punto si collega l'alimentazione alla Raspberry e, se tutto e' andato a buon fine, nella finestra di terminale dovrebbero scorrere le scritte del boot di sistema.
Fare quindi il login con utente e password, che di default con il sistema operativo raspbian sono "pi" e "raspberry" .
i successivi comandi dipendono anche dalla configurazione del AP casalingo, nel mio caso ho soltanto il controllo del Mac address, ho scelto di eliminare le chiavi WPA e di utilizzare solamente il controllo del mac address, quindi non ho necessita' di configurare il wpa_supplicant, comunque ho aggiunto due righe alla sua configurazione ugualmente.
questi i comandi in sequenza
sudo apt-get update
sudo apt-get upgrade
 
sudo vi /etc/network/interfaces
 
Questa e' la configurazione standard:
auto lo
 
iface lo inet loopback
iface eth0 inet dhcp
 
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
 
Ho modificato  questo punto 
iface wlan0 inet manual
per far si che Raspberry si aspetti la registrazione in rete attraverso un server dhcp che le fornira'  la corretta numerazione con questo
iface wlan0 inet dhcp
cosi' ho ottenuto il mio settaggio definitivo:
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wireless-essid OpenWrtCova
wireless-mode managed
iface default inet dhcp

 Ma si puo' anche scegliere di dare una numerazione fissa alla Rasp modificando il file con  questi comandi:
 
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
 
A questo punto ho modificato la configurazione di wpa_supplicant cosi':
 
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
 
Aggiungedo a quanto gia' scritto nel file questa parte:
network={
ssid="SSID-GOES-HERE"
}
Nel caso che avessi la protezione con chiave WPA  avrei dovuto modificare cosi':
 
network={
ssid="SSID-GOES-HERE"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="WIFI-PASSWORD-GOES-HERE"
}
 A questo punto per vedere se la chiavetta WiFi viene correttamente vista dal sistema due semplici controlli:
 
iwlist scan
Operazione che rende la lista degli AP "sentiti" dalla chiavetta, tra i quali ci dovrebbe essere anche quello di casa.
 
poi
 
ifconfig wlan0 up
Per "dire" al sistema di accendere il WiFi
 
e quindi:
iwconfig wlan0 essid nome_rete key off
Per accedere alla connessione con l'AP ( modificare il nome_rete con il vero nome dell'AP di casa), e ricordo che key off va bene nel mio caso perche' non ho controlli WPA, altrimenti il comando sarebbe stato key open
 
A questo punto la chiavetta si dovrebbe essere gia' illuminata e dovrebbe gia' aver cominciato il colloquio con l'AP
per ricevere la corretta numerazione da parte del server dhcp, l'ultimo comando
dhclient wlan0
Adesso , se tutto e' andato bene,si dovrebbe essere collegati tramite la chiavetta all'AP di casa, e quindi dovrebbe essere possibile creare una connessione ssh anche da un altro computer della nostra rete domestica.
 
In bocca al lupo e Stay Tuned
Tecnogeppetto
 

Security Cam ovvero, Esperienze con Raspberry Pi, Motion e Linux


Security Cam ovvero, Esperienze con Raspberry Pi, Motion e Linux.
Motion è un programma che gira su Linux, l'ho scoperto qualche giorno fa per caso, parlando con un amico che stava cercando di monitorare una istallazione promozionale -un maxischermo promozionale per la precisione- attraverso una chiamata ad un utente Skype costruito per l'occasione. Gia' di per se era una esperienza interessante, che prima o poi recensiro' con un articolo ad hoc.



Raspberry
Parlando di come poter concludere  quel progetto, mentre stavamo in hangup su Skype, glooggavo qua e la sull'argomento. Mi sono interessato da subito a Motion dopo aver letto questa guida trovata durante il mio zapping.
Ho subito pensato che si potesse realizzare anche con la  Rasperry Pi, la nota scheda di prototipazione che da qualche mese ho qui a disposizione per i miei esperimenti.
Quindi ho iniziato seguendo la guida l'istallazione e la configurazione del programma. Funziona! Ho ottenuto, dopo un paio di giorni di prove, un server di video sorveglianza facilmente configurabile e piuttosto completo.
Adesso quindi passo alla descrizione del progetto:
Componenti:
1) Raspberry Pi mod B rev 2 (appena ricevuta da RsComponents) - La Raspberry in questione ha la porta ethernet, molto utile per poter trasmettere i filmati e le foto ricavate da Motion su un file server privato e su un sito internet esterno.
2) Webcam usb - io ho utilizzato una Trust HD cam che ha una qualita' dell'immagine dignitosa (1920 x 1080),viene riconosciuta subito dal sistema operativo ed è piuttosto economica (39 euro circa)Trust Webcam HD
  



- Ho fatto comunque anche delle prove con un'altra webcam usb la Hercules Classic che ha una qualita' inferiore (max 640x 480 pixels) ma ha il buon requisito di economicita' ( si trova  a circa 9 - 14 euro al supermercato), anche questa telecamera non e' stata un problema, appena attaccata alla presa usb e' stata riconosciuta ed ha iniziato a funzionare, senza necessita' di driver aggiuntivi
3) accesso ad internet per l'istallazione dei programmi necessarie per la condivisione su server remoto dei file video e jpg registrati dal sistema di video sicurity.
4) una scheda SD con istallata l'ultima versione del sistema operativo di Raspberry Pi .
 non sono indispensabilil monitor, mouse, tastiera e hub usb, in quanto la raspberry puo' essere approntata anche con una connessione da remoto via ssh, questa infatti e' la strada che ho percorso io. L'hub usb potrebbe essere necessario se l'assorbimento della webcam  dovesse superare i valori  erogati dalla nostra scheda che dipendono dalla scheda ma anche dall'alimentatore che stiamo utilizzando per alimentare  tutto il sistema.
A questo punto, direi che e' venuto il momento di collegare l'alimentazione alla Raspberry Pi e far partire il sistema operativo opportunamente prelevato dal sito ufficiale della Rasp.
Seguire a questo punto le istruzioni della guida all'istallazione di Motion da qui 
 A questo punto configurare il programma come descritto nella giuda tenendo conto che:
Dalle esperienze che ho potuto fare in questi giorni di porve, il programma fa tante cose, alcune delle quali possono essere inibite.Vediamo come:
Intanto va stoppato il programma che dopo l'istallazione parte in automatico con il comando

# /etc/init.d/motion stop

poi bisogna modificare i seguenti  files
/etc/motion/motion.conf
/etc/motion/threadXY.conf
Il primo e' il motore del programma, mentre il secondo serve per configurare le eventuali altre webcam collegate al sistema - se il sitema ha solo una webcam, non c'e' bisogno di modificare il secondo file.
Per modificare il file diconfigurazione si possono utilizzare diverse strade, io preferisco quella della modifica diretta attraverso il classico editor di test di Linux vi, ma si puo' agire su ogni elemento della configurazione anche attraverso il browser web che si attiva alla partenza del programma motion. ( quindi chi volesse fare cosi' deve far partire il programma con il comando " sudo motion " digitato dall'interno della cartella costruita ad hoc nella nostra home - nel mio caso " $HOME/motion "  - e chiamare il configuratore online all'indirizzo http://localhost:8080 attraverso il browser interno di Raspberry, oppure, se e' stato gia' definito il parametro " webcam_localhost off " , anche da un browser residente su un qualsiasi altro computer della rete -cioe' in rete interna con una numerazione ip sulla stessa classe della raspberry - ).
Ma come dicevo sopra, io preferiso entrare nella configurazione del Motion attraverso il semplice programma di editor testuale " vi ", con il comando
" sudo vi /etc/motion/motion.conf "
A questo punto come detto sopra, si puo' rendere disponibile il server a tutti i pc della rete interna con la modifica del parametro " webcam_localhost off "
Facendo questo si rende disponibile, oltre all'accesso alla configurazione, anche la pagina di controllo della telecamera, che viene aggiornata in continuazione con cio' che inquadra la cam. Questa pagina la si raggiunge all'indirizzo
" http://localhost:8081 " .
Se l'indirizzo non fosse disponibile, magari perche' sul server gira già un altro servizio proprio su questa porta, si può modificare ad esempio sulla porta 7071 soltanto variando questa riga del file di configurazione " webcam_port 8081 "
Il file di configurazione è molto ben commentato - in inglese - ma e' chiaro ed essenziale, diviso per capitoli, quindi potranno essere modificati tutti i parametri propri del server, i controlli di base HTTP, la gestione dei comandi esterni in shell, tutta la gestione delle immagini e dei video e la loro collocazione nelle cartelle di sistema, la gestione del movimento e del sistema di Capture Device, le istruzioni per il debug e per lo start del programma come demone Linux.
Ci sono anche molti parametri per la regolazione di un eventuale sistema motorizzato con stepper o motori in continua che gestisce lo spostamento della telecamera in funzione del eventuale movimento individuato, cioe' se la cam individua in movimento si attiva, registra un filmato, scatta delle foto, puo' attivare un allarme o inviare una mail o trasferire il filmato e le foto scattate su un server ftp esterno, ed e' stato implementato anche un sistema di motion tracking Pan e Tilt che dovrebbe seguire il soggetto in movimento spostando fisicamente la cam attraverso l'attivazione di due motori - appunto uno per il movimento di Pan ed uno per il movimento di Tilt - Questa parte del programma no ho avuto modo ancora di testrarla, ma leggendo il manuale sembra che sia ancora in fase di sviluppo , comunque non appena avro' effettuato dei test su questa parte del programma, scrivero' una guida con unpost apposito.
Ho provato ad aumentare la qualita' delle immagini, auentando la grandezza delle immagini registrate attraverso la webcam. Come detto sopra, ho fatto dei test con due webcam, la meno definita ha al massimo una definizione di 640 x 480, mentre la Trust HD puo registrare immagini con una definizione di 1920 x 1080. A questo grado di definizione pero' ci sono dei problemi di "reazione" del sistema, che, probabilmente a causa dei limiti dei velocita' del microprocessore, non garantisce costantemente  una ottima fluidita' delle immagini, vengono registrate delle immagini corrotte o con dei disturbi come la perdita di righe di pixe. quindi direi che non sia il caso di spingersi a questa definizione. Gli stessi problemi, ma naturalmente con una intensita' inferiore, si verificano alla velocita' di 1024 x 768, mentre a 640 x 480 non ho incontrato nessun genere di problema riguardo alla qualita' delle immagini prodotte.
Una delle opzioni che ho modificato e'
" ffmpeg_timelapse_mode hourly "
che crea un file di Time Lapse con le immagini che riceve la telecamera e lo chiude ogni ora, invece che ogni giorno come risulta essere settato di default. In questo modo nella cartella che abbiamo scelto per contenere i file creati di TimeLapse, ci troveremo tanti file video creati dal programma ffmpeg uno per ogni ora di attivita' del nostro sistema. Per far in modo che i file non si sovrascivano l'uno sull'altro, cosa che accade con la configurazione di default, ho settato nell'apposita sezione dedicata ai nomi dei file creati, il nome dei file che contenga anche la data e l'ora di sistema, aggiungendo  all'istruzione
" timelapse_filename tlapse/%Y%m%d-timelapse "
il comando per inserire l'ora i minuti ed i secondi di sistema alla creazione del file %H%M%S- , cosi nella mia configurazione adesso il settaggio e' questo
" timelapse_filename tlapse/%Y%m%d-%H%M%S-timelapse "
Ho potuto effettuare anche dei test con i settaggi dei valori di contrasto luminosita' e brillantezza delle immagini percepite dalla cam, ma devo essere sincero, secondo me la soluzione migliore rimane quella di default. ( un po' come gli hamburger di MacDonald, hanno un sapore standard, ma, alla fine, restano i migliori!)
L'ho fatta lunga, se qualcuno ha necessita' informazioni piu' dettagliate sul'argomento mi contatti pure attraverso il sito e saro' felice di condividere quello che ho imparato durante i miei test.
Tecnogeppetto

Meteo Test esperienze con SWPI

Da qualche giorno sto effettuando delle prove con un bel programma di gestione online di dati meteo.
Si tratta di un sistema sviluppato da un amatore del volo libero, che gestisce dati rilevati da sensori fatti in "casa" (ma anche da centraline commerciali), li compone e li pubblica su internet via ftp su un qualsiasi sito.
Potrai trovare altre informazioni sul programma direttamente sul sito dell'autore, l'ottimo Tony che aggiorna e rende disponibili a tutti le ultime modifche al programma sul qui: www.vololiberomontecucco.it


Un sentito ringraziamento a lui ed a tutti i ragazzi dello staff.
Sebbene non abbia un interesse spiccato verso l'argomento (il meteo), sono molto interessato invece dall'utilizzo dei sensori e dalla tecnologia che sta dietro alla trasmissione in rete delle informazioni. Ho quindi deciso di costruirmi da me la centralina ed ilsistema relativo, per avere a disposizione anche io una stazionem metereologica in piena regola.
Naturalmente i dati relativi alle rilevazioni, non hanno un grande valore se non a scopo divulgativo e di test, in quanto non ho rispettato nessun parametro per la loro raccolta, infatti i dati che ricevo e trasmetto su questo sito, sono rilevati per lo piu' in casa o sul balcone di casa. Quindi, se gli indicatori segnano tempo bello... prima di uscire in maniche corte... sinceratevi che sia vero, ma non basatevi sui mie dati. Almeno per il momento!
A breve alcunidettagli sul progetto.
Per il momento questa e' l'immagine della webcam dedicata - la foto si aggiorna ogni 120 secondi-
Per la pubblicazione l'immagine e' stata ridimensionata, clikka col destro e scegli di visualizzare l'immagine per vederla nelle dimensioni originali ( 192x1080  - FullHD - )
Dati Meto www.Tognozzi.net