BME688 AirMeter App: monitorare la qualità dell'aria, la pressione dell'aria, la temperatura, l'umidità utilizzando il Raspberry Pi

Utilizzando questo BME688 AirMeter App per PiCockpit, si può leggere un BME688 o sensore BME680 collegato al Raspberry Pi tramite I2C. Noi (pi3g e.K.) offriamo un modulo di breakout BME688 plug & playche si può collegare direttamente all'intestazione del Raspberry Pi.

L'applicazione ha tre diverse viste, che ti permettono di visualizzare i dati nel modo che preferisci:

Installazione e configurazione

Spegnete il vostro Raspberry Pi e collegate il modulo BME688. Fate riferimento alle istruzioni del vostro fornitore su come farlo.

pi3g-bme688-breakout-board-raspberry-pi
Il modulo di breakout pi3g BME688 collegato a un Raspberry Pi 3B+: può essere semplicemente collegato al GPIO Header. Notate l'orientamento speciale, in modo che il SoC non distorca i valori di misurazione del calore del BME688.

Nota: il BME688 e il BME680 supportano anche il funzionamento SPI. Questa applicazione supporta però solo il funzionamento I2C.

Riaccendete il vostro Raspberry Pi. A questo punto, si spera che PiCockpit è già installato. Non è necessario installare alcun software oltre a PiCockpit per far funzionare questa applicazione. (Sei il benvenuto :-))

Apra l'applicazione BME688 AirMeter e clicchi sul pulsante Setup:

L'applicazione BME688 AirMeter offre diverse visualizzazioni. Il pulsante Setup si trova in alto.
In attesa di dati, poiché nessun dato è stato ancora ricevuto dal sensore

Abilita il sensore BME688 cliccando sul toggle "enable sensor".

Controllare se l'indirizzo I2C è corretto. (Per la scheda pi3g BME688 breakout, è 0x77 di default - questo potrebbe variare per altri fornitori).

Se il sensore può essere raggiunto, il messaggio sottostante dovrebbe aggiornarsi a "Data received: ..." con un timestamp del più recente pacchetto di dati ricevuto.

Nota: la frequenza dei pacchetti di dati dipende dalle impostazioni - se si attiva il calcolo IAQ, potrebbero essere ricevuti meno frequentemente.

abilitare il calcolo dell'IAQ

Bosch fornisce un software chiamato BSEC 2. Lo abbiamo incluso in PiCockpit, per vostra comodità. Questo software permette di prendere i valori grezzi che il sensore misura, e calcolare valori aggiuntivi.

Uno di questi è l'IAQ. (Qualità dell'aria interna) - che vi permetterà di misurare la qualità dell'aria interna.

Per abilitarlo, cliccate sul pulsante toggle "enable IAQ calculation", e cliccate su "I agree" sul Accordo di licenza BSEC di Bosch dialogo.

Accettare il contratto di licenza BSEC di Bosch

Questo istruirà automaticamente PiCockpit a far calcolare anche l'IAQ.

vista avanzata (mostra tutti i dati)

Abilitando la vista avanzata, verranno mostrati tutti i parametri che il software BSEC2 è in grado di calcolare.

resettare tutte le impostazioni

Questo pulsante vi permetterà di ripristinare le impostazioni di fabbrica.

Mostra il grafico a linee

la temperatura dell'aria (cruda) mostrata nel grafico a linee

Usa i pulsanti "mostrami" per selezionare il valore misurato che vorresti vedere.

Usa la ricerca per concentrarti solo sui valori che ti interessano:

inizia a digitare il nome del valore che ti interessa per restringere la selezione

Gli elementi in basso e a destra accanto al grafico ti permettono di approfondire particolari aree di dati e valori a cui sei interessato. Sono ottimi per ingrandire un grafico:

zoomando per vedere più chiaramente le fluttuazioni di temperatura

Nota che i valori dei dati storici saranno conservati solo nel tuo browser web mentre l'applicazione è aperta. Una volta che si naviga via, o si chiude la scheda, i dati saranno persi.

Vista del calibro

