Приложение BME688 AirMeter: мониторинг качества воздуха, атмосферного давления, температуры, влажности с помощью Raspberry Pi

Использование данного приложения BME688 AirMeter для PiCockpitВы можете прочитать BME688 или датчик BME680, подключенный к Raspberry Pi с помощью I2C. Мы (pi3g e.K.) предлагаем. Разрывной модуль BME688 plug & play, который можно подключить непосредственно к разъему Raspberry Pi.

Приложение имеет три различных вида представления, что позволяет визуализировать данные так, как вам удобно:

Установка и настройка

Выключите питание Raspberry Pi и подключите модуль BME688. Обратитесь к инструкции производителя, как это сделать.

pi3g-bme688-breakout-board-raspberry-pi
Разрывной модуль pi3g BME688 подключен к Raspberry Pi 3B+: его можно просто подключить к GPIO Header. Обратите внимание на специальную ориентацию, чтобы SoC не искажала значения измерения тепла BME688.

Примечание: BME688 и BME680 также поддерживают работу по SPI. Однако данное приложение поддерживает только работу с I2C.

Снова включите питание Raspberry Pi. К этому времени, надеюсь. PiCockpit уже установлено. Для работы этого приложения вам не нужно устанавливать никакое программное обеспечение, кроме PiCockpit. (На здоровье :-))

Откройте приложение BME688 AirMeter и нажмите на кнопку Setup:

Приложение BME688 AirMeter предлагает различные виды. Кнопка Setup (Настройка) расположена в верхней части.
Ожидание данных, так как данные от датчика еще не получены

Включите датчик BME688, нажав на тумблер "включить датчик".

Проверьте правильность адреса I2C. (Для платы pi3g BME688 по умолчанию это 0x77 - для других производителей это может отличаться).

Если датчик может быть достигнут, сообщение ниже должно обновиться до "Данные получены: ..." с меткой времени последнего полученного пакета данных.

Примечание: частота пакетов данных зависит от настроек - если вы включите расчет IAQ, они могут приниматься реже.

включить расчет IAQ

Bosch поставляет программное обеспечение под названием BSEC 2. Мы включили его в PiCockpit для вашего удобства. Это программное обеспечение позволяет взять необработанные значения, которые измеряет датчик, и рассчитать дополнительные значения.

Одним из них является IAQ. (Качество воздуха в помещении) - что позволит вам измерить качество воздуха в помещении.

Чтобы включить его, нажмите на кнопку переключения "Включить расчет IAQ" и нажмите "Я согласен" на странице Лицензионное соглашение Bosch BSEC диалог.

Принять лицензионное соглашение Bosch BSEC

Это автоматически даст команду PiCockpit также рассчитать IAQ.

расширенный вид (показать все данные)

Включение расширенного просмотра покажет все параметры, которые способно рассчитать программное обеспечение BSEC2.

сброс всех настроек

Эта кнопка позволит вам сбросить настройки до заводских по умолчанию.

Показать линейную диаграмму

температура воздуха (сырого), отображаемая на линейном графике

Используйте кнопки "показать", чтобы выбрать измеренное значение, которое вы хотите увидеть.

Используйте поиск, чтобы сосредоточиться только на тех ценностях, которые вас интересуют:

начните вводить название интересующего вас значения, чтобы сузить выбор

Элементы внизу и справа рядом с графиком позволяют детализировать конкретные области данных и значения, которые вас интересуют. Они отлично подходят для увеличения масштаба графика:

увеличение масштаба для более четкого отображения колебаний температуры

Обратите внимание, что значения исторических данных сохраняются в веб-браузере только при открытом приложении. Как только вы перейдете в другое место или закроете вкладку, данные будут потеряны.

Вид манометра

В представлении Gauge вы получите красивые датчики для отображения текущих значений. Здесь вы можете отслеживать следующие значения:

  • влажность воздуха
  • температура воздуха
  • давление воздуха
  • сопротивление газа
  • качество воздуха (IAQ) - если включено

Представление манометра также содержит таблицу с данными в нижней части.

Вид таблицы

Для пуристов среди нас, которым нравится, когда данные представлены в табличной форме, табличное представление как раз подходит:

Вы можете использовать функцию поиска, чтобы сузить просмотр до интересующих вас товаров:

начните вводить название интересующего вас значения, чтобы сузить выбор

Полный список "расширенного просмотра"

Это все значения измерений, доступные в приложении BME688 AirQuality App в PiCockpit, если вы включите расширенный вид:

  • влажность воздуха
  • влажность воздуха (сырой)
  • давление воздуха
  • качество воздуха (IAQ)
  • точность качества воздуха (IAQ)
  • температура воздуха
  • температура воздуха (сырой)
  • дыхательный ЛОС-эквивалент
  • точность определения эквивалента летучих органических соединений
  • CO2-эквивалент
  • Точность эквивалента CO2
  • стоимость сжатого газа
  • точность значений газа
  • процент газа
  • точность процентного содержания газа
  • газовое сопротивление (сырой)
  • номер образца
  • статический IAQ (сырой)
  • статическая точность IAQ
  • временная метка

Примечание: для повышения точности измерения CO2 мы также предлагаем Приложение для датчиков CO2!

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Поддерживается ли также BME680?

Да, BME680 также поддерживается.

Что можно сказать о функциях искусственного интеллекта в BME688?

В настоящее время мы работаем над приложением "Цифровой нос" для PiCockpit, которое позволит вам распознавать запахи с помощью BME688.

Где можно приобрести совместимый датчик?

Мы (pi3g e.K.) разработали модуль BME688 с функцией plug & play для порта GPIO на Raspberry Pi.

Другие производители, например, Pimoroni и Adafruit, также продают разрывные платы BME688 и BME680.

Обработка ошибок

KeyError 'status'

симптомы на фронтенде: "Ожидание данных" отображается в настройках, но данные не поступают.

исследуя журнал (используя sudo journalctl -u picockpit-client -n 250) вы найдете следующую запись:

Nov 01 17:00:43 jaya picockpit-client[4591]: Traceback (последний последний вызов):
Nov 01 17:00:43 jaya picockpit-client[4591]: Файл "/usr/lib/python3.9/threading.py", строка 954, in _bootstrap_inner
Nov 01 17:00:43 jaya picockpit-client[4591]: self.run()
Nov 01 17:00:43 jaya picockpit-client[4591]: Файл "/usr/lib/python3.9/threading.py", строка 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]: Файл "/usr/share/picockpit-client/lib/python3.9/site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", строка 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]: Файл "/usr/share/picockpit-client/lib/python3.9/site-packages/com_picockpit/bme688airmeter/bme688airmeter.py", строка 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'

Это происходит потому, что фронтенд находится в неправильном состоянии - помимо включения датчика, вы также должны включить расчет IAQ:

Как проверить правильность адреса I2C?

Запустите i2cdetect от имени root:

 i2cdetect -y 1

Это покажет вам BME688 и другие аксессуары I2C, которые могут быть обнаружены с помощью этого алгоритма:

Адрес по умолчанию для наша собственная разрывная плата BME688 это 0x77