Датчик "качества" воздуха bme680 и nodemcu

Тема в разделе "ESP8266, ESP32", создана пользователем Barcooler, 14 янв 2020.

  1. Barcooler

    Barcooler Нуб

    Господа, подскажите есть-ли у кого либо опыт получения адекватных данных от датчика BME680 о качестве воздуха?
    Подключил датчик к ESP07, используя NodeMCU и пример из документации на модуль: https://nodemcu.readthedocs.io/en/master/modules/bme680/#bme680-module

    Данные-то датчик выдаёт, но получается значение абстрактного сопротивление датчика:
    Gas resist = 45267 (в омах) которое по сути ничего о качестве воздуха не говорит (только косвенно).

    Оказалось бош, в отличие от предыдущих датчиков (BMP/BME 180/280), открыто не выложил алгоритмы преобразования данных сопротивления датчика, а предлагает использовать скомпилированную (видимо в ассемблерный код) библиотеку.
    И судя по всему многие так и не могут толком получить данные с датчика в виде заявленном производителем: значения от 0 до 500 где 0 - самый наилучший воздух, 500 - наверно смертельно опасный (хотя уже после 300 там самый опасный уровень).

    Скажите как быть? Может у кого есть опыт или знания для реализации получения корректных данных с этого датчика.
    На всякий случай ссылка на наддые о датчике от Боша:
    https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors-bme680/
     
  2. asam

    asam Гик

    Из описания работы с датчиком на Adafruit https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/.



    Пожалуйста, обратите внимание, что этот датчик, как и все датчики VOC / газа, имеет изменчивость, и для получения точных измерений необходимо откалибровать его по известным источникам! Этот датчик дает вам лишь представление о тенденциях . Мы рекомендуем вам "прожечь" этот этот датчик в течение 48 часов, , а затем прогревать его 30 минут в нужном режиме каждый раз, перед измерением. Это связано с тем, что уровни чувствительности датчика будут меняться во время раннего использования, а сопротивление постепенно будет увеличиваться со временем, когда MOX нагревается до своего базового значения.
     
  3. Barcooler

    Barcooler Нуб

    Да, я заметил, что датчик показывает разные значения если его опрашивать раз в минуту или раз в 15 секунд, если часто опрашивать - сопротивление увеличивается существенно.
    Только вопрос не в этом, а как получить эти пресловутые показания вида 50 - 100 - 200 - 300 (качество воздуха), а не сопротивление датчика, которое весьма сомнительное отношение имеет к качесту воздуха и не учитывает температуру/давление/влажность.
     
  4. Ljutik

    Ljutik Нуб

    В свое время делал датчик качества воздуха на MQ135. Принцип действия абсолютно такой же. Только сопротивление резистора приходилось мерить при помощи своего АЦП.
    Идея такая. датчик работает практически круглосуточно. И считаем (условно) что раз в неделю в помещении будет качественный воздух. Это значение берем за "точку отсчета" и дальше от этой точки считаем.
    Работает уже года четыре - полет нормальный