Nella vista Gauge, avrai dei bellissimi indicatori per visualizzare i valori correnti. Qui puoi monitorare i seguenti valori:

  • umidità dell'aria
  • temperatura dell'aria
  • pressione dell'aria
  • resistenza al gas
  • qualità dell'aria (IAQ) - se abilitato

La vista dell'indicatore contiene anche una tabella con i dati nella parte inferiore.

Vista della tabella

Per i puristi tra noi, che amano che i loro dati siano presentati in modo tabellare, la vista tabella offre la giusta misura:

Puoi usare la funzione di ricerca per restringere la vista solo agli articoli che ti interessano:

inizia a digitare il nome del valore che ti interessa per restringere la selezione

Elenco completo di "vista avanzata"

Questi sono tutti i valori di misurazione disponibili nell'App BME688 AirQuality in PiCockpit, se si attiva la vista avanzata:

  • umidità dell'aria
  • umidità dell'aria (cruda)
  • pressione dell'aria
  • qualità dell'aria (IAQ)
  • qualità dell'aria (IAQ) precisione
  • temperatura dell'aria
  • temperatura dell'aria (cruda)
  • respiro equivalente VOC
  • respiro VOC equivalente precisione
  • CO2 equivalente
  • Precisione del CO2 equivalente
  • valore del gas comp
  • accuratezza del valore del gas comp
  • percentuale di gas
  • precisione della percentuale di gas
  • resistenza al gas (grezzo)
  • numero di campione
  • IAQ statico (grezzo)
  • precisione IAQ statica
  • timestamp

Nota: per una migliore precisione di misurazione della CO2, offriamo anche un App del sensore di CO2!

FAQ

È supportato anche il BME680?

Sì, anche il BME680 è supportato.

E le caratteristiche AI del BME688?

Attualmente stiamo lavorando su un'applicazione "Digital Nose" per PiCockpit che vi permetterà di riconoscere gli odori utilizzando il BME688.

Dove posso comprare un sensore compatibile?

Noi (pi3g e.K.) abbiamo sviluppato un modulo BME688 plug & play per la porta GPIO del Raspberry Pi.

Altri venditori, per esempio Pimoroni e Adafruit, vendono anche schede di breakout BME688 e BME680.

Gestione degli errori

Errore chiave 'status'

sintomi sul frontend: Nel Setup viene visualizzato "In attesa di dati", ma non arrivano dati.

indagando sul registro (usando sudo journalctl -u picockpit-client -n 250) si trova la seguente voce:

Nov 01 17:00:43 jaya picockpit-client[4591]: Traceback (ultima chiamata):
Nov 01 17:00:43 jaya picockpit-client[4591]: File "/usr/lib/python3.9/threading.py", riga 954, in _bootstrap_inner
Nov 01 17:00:43 jaya picockpit-client[4591]: self.run()
Nov 01 17:00:43 jaya picockpit-client[4591]: File "/usr/lib/python3.9/threading.py", riga 892, in run
Nov 01 17:00:43 jaya picockpit-client[4591]: self._target(*self._args, **self._kwargs)
Nov 01 17:00:43 jaya picockpit-client[4591]: File "/usr/share/picockpit-client/lib/python3.9/site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", riga 136, in stats_thread
Nov 01 17:00:43 jaya picockpit-client[4591]: stats=self.get_stats()
Nov 01 17:00:43 jaya picockpit-client[4591]: File "/usr/share/picockpit-client/lib/python3.9/site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", riga 231, in get_stats
Nov 01 17:00:43 jaya picockpit-client[4591]: stats['s'] = data['status']
Nov 01 17:00:43 jaya picockpit-client[4591]: KeyError: 'status'

Questo accade perché il frontend si trova in uno stato sbagliato: oltre ad abilitare il sensore, si dovrebbe anche abilitare il calcolo della IAQ:

Come posso verificare se l'indirizzo I2C è corretto?

Eseguire i2cdetect come root:

 i2cdetect -y 1

Questo mostra il BME688 e altri accessori I2C che possono essere rilevati con questo algoritmo:

L'indirizzo predefinito per la nostra scheda breakout BME688 è 0x77