Misurazione della pressione atmosferica con Raspberry Pi

Se vogliamo conoscere e monitorare la pressione atmosferica in modo economico… Come potresti non farlo… Questo è il tuo documento! Possiamo farlo rapidamente con un Raspberry Pi e un sensore che va a malapena oltre il 2 Euro! In questo post vedremo tutti i passaggi necessari per raggiungerlo, Anche come sempre… memorizzeremo le misure in un database MySQL e poi visualizzeremo i valori con bellissimi grafici grazie a Grafana!

 

Utilizzeremo un piccolo sensore di pressione barometrica BMP180, con esso possiamo ottenere la temperatura, pressione atmosferica e altitudine uniforme!

 

La connessione GPIO del BMP180 sarebbe molto semplice, con il Raspberry Pi ovviamente spento, ci colleghiamo dalla connessione BMP180 VCC al Pin 1 (3.3v), GND su una porta onshore Raspberry Pi, SCL a pin 5 (GPIO03) o SCL1; e infine la connessione SDA andrà al Pin 3 (GPIO02) o Pi SDA1.

 

Sappiamo di avere un Raspberry Pi funzionante con Raspbian installato, se non abbiamo le connessioni I2C abilitate, Dobbiamo farlo eseguendo

 

“sudo raspi-config” > Stiamo per “Opzioni di interfacciamento”, Abilitiamo “I2C” e riavvia il Raspberry Pi.

 

E ora il meraviglioso, grazie a Matt Hawkins, possiamo scaricare il suo script Python ed eseguirlo per ottenere i dati!!

[Codice sorgente]wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/bme280.py

Python bme280.py[/Codice sorgente]

 

Come possiamo vedere questo script è per il BME280, che avrebbe anche un sensore di umidità, Lo script è completamente supportato, Così grande! Ora che ho detto, Ognuno deve trattare i dati come vuole, come al solito, E come già sai, Quello che faccio di solito è creare un'attività pianificata con cron che esegue lo script e memorizza il valore della pressione atmosferica in un database MySQL, poi vedo i dati con Grafana È molto bello, come sapete! Quindi, se aggiungiamo questo alla fine dello script, saremo in grado di memorizzare la pressione atmosferica nel DB:

[Codice sorgente]Importa sistema
importare MySQLdb
db = MySQLdb.connect("SERVIDOR_MYSQL","UTENTE","PAROLA CHIAVE","BASE_DE_DATOS")
cursore = db.cursore()
cursore.execute("""INSERIRE IN presion_atmosferica (Pressione) VALORI (%s) """,( pressione))
db.commit()[/Codice sorgente]

 

E come sempre, Nel caso fossi interessato, incollerò il testo necessario per creare la tabella esattamente come l'ho, ma non ha alcun mistero, Ha 2 Colonne, uno per memorizzare la pressione e l'altro la data (che non consentendo NULL si completa automaticamente ogni volta che viene impostato il valore di pressione):

[Codice sorgente]CREA TABELLA 'presion_atmosferica' (
'pressure' FLOAT NULL DEFAULT NULL,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
ENGINE=InnoDB
ROW_FORMAT=COMPATTO
;[/Codice sorgente]

 

E pronto a Grafana, in una Dashboard che abbiamo, super facile aggiungere un pannello di tipo grafico e personalizzarlo a proprio piacimento, Spendere 5 minuti che Grafana è super intuitivo, nel mio caso ho un connettore MySQL che si connette contro il DB e con questa Query ho quel bel grafo:

[Codice sorgente]SELECT pressione come valore, "Pressione" come metrico, UNIX_TIMESTAMP(dattero) COME time_sec DA presion_atmosferica DOVE $ __timeFilter(dattero) Ordina per time_sec ASC[/Codice sorgente]

 

Pronto!!! Spero che lo troviate interessante! Abbiamo già monitorato la pressione atmosferica! Perfetto per una stazione meteorologica o che? Successo!

 

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!

Novità in casa Nakivo 7.4

28 di maggio de 2018