
Utilizzo di un anemometro con Raspberry Pi
Se hai voglia di misurare la velocità del vento usando un Raspberry Pi, Questo è il tuo documento! Potresti pensare di installare una stazione meteorologica e questa è una questione importante, VERO? Useremo uno script e un anemometro specifico e super veloce lo avremo impostato. Oltre, Come già mi conosci, Esporterò le misure in un database MySQL e poi lo visualizzerò con Grafana!
Ci sono due opzioni, oppure fai un anemometro manualmente con gli ovetti Kinder e lavori su uno script che ti dice la velocità del vento, o per 45€ Acquisti un anemometro Eltako e attraverso un semplice script Python già calibrato si otterrà la velocità di visualizzazione in modo esatto.
La connessione GPIO è semplicissima, L'anemometro ha 2 Cavi, uno lo collegheremo a terra e l'altro al Pin 3 (o GPIO02), Non importa quale cavo si trovi. Partiamo dal presupposto di avere un Raspberry Pi con Raspbian installato e GPIO abilitati (sudo raspi-config…).
Scarichiamo Questo fantastico script di Patrick Rudolph da GitHub. E abbiamo cercato di metterlo in pratica… e semplice o cosa?
Ora tutti possono modificarlo come meglio credono, se vuoi passare da metri al secondo a chilometri all'ora e metti il risultato in un database MySQL, aggiungeremo intorno alla linea 60 qualcosa come:
[Codice sorgente]
…
viento_kmph = actual_windspeed_msec * 3.6 # Converti i metri al secondo in chilometri all'ora
Stampa viento_kmph
if return == 30: # Così ogni 30 pochi secondi lo mette in BD
ritorno = 0
db = MySQLdb.connect("DIRECCION_IP_MYSQL","UTENTE","PAROLA CHIAVE","BASE_DATOS")
cursore = db.cursore()
cursore.execute("""INSERT IN wind (velocità) VALORI (%s) """,( viento_kmph))
db.commit()
altro:
Round = Round + 1
…[/Codice sorgente]
Non dimenticare di aggiungere 'import MySQLdb’ per caricare i moduli Python MySQL (sudo apt-get install python-mysqldb se non li hai installati). E ciascuno 30 secondi metterà la velocità nella tabella del vento del nostro DB MySQL, È una scheda molto sciocca con 2 Campi, uno per la velocità e uno per la data che viene completata automaticamente, Se necessario, questo sarebbe il codice per creare la tabella in questo stesso esempio:
[Codice sorgente]CREA TABELLA 'vento' (
'speed' FLOAT NOT NULL,
IL TIMESTAMP 'created_at' NON NULLO NON CURRENT_TIMESTAMP PREDEFINITO ALL'AGGIORNAMENTO CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
ENGINE=InnoDB
ROW_FORMAT=COMPATTO
;
[/Codice sorgente]
E a Grafana, in una dashboard, se creiamo un Pannello Grafico, selezioniamo la nostra connessione MySQL rispetto al nostro database come origine dati e aggiungiamo una semplice query che dipinge il vento, Poi accordiamo il grafico come ci piace più o meno, nel caso in cui ti guidi, la query di questo grafo:
[Codice sorgente]SELECT velocidad come valore, "Velocità" come metrico, UNIX_TIMESTAMP(created_at) come time_sec DA viento DOVE $ __timeFilter(created_at) Ordina per time_sec ASC[/Codice sorgente]
Bene, Spero vi piaccia, a poco a poco metteremo più sensori nel nostro Raspberry Pi per configurare una stazione meteorologica o quello che vogliamo, andare!