====== Enviro Air Quality: подключение, настройка и начало работы ======
Используйте [[amp>product/pimoroni-raspberry-pi-enviro-air-quality?utm_source=man&utm_campaign=pimoroni-raspberry-pi-enviro-air-quality&utm_medium=wiki|Enviro Air Quality]] для мониторинга окружающей среды. Модуль буквально «напичкан» датчиками, которые помогут измерить качество воздуха, атмосферное давление, температуру и влажность окружающей среды, уровень шума и освещенности, а также зафиксирует приближение объекта. А ещё модуль позволяет вывести все показатели датчиков на яркий графический дисплей.
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality.14.jpg?nolink |}}
Enviro Air Quality — это уникальная и компактная метеостанция для [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=pimoroni-raspberry-pi-hat-unicorn-mini&utm_medium=wiki|Raspberry Pi]].
===== Подключение и настройка =====
Enviro Air Quality совместим со всеми версиями компьютеров [[amp>collection/raspberry-pi?utm_source=man&utm_campaign=pimoroni-raspberry-pi-enviro-air-quality&utm_medium=wiki|Raspberry Pi]]. В качестве примера используем одноплатный компьютер [[amp>product/raspberry-pi-4-model-b-2-gb?utm_source=man&utm_campaign=pimoroni-raspberry-pi-enviro-air-quality&utm_medium=wiki|Raspberry Pi 4]].
- Установите Enviro Air Quality сверху на Raspberry Pi через 40-контактную колодку пинов ввода-вывода.{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-hardware.png?nolink |}}
- [[articles:rpi-guide| Подготовьте Raspberry Pi]].
- Скачайте репозиторий с драйверами от производителя через систему контроля версий git.git clone https://github.com/pimoroni/enviroplus-python
- Перейдите в директорию библиотеки.cd enviroplus-python
- Запустите скрипт, который разом установит все программные модули под каждый датчик и настроит интерфейсы компьютера Raspberry Pi.sudo ./install.sh
- Перезагрузите систему, после установки драйверов.sudo reboot
- На этом установка библиотеки закончена и можно смело переходить к экспериментам.
===== Примеры работы =====
Из коробки в [[https://github.com/pimoroni/enviroplus-python|библиотеке Enviroplus Python]] хранятся базовые примеры для знакомства с модулем.
- Перейдите в директорию с экспериментами:
cd examples
- Отобразите все примеры из директории:
ls
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-start.png?nolink |}}
- Рассмотрим их подробнее.
==== BME280: вывод климатических показаний ====
Для начала запустите пример для вывода показаний с климатического датчика.python3 weather.py
В консоли каждую секунду будет отображаться значения атмосферного давления, температуры и относительной влажности окружающей среды. Попробуйте прикоснуться или подышать на датчик BME280, проверьте как меняются показания.{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-weather.png?nolink |}}
Вы заметите, что значение температуры немного завышено. Это связано с тем, что некоторое количество тепла всё таки передается от процессора Raspberry Pi к плате Enviro+ и, следовательно, к датчику BME280. Но, вы можете получить температуру процессора Pi от его внутреннего датчика температуры и использовать полученное значение для показаний.
Запустите пример для вывода температуры с компенсацией.python3 compensated-temperature.py
В итоге показания температуры будут более точными.{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-compensated-temperature.png?nolink |}}
==== LTR-559: вывод освещенности и расстояния ====
Перейдем к оптическому сенсору освещенности и расстояния. Запустите пример:python3 light.py
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-light.png?nolink |}}
В консоли отобразится текущее значению потока света в люксах и расстояние до видимого объекта в отчетах АЦП от 0 до 2047, при этом расстояние до объекта обратно пропорционально показаниям в консоли.
==== MiCS6814: вывод концентрации вредных веществ ===
Датчик газа MiCS6814 выводит значения сопротивления вредных веществ в Ом’ах, которые соответствуют уровням трех различных типов газа: восстанавливающего, окисляющего и аммиака. Запустите пример:python gas.py
Для стабилизации значений сенсора подождите около 10 минут, поскольку датчик постепенно нагревается.
Как только показания стабилизировались, попробуйте подышать на датчик и сравните изменения.{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-gas.png?nolink |}}
==== ST7735 LCD: привет мир ===
Вывод в консоль не всегда удобен для мониторинга данных в реальном времени. Для этого на плате Enviro+ расположен маленький, но яркий и красочный дисплей. В качестве теста экрана запустим проверенный годами Hello, World!python3 lcd.py
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-hello-world.png?nolink |}}
==== All-in-one: вывод всех показаний на дисплей ===
Пришло дело к кульминации всех усилий. Запустите пример, который будет отображать данные с каждого датчика по очереди на дисплей. А переключать канал на каждый последующий сенсор, поможет датчик LTR-559 в качестве бесконтактной кнопки.
python all-in-one-no-pm.py
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-examples-data-print-lcd.gif?nolink |}}
===== Элементы платы =====
{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-annotation.png?nolink |}}
==== Дисплей ====
Дисплейный модуль выполнен по технологии TFT IPS с диагональю 0,96 дюйма и разрешением 160×80 точек. Матрица дисплея подключена к встроенному чипу {{ :products:pimoroni-raspberry-pi-enviro-air-quality:st7735-datasheet.pdf |ST7735}}, который выполняет роль моста между экраном и внешними управляющими платами. Контроллер ST7735 общается с компьютером Raspberry Pi по интерфейсу SPI. Для связи c дисплеем используйте [[https://github.com/pimoroni/st7735-python|библиотеку ST7735 Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
==== Метеодатчик BME280 ====
Метеосенсор выполнен на чипе {{ :products:pimoroni-raspberry-pi-enviro-air-quality:bme280-datasheet.pdf |BME280}}, который измеряет атмосферное давление, а также температуру и влажность окружающей среды. Сенсор BME280 общается с компьютером Raspberry Pi по интерфейсу I²C с адресом ''0x76''. Для связи c датчиком используйте [[https://github.com/pimoroni/bme280-python/|библиотеку BME280 Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
==== Датчик освещенности и приближения LTR-559 ====
Сенсор освещенности и приближения выполнен на чипе {{ :products:pimoroni-raspberry-pi-enviro-air-quality:ltr-559als-datasheet.pdf |LTR-559}}, который измеряет уровень освещенности в люксах и фиксирует приближающие объекты.
Сенсор LTR-559 общается с компьютером Raspberry Pi по интерфейсу I²C с адресом ''0x23''. Для связи c датчиком используйте [[https://github.com/pimoroni/ltr559-python/|библиотеку LTR559 Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
Такой же датчик расположен в мобильных телефонах, который автоматически затемняет и увеличивает яркость экрана в зависимости от уровня освещенности и отключает сенсорный экран, когда он находится рядом с ухом.
В итоге датчик LTR-559 можно использовать не только для считывания уровня освещенности, но и в качестве триггера к приближающимся объектам. В примерах библиотеки на модуль Enviro датчик приближения используется в качестве переключателя отображения различных данных с сенсоров на дисплей.
==== Датчик газа MiCS6814 ====
Датчик газа выполнен на модуле {{ :products:pimoroni-raspberry-pi-enviro-air-quality:mics6814-datasheet.pdf |MiCS6814}}, который поможет следить за качеством воздуха в окружающей среде. Сенсор MiCS6814 общается с компьютером Raspberry Pi через {{ :products:pimoroni-raspberry-pi-enviro-air-quality:ads1015-datasheet.pdf |аналого-цифровой преобразователь ADS1015}}, который считывает аналоговые показания с датчика MICS6814, а затем преобразует данные в цифровые коды. Сама же АЦП общается с Raspberry Pi по интерфейсу I²C с адресом ''0x49''. Для связи c датчиком используйте [[https://github.com/pimoroni/enviroplus-python/blob/master/library/enviroplus/gas.py|библиотеку GAS Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
В модуле расположено три отдельных самодостаточных чувствительных элемента с независимыми нагревателями. Каждый чип рассчитан на определенную группу газов:
* Восстанавливающие, например монооксид углерода (CO)
* Окисляющие, например диоксид азота (NO2)
* Аммиак (NH3)
Датчик также будет чувствителен к остальным веществам, например водород, этанол и другие углеводороды.
Т.к. в воздухе может концентрироваться группа различных газов, то невозможно выделить и определить концентрацию конкретного газа. Самый простой способ интерпретировать данные, т.е. снимать показания с датчика, пока они не стабилизируются, а затем установить базовую линию и измерять данные относительно этой базовой линии. Это даст приблизительное представление о том, повышается или ухудшается качество воздуха.
Показания датчиков восстановления и аммиака будут падать с увеличением концентрации обнаруживаемых газов, а показания датчика окисления, наоборот будут увеличиваться с увеличением уровня концентрации.
==== Микрофон MEMS ====
На плате Enviro расположен крошечный микрофон MEMS {{ :products:pimoroni-raspberry-pi-enviro-air-quality:sph0645lm4h-b-datasheet.pdf |SPH0645LM4H-B}}, который позволяет записывать звук или определять уровни шума. Микрофон SPH0645LM4H-B общается с компьютером Raspberry Pi по интерфейсу I²S. Для связи c датчиком шума используйте [[https://github.com/pimoroni/enviroplus-python/blob/master/library/enviroplus/noise.py|библиотеку Noise Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
==== Разъём для датчика пыли ====
Через дополнительный разъём на плате можно подключить опциональный датчик пыли PMS5003, который измеряет концентрацию твёрдых частиц в миллионных долях (ppm). Сенсор PMS5003 общается с компьютером Raspberry Pi по интерфейсу UART/Serial. Для связи c датчиком используйте [[https://github.com/pimoroni/pms5003-python|библиотеку PMS5003 Python от производителя]], которая входит в общий сет [[https://github.com/pimoroni/enviroplus-python|библиотек для Enviro.]]
==== Входные пины ввода-вывода ====
Enviro Air Quality подключается к одноплатникам Rasperry Pi сверху через входной 40-пиновый разъём.
===== Распиновка ======
[[https://pinout.xyz/pinout/enviro_plus|{{ :products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-pinout.png?nolink |}}]]
===== Габаритный чертёж =====
[[this>_media/products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-dimensions.pdf|{{:products:pimoroni-raspberry-pi-enviro-air-quality:pimoroni-raspberry-pi-enviro-air-quality-dimensions.png}}]]
===== Характеристики =====
* Модель: Pimoroni Enviro Air Quality HAT PIM458
* Совместимость: платы Raspberry Pi
* Разъём модуля: штырьковые соединители GPIO
* Встроенные сенсоры:
* Датчик климата: BME280
* Датчик освещённости и приближения: LTR-559
* Датчик газа: MiCS-6814
* Датчик шума: МЭМС-микрофон Knowles SPH0645LM4H-B
* Индикация: цветной LCD-дисплей 0,96”
* Размеры: 65×30×8,5 мм
==== Датчик климата Bosch Sensortec BME280 ====
* Интерфейс: I²C
* Адрес: 0x76
* Диапазон измерения температуры: −40…+85 °С
* Диапазон измерения влажности: 0–100% Rh
* Диапазон измерения давления: 300–1100 гПа
==== Оптический датчик Lite-On LTR-559 ====
* Интерфейс: I²C
* Адрес: 0x23
* Диапазон измерения освещённости: 0,01–64000 лк
* Дискретизация освещенности: 16 бит
* Диапазон измерения расстояния: 0–2047 точек
* Дискретизация расстояния: 11 бит
==== Датчик газа SGX Sensortech MiCS-6814 ====
* Интерфейс: I²C через внешний АЦП ADS1015
* Адрес АЦП: 0x49
* Конструкция датчика: три отдельных сенсора
* Детектируемые газы:
* Угарный газ (CO) и восстановительные газы
* Диоксид азота (NO2) и прочие окислители
* Аммиак (NH3)
==== Микрофон Knowles SPH0645LM4H-B ====
* Интерфейс: I²S
* Чувствительность: −26 дБ
* Отношение сигнал/шум: 65 дБ
* Тип: всенаправленный
==== LCD-дисплей ====
* Интерфейс: SPI
* Контроллер дисплея: ST7735
* Диагональ экрана: 0,96 дюйма
* Разрешение экрана: 160×80
* Тип ЖК-матрицы: TFT IPS
===== Ресурсы =====
* [[amp>product/pimoroni-raspberry-pi-enviro-air-quality?utm_source=man&utm_campaign=pimoroni-raspberry-pi-enviro-air-quality&utm_medium=wiki|Pimoroni Enviro Air Quality]] в магазине.
* [[https://github.com/amperka/hardware-drawings/blob/master/pimoroni-raspberry-pi-enviro-air-quality.svg|Векторное изображение модуля]]
* [[https://github.com/pimoroni/enviroplus-python|Библиотека на Python для всех модулей]]
* [[https://github.com/pimoroni/st7735-python|Библиотека на Python для дисплея ST7735]]
* [[https://github.com/pimoroni/bme280-python/|Библиотека на Python для метеодатчика BME280]]
* [[https://github.com/pimoroni/ltr559-python/|Библиотека на Python для оптического датчика LTR-559]]
* [[https://github.com/pimoroni/enviroplus-python/blob/master/library/enviroplus/gas.py|Библиотека на Python для датчика газа MiCS6814]]