Archivi categoria: Raspberry Pi

Progetto automazione e internet of things con Raspberry Pi

iot433-01
E’ da tempo che sto pensando di ristrutturare il laboratorio di domotica che ho nella mia scuola, aggiungendo agli apparati di note aziende del settore, anche sistemi fortemente open e gratuiti a basso costo e facilmente espandibile in modo che gli studenti possano poi avere uno spettro pi ampio sulle tecnologie disponibili. Ovviamente il lavoro per riformulare la didattica in tal senso enorme e quindi il mio intento era quello di assegnare una serie di tesine di maturit ad allievi di buona volont 🙂 tesine da usare come mattoni di partenza per aggiungere nei prossimi anni scolastici argomenti nuovi.

Fortunatamente ho avuto l’occasione di conoscere alcune settimane fa via e-mail Rocco Musolino, un bravissimo programmatore che mi ha inviato la segnalazione del suo splendido lavoro, che parte della sua tesi di laurea magistrale e tratta appunto del controllo di sistemi a 433mhz mediante Raspberry Pi, quindi se desiderate sperimentare “un vero IoT” provate il lavoro di Rocco Musolino, io lo far certamente con le mie classi 4′ e 5′ elettrici.

iot433-02

Grazie quindi a Rocco, che mi ha inviato la sua recensione che vi allego, per vi invito alla consultazione del suo sito su cui trovate un tutorial ben dettagliato che vi guider passo passo all’installazione del sistema.

Nelle prossime settimane sul sito di Rocco Musolino il PDF della tesi con il lavoro completo.

iot433-03

Di seguito la sua presentazione.

Il progetto iot-433mhz nasce con l’idea di offrire una dashboard o “centralina” di controllo per sensori e attuatori funzionanti sulla frequenza 433mhz, gi largamente diffusi sul mercato.
La dashboard costruita usando interamente tecnologie per il Web e rilasciata sotto licenza MIT, open source.
Persino l’unit di controllo, che gestisce la comunicazione seriale con il gateway di trasmissione radio (un arduino connesso a dei moduli radio operanti a 433mhz) realizzato in Javascript e basato su Node.js.

Node.js garantisce alte performance e un supporto multipiattaforma: Windows, Mac, Linux. Quindi se sul vostro sistema possibile installare Node.js ed il suo gestore di pacchetti NPM, allora il software pu tranquillamente essere installato velocemente ed eseguito senza alcun problema.

Sulla pagina git ufficiale del progetto presente la documentazione che meglio spiega come effettuare l’installazione sui vari OS e le relative dipendenze necessarie.
Sulla pagina dedicata all’Hardware invece, una panoramica sui moduli radio consigliati e i dispositivi radio con cui il software compatibile.
Sono molti i dispositivi radio con cui possibile interagire, prese telecomandate, sensori di movimento piroelettrici e sensori per porte e finestre magnetici.

La peculiarit del progetto, oltre a garantire una pratica dashboard di controllo, in linea con le guidelines di google sul Material Design, quella di aver la possibilit di sviluppare parallelamente un sistema che si appoggi alle API offerte da iot-433mhz, per estenderne le capacit o personalizzarne i casi d’uso.
Ogni singola API documentata sulla repository ufficiale. L’interazione immediata e da poco sono stati introdotti i webHooks, componenti che similmente alle API, estendono le capacit del sistema, permettono di registrare una URL all’interno del sistema stesso e far si che venga richiamata al verificarsi di un evento.

Un’altra feature interessante sono le notifiche Telegram. Telegram uno dei pochi client di messaggistica che permette la creazione di Bot automatici. Ogni istanza di iot-433mhz installata su un PC in grado di comunicare con un unico back-end che gestisce per l’appunto l’interazione con il bot telegram. Attivare le notifiche telegram per il proprio account semplice, basta andare nelle Impostazioni copiare la stringa che appare e incollarla al bot @my_iot_bot. Dunque ogniqualvolta un’allarme armata scatter, il sistema attraverso il bot di telegram lo far sapere all’utente in tempo reale.

Il progetto iot-433mhz attualmente giunto alla versione 1.0.24, e viene costantemente aggiornata per risolvere bug o introdurre nuove feature.
E’ utilizzabile in “produzione” e si contano gi oltre 1000 download (npm), 104 stars e 7 fork. Che non affatto male considerando si tratti di un progetto nuovo, altamente specifico, pensato per hobbysti e in generale appassionati di automazione e domotica.

