BME680 con ESP8266

Ciao a tutti,
piccola, doverosa, premessa.
Ho un BME680 che, su raspberry, funziona perfettamente e stabilmente con tutte le impostazioni da datasheet (ok, senza IAQ perchè mi ero scritto il software di controllo da solo quindi non ho mai usato il software di bosch).
Mi sono messo a "giocare" con arduino e simili, e volevo spostare il sensore su un ESP8266.
Niente di più facile, direte voi, ci sono quintali di librerie pronte per BME680.
In più, il BSEC di bosch è lì pronto per essere utilizzato.
Ecco. Con il software di bosch, il sensore funziona. Stabilmente (ok, l'ho lasciato andare per qualche minuto e funziona). Però cercare di modificare le impostazioni di lettura è da matti perchè bosch è molto gelosa..
Allora ho provato con altre librerie, ma non c'è modo di farlo andare stabilmente con altro software.
Tutte, immancabilmente, dopo qualche lettura si bloccano (errori vari, semplicemente non vedono più il sensore o iniziano a dare messaggi di eccezione). "qualche lettura" intendo meno di un minuto di letture con intervalli di 3 o 4 secondi
Ho provato quella di adafruit
quella di DF robot
tutte quelle disponibili nel gestore librerie dell'ide arduino
dove il codice è esattamente quello degli esempi.
quindi volevo chiedervi se qualcuno di voi ha da consigliarmi una libreria che funzioni stabilmente, oppure un'idea (magari qualcosa che dipenda dall'esp8266?) su cosa possa dare origine a questo comportamento.
L'impressione che ho è che dipenda dalla lettura della parte gas del sensore, più che da temperatura, pressione o umidità, ma è solo un'impressione..
Grazie mille
ciao

2 Likes

Io ho un BMP680 che sta funzionando con una nodeMCU da quasi un anno. Libreria Adafruit, se non ricordo male.
Però ho notato che in effetti sembrerebbe che ogni tanto si inchioda e poi riprende. Io fino a questo tuo post attribuivo la causa a ThingSpeak, che è dove caricavo i dati.

Però mi pare di ricordare di aver letto che se il sensore non ritiene di avere una buona lettura sul canale GAS da errore e non ti restituisce la misura. O forse era la libreria che aspettava affinché il sensore avesse una buona lettura.

Però tu dici che con Arduino andava bene e i problemi sorgono con ESP8266. Potrebbe essere un problema elettrico di alimentazione? Oppure un disturbo dovuto alla trasmissione WiFi? Nel mio caso il sensore è a 10cm dall'ESP8266.

zoomx:
Io ho un BMP680 che sta funzionando con una nodeMCU da quasi un anno. Libreria Adafruit, se non ricordo male.
Però ho notato che in effetti sembrerebbe che ogni tanto si inchioda e poi riprende. Io fino a questo tuo post attribuivo la causa a ThingSpeak, che è dove caricavo i dati.

grazie, riproverò con quella..

Però mi pare di ricordare di aver letto che se il sensore non ritiene di avere una buona lettura sul canale GAS da errore e non ti restituisce la misura. O forse era la libreria che aspettava affinché il sensore avesse una buona lettura.

beh in realtà ci sono una serie (infinita :)) di bit di controllo sulla lettura, che per non utilizzare l'odioso delay() andrebbero letti per verificare che la lettura sia finita..

Però tu dici che con Arduino andava bene e i problemi sorgono con ESP8266. Potrebbe essere un problema elettrico di alimentazione? Oppure un disturbo dovuto alla trasmissione WiFi? Nel mio caso il sensore è a 10cm dall'ESP8266.

Con raspberry va bene. Con l'esp8266 e il codice di bosch va bene uguale. con altre librerie, dopo qualche lettura si pianta (ma tipo che devo staccare tutto dall'alimentazione per ripartire)
Non credo problemi con la trasmissione wifi visto che al momento sto solo usando il codice di prova..
mi infastidisce sta cosa perchè in realtà doveva essere la parte più semplice (per il resto, l'esp8266 legge e pubblica su un broker MQTT i dati in json..)

1 Like

niente, l'unica che pare funzionare stabilmente e regolarmente è la BSEC di bosch. non riesco proprio a capire, ma mi toccherà adattarmi alla in-configurabilità della libreria..