In questo articolo vedremo come installare sul Raspberry PI Zero i principali programmi che vengono usati nei progetti domotici e non solo. Ecco la lista dei software:
Raspberry PI Zero
A differenza di altri micro-controllori come Arduino, Photon, ESP8266 etc…, il Raspberry PI Zero permette l’esecuzione di un sistema operativo Linux, il quale apre le porte alla possibilità di installare software molti utili, come i 3 che sono stati citati in precedenza. In questo modo è possibile trasformare il piccolo PC da 4£ in un vero e proprio web server, con il quale inviare e ricevere dati, che a loro volta possono essere salvati in modo persistente all’interno di un database MySQL.
Passi preliminari
Come detto in precedenza, il Raspberry PI Zero è in grado di supportare un sistema operativo Linux come Raspbian. Per questo motivo, è necessario installare su tale dispositivo un versione del OS. Dal momento che è la stessa versione del sistema operativo che gira sulla versione 3, possiamo seguire la medesima guida che è presente sul mio blog.
In alternativa, esistono le pagine ufficiali che spiegano le procedure dettagliate, per poter installare sul proprio Raspberry PI Zero il sistema operativo Raspbian su una micro-SD.
Installazione Apache
Apache un software scritto in C, che permette di trasformare il Raspberry PI Zero in un vero e proprio webserver, in grado quindi di ricevere ed elaborare richieste HTTP(s), per poter mostrare pagine web, ad esempio una pagina html. Uno dei rivali di Apache è NGIX; entrambi sono software gratuiti le loro differenze riguardano le performance per diversi tipi di siti web. Tipicamente NGIX risulta essere più veloce a caricare pagine dinamiche, (ad esempio un blog WordPress), mentre Apache è più performante con pagine web statiche.
Vediamo quali passaggi dobbiamo effettuare per poter installare Apache sul nostro Raspberry PI Zero.
Apriamo il terminale del nostro PC e digitiamo il seguente comando:
sudo apt-get install apache2 -y
Una volta premuto invio, il nostro dispositivo incomincerà a scaricare un po’ di pacchetti utili all’installazione, che richiederà qualche decina di secondi. Una volta completata, per verificare che funzioni tutti correttamente, basterà aprire il browser e digitare sulla barra degli indirizzi http://127.0.0.0.1. Se l’installazione è stata completata correttamente, comparirà una pagina web simile a questa:
Ora potremo caricarci i nostri file html all’interno della cartella /var/www/. Ovviamente sono disponibile tantissime configurazioni, che permettono di gestire diversi siti web contemporaneamente, cambiare la porta d’utilizzo e introdurre il protocollo SSL.
Installazione PHP
PHP è un linguaggio di programmazione lato server, che permette di introdurre una logica per la gestione di dati, che vengono inviati al server. Ad esempio possiamo validare l’invio di un form di registrazione e gestire i vari casi. Inoltre PHP è un linguaggio di programmazione che permette facilmente di poter leggere e scrivere dati all’interno di un database MySQL. Sicuramente PHP è un linguaggio non recentissimo, che però permette di creare in poco tempo buoni infrastrutture server; basti pensare che Facebook all’inizio era scritto in PHP. La versione più recente è la 7, ma nella repo ufficiale del Raspberry PI è presente ancora la versione 5.6, che ormai è molto stabile e consolidata. Occorre notare che PHP è molto severo nei metodi deprecati e quando ci sono nuovi aggiornamenti, è possibile che del codice che prima funzionava, adesso non funzioni più Per questo motivo, prima di effettuare qualsiasi aggiornamento, è sempre meglio verificare la lista dei metodi che non sono più validi.
Ora vediamo come installare PHP sul nostro Raspberry PI zero.
Il primo passaggio è quello di aprire il terminale e digitare il seguente comando:
sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache php5-mysql php5-curl php5-gd Se ci dovessero essere dei problemi, molto probabilmente è dovuto al fatto che mancano dei pacchetti aggiornati del sistema operativo. In questo caso sarà necessario inviare i seguenti comandi:
sudo apt-get update
e successivamente:
sudo apt-get upgrade
Per verificare che tutto funzioni correttamente, è necessario creare un piccolo file PHP di nome info.php, all’interno della cartella Apache, come il seguente:
<?php phpinfo(); ?>
Occorre ricordare che per poter accedere alla cartella di Apache è necessario accedere con i privilegi da root. Ora che abbiamo caricato la pagina PHP, possiamo testare il funzionamento aprendo il browser e digitando nella barra degli indirizzi:
http://127.0.0.1/info.php
Se tutto funziona correttamente, dovremo vedere una pagina web simile alla seguente:
Installare MySQL
L’ultimo programma molto utile che verrà descritto in questo articolo è MySQL. Tale software è molto utile per quanto riguarda il salvataggio dei dati, che vengono generati a run-time dai nostri programmi/sensori collegati al nostro Raspberry PI. Per poter leggere e scrivere successivamente tali dati, sarà necessario effettuare delle query, che utilizzano il linguaggio SQL. Tale linguaggio non è complicato e sul web è possibile trovare tante guide e tanti esempi a riguardo. Un tutorial molto utile/interessante è il seguente.
Per poter utilizzare il sistema di persistenza dei dati in un DB è necessario disporre di un MySQL server e dei driver per potersi collegare a tale dispositivo. Esiste un client molto utile, che si chiama MySQL Workbench, che permette di fare manutenzione sul server ed effettuare le query al DB.
Vediamo un po’ come installare il MySQL server. Il primo passaggio è quello di aprire il terminale e digitare il seguente comando:
sudo apt-get install mysql-server
Una volta premuto y, verrà chiesta la password dell’account root. Per motivi di sicurezza, si consiglia di crearne una abbastanza robusta, in quanto tale password permette di dare praticamente di tutto all’interno del DB.
Successivamente comparirà una pagina, in cui dovremmo confermare la password, che abbiamo digitato in precedenza.
Dopo qualche istante l’installazione del MySQL server dovrebbe essere stata completata correttamente.
Di default, per motivi di sicurezza, il server non è accessibile da remoto. Per ovviare a tale limitazione, sebbene riduca il livello di sicurezza, possiamo modificare il file di configurazione.
Per farlo digitiamo da terminale il seguente comando:
nano /etc/mysql/my.cnf La riga da modificare è:
bind-address = 127.0.0.1
che diventa:
bind-address = 0.0.0.0
Ora è necessario riavviare il servizio MySQL:
sudo /etc/init.d/mysql restart
Ora dovremmo essere riusciti ad aver installato Apache, PHP e MySQL server sul nostro Raspberry PI zero.
Per poter acquistare il Raspberry PI zero, oppure il Raspberry PI model B e tanti altri accessori, potete farlo sul sito http://www.kubii.it/.