====== 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]]