Удаленный мониторинг температуры, влажности и давления. Часть 1. Определяем схему умного дома.

В интернете миллион вариантов как с помощью Arduino и датчика температуры/ влажности сделать простейший мониторинг. Я постараюсь сделать пошаговое руководство для удаленного сбора показаний с 3 датчиков, расположенных в разных частях дома.

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

схема

На рисунке, я думаю, всё понятно:

  1. Используем Arduino Pro Mini для получения данных с датчиков: раз в 5-10 минут Arduino Pro Mini просыпается, считывает данные с датчиков, отправляет их посредством nRF24L01, получает подтверждение получения и снова засыпает.
  2. Arduino Uno постоянно мониторит эфир на предмет данных. Получив данные, отправляет подтверждение, а затем передаёт их на сервер через ethernet.
  3. Сервер хранит данные в базе данных и выводит данные в любых требуемых видах.

Теперь подробнее по каждому пункту:

В качестве сервера я планирую использовать Raspberry Pi Model B, просто он у меня есть 🙂 Да и стоит он недорого, но Вы можете использовать что угодно — сейчас полно одноплатных компьютеров подобных Raspberry: Banana Pi, BeagleBone и т.д. Вот тут есть их характеристики. Кроме того, Вы можете использовать свой домашний компьютер, вопрос лишь в шуме и потреблении.

Почему используется Arduino Uno, я думаю, объяснять не стоит: куча библиотек, лёгкий старт, простота настройки, низкая цена (от 3$ тут).

Плюс нужен будет ethernet shield. Вот такой:

Ethernet-Shield W5100

Найти его можно опять же на AliExpress по запросу Arduino ethernet W5100 (стоит он 6-7$).

Arduino Pro Mini (3,3 Вольта) используется по нескольким причинам  :

  • Цена (от 1,5$ на aliexpress вот например).
  • Низкое энергопотребление.
  • Простота прошивки программатором (вот этим).

 

Помимо самой Arduino Pro Mini нам понадобятся радиомодули для передачи данных. На самом деле выбор радиомодулей достаточно широк. Попробуем рассмотреть некоторые из них:

 
Радиомодули 433,92 МГц (315 МГц)

433MHz

 

Основные характеристики:

  • Напряжение питания: 3-12 В.
  • Частота передачи/приема: 433,92 МГц (315 МГц).
  • Скорость передачи данных: <10 Kbps.
  • Заявленная дальность передачи: до 500 метров в зоне прямой видимости с доп. антенной.
  • Ток потребления в режиме ожидания: 0 мА.
  • Ток потребления в режиме передачи: 20-28 мА.

 

Модулям не требуется настраивать канал связи, они готовы к работе сразу после подачи питания. Данные, поступающие на Data вывод передатчика будут появляться на Data выводе приемника. Несомненный плюс данных модулей цена и простота настройки. Однако частота, на которой работают данные модули, очень сильно «замусорена» и получить устойчивую передачу становится сложно. Кроме того, связь односторонняя — т.е. от передатчика к приемнику и чтобы сделать дуплексную связь, придётся дублировать модули, что приведет к усложнению системы и еще большим помехам.

 
Радиомодули nRF24L01+
nRF24L01

 

Основные характеристики:

  • Напряжение питания: 3,3 В.
  • Частота передачи/приема: 2.4 ГГц.
  • Скорость передачи данных: до 2 Мб/сек
  • Заявленная дальность передачи: до 100 м.
  • Ток потребления:
    • 900 нA в режиме глубокого сна,
    • 11.3 мA в режиме передачи при 0dBm,
    • 12.3 мA в режиме приёма на скорости 2Mbps.

 

Устройства на данных радиомодулях могут обмениваться информацией в оба направления, при этом радиосеть может состоять из нескольких устройств. Модули на базе nRF24L01 — это отличный вариант для объединения модулей в системе умного дома, вот их мы и будем использовать!

В следующей статье поговорим о датчиках.

Еще статьи на эту тему:

Удаленный мониторинг температуры, влажности и давл... Датчиков существует великое множество. Начиная от температуры, заканчивая какими-нибудь специфическими датчиками паров бензола или этанола 🙂 Для мини...
Удаленный мониторинг температуры, влажности и давл... Устанавливаем сервер на Raspberry PI. Прочитав первую и вторую части Вы уже, наверняка, купили всё, что необходимо и сейчас мы соберем всё вместе в п...
Обновление прошивки UsbAsp Я купил программатор USBasp на Dx.com чтобы использовать с Arduino IDE для прошивки Arduino Pro mini. Всё работало нормально, но выдавало вот такую...

Добавить комментарий