Un Raspberry per un Cloud... - Parte Software

cloud in reteTerminata la realizzazione fisica del cloud si passa alla configurazione di tutti i programmi ed i servizi necessari al suo funzionamento; in questo tutorial mi occuperò di impostare la connessione del RasPI, formattare e partizionare l'hard disk oltre ad installare e configurare tutti i programmi necessari ad usare il cloud da qualsiasi punto del mondo vi troviate... Continua a leggere

Un Raspberry per un Cloud... - Parte Hardware

racl8Tre mesi fa, cominciando a scrivere la tesi, sono entrato nell'universo degli iper-ansiosi di perdere tutti i file... ciò ha implicato cominciare a salvare i file ogni 20 minuti sul pc, su un hard disk esterno e su Dropbox ormai quasi pieno. Quindi ho pensato: e se non bastasse? Se un giorno mi rubassero il portatile, l'hard disk si bruciasse e mi hakerassero l'account su Dropbox? Una circostanza particolarmente sfigata, quasi apocalittica, ma che mi ha fatto sentire la necessità di avere un Cloud a casa mia... Unico problema: tra un impegno e l'altro ho finito di assemblarlo il giorno dopo aver terminato la tesi.. 😥   Forse qualcuno sarà più fortunato di me e ci metterà di meno... Continua a leggere

Scheda acquisizione dati: 4 canali 12/16 bit per Raspberry

scheda acquisizione datiUn'altra! Dopo quella ad 1 canale e 12bit, ho realizzato un'altra scheda di acquisizione dati, decisamente più fornita; il tutto ruota attorno a due moduli (ADS1x15) venduti da Adafruit (in Italia da Robot Italy) che mettono a disposizione 4 ingressi single ended, campionabili da 128SPS a 3300kSPS con risoluzione di 12 o 16 bit, a seconda del modello; la comunicazione avviene tramite bus I2C (quindi sono facilmente collegabili anche ad un semplicissimo microcontrollore). Il modulo è praticamente pronto, l'unica aggiunta necessaria a chi desidera collegarlo al Raspberry è di Continua a leggere

Scheda acquisizione dati - Parte Software

E dopo aver realizzato la scheda di acquisizione dati, bisogna scrivere qualche riga di codice; Il programma deve:

  • Leggere il dato convertito, un bit dopo l'altro (comunicazione tipo seriale)
  • Unire tutti i singoli bit formando una parola da 12bit
  • Convertire la parola in un numero decimale
  • Moltiplicare il numero per un opportuno fattore di scala

Comunicazione via SPI

La comunicazione tra l'ADS7816 ed il Raspberry, avviene tramite bus SPI. Sono disponibili acquisizione dati via SPIvarie librerie (anche in python) per gestire la comunicazione in questa modalità, come la py-spidev; purtroppo tutte hanno documentazione quasi nulla, gli esempi in giro per la rete sono pochi e sempre con le stesse periferiche (MCP3008 o 3002), rendendo laborioso anche un po' di sano reverse engineering. Continua a leggere

Scheda acquisizione dati - Parte Hardware

