В интернете миллион вариантов как с помощью Arduino и датчика температуры/ влажности сделать простейший мониторинг. Я постараюсь сделать пошаговое руководство для удаленного сбора показаний с 3 датчиков, расположенных в разных частях дома.
Примерная схема как всё должно быть реализовано:
На рисунке, я думаю, всё понятно:
- Используем Arduino Pro Mini для получения данных с датчиков: раз в 5-10 минут Arduino Pro Mini просыпается, считывает данные с датчиков, отправляет их посредством nRF24L01, получает подтверждение получения и снова засыпает.
- Arduino Uno постоянно мониторит эфир на предмет данных. Получив данные, отправляет подтверждение, а затем передаёт их на сервер через ethernet.
- Сервер хранит данные в базе данных и выводит данные в любых требуемых видах.
Теперь подробнее по каждому пункту:
В качестве сервера я планирую использовать Raspberry Pi Model B, просто он у меня есть 🙂 Да и стоит он недорого, но Вы можете использовать что угодно - сейчас полно одноплатных компьютеров подобных Raspberry: Banana Pi, BeagleBone и т.д. Вот тут есть их характеристики. Кроме того, Вы можете использовать свой домашний компьютер, вопрос лишь в шуме и потреблении.
Почему используется Arduino Uno, я думаю, объяснять не стоит: куча библиотек, лёгкий старт, простота настройки, низкая цена (от 3$ тут).
Плюс нужен будет ethernet shield. Вот такой:
Найти его можно опять же на AliExpress по запросу Arduino ethernet W5100 (стоит он 6-7$).
Arduino Pro Mini (3,3 Вольта) используется по нескольким причинам :
- Цена (от 1,5$ на aliexpress).
- Низкое энергопотребление.
- Простота прошивки программатором (USBasp).
Помимо самой Arduino Pro Mini нам понадобятся радиомодули для передачи данных. На самом деле выбор радиомодулей достаточно широк. Попробуем рассмотреть некоторые из них:
Радиомодули 433,92 МГц (315 МГц)
Основные характеристики:
- Напряжение питания: 3-12 В.
- Частота передачи/приема: 433,92 МГц (315 МГц).
- Скорость передачи данных: <10 Kbps.
- Заявленная дальность передачи: до 500 метров в зоне прямой видимости с доп. антенной.
- Ток потребления в режиме ожидания: 0 мА.
- Ток потребления в режиме передачи: 20-28 мА.
Модулям не требуется настраивать канал связи, они готовы к работе сразу после подачи питания. Данные, поступающие на Data вывод передатчика будут появляться на Data выводе приемника. Несомненный плюс данных модулей цена и простота настройки. Однако частота, на которой работают данные модули, очень сильно "замусорена" и получить устойчивую передачу становится сложно. Кроме того, связь односторонняя - т.е. от передатчика к приемнику и чтобы сделать дуплексную связь, придётся дублировать модули, что приведет к усложнению системы и еще большим помехам.
Радиомодули nRF24L01+
Основные характеристики:
- Напряжение питания: 3,3 В.
- Частота передачи/приема: 2.4 ГГц.
- Скорость передачи данных: до 2 Мб/сек
- Заявленная дальность передачи: до 100 м.
- Ток потребления:
- 900 нA в режиме глубокого сна,
- 11.3 мA в режиме передачи при 0dBm,
- 12.3 мA в режиме приёма на скорости 2Mbps.
Устройства на данных радиомодулях могут обмениваться информацией в оба направления, при этом радиосеть может состоять из нескольких устройств. Модули на базе nRF24L01 - это отличный вариант для объединения модулей в системе умного дома, вот их мы и будем использовать!
В следующей статье поговорим о датчиках.