Informatica

Programmazione, CoderDojo, configurazioni ecc

Elettronica

Arduino, Raspberry, stampanti 3D ecc

Fisica

Fisiclab, esperimenti, laboratori

Astronomia

Planetario, museo del cielo e della terra

Cucina

Ricette, esperimenti culinari, paciughi

Raspberry PI access point


Eccomi di nuovo a parlare del Raspberry PI e di come configurarlo per trasformarlo in un access point.
Ripartiamo dal punto in cui ci siamo fermati nell'ultimo articolo: l'intento è quello di trasformare un Raspberry PI in un access point e un server web e portarlo alle mie lezioni di programmazione. In questo modo posso far scaricare ai ragazzi il programma di installazione di Scratch attraverso un sito interno che tutti possono vedere tramite la rete wireless.

Premetto subito che non scriverò una guida ma mi limiterò a dare link a guide già fatte e aggiungere le mie considerazioni. Questo per due motivi: il primo è che non ho tempo di fare delle guide fatte bene. In questo periodo capita spesso di non avere neanche il tempo di dormire quindi rischierei di fare una guida fatta male e molto stringata; il secondo è che mi sembra inutile: cercando in rete se ne trovano tantissime quindi mi sembra ridondante produrre l'ennesima guida per fare questo progettino. Trovo utile invece riassumere tutto in queste pagine visto che vengono toccati molti temi e le persone potenzialmente interessate possono in questo modo avere tutto condensato in un unico sito.

Detto questo iniziamo.

Occorrente per questo progetto:
  • Raspberry PI 3. Si può trovare online su molti siti che vendono materiale elettronico o anche su Amazon, basta fare una semplice ricerca. Il costo è circa 40 euro.
  • Scheda microSD da almeno 4Gb (consiglio di prenderne una veloce, Class 10 da 8Gb)
  • Alimentatore da almeno 1A a 5V. Il Raspberry ha un consumo variabile a seconda del carico di lavoro e anche di quali periferiche sono connesse (mouse, tastiera, hard disk esterni, chiavette). Il connettore è micro usb quindi un caricabatterie da cellulare o tablet va bene (a patto che abbia almeno le caratteristiche che ho appena scritto). Esiste in vendita anche l'alimentatore ufficiale per il Raspberry che eroga 2.5A.
  • Inizialmente una tastiera, un mouse, un cavo hdmi per connetterlo ad un monitor. Dico inizialmente perchè per quello che devo fare io potrà successivamente essere utilizzato connettendo semplicemente l'alimentatore e il cavo di rete, e a volte anche quest'ultimo sarà opzionale.
  • Non indispensabile: case per il Raspberry. Il Raspberry viene venduto "nudo", cioè la scheda è senza scatolina ma se avete già fatto la ricerca per comprarlo avrete già visto sicuramente che gli accessori non mancano. Io non ho comprato un case perchè me lo sono stampato con la stampante 3d, ma questo punto lo riprenderò nel prossimo articolo.
Il primo link che voglio mettere è la documentazione ufficiale del Raspberry. La trovo veramente ben fatta e molto semplice. Questo è il punto di partenza per chi si trova in mano per la prima volta questa schedina elettronica.

Al primo punto della mia check list ho scritto che voglio installare Raspbian. Il download si può fare da questa pagina e sempre da lì si può leggere la documentazione su come mettere il file scaricato sulla microSD.

Al secondo punto ho scritto che voglio configurarlo come access point.
In questa guida presa dal sito Adafruit possiamo capire come fare. Questo sito vale la pena girarlo un po' perchè oltre a vendere componenti elettronici ha anche una sezione enorme con guide fatte molto bene e una marea di progetti interessanti anche per scopi didattici.

Al terzo punto abbiamo il web server: io ho installato Apache. In questo articolo preso dal sito Raspbian trovate un mini howto e questo è il sito ufficiale dove trovare la documentazione completa.

Se siete arrivati fino qui e avete completato tutti i passi adesso avete in mano un mini computer che può funzionare sia da PC normale che da dispositivo di rete per dare connettività Wi-Fi ad altri dispositivi. Può essere utilizzato per imparare i vari linguaggi di programmazione per il web (avete un web server adesso, usatelo!); può essere usato per imparare le basi dell'elettronica e il linguaggio di programmazione Python utilizzando le librerie già fatte per la GPIO (serie di pin presenti sulla scheda ai quali si possono connettere componenti elettronici) e può essere usato anche come router Wi-Fi come sto facendo io. Volendo si potrebbe anche inserire una chiavetta internet usb e trasformarlo in un router mobile, così si può usare come router anche dove non c'è la connessione ADSL. Insomma, si può trasformare in quello che volete. L'importante è giocarci ed imparare un sacco di cose :)

