Оглавление:

Система мониторинга и контроля климата в помещении Raspberry Pi: 6 шагов
Система мониторинга и контроля климата в помещении Raspberry Pi: 6 шагов

Видео: Система мониторинга и контроля климата в помещении Raspberry Pi: 6 шагов

Видео: Система мониторинга и контроля климата в помещении Raspberry Pi: 6 шагов
Видео: Deep Smart Sensors. Умный мониторинг оборудования. Демо на базе Raspberry Pi. 2024, Ноябрь
Anonim
Система мониторинга и контроля климата в помещении Raspberry Pi
Система мониторинга и контроля климата в помещении Raspberry Pi
Система мониторинга и контроля климата в помещении Raspberry Pi
Система мониторинга и контроля климата в помещении Raspberry Pi

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

  • Многие из них имеют завышенную цену / не стоят своих денег.
  • Их электрические цепи легче сломать и сложнее заменить, чем обычные механические детали.
  • Устройства должны управляться приложением производителя. Обычно в вашем доме бывает несколько умных устройств, и у каждой из них есть свое приложение. Их решение - интегрировать приложение в такие платформы, как Alexa, Google Assistant и IFTTT, чтобы у нас был «централизованный» контроллер.
  • Самое главное, что у производителей есть наши данные, а у Google / Amazon / IFTTT и т. Д. Есть наши данные. Мы этого не делаем. Возможно, вы не заботитесь о конфиденциальности, но иногда все мы можем захотеть посмотреть на график влажности вашей спальни, например, чтобы решить, в какое время открывать окна.

В этом уроке я создаю прототип относительно недорогого комнатного климатического контроллера на базе Raspberry Pi. RPi обменивается данными с периферийными устройствами через интерфейсы SPI / I2C / USB:

  • Атмосферный датчик используется для измерения температуры, влажности и давления воздуха.
  • Высокоточный датчик качества воздуха выдает данные о твердых частицах в атмосфере (PM2,5 и PM10), которые используются для расчета индекса качества воздуха (AQI).

Контроллер обрабатывает полученные данные и запускает действия устройства, отправляя запросы в службу автоматизации IFTTT Webhook, которая контролирует поддерживаемые розетки WiFi Smart.

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

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Рекомендуемое оборудование для сборки:

  1. Raspberry Pi (любой версии) с Wi-Fi. Я построил это с помощью RPi B +. RPi ZeroW подойдет и будет стоить ~ 15 $.
  2. Датчик температуры, влажности, давления воздуха BME280 ~ 5 $
  3. Модуль датчика определения качества воздуха Nova SDS011 High Precision Laser PM2.5 / PM10 ~ 25 $
  4. Светодиодный / ЖК-дисплей. Я использовал SSD1305 2.23 дюймовый OLED экран ~ 15 $
  5. Некоторые умные розетки WiFi / ZigBee / Z-Wave. 10-20 $ за каждого
  6. Очиститель воздуха, увлажнитель, осушитель, обогреватель, охладитель и т. Д. С механическими переключателями. Например, для этого урока я использовал дешевый очиститель воздуха.

Вышеупомянутая общая стоимость составляет <100 долларов, что намного меньше, чем, скажем, умный очиститель, который может легко стоить 200 долларов.

Шаг 2: Подключение Raspbery Pi

Подключение Raspbery Pi
Подключение Raspbery Pi

На принципиальной схеме показано, как подключить RPi к датчику BME280 с использованием интерфейса I2C и OLED-дисплея HAT с использованием интерфейса SPI.

OLED-шляпу Waveshare можно прикрепить поверх GPIO, но вам понадобится разветвитель GPIO, чтобы поделиться ею с другими периферийными устройствами. Его можно настроить на использование I2C, припаяв резисторы сзади.

Дополнительную информацию о SSD1305 OLED HAT можно найти здесь.

Интерфейсы I2C и SPI должны быть включены в RPi с помощью:

sudo raspi-config

Датчик пыли Nova SDS011 подключается к RPi через порт USB (с помощью адаптера Serial-USB).

Шаг 3: Сбор данных с датчиков

Атмосферные данные, которые выглядят довольно просто, собираются датчиком BME280 из скрипта Python.

21-ноя-20 19:19:25 - ИНФОРМАЦИЯ - компенсированное чтение (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, timestamp = 2020-11-21 19: 19: 25.604317, температура = 20,956 ° C, давление = 1019,08 гПа, влажность = 49,23% относительной влажности)

Данные датчика пыли нуждаются в дополнительной обработке. Модуль датчика всасывает некоторые пробы воздуха для обнаружения твердых частиц, поэтому он должен работать некоторое время (30 с), чтобы получить надежные результаты. По моим наблюдениям, я принимаю во внимание только среднее значение последних трех выборок. Процесс доступен в этом скрипте.

21-ноя-20 19:21:07 - ОТЛАДКА - 0. PM2.5: 2.8, PM10: 5.9

21-ноя-20 19:21:09 - ОТЛАДКА - 1. PM2.5: 2.9, PM10: 6.0 21-ноя-20 19:21:11 - ОТЛАДКА - 2. PM2.5: 2.9, PM10: 6.0 21- 20 ноября 19:21:13 - ОТЛАДКА - 3. PM2.5: 2.9, PM10: 6.3 21-ноя-20 19:21:15 - ОТЛАДКА - 4. PM2.5: 3.0, PM10: 6.2 21-ноя- 20 19:21:17 - ОТЛАДКА - 5. PM2.5: 2.9, PM10: 6.4 21-ноя-20 19:21:19 - ОТЛАДКА - 6. PM2.5: 3.0, PM10: 6.6 21-ноя-20 19: 21: 21 - ОТЛАДКА - 7. PM2.5: 3.0, PM10: 6.8 21-ноя-20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21-ноя-20 19:21: 25 - ОТЛАДКА - 9. PM2.5: 3.2, PM10: 7.0 21-ноя-20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21-ноя-20 19:21:30 - ОТЛАДКА - 11. PM2.5: 3.2, PM10: 6.9 21-ноя-20 19:21:32 - ОТЛАДКА - 12. PM2.5: 3.3, PM10: 7.0 21-ноя-20 19:21:34 - ОТЛАДКА - 13. PM2.5: 3.3, PM10: 7.1 21-ноя-20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Датчик пыли выдает только индекс PM2,5 и PM10. Для расчета AQI нам понадобится модуль python-aqi:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])

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

Шаг 4: Настройка службы домашней автоматизации

Настройка службы домашней автоматизации
Настройка службы домашней автоматизации
Настройка службы домашней автоматизации
Настройка службы домашней автоматизации

Существует множество платформ домашней автоматизации, и вам следует установить платформу, которая поддерживается вашей интеллектуальной розеткой. Если вы беспокоитесь о конфиденциальности, вам следует создать свою собственную систему. В противном случае вы можете использовать популярные платформы, которые поддерживаются большинством умных розеток WiFi: Google Assistant, Alexa или IFTTT. Попробуйте выбрать платформу сокетов с API для взаимодействия (для этого идеально подходит Webhook)

Я использую IFTTT в этом руководстве, потому что его очень легко использовать даже для новичков. Но имейте в виду, что: 1. есть много умных сокетов, которые не поддерживают IFTTT, и 2. В то время, когда я пишу это, IFTTT позволяет бесплатно создавать только 3 апплета (задачи автоматизации), которых достаточно только для 1 прибор.

Вот шаги:

1. Создайте два апплета в IFTTT для включения и выключения устройства с помощью службы Webhook. Подробности можно найти здесь.

2. Скопируйте ключ API и скопируйте его в скрипт python. Я бы посоветовал сохранить его в отдельном файле из соображений безопасности.

3. Определите логику / параметры управления в основном скрипте.

Шаг 5: результаты

Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты
Полученные результаты

Хорошо, теперь тестируем систему.

На OLED-дисплее отображается текущая температура, влажность и рассчитанный индекс качества воздуха (AQI). Он также отображает минимальное и максимальное значение за последние 12 часов.

Данные временного ряда AQI за несколько дней показывают кое-что интересное. Заметили скачки в шаблоне AQI? Это происходило дважды в день, небольшой пик около 12:00 и высокий пик около 19:00. Ну, как вы уже догадались, это было, когда мы готовили, разбрасывая вокруг много твердых частиц. Интересно посмотреть, как наша повседневная деятельность влияет на окружающую среду в помещении.

К тому же последний всплеск фигуры длился намного короче предыдущих. именно тогда мы добавляем в систему очиститель воздуха. Климатический контроллер RPi отправляет запрос PURIFIER_ON, когда AQI> 50, и PURIFIER_OFF, когда AQI <20. В это время вы можете увидеть триггер IFTTT Webhook.

Шаг 6: Заключение

Вот и все!

Собранные данные также можно использовать для управления воздухонагревателями, охладителями, (де) увлажнителями и т. Д. Вам просто нужно купить больше умных розеток, и каждое старое устройство станет «умным».

Если вы хотите управлять множеством устройств, вам может потребоваться тщательно продумать, какую службу домашней автоматизации вы хотите использовать. Я настоятельно рекомендую создать платформу домашней автоматизации с открытым исходным кодом, но если она слишком сложна, есть более простые решения, такие как Google Assistant и IFTTT Webhook, или использование интеллектуальных сокетов Zigbee.

Полную реализацию этого прототипа можно найти в репозитории Github:

github.com/vuva/IndoorClimateControl

Повеселись !!!

Рекомендуемые: