Preparare il sistema alla lettura dei sensori
Dopo aver installato il Client VPN sulla nostra distribuzione Debian-Lite scelta per l'occasione, il passo successivo per ottenere una Stazione Meteo, e' quello di collegare i primi sensori alla Raspberry Pi e cominciare ad ottenere le prime letture dei dati.
Per fare questo ci sono da fare alcune operazioni hardware e software. La parte hardware la tratterò successivamente, adesso mi concentro su che cosa ho fatto per poter leggere i dati dal lato sofware.
Alla distribuzione scelta per il progetto, mancano alcune istruzioni necessarie per far funzionare il sistema, dobbiamo installare un paio di pacchetti e configurarli perchè la Raspberry Pi si accorga del sensore che intanto ho collegato alla GPIO disponibile sulla scheda.
1 sudo apt-get install -y python-smbus
2 sudo apt-get install -y i2c-tools
3 sudo raspi-config

Dal menù principale scegliere 8 Advanced Option,
Quindi scegliere la I2C come evidenziato in figura.
Quindi modificare manualmente con un editor di testo il file modules:
4 sudo nano /etc/modules
Per inserire prima della fine del file questi due parametri:
i2c-bcm2708 i2c-dev
Chiudere e salvare il file.
Adesso manca ancora una operazione, dobbiamo modificareil file:
5 sudo nano /boot/config.txt
Al quale dobbiamo aggiungere due parametri, in fondo al file scrivere:
dtparam=i2c1=on
dtparam=i2c_arm=on
Chiudere e salvare il file.
6 sudo reboot
Con il comando successivo possiamo controllare se il dispositivo collegato alla porta I2C è regolarmente ricevuto dalla macchina
7 sudo sudo i2cdetect -y 1
(SOLO nel caso si stia usando una Raspberry Pi modello A, l'ultimo parametro dovrà essere 0 -zero- quindi: sudo sudo i2cdetect -y 0 )
Nel caso del sensore BMP180, che ho scelto di utilizzare come sensore di temperatura e pressione, se correttamente collegato, il sistema risponderà con l'indirizzo 0x77
1 sudo apt-get install git build-essential python-dev python-smbus
Poi scaricare il Software di Adafruit
2 git clone https://github.com/adafruit/Adafruit_Python_BMP.git
Entrare nella cartella
3 cd Adafruit_Python_BMP/
Installare il programma Adafruit, ed allo scopo Adafruit ha preparato un file auto installante che partirà col comando:
4 sudo python setup.py install
Al termine delle operazioni automatiche, entrare nella cartella degli esempi e far partire il programma di test:
5 cd examples/
6 sudo python simpletest.py
Questo programma renderà a video la lettura del sensore BMP180 collegato, formattando il testo in modo che possa essere facilmente letto dall'utente
Al quale dobbiamo aggiungere due parametri, in fondo al file scrivere:
dtparam=i2c1=on
dtparam=i2c_arm=on
Chiudere e salvare il file.
Comunicare col sensore
Adesso siamo pronti per partire e finalmente leggere i primi dati. Rebootiamo la Raspberry.6 sudo reboot
Con il comando successivo possiamo controllare se il dispositivo collegato alla porta I2C è regolarmente ricevuto dalla macchina
7 sudo sudo i2cdetect -y 1
(SOLO nel caso si stia usando una Raspberry Pi modello A, l'ultimo parametro dovrà essere 0 -zero- quindi: sudo sudo i2cdetect -y 0 )
Nel caso del sensore BMP180, che ho scelto di utilizzare come sensore di temperatura e pressione, se correttamente collegato, il sistema risponderà con l'indirizzo 0x77
Preparare il Software
Per installare il pacchetto messo a disposizione da Adafruit, che contiene una serie di esempi di utilizzo del sensore BMP180 che ho utilizzato, è necessario aggiungere una serie di pacchetti aggiuntivi non presenti nella distribuzione, quindi digitare:1 sudo apt-get install git build-essential python-dev python-smbus
Poi scaricare il Software di Adafruit
2 git clone https://github.com/adafruit/Adafruit_Python_BMP.git
Entrare nella cartella
3 cd Adafruit_Python_BMP/
Installare il programma Adafruit, ed allo scopo Adafruit ha preparato un file auto installante che partirà col comando:
4 sudo python setup.py install
Al termine delle operazioni automatiche, entrare nella cartella degli esempi e far partire il programma di test:
5 cd examples/
6 sudo python simpletest.py
Questo programma renderà a video la lettura del sensore BMP180 collegato, formattando il testo in modo che possa essere facilmente letto dall'utente
Abbiamo finalmente ricevuto la prima lettura dei dati disponibili sul sensore scelto.