Raspberry Pi 3 – configurare Bluetooth e Wi-Fi

RaspberryPi3-Bluetooth-banner

Una delle caratteristiche pi interessantidel nuovoRaspberry Pi 3 senza alcun dubbio la presenza del Wi-Fi e Bluetooth 4.1/Low Energy (LE) aggiunti dalchip BCM43438.

In questo breve tutorial, ricordo a me stesso 🙂 come effettuare la configurazione del Wi-Fi e della Bluetooth. Come accade per ogni nuova installazione di software buona norma procedere preliminarmente con un aggiornamento di sistema mediante i due comandi:

sudo apt-get update

sudo apt-getupgrade

sudo apt-get dist-upgrade

Eseguiteli nell’ordine indicato e armatevi di un po’ di pazienza perch questa fase potrebbe durare un po’ di tempo.

Al termine del processo di aggiornamento si procedecon l’installazione del software della Bluetooth:

sudo apt-get install pi-bluetooth

RaspberryPi3-Bluetooth-01

Terminata questa fase bisogner installare il tool grafico che ci consentir di configurare in maniera semplice e comoda la Bluetooth:

sudo apt-get install bluetooth bluez blueman

RaspberryPi3-Bluetooth-02
L’ultimo passo sar quello di un reboot del sistema che potr essere eseguitodirettamente da terminale con il comando:

sudo reboot

Al successivo avvio noterete che nell’angolo superiore destro sar presenteil logo Bluetooth, se non viene visualizzato alloradal men principale (in alto a sinistra) seguite il percorso: Menu >Preferenze > Gestore Bluetooth in questo modo apparir l’icona della Bluetooth in alto a destra.

Come effettuare il pairing con Raspberry Pi 3

Continua a leggere

I miei corsi: Apprendimento attivo con Raspberry Pi e Arduino

Nei giorni venerdì 1/4 e sabato 2/4 sarà presso l’IIS Cassato Gattapone (Gubbio) come relatore per il corso: “Apprendimento attivo con Raspberry Pi e Arduino”, il corso è indirizzato a docenti e studenti di ogni ordine e grado. L’iniziativa rientra all’interno dell’evento “C’era una volta un pezzo di legno” giunto alla seconda edizione ed organizzato dalla Rete di scuole di Gubbio, tema dell’evento: student voice e la didattica per competenze.

Un grazie particolare al Dirigente Scolastico David Nadery per l’invito presso il suo Istituto.

Programma dell’evento:

  • venerdì 1 aprile, ore 9.00 -12.30: laboratori con gli alunni delle scuole di ogni ordine e grado;
  • venerdì 1 aprile, ore 15.00 -18.00: sessioni di attivazione didattica con i docenti divisi per ambiti disciplinari (Storia, Lingua italiana, Matematica, Elettronica/Informatica);
  • sabato mattina, in plenaria, presso IIS Cassata Gattapone, Via del Bottagnone 40 Gubbio, report conclusivi dai laboratori e l’intervento di Alison Cook Sather (University of Pennsylvania), ricercatrice di fama internazionale sullo student voice.

Nel dettaglio, i laboratori di venerdì 1 aprile (ore 15,00 – 18,00), destinati agli insegnanti, saranno tenuti sui seguenti ambiti disciplinari:

STORIA – Antonio Brusa (Università di Bari) e Romana Scandolari (Museo delle scienze di Trento).

Titolo: “Il Guinness dei Primati” – Gioco di simulazione sull’evoluzione umana.

MATEMATICA – Pietro Di Martino (Università di Pisa).

Titolo: “La macchina di ferro senza cuore”: l’intreccio matematica-emozioni nei racconti autobiografici degli studenti.

ELETTRONICA/INFORMATICA – Michele Maffucci (IIS Galilei Ferrari Torino).

Titolo: “Apprendimento attivo con Raspberry Pi e Arduino”.

LINGUA ITALIANA – Ermelinda De Carlo (Università di Perugia).

Titolo: “Come fare cose con le storie” (storie, autobiografie e digital curricula story).

Per maggiori informazioni sul programma e modalità di iscrizione vi invito a consultare la pagina predisposta sul sito dell’istituto.

Locandina_Convegno-Cera-una-volta-pezzo-legno-rev5

Installare Arduino su Raspberry Pi Zero

PiZero-Arduino01
Installare Arduino su Rasperry Pi Zero è estremamente semplice e tutto il processo si riduce a pochissimi comandi da eseguire al terminale, quindi come sempre un breve post come nota per impostare articoli e corsi futuri in modo che lo studente possa realizzare una piattaforma portatile ed estremamente economica per programmare microcontrollori.
Ricordo che sto utilizzando un computer da 5$ (escluso mouse, tastiera e cavetteria varia e monitor) ed una scheda Arduino, quindi con meno di 50€ si può avere una piattaforma completa per studiare (tutte le materie) e programmare… Un bel regalino che lo studente Maker potrebbe farsi regalare per la promozione 🙂

La versione dell’IDE Arduino ehe potrete installare dal repository Raspbian è la 1.0.5 che non è l’ultima disponibile ma perfettamente funzionate per il nostro computer tascabile.

Il processo di installazione può essere eseguito nel medesimo modo anche per le altre schede RaspberryPi.

Prima di procedere con l’installazione di qualsiasi pacchetto dal repository Raspbian è sempre consigliabile eseguire un aggiornamento di sistema con i due comandi:

sudo apt-get update
sudo apt-get upgrade

PiZero-Arduino02

PiZero-Arduino02b

PiZero-Arduino03

PiZero-Arduino03b

Per l’installazione digitare da terminale il comando:

sudo apt-get install arduino

PiZero-Arduino04

PiZero-Arduino04b

PiZero-Arduino04c

Al termine dell’installazione, prima di eseguire l’IDE Arduino, dal terminale eseguire i comandi:

sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi

PiZero-Arduino05

PiZero-Arduino06

questi due comandi vi permetteranno di aggiungere l’utente pi (utente di default) ai gruppi tty e dialout.

Al termine dell’installazione troverete la voce Arduino nei menu Elettronica e Programmazione.

PiZero-Arduino07

PiZero-Arduino08

A questo punto potrete eseguire l’IDE Arduino.

Dal menù Strumenti -> Tipo di Arduino assicuratevi che sia selezionata la scheda Arduino Uno:

PiZero-Arduino09

Selezionate la porta seriale (ttyACM0):

PiZero-Arduino10

Come test eseguite il solito blink:

PiZero-Arduino11

PiZero-Arduino12

Come vedete nell’immagine che segue ho collegato Arduino all’hub USB, ne caso ad esso abbiate collegato ad es. degli HD esterni è molto probabile che vi necessiterà un hub USB alimentato.

PiZero-Arduino13

Buona sperimentazione a tutti.

RaspberryPi Zero nelle mie mani

PiZero01

Il Raspberry Pi Zero è il più piccolo ed economico tra le versione prodotte e certamente molti si chiederanno quali potrebbero essere i campi di impiego di un simile “nano PC”, certamente il mio interesse è di tipo didattico, penso solo all’allievo che non giunge a scuola con una chiavetta USB ma con un PC che letteralmente può stare in un portafoglio. Ma immaginate a qualsiasi sistema di automazione che richiede un’interfaccia web o ad una interfaccia realizzata ad esempio con Processing…
o ad esempio…
nò! lo racconterò tra qualche settimana 🙂 sorprese e idee didattiche in costruzione.

Fare una recensire di questo PC lillipuziano non richiede grande sforzo perché in realtà non bisogna configurare nulla. I tempi di installazione del sistema operativo sono rapidissimi, circa 15 minuti, (le prove sono state fatte con NOOBS che al suo interno contiene Raspbian), non ci sono altre configurazioni da effettuare se non selezionare la lingua e il tipo di tastiera.

Vediamo cosa c’è di nuovo.

Piccolo e sottile, dimensioni da carta di credito: 65mm x 30mm x 5mm
31 mm se consideriamo i connettori delle prese USB, veramente piccolo!

PiZero06

PiZero07

PiZero08

Nella fotografia che segue il paragone tra un RaspereyPi 3 (prossimamente la recensione) e il PiZero.

PiZero19

Per abbattere i costi di produzione processore e memoria non hanno performance elevate, “con 5$ non si possono fare i miracoli”, 512 MB di RAM con un processore ARM a singolo core da 1GHz (stesso processore del B+ a A+). La memoria è collocata al di sopra del processore.

PiZero15

Le caratteristi dell’alloggiamento della MicroSD è il medesimo di quello utilizzato per i modelli B+ e ePi2 collocato però nella parte superiore (lato componenti) e questa volta è di tipo push-pull e non push-push modalità che preferisco perché evita estrazioni accidentali della scheda SD.

PiZero16

Per quanto riguarda il video siamo in presenza di una mini HDMI standard che permette con un adattatore, acquistabile a parte, di connetterlo a qualsiasi televisore. In questo modello non è presente l’uscita jack da 3.5mm del composito, tuttavia potete prelevare il segnale PAL o NTSC tramite due piazzole disposte nella posizione indicata nell’immagine che segue. Per chi invece desiderasse collegarlo ad un monitor VGA esistono degli adattatori mini HDMI – VGA.

PiZero17

Così come nell’ A+ anche il PiZero non dispone di un hub USB integrato questo vuol dire che potete utilizzare una sola porta USB, inoltre non è di tipo standard si tratta di una ‘USB On-The-Go’. Per collegare un dispositivo USB avrete necessità di un adattatore da micro USB tipo B a USB tipo A.
Se dovrete connettere più dispositivi USB dovrete utilizzare un hub USB esterno, anche non alimentato, ma ovviamente per connettere HD esterni dovrete munirvi di un hub USB alimentato.
Se serve potrete alimentare il PiZero anche attraverso l’hub connettendo il cavo di alimentazione, costituito da un connettore di tipo USB micro ad una delle porte dell’hub (ovviamente attraverso il cavo di alimentazione non passa nessun dato).

PiZero18

Per mantenere il PiZero il più semplice possibile non troverete saldato il connettore maschio GPIO, ma se lo desiderate potrete acquistarlo e saldarlo.

La procedura per installare installare il sistema operativo è estremamente semplice:

  • Pagina download RaspberryPi
  • Scaricate l’ultima versione di NOOBS
  • Preparate una SD formattata in FAT32
  • Copiate sulla scheda SD

A questo punto la domanda che già mi è stata posta via Facebook potrebbe essere: “ma dove hai acquistato il prodotto?”

Come sicuramente già saprete appena il PiZero venne presentato lo scorso novembre, nel giro di un paio di giorni andò in out of stock, stessa cosa è accaduto circa 10 giorni fa però questa volta ho avuto la prontezza di effettuare l’acquisto su Pimoroni, dove ho dovuto acquistare, perché unica disponibile, il kit Explorer pHAT Elettronica Kit:

PiZero02

PiZero03

PiZero05

PiZero04

All’interno del kit trovate qualche componente elettronico per fare semplici esperimenti di elettronica, tra tutti utilissimo l’explorer pHAT che aggiunge funzionalità utili, come ad esempio l’interfacciamente con schede a 5V (come molte schede Arduino), ponti H per pilotare motorini elettrici, sensori analogici.

Funzionalità del pHAT:

  • API Python
  • Quattro ingressi analogici Four analog inputs
  • Due ponti H
  • 4 input a 5 volt Four buffered 5V tolerant inputs
  • 4 output a 5V

pHAT che trovate nel kit sopra segnalato è compatibile anche con tutte le varianti a 40 pin della GPIO (Raspberry Pi 2 / B + / A + / zero).

Indispensabili inoltre gli adattatori USB B ad USB micro e l’adattatore mini HDMI ad HDMI

PiZero09

PiZero10

Dai primi test posso dirvi che sono pienamente soddisfatto, sia per quanto riguarda la navigazione che l’utilizzo dei programmi precaricati: da LibreOffice all’utilizzo di Python e Scratch.

La mia curiosità ovviamente è quella di programmare Arduino, proverò nelle prossime ore e costruire un sistema integrato, piccolo ed economico costituito dal PiZero + Arduino da portare sempre con me 🙂

PiZero11

PiZero12

E per connettersi ad internet, una piccola chiavetta WiFi connessa all’hub USB, che non ha richiesto nessun tipo di configurazione se non ovviamente l’inserimento della password della mia rete WiFi.

PiZero13

PiZero14

Nei prossimi post cercherò di mostravi come aggiungere l’audio su PiZero e come utilizzare la GPIO.