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

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

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