Uno dei vari pregi del Raspberry, utilissimo per chi voglia sviluppare sistemi più o meno scheda acquisizione daticomplicati, è disporre dei bus I2C, SPI e UART, indispensabili se ci si vuole interfacciare a periferiche come memorie (ad esempio per le SD si usa l'I2C), convertitori od anche microcontrollori. Trovando un ADS7816 mi sono deciso a sviluppare qualcosa di più interessante rispetto a quanto fatto fin'ora: una scheda di acquisizione dati ad 1 canale (purtroppo il 7816 non ne mette di più a disposizione) e 12bit, che dialoghi con il Raspberry tramite SPI (supportato dal ADC in questione). Il tutto, per quanto misero sia al momento, servirà da base per il futuro (con un MCP3204 avrei 4 canali da 12 bit, e costa qualche dollaro anche al dettaglio); per ora voglio prendere un po' di dimestichezza e farmi un'idea dei principali problemi e delle prestazioni raggiungibili. Continua a leggere

Google Charts, CSV e grafici in tempo reale

grafico con google chartsNel poco tempo concessomi dalla sessione estiva, mi sono interrogato circa la possibilità di disporre sul blog di un grafico aggiornato in tempo reale (o quasi, a me basta ogni ora) con la temperatura del Raspberry. La cosa sembra abbastanza inutile (ed in effetti lo penso anche io >:( ) , ma l'applicazione è a solo fine di apprendimento: potrebbe diventare interessante qualora ci fosse qualcosa di più significativo da graficare (ad esempio se usassi il raspi come un datalogger in remoto).

Schema generale applicazione

Quello che voglio fare è: leggere la temperatura interna del processore del Raspberry (come già fatto varie volte), associarci data e ora e caricare il tutto su un grafico in una pagina del blog. Di per se non è difficile, ma richiede più di qualche passaggio: Continua a leggere

Interfaccia optoisolata: accensione - Raspberry PI

circuito test interfacciaE dopo aver realizzato l'interfaccia, è giunto il momento di testarne il funzionamento; quantomeno che non bruci il Raspberry durante il funzionamento. L'apparato di misura è molto semplice: una delle uscite dell'interfaccia è riportata su una breadboard e fa da interruttore elettronico ad una serie led - resistenza di limitazione. Il tutto è sottoposto a 12V provenienti da un alimentatore stabilizzato (nella foto quello con il led blu accecante). Inoltre, ai capi della resistenza sono connessi i Continua a leggere

Interfaccia I/O optoisolata - Raspberry PI

Ho sempre ritenuto che comprarsi un Raspberry solo per vantarsene in giro sia qualcosa da spocchioso radical chic: ci sono troppe cose carine da realizzarci intorno, per interfaccia terminatalasciarlo a prendere polvere su qualche scrivania, nell'attesa che arrivino gli amici cui farlo vedere... Così ho finalmente trovato qualche oretta per realizzare un'interfaccia che permetta di usufruire in tutta tranquillità degli input/output che il Raspberry mette a disposizione. Vi sono infatti la bellezza di 17 pin, di cui 8 utilizzabili come I/O digitali generici e 9 utilizzabili anche per comunicare con dispositivi via I2C, SPI e UART. Nel mio caso trovavo 8 I/O generici insufficienti, così ho deciso di Continua a leggere

Over temperature! Automatic shutdown - Raspberry

over temperature raspberryAncora qualche riga in python prima di cominciare con il making serio ed usare i GPIO. Visto che una delle prossime cose da fare sarà overcloccare il Raspberry, e visto che superati gli 85°C il Raspberry perde la garanzia (oltre a rischiare di diventare marmellata di lampone), ho preparato uno script in python che in caso di over temperature spegne immediatamente il rasp. In pratica non si fa altro che leggere ogni secondo la temperatura interna del processore, ed eseguire lo shutdown (grazie alla libreria os) nel caso Continua a leggere

Automatic data upload with Curl - Raspberry PI

automatic data upload with curlOgni tanto è bello cambiare! Magari di poco, ma male non fa: appena finito di sistemare il Raspberry per caricare in automatico i dati con curlftpfs, ho provato un altro modo. Il primo faceva uso di curlftpfs: in parole povere creavo una cartella in locale, dove caricavo il file (che uno script php doveva interpretare) che veniva subito uploadato sul server. Soluzione molto elegante, che purtroppo mi aveva dato qualche problema in fase di scrittura (prima per la sintassi, poi per i permessi con mount ed infine per l'assenza della specifica _netdev...). Con curl è tutto più semplice e rapido, Continua a leggere

Let's start with Python! - Temperature of Raspberry PI

Sarà che non ho mai programmato seriamente, ne mi sono sentito informatico... Sarà che  da tempo non scrivevo una sola riga di programma... Sarà che comincio a scrivere in Python... Fatto sta che queste 4 righe di codice, che legge la temperatura del processore del Raspberry e la salva in un txt, mi hanno gasato alquanto:

import subprocess
from time import localtime, strftime
t = subprocess.check_output(["/opt/vc/bin/vcgencmd","measure_temp"])
Continua a leggere