Nel prossimo articolo vedremo altri aspetti: come creare un pulsante di spegnimento, la stampa 3D del case e i tool di monitoraggio dei servizi.


Raspberry PI multifunzione

Come dicevo in questo post nelle prossime settimane io, Serena ed Emiliano saremo abbastanza impegnati: dovremo fare 7 lezioni di programmazione con Scratch a più di 300 bambini e ragazzi a Granarolo.

Saremo all'interno della scuola primaria e faremo ad ogni incontro due sessioni parallele, una nell'aula computer e l'altra in un'aula normale, quindi i bambini che non saranno in aula computer dovranno portare il proprio pc.
Prima di iniziare la lezione dovremo assicurarci che tutti abbiano installato Scratch e nel caso installarlo. A questo punto però si apre un tema legato alla sicurezza: potremmo mettere a disposizione di tutti delle chiavette, ma così facendo corriamo il rischio di far circolare dei virus se anche solo uno dei pc è infetto.

La soluzione che ho trovato a mio parere è molto carina, assolutamente sovradimensionata rispetto al problema, ma poi mi servirà anche per altre cose quindi ho approfittato per implementarla: un Raspberry PI configurato per fare da access point e da server web.
Lo so, sarebbe bastato fare dei cd o delle chiavette in sola lettura ma se mi fossi accontentato non avrei potuto documentare il fatto che "si può fare" :) e soprattutto che si può fare con software open source.

Ma procediamo con ordine.

Domanda 1: cos'è un Raspberry PI? è un computer molto piccolo e a basso costo, tutto condensato in un'unica schedina elettronica grande come un pacchetto di sfazzoletti, ma con prestazioni decenti. Ha un processore quad core da 1,2Ghz, 1Gb di RAM e un alloggiamento per metterci una microSD. Ha integrati Wi-Fi, Bluetooth e ethernet.

Raspberry PI 3 di Simone Bacciglieri
Non sto a dilungarmi troppo su dettagli tecnici, questo è il link al sito ufficiale per i curiosi.
Ci sono vari sistemi operativi che possono essere installati sul Raspberry, io ovviamente installo Raspbian, una derivata di Debian (una versione di Linux) fatta apposta per quella tipologia di computer.
Un'altra caratteristica molto importante è il fatto di poter aggiungere componenti elettronici (come led, sensori, motorini ecc) direttamente sulla scheda e programmarli a piacere. Cercando in giro per la rete si trovano un sacco di progetti didattici legati al Raspberry e molti negozi online vendono anche kit con dentro tutto il necessario per iniziare ad usarlo e fare esperimenti di elettronica. Consiglio vivamente di fare qualche ricerca, partendo proprio dal sito ufficiale.

Domanda 2: cos'è un access point? Un access point è un apparato che consente ad altri dispositivi di connettersi ad una rete tramite Wi-Fi.
Ormai tutti i router che vengono consegnati dai vari fornitori di connettività internet fanno anche da access point. In questo modo tutti i dispositivi di casa (telefoni, tablet, computer ecc..) possono connettersi ad internet tramite Wi-Fi.

Domanda 3: cos'è un web server? Contro domanda: avete mai visitato un sito web? Se state leggendo queste righe sicuramente sì. Un sito web è un insieme di pagine che non sono altro che files di testo salvati su un computer connesso in rete.
Un web server è un programma installato su questo computer che aspetta di essere contattato da altri dispositivi sulla rete. In quel momento fornisce loro le pagine del sito richieste. In pratica quando andate su un sito il browser del vostro pc chiede al server web che lo contiene di passargli la pagina che avete chiesto e poi ve la mostra.
In realtà il discorso è molto più complesso e articolato di così ma a me interessa spiegare a grandi linee a chi non è addetto ai lavori come funzionano queste cose, poi fornire link per approfondimenti ai più curiosi.

A questo punto il discorso si fa un po' più chiaro:

  • installo Raspbian sul mio Raspberry
  • lo configuro in modo da farlo diventare un access point
  • installo un server web
  • scarico dal sito di Scratch tutti i files necessari per installarlo sui pc
  • creo una paginetta con i link per fare in modo che tutti prendano i files dal Raspberry
Nel prossimo post vedremo come fare tutto questo.