Visualizzazione post con etichetta debian. Mostra tutti i post
Visualizzazione post con etichetta debian. Mostra tutti i post

martedì 29 novembre 2016

Giocherellando con Twitter

Oggi mi sono divertito ad installare e far girare un programma Python rimediato su github , TweetMonitor.
Il programma in questione non fa grandi cose, ma crea un canale con Twitter e monitora un (o una serie di) Tag,  che l'utente sceglierà alla partenza dello script.

Ciò che dobbiamo fare per installare il programma è piuttosto semplice, intanto installiamo git:
sudo apt-get install git

e poi facciamo il clone del repository
git clone https://github.com/upgoingstar/TweetMonitor


adesso abbiamo bisogno di installare pip che e' un sistema per l'installazione tipo apt-get, digitiamo quindi il comando:
sudo apt-get install python-pip


e dunque installiamo tweeppy con:
sudo pip install tweepy

Serve ancora la libreria elasticsearch
sudo pip install elasticsearch

entriamo nella cartella del programma con:
cd TweetMonitor/

editiamo con nano il file tweetmonitor.py per inserire i dati di autenticazione ricavati sul sito  https://dev.twitter.com/.

Riporto qui di seguito gli screenshot di come ottenere i dati necessari, ma potete seguire anche la guida di sparkfun a quersto indirizzo:













 e adesso via! chiamando il comando:
sudo python tweetmonitor.py -k ferrari

il parametro -k indica al programma quale Tag seguire, in questo caso "ferrari" ma possiamo scegliere qualsiasi termine vogliamo. Si possono anche monitorare più più termini, basta separarli con la virgola

Ecco cosa accade nella shell:
pi@EasyMeteo01:~/TweetMonitor $ sudo python tweetmonitor.py -k ferrari
----- Twitter bot kicked off ------
>>verZACeee posted: RT @HotFreestyle: Tyler The Creator and A$AP Rocky in the Ferrari https://t.co/XsGGLfdzrV
>>Ferrarinogazou posted: Ferrari画像 フェラーリ 高級車 スーパーカー RT https://t.co/9wYbkZvKtK
>>dannybelkin posted: This looks preposterous https://t.co/qADf8fr6be
>>genfe2 posted: RT @isragus78: Que bestia el Ferrari por detras !!!! Como vamos a disfrutar en los test de Bcn...@genfe2 @JaumeCiurana https://t.co/hLGcDde…
>>Reg_Spotter posted: T777SAT #2004 #Ferrari 360 #Modena  #Rare #uk #car #cars  #us #usa #numberplate #reg_spotter https://t.co/zkRsAmRzEA



Buon divertimento
TecnoGeppetto

Alcuni link interessanti sull'argomento:
https://www.sparkfun.com/news/1320
https://learn.sparkfun.com/tutorials/raspberry-pi-twitter-monitor?_ga=1.122161035.1620156107.1480440805


Rilevare la Temperatura interna di Raspberry Pi

In questi giorni sto mettendo le basi per la costruzione di una Stazione Meteo (l'ennesima, ma prima o poi verrà fuori qualcosa di molto buono).
Una delle impostazioni del sistema operativo Debian consente di controllare la temperatura del microprocessore.
Questa informazione è importante per poter mettere in campo delle contromisure in caso di surriscaldamenti del sistema.
Se la nostra Stazione Meteo verrà posizionata all'esterno sotto al sole, potrebbe subirne l'effetto riscaldante, soprattutto nella bella stagione, e raggiungere delle temperature tali che potrebbero danneggiare il sistema.

Con questa semplice istruzione, possiamo leggere il valore della temperatura interna e decidere per esempio di far partire la ventilazione forzata per refrigerare la scatola ed il suo contenuto.

Direttamente da shell digitare:

cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2

Otterremo questo:
pi@EasyMeteo01:~ $ cat /sys/class/thermal/thermal_zone0/temp | cut -c1-2
33
pi@EasyMeteo01:~ $

Infatti nel momento in cui sto scrivendo la mia Raspberry Pi ha una temperatura interna di 33 gradi centigradi.
L'istruzione cut -c1-2  consente di leggere solamente i primi due caratteri di ciò che rende il comando, se omettiamo questa istruzione, otteniamo:
pi@EasyMeteo01:~ $ cat /sys/class/thermal/thermal_zone0/temp
33628
pi@EasyMeteo01:~ $

Numero che rappresenta la lettura della temperatura interna in millesimi di grado.

Stay Tuned
TecnoGeppetto

domenica 27 novembre 2016

Installare client VPN su distribuzione debian Lite per Raspberry Pi

L'avventura di oggi e' stata quella di installare il Client VPN su una distribuzione fresca fresca di Debian-Lite appena scaricata dal sito originale .
L'operazione è molto semplice, ma come sempre, c'è sempre qualcosa da sapere per portarla a termine con esito positivo.
La distribuzione Lite distribuita dal sito originale infatti non contiene tutti i pacchetti necessari perchè tutto funzioni subito, ma per ottenere il risultato dobbiamo installare alcuni pacchetti indispensabili.
Dopo i classici:
    1  sudo apt-get update
    2  sudo apt-get upgrade
Installiamo il programma principale OpenVpn che sarà quello che gestisce l'operazione:
    3  sudo apt-get install openvpn

Nella distribuzione completa già questa operazione e' sufficiente per far partire tutto, ma nella Lite, manca un componente essenziale, il Driver per Tun/Tap.
Per andare verso il buon fine il comando precedente deve essere sostituito da questo più completo che installa tutto il necessario ed anche qualcosa di più che ci servirà in seguito per proseguire nel progetto (git e zip)

    4  sudo apt-get install openvpn openssl module-init-tools zip dos2unix git
Poi con facciamo partire il driver necessario
    5  command modprobe tun
 
A questo punto un bel reboot che non guasta!

    6  sudo reboot
Poi ci spostiamo nella cartella che contiene le chiavi per la registrazione corretta in rete. (queste chiavi devono essere state preventivamente fornite dal server VPN, si tratta di 4 file che contengono le chiavi crittografate ed il file di configurazione di OpenVpn in questo caso le mie sono contenute in una cartella dal nome "client15"
    7  cd client15/

Con il comando successivo facciamo partire il programma OpenVpn in modo che vada a leggere il file di configurazione e con quello assuma le chiavi necessarie, con l'aggiunta del comando "&" , mandiamo l'operazione in back ground, in maniera da non occupare la finestra di terminale ed essere costretti ad aprirne un'altra.
    8  sudo openvpn --config client.ovpn &
A questo punto, se le chiavi sono state riconosciute dal sistema e tutto è  andato nel verso giusto, siamo entrati nella VPN di cui avevamo le chiavi.
Conoscendo alcuni indirizzi interniu della rete sara' facile vedere se tutto e' OK, anche soltanto pingando il server, per esempio
    9  ping 10.8.0.1

Con ifconfig  possiamo vedere tutte le caratteristiche della nostra configurzione di rete
   10 ifconfig


Questo è quello che mi risponde il comando sulla mia Raspberry Pi che sto utilizzando per gli esperimenti:
pi@EasyMeteo01:~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr XXXXXXXXXXXXX
          inet addr:192.168.22.160  Bcast:192.168.22.255  Mask:255.255.255.0
          inet6 addr: fe80::cf20:4124:4cb8:cb7f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25261 errors:0 dropped:8 overruns:0 frame:0
          TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:20997554 (20.0 MiB)  TX bytes:1178247 (1.1 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.58  P-t-P:10.8.0.57  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:1000 errors:0 dropped:0 overruns:0 frame:0
          TX packets:813 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:68543 (66.9 KiB)  TX bytes:110167 (107.5 KiB)

pi@EasyMeteo01:~ $

In grassetto ho evidenziato la nuova configurazione che ho creato con l'operazione descritta sopra, il server mi ha assegnato l'IP  inet addr:10.8.0.58 

Per far partire la connessione alla accenzione del pc, possiamo aggiungere il comando sopra nel file rc.local che viene letto ad ogni boot del sistema
Quindi editiamo il file con :
   11  sudo vi /etc/rc.local

Ed aggiungiamo in fondo prima del comando  exit 0 , i comandi necessari, nel mio caso (che ho chiamato la cartella client15):

#dati per impostazione VPN
cd /home/pi/client15
sudo openvpn --config client.ovpn &

In questo modo alla prossima accensione del sistema la Raspberry Pi sarà connessa ad internet nella rete locale ed anche loggata nella rete VPN privata in automatico.

mercoledì 22 giugno 2016

eseguire uno script ad ogni avvio di debian

Quando devi costruire macchine che facciano una cosa specifica sempre ad ogni
avvio, basta preparare  un file bash con la lista delle istruzioni o dei programmi che devono essere eseguiti e aggiungerlo al sistema  di esecuzione automatica di debian  con questa istruzione
 
 
sudo update-rc.d nomescript.sh defaults
 
 

venerdì 13 settembre 2013

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

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