Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi | ВесьТоп создание и продвижение сайтов

Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

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

Создание сайтов

Мы делаем сайты быстро, недорого и профессионально. От работы с нами, у вас останутся только положительные эмоции.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Задумывались о создании небольшого и точного устройства для круглосуточного контроля качества воздуха в домашних условиях? Наш проект, который мы назвали balenaSense, представляет собой небольшое устройство, которое может измерять температуру, влажность, атмосферное давление и, конечно же, качество воздуха. Устройством можно управлять через интернет-соединение, а также удаленно считывать показания, просматривать и скачивать статистику событий, отслеживать тенденции.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Вступление

Для измерения качества воздуха метеорологические станции используют многопроводную технологию и различные датчики. Но в последнее время на рынке появились специализированные датчики, которые проводят все измерения с помощью небольшой платы, которая очень удобна в использовании.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Здесь мы сосредоточимся на мониторинге температуры, влажности, атмосферного давления и качества воздуха с помощью одного из новых датчиков, который включает все в одном и подключается непосредственно к миникомпьютеру Raspberry Pi, без необходимости использования каких-либо других компонентов. Опыт работы в электронике не требуется. Будет хорошо, если вы умеете пользоваться паяльником, но и без паяльника можно — будет небольшая разница в цене устройства. Проект также включает создание базы данных для записи и хранения всех показаний, статистику которой можно просматривать с помощью удобного графического интерфейса, позволяющего отслеживать тенденции.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Необходимые компоненты

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

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi
Я не хочу паять
  • Raspberry Pi Zero WH
  • Карта microSD минимум 8 ГБ, мы рекомендуем Sandisk Extreme Pro SD
  • Блок питания и кабель
  • Датчик Pimoroni BME680 с платой адаптера
  • Pimoroni Breakout Garden pHAT
