venerdì 13 settembre 2013

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
 

Nessun commento: