di Ivan Scordato
Quattro anni fa fu rilasciata la prima versione del Raspberry Pi, il primo computer embedded che riuscì a cambiare il modo di vivere la tecnologia, riscuotendo immediatamente un eccezionale successo, e da allora sono state sviluppate altre versioni, una più interessante dell’altra, fino ad arrivare ad oggi: L’uscita del nuovo Raspberry Pi 3. Il Raspberry Pi 3 è molto più di un computer embedded, ed è anche molto più di una board da poter utilizzare nel campo dei Makers, infatti ha tutte le caratteristiche che lo rendono un mini computer da poter utilizzare in qualsiasi campo, come ad esempio: IoT, Domotica, Cloud Server, Desktop computer, Educational, Arte, e tanti altri. Vediamo insieme esattamente di cosa si tratta e come utilizzarlo.
Il Raspberry PI è un mini PC sviluppato nel Regno Unito dalla Raspberry Pi Foundation, pensato per invogliare ed accompagnare gli insegnamenti relativi all’informatica e alla programmazione coloro che vogliono studiare e che magari non possono permettersi di spendere molti soldi per acquistare un pc. Sicuramente è uno dei sogni degli appassionati tecnologici e di coloro che vogliono imparare la programmazione, ma anche di coloro che semplicemente vogliono un computer da utilizzare occasionalmente. Il lancio della prima versione del Raspberry Pi è avvenuto il 29 febbraio 2012, e da allora le versioni prodotte e commercializzate sono state sette (figura 1).
Questa fantastica board, a differenza di altri single-board computer, oltre ad avere delle caratteristiche hardware fantastiche e uno sviluppo software molto attivo, ha un costo davvero irrisorio, che lo rende perfetto per essere impiegato davvero in qualsiasi campo, partendo da un computer desktop fino ad arrivare ad un server miner. Le caratteristiche hardware del Raspberry Pi, si può dire che sono cresciute proporzionalmente con le uscite dei nuovi modelli, arrivando oggi a quelle che sono le caratteristiche del nuovo Raspberry Pi 3, che nello specifico sono le seguenti:
-SoC – Broadcom BCM2837 64bit ARMv8 quad core Cortex A53 processor @ 1.2GHz with dual core VideoCore IV GPU supporting OpenGL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode;
-System Memory – 1GB LPDDR2 / Storage – micro SD slot;
-Video & Audio Output – HDMI 1.4 and 4-pole stereo audio and composite video port;
-Connectivity – 10/100M Ethernet, WiFi 802.11 b/g/n up to 150Mbps and Bluetooth 4.0 LE (BCM43143 module);
-USB – 4x USB 2.0 host ports, 1x micro USB port for power / Expansion: 40-pin GPIO header;
-MIPI DSI for Raspberry Pi touch screen display / MIPI CSI for Raspberry Pi camera
Power Supply – 5V up to 2.4A via micro USB / Dimensions – 85 x 56 x 17 mm.
Il nuovo Lampone quest’anno si è fatto ancora più interessante, integrando un processore a 64 bit e il chip BCM43438 che permette di avere a disposizione la connettività WiFi 802.11 e Bluetooth 4.1. Nonostante queste aggiunte Hardware, Il Rpi 3 possiede le stesse dimensioni e pinout GPIO del Raspberry Pi 2, ma è stato necessario apportate alcune modifiche di layout per l’integrazione dei nuovi componenti hardware. Ad esempio i LED di stato sono stati spostati per fare spazio all’antenna. Adesso vedremo nello specifico tutto quello di cui abbiamo bisogno per potere utilizzare il nostro potentissimo Raspberry Pi.
Scelta del Sistema Operativo
Prima di tutto dobbiamo avere le idee chiare su quello che vogliamo fare con il nostro RPi3, in quanto risulta conveniente scegliere il sistema operativo che più si adatti alle nostre esigenze. Ad esempio se si è alla ricerca di un SO leggero e che permetta di sfruttare al meglio le risorse che il nostro lampone ci offre, consiglio di utilizzare il classico Raspian. Se invece, avete bisogno di un sistema operativo che sia più adatto per essere utilizzato in ambito di lavoro d’ufficio, potete scaricare e installare Ubuntu o Windows 10.
Sul sito ufficiale, nell’area download, è possibile trovare diversi sistemi operativi che è possibile scaricare e utilizzare con il nostro Raspberry Pi. Comunque sia, i sistemi operativi ufficiali per il Raspberry Pi 3 tra i quali potete scegliere, attualmente sono i seguenti:
-NOOBS
-Raspian
-Ubuntu Mate
-Snappy Ubuntu
-Windows 10 IoT CORE
-OSMC
-OPENELEC
-PINET
-RISC OS
Una novità assoluta è la distribuzione di Windows 10 per il Raspberry Pi 3, che offre diversi vantaggi. Come è scritto nella pagina ufficiale, Windows 10 IoT Core è una versione di Windows 10 che è stata ottimizzata per i dispositivi embedded, compresi il Raspberry Pi 2 e 3. Permette di avere un’esperienza utente fantastica integrando moltissime funzioni utili nel campo IoT.
Installazione SO
Per installare e testare il sistema operativo che abbiamo scelto sul nostro mini computer, bisogna semplicemente seguire dei passaggi che non sono per niente complicati. Prima di tutto bisogna assicurarsi di avere:
-Memory Card micro SD da almeno 8 GB;
-Tastiera e mouse USB, bluetooth o Wireless;
-Un monitor con ingresso HDMI (o un televisore);
-Alimentatore da 5V 2,5A micro USB;
-Box case.
Per non dovere utilizzare un HUB USB alimentato esternamente è consigliabile utilizzare un alimentatore da 2.5A, e per evitare il danneggiamento della board è opportuno utilizzare un case. Il procedimento di installazione seguente si riferisce all’utilizzo di un computer sul quale è presente un sistema operativo Windows, per maggiori informazioni date un’occhiata al sito ufficiale www.raspberrypi.org. Cominciamo con il download del sistema operativo che abbiamo scelto, nel mio caso Raspian; quindi andiamo sul sito ufficiale nell’area download e avviamo lo scaricamento dell’immagine di Raspian. Nel frattempo dobbiamo scaricare il software che ci permetterà di scrivere l’immagine SO nella memory card, esattamente Win32 Disk Imager, che potete trovare sul sito sourceforge.net. A download completati, possiamo procedere all’installazione. Prima di tutto apriamo come amministratore il programma WIn32 Disk Imager appena scaricato, e dopo avere inserito la memory card nel computer, e dopo avere estratto l’immagine di Raspian dall’archivio compresso, procediamo ad identificare la lettera che è stata attribuita alla memory card. Adesso tramite il programma che abbiamo aperto, scegliamo l’immagine del SO che abbiamo scelto di installare e il percorso della memory card sulla quale vogliamo installarlo. Clicchiamo su “scrivi immagine” e prima di rimuovere la micro sd dal computer attendiamo che la scrittura vada a buon fine. Complimenti, adesso sei pronto per utilizzare nel migliore dei modi il tuo Raspberry Pi 3. Adesso non resta altro che testare che la board funzioni bene, semplicemente inserendo la micro SD nello slot apposito, e collegare al RPi3 un monitor tramite un cavo HDMI e la tastiera e mouse che preferiamo. Il bello di questa versione del Raspberry Pi è che, come già detto, non necessita di dongle wifi e bluetooth esterni in quanto sono già inclusi sulla board, e questo permette sia di risparmiare dello spazio che di lasciare le porte USB libere potendole utilizzare per altro. Colleghiamo l’alimentatore e godiamoci il primo avvio.
Utilizzo PIN GPIO
Anche questo modello di Raspberry Pi, come i suoi predecessori, ha un connettore GPIO con 40 pin, cioè una porta generica di input/output collegata direttamente al processore che permette di collegare qualsiasi dispositivo che abbia un input/output digitale, potendo realizzare le più disparate applicazioni, come ad esempio controllare dei relè e leggere la temperatura da un sensore. Essendo un’interfaccia digitale, può inviare e ricevere soltanto segnali digitali, cioè alternanze, nel nostro caso, di 0 e 3.3 volt. Questo significa che se avessimo la necessità di dover utilizzare dei sensori o interfacce analogiche, è necessario utilizzare un convertitore analogico-digitale (ADC). Questa funzione del Raspberry Pi, è proprio uno dei motivi per i quali è un computer embedded molto utilizzato nel campo della sperimentazione, ma purtroppo è anche una delle cause che lo rende più delicato se non si utilizza correttamente, proprio perché è in diretta comunicazione con il processore senza nessun tipo di protezione. Un altro aspetto che è importante puntualizzare, è che i pin GPIO del Lampone lavorano a 3.3 volt, e collegare qualcosa che “funzioni” a 5 volt su un pin GPIO equivale a compromettere il processore. Adesso che abbiamo capito che bisogna prestare attenzione nell’utilizzo di questi pin, quello che non possiamo non fare con il nostro lampone fiammante è il classico HELLO WORLD, realizzando un semplice programma in Python che gestisca il lampeggio di un diodo led collegato ad un pin GPIO da noi scelto.
Libreria Python Rpi.GPIO
Per potere gestire i pin GPIO in Python, possiamo utilizzare facilmente la libreria RPI.GPIO. Per potere installarla, dobbiamo prima di tutto installare il gestore pacchetti di Python, digitando comodamente dal terminale:
sudo apt-get install pyton-pip
Dopodiché è necessario installare gli strumenti di sviluppo, digitando, sempre da terminale, quanto segue:
sudo apt-get install python3-dev
Per questo esempio ho scelto di utilizzare Python, ma nulla vieta di utilizzare altri linguaggi di programmazione, in quanto supportati. Adesso abbiamo il terreno spianato per realizzare, quello che sarà il nostro primo programma in Python sul Raspberry Pi 3. Per il nostro test abbiamo bisogno soltanto di un LED da 5mm e una resistenza da 160 Ohm, collengandoli al Rpi come nell’immagine 13. Prima di tutto creiamo il file Python, digitando sul terminale:
nano example.py
E inseriamo il codice sorgente riportato in queste pagine per fare lampeggiare il led. Adesso salviamo il codice, e eseguiamolo sempre da terminale, digitando:
python example.py
Immediatamente dopo vedremo il nostro primo Blink.
Conclusioni
Ancora una volta è stato progettato un computer embedded che può essere considerato come quello di cui ogni maker ha bisogno, tenendo in considerazione sia la qualità del prodotto, che l’aspetto filantropico per il quale è nato. Ecco 6 buoni motivi per acquistare un Raspberry Pi 3:
-Ha un basso costo;
-E’ molto facile da utilizzare;
-Può essere utilizzato in molti progetti grazie alla sua versatilità;
-Può essere facilmente overcloccato;
-Ha una vasta community che lo supporta con la quale è possibile confrontarsi;
-Ha delle dimensioni ridottissime, infatti è grande poco più di una carta di credito.
LISTATO
import RPi.GPIO as GPIO ## Importo la libreiria per gestione dei pin GPIO import time ## Importo la libreria 'time' GPIO.setmode(GPIO.BOARD) GPIO.setup(23, GPIO.OUT) ## Imposta il pin GPIO 23 in OUT def myBlink(nTimes,speed): for i in range(0,nTimes): ## esegui in loop nTimes print "Iteration " + str(i+1)## stampa loop corrente GPIO.output(23,True)## Switch on pin 23 time.sleep(speed)## aspetta GPIO.output(23,False)## Switch off pin 23 time.sleep(speed)## Wait print "Done" ## Quando il loop è completo, stampa "Done" GPIO.cleanup() ## Chiedi di impostare alcuni parametri iterations = raw_input("Inserisci il numero di volte del lampeggio: ") speed = raw_input("Inserisci la durate di ogni lampeggio (secondi): ") myBlink(int(iterations),float(speed))