Я хочу паять

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

  • Raspberry Pi Zero WH
  • Карта microSD минимум 8 ГБ, мы рекомендуем Sandisk Extreme Pro SD
  • Блок питания с кабелем
  • Датчик Pimoroni BME680 с платой адаптера (ниже мы перечислим альтернативы
  • Соединительный кабель

Другие датчики

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

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi
Bosch BME680 вместе с платой адаптера можно заказать у разных поставщиков, которые продают его по разным ценам:

  • Pimoroni BME680: 18,50 £ (есть версия без пайки с pHAT)
  • Adafruit BME680: 22,50 доллара США
  • Sparkfun SparkX BME680: 19,95 долларов США (без пайки)
  • Безымянный BME680: 9,92 доллара США

Примечание: здесь мы используем пиморони. Эта плата имеет то преимущество, что контакты на ее разъеме совместимы с Raspberry Pi GPIO. При использовании других плат необходимо проверить соответствие выводов питания и шины I2C (SDA и SCL).

Программное обеспечение

Проект загружается на GitHub под именем balena-sense и включает в себя все необходимое программное обеспечение, конфигурацию и код, необходимые для работы системы. Мы намерены продолжить развитие проекта в бесплатном аккаунте balenaCloud. Идея состоит в том, чтобы предложить новое программное обеспечение для Raspberry Pi, а также предоставить удаленный доступ. Поэтому вам понадобятся:

  • Регистрация в balenaCloud
  • Какой-то инструмент для записи SD-карт, например balenaEtcher
  • Клонируйте или скачайте наш проект с GitHub

Ассамблея

С аппаратной точки зрения работа небольшая. К разъемам GPIO Raspberry Pi необходимо подключить только небольшую плату с датчиком.

Датчик BME680 взаимодействует с Raspberry Pi с помощью шины I2C (глаз-квадрат-видит) — последовательная связь с использованием двух линий. Это линия синхронизации (SCK) и линия обмена данными (SDA). Кроме того, на датчик должно быть подано напряжение (3,3 В или 3 В 3), должен быть подключен общий провод (GND). Если выбран вариант без пайки Pimoroni или Sparkfun или вы используете Sense HAT, достаточно просто подключить новые компоненты к Raspberry Pi и все подключения готовы — можно переходить к следующему шагу.

И если вы решите подключить датчик к Raspberry Pi с помощью Pimoroni или другой подходящей платы, самое главное — это правильное соединение контактов — (SDA, SCK, 3V3 и GND).

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Полезный сайт для работы с контактами GPIO Raspberry Pi — pinout.xyz. В нем четко указано, что требуются контакты 1 (источник питания 3V3), 3 (SDA), 5 (SCL) и 9 (GND). 40-контактный разъем GPIO является стандартным для мини-компьютеров Pi 2 и более поздних версий. Если вы используете доску Pimoroni, все уже сделано. Обратите внимание на то, куда должны быть обращены этикетки датчиков.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Однако, если мы включим датчик таким образом, на его показания будет влиять нагрев процессора Raspberry Pi. Для более точного измерения необходимо вынуть датчик из миникомпьютера. Это легко сделать с помощью кабелей DuPont или Jumper Jerky:

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi
Точно так же, если вы используете другой датчик, контакты которого не соответствуют контактам Raspberry Pi, этот метод идеален. Главное, обеспечить соответствие 3V3, SDA, SCL и GND. Если на плате сенсора есть выводы SDI, SDO, CS — игнорируем. Они нужны для альтернативного интерфейса SPI, который не используется в этом проекте.

На фотографиях выше показан Raspberry Pi 3A +, но все работает точно так же с Pi Zero, который является более дешевым решением.

Настройка Raspberry Pi

Нам нужно сохранить операционную систему balenaOS на SD-карту, подключиться к электронному облаку balenaCloud, добавить к нему наше устройство и настроить проект таким образом, чтобы мы могли легко все обновить позже.

Изначально нам нужно создать учетную запись в balenaCloud. То есть — регистрация, добавление приложения и добавление устройства.

Первый шаг: регистрация в balenaCloud

Если у вас есть учетная запись GitHub или Google, вы можете использовать ее для входа в систему без регистрации.

Второй шаг: добавить приложение

Добавьте приложение, выбрав правильный тип устройства и Стартер в качестве приложения. Затем введите «Создать новое приложение». Этот тип поддерживает все микро-онлайн-сервисы и является бесплатным для десяти устройств.

После этого вы попадете на панель управления этого приложения, откуда вы сможете добавить устройство. Можно дать любое имя, которое нам понадобится позже.

Третий шаг: добавьте устройство и загрузите операционную систему

После создания приложения добавление к нему устройства выполняется нажатием зеленой кнопки «Добавить устройство». При добавлении устройства укажите его правильный тип. Если вы используете беспроводную сеть, вы можете ввести свой SSID и пароль WiFI.

Примечание: Raspberry Pi 3 показан на анимации: не забудьте выбрать свою версию миникомпьютера.

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

Примечание: для начала лучше выбрать разработчика, подходящего для любых тестов и устранения неполадок. Более подробная информация о различиях между разработкой и производством приведена здесь. BalenaEtcher можно использовать.

Шаг 4. Сохраните на SD-карту и произведите оплату

Когда образ диска загружен, необходимо сохранить SD-карту. Один из многих способов — использовать balenaEtcher.

После завершения процесса вставьте SD-карту в Raspberry Pi и подключите питание.


При первом включении устройство подключается к программе мониторинга balenaCloud, после чего оно должно появиться в онлайн-списке. Если он появился, можно продолжить.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Возможные проблемы. Если устройство не появляется в этом окне программы в течение нескольких минут, что-то не так. В документации представлены подробные инструкции по отладке и показаны различные ситуации с объяснениями, почему это могло произойти.

Развертывание программного обеспечения

Когда ваш Raspberry Pi будет готов, загружен и подключен к balenaCloud, все готово для установки необходимого программного обеспечения.

Установка инструментов Balena CLI

BalenaCloud позволяет удаленно загружать программы и данные в Raspberry Pi. Чтобы это произошло, на вашем персональном компьютере (не Raspberry Pi) должно быть установлено дополнительное программное обеспечение. Удобство здесь в том, что для успешного использования этой небольшой метеостанции не нужно вводить какие-либо команды ни на самом устройстве, используя, например, SSH, ни с панели balenaCloud. Все делается удаленно с помощью очень удобного интерфейса.

Если на вашем компьютере уже есть (или можно настроить) npm, то это самый быстрый способ запустить инструменты интерфейса командной строки. Двоичные файлы доступны для Windows, macOS и Linux.

Также предоставляется подробная документация по инструментам CLI, в которой все описано.

Когда пакет CLI уже установлен на вашем компьютере, и первым делом нужно войти в balenaCloud с помощью команды

balena войти

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi
Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi
Загрузка проекта с GitHub

Следующим шагом будет загрузка кода этого проекта с GitHub. Синяя кнопка загружает zip-файл, и если вы знакомы с командами GitHub, вы можете использовать стандартный

git clone

Установка Raspberry Pi

Следующим шагом является создание и запуск образа Docker, который будет запускаться на вашем устройстве. После его распаковки необходимо выполнить команду из папки проекта.

балена толкать lt; appNamegt;

где appName — это имя приложения, которое мы установили в начале, например, balena push balenaSense.

Если все сделано правильно, то через несколько минут в информационном программном окне вашего устройства будут показаны запущенные процессы, по одному на каждый компонент программы:

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

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

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Примечание: при первом запуске приложения датчик инициализируется примерно на 5 минут. В это время никакие показания не записываются и ничего не записывается в базу данных. В это время в приложении будет отображаться обратный отсчет до начала работы и это то, что будет отображаться в панели balenaCloud:

Когда счетчик достигнет нуля, появится сообщение «Запуск цикла…», после чего данные будут считываться и записываться каждые 10 секунд.

Мониторинг

Одна из самых удобных функций balenaCloud — URL-адрес общедоступного устройства.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Активируйте эту опцию и щелкните значок синей стрелки, чтобы получить доступ к программе мониторинга. Этой ссылкой также можно поделиться и использовать на смартфоне, поэтому показания небольшой метеостанции можно будет просматривать везде, где есть доступ в Интернет.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Если вы хотите войти в Grafana и попробовать все настройки, тогда данные учетной записи — admin с паролем также admin.

Изменить пароль

Если вы собираетесь предоставить общий доступ к этому устройству, настоятельно рекомендуется изменить свой пароль Grafana.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Это делается с помощью значка в левом нижнем углу окна программы. Новый пароль будет запрошен при следующем входе в систему.

Настройки

Интерфейс Grafana позволяет вам настроить каждый параметр, щелкнув его имя, а затем разрешив его редактировать. Параметры не сохраняются автоматически и после перезагрузки страницы все происходит как было. Для сохранения выбранных параметров необходимо нажать кнопку «Сохранить» вверху окна программы.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

Также есть возможность настроить работу датчиков, которые могут быть разных типов. Есть возможность писать буквы вместо цифр.

Сделайте монитор качества воздуха с помощью InfluxDB, Grafana, Docker и Raspberry Pi

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

Читайте так же:
Not found

Нам доверяют

Интернет магазин