Cosa impareremo?
innanzitutto, ad intercettare i dati forniti dai sensori della Sense HAT, poi a costruire una semplice app web sfruttando il potete micro framework Python Flask, quindi a passare i dati dalla scheda alla web app attraverso un programma in Python.
Difficile? Neanche poi tanto.
vediamo come si può fare.
Innanzitutto, partendo dal presupposto che sulla MicroSD sia già caricato il sistema operativo Raspian, che la Sense HAT sia correttamente installata e collegata, la prima cosa da fare e verificare che il sistema sia nella sua versione più aggiornata.
Per operare l’aggiornamento del Raspberry Pi, digitate:
sudo apt-get update
sudo apt-get upgrade
Sedetevi ed aspettate un po’, potrebbe volerci per aggiornare il sistema operativo.
Controlliamo poi che siano installati il software per il linguaggio Python e per la Sense HAT provando ad installarli:
sudo apt-get install python3-flask
sudo apt-get install sense-hat
Ovviamente, è molto probabile che riceviate un messaggio di errore del tipo
python3-flask is already the newest version.
sense-hat is already the newest version.
Non ve ne preoccupate, vuo dire che i due software sono già installati. In caso contrario, verranno comunque installati ex novo.
Ora costruiremo una web app e un web server su cui farla girare utilizzando Python Flask.
Pensate sia difficile, vero? Niente di tutto questo.
Apriamo un file python dal nome, benaugurante meteo.py digitando
sudo nano meteo.py
Nel file che si aprirà, scriveremo il nostro programma.
from flask import Flask, render_template
from sense_hat import SenseHat
app = Flask(__name__)
@app.route('/')
def index():
sense = SenseHat()
celsius = round(sense.get_temperature(), 1)
fahrenheit = round(1.8 * celsius + 32, 1)
return render_template('meteo.html', celsius=celsius, fahrenheit=fahrenheit)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Ora occorre creare una pagina di base (template) in html in cui riprodurre i dati della sense HAT.
Creiamo una directory apposita e apriamo il file meteo.html con l’editor da linea di codice nano:
mkdir templates
nano templates/meteo.html
Nel file scriviamo lo schema della nostra pagina, per ora molto spartano:
Raspberry Pi Stazione Meteo
Temperatura
Celsius: {{ celsius }}
Fahrenheit: {{ fahrenheit }}
E salviamo il file come sopra.
Questo dovrebbe essere il risultato:
Se il raspi è sulla stessa rete del vostro PC o smartphone, potrete vedere la vostra weather station fai date all’indirzzo del raspi, sulla porta 5000. Ad esempio, http://192.168.0.101:5000
.
Bene, per questa volta è tutto.
Nella prossima puntata vedremo come migliorare esteticamente la nostra stazione meteo virtuale.
Alla prossima…
RASPBERRY PI STAGIONE 3 Puntata 1: Un server per i fumetti
In questa prima fase, costruiamo un server per leggere fumetti online: Comicstreamer.
Continua la lettura di RASPBERRY PI STAGIONE 3 Puntata 1: Un server per i fumetti
RASPBERRY PI STAGIONE 2 PUNTATA 6: Node-RED parte 1
Ben ritrovati.
Dopo la pausa influenzale, riprendiamo, più dinamici che mai.
In questa puntata avvieremo un breve tour su uno strumento di programmazione davvero particolare: Node-RED.
Che cos’è Node-RED
Node-RED è un tool open-source sviluppato da IBM, nato per collegare insieme dispositivi hardware, API e servizi web, in una maniera nuova e interessante.
Node-RED, infatti, fornisce un editor di flusso che lavora tramite il browser, in modo da rendere semplice l’unione di flussi di lavoro provenienti dalle fonti più disparate. Questi flussi, inoltre, possono essere attivati con un semplice click, mettendo in collegamento pc o schede con sensori ecc….
Come si può intuire, è quindi l’ideale per avvicinare i ragazzi alla programmazione per sensori e quanto altro, dato che funziona in modo del tutto simile a Scratch.
Il motore di Node-RED è costruito interamente su Node.js. Questo lo rende ideale per funzionare sia ai “bordi della rete”, su dispositivi come il Raspberry Pi, sia in Cloud.
I Flussi creati in Node-RED sono salvati usando il formato JSON, un formato per database in javascript, che rende facile l’importazione e l’esportazione dei flussi stessi e dunque facilita anche la condivisione dei flussi con il resto del mondo.
Bene. Il programma è certo interessante, ma che c’entra con il raspberry pi?
Raspi e Node-RED
C’entra, c’entra.
Perché il raspi, se si installa il suo sistema operativo di base, Raspbian, ha una discreta lista di software per la programmazione. Oltre al celeberrimo Mathematica della Wolfram, a Python, anche in versione giochi e suono, a Scratch, la nostra scheda ha preinstallato anche Node-RED.
A dir la verità, ci sono due modi per iniziare a usare Node-RED su Raspberry Pi:
1) Usare la versione di Node-Red preinstallata su Raspbian Jessie, da novembre 2015;
2) Effettuare un’installazione manuale di NodeRed da npm.
Nel primo caso, viene usata la versione di Node.js pre-installata, la v0.10.29. Se si opta per l’installazione manuale allora si consiglia una versione di Node.js dalla 4 in su, v4.x.
Dalla versione 0.14.x di Node-RED è presente uno script che effettua in automatico un upgrade all’ultima versione LTS di Node.js e di Node-RED.
Se si effettua l’upgrade manuale di Node.js allora sarà necessario anche ricompilare tutti i nodi installati che abbiano dipendenze binarie con questi comandi:
cd ~/.node-red
npm rebuild
Comunque, per la nostra programmazione, va benissimo la versione preinstallata.
Per avviare Node-RED, occorre andare nel Menu, scegliere Programmazione e poi Node-RED
In questo modo lanceremo il server di Node-RED
Se ora apriamo il browser all’indirizzo fornito dal terminale del server di Node-Red, di solito all’indirizzo
127.0.0.1:1880
potremo vedere la struttura della dashboard di Node_RED. Ce si può vedere, Node-RED funziona con una semplice interfaccia web. Che vedremo nella prossima puntata, perché per questa volta è proprio tutto. Lu spaziu è tirannu, parafrasando il noto commentatore sportivo Biscardi, per cui ci rivediamo fra sette giorni, ovvero dopo Pasqua, per guardare più da vicino l’interfaccia web di Node-RED e il controllo da remoto.
A bien tot
Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…
Continua la lettura di Raspberry Pi stagione 2 puntata 3: qualche ulteriore ritocco…
Raspberry pi puntata 24: PressPi parte 1
Bentornati. In questa puntata e nella prossima monteremo sul raspberry pi una distribuzione dedicata all’installazione di un server wordpress sulla macchina, da collegare poi online con indirizzo statico: PressPI.
Scarichiamo la dietro dal sito relativo, all’indirizzo http://presspi.com/
Armatevi di pazienza, perché la distro è in realtà depositata su google drive, insieme ad altre distribuzioni per raspberry pi dedicate, che vedremo in una prossima puntata e il download non è sempre agevole. Nel nostro caso, ad esempio, il download è stato portato a termine dopo 3 tentativi (ma magari siamo noi ad essere un po’ sfigati).
Una volta scaricata, la dietro deve essere installata come già abbiamo visto fare nelle prime puntate della serie sulla scheda MicroSD opportunamente formattata.
Il sito promette di poter usare la distro senza conoscere come funziona Linux e un web server, concentrandosi, quindi, solo su WordPress e sul sito costruitovi sopra.
Questo grazie all’uso di un web server pre configurato.
Il web server utilizzato non è Apache, ma il più leggero Nginx (indirizzo https://nginx.org/), meno diffuso, almeno al momento, ma non meno efficace ed adattissimo all’uso come web server per WordPress.

Molto importante è anche la cache pre configurata per velocizzare l’apertura di articoli e pagine.
Inoltre, promette di fornire tutorials utili (ma al momento in cui scriviamo, la pagina è ancora in costruzione) e strumenti per usarla anche con i Mac.
Ora scarichiamo la dietro e installiamola sulla nostra MicroSD.
Alla prossima puntata…
Raspberry pi puntata 18: costruire un web server parte 4
In questa puntata concluderemo finalmente l’installazione di un sito wordpress sul web server costruito sul nostro raspi.
Continua la lettura di Raspberry pi puntata 18: costruire un web server parte 4
Raspberry pi puntata 17: costruire un web server parte 3
Continua la lettura di Raspberry pi puntata 17: costruire un web server parte 3
Raspberry pi puntata 15: costruire un web server parte 2
Bene, nella puntata precedente abbiamo installato un web server e lo abbiamo provato.
E ora che si fa? Si costruisce un sito di prova
Se tutto è andato bene nella puntata precedente, ora abbiamo il nostro web server personale per testare un sito in locale. Ma la pagina che ci appare su localhost non è particolarmente significativa. Evitando, per il momento, di installare un sms (vedremo in seguito di cosa si tratta) o una soluzione più complessa, proviamo ad inserire delle pagina web da visualizzare nel browser al post della pagina standard che abbiamo già visto.
Continua la lettura di Raspberry pi puntata 15: costruire un web server parte 2
Raspberry pi puntata 14: costruire un web server parte 1
Il raspberry pi, come si è detto, è un computer molto versatile, anche e soprattutto per le sue ridotte dimensioni e per le soluzioni rese possibili dalla community che lo usa. Una di queste soluzioni, valida anche a fini didattici, è la sua capacità di diventare un server web. Continua la lettura di Raspberry pi puntata 14: costruire un web server parte 1