Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Компоненты и материалы

Компонент Количество
Raspberry Pi 2 Model B 1
Arduino UNO 1
DHT11 (температура и влажность, 4 пина) 2
Датчик влажности почвы (Soil Hygrometer) 1
Arduino Pro Mini 5V 2
Крона 9 В 3
Насос для воды (опционально) 1
nRF24L01+ 3
Сокет для nRF24L01+ (опционально) 1
NPN-транзистор (опционально) 1
Стабилизатор 3,3 В 2
Резистор 10 кОм 2
Конденсатор 10 мкФ 4
Конденсатор 47 мкФ 2
Монтажная плата (perfboard) 3

Инструменты

Приложения и сервисы

О проекте

Автор хотел построить дешёвую модульную систему умного дома, к которой легко добавлять новые датчики и устройства. WARAN (Windows IoT, Azure, Raspberry Pi, Arduino, NRF24L01+) — модульная система с единым Хабом и множеством модулей. Модуль — это микроконтроллер с датчиками, собирающий данные в разных точках дома и передающий их Хабу по радиоканалу. Вся связь Хаб↔Модули — по RF. Есть также сопутствующее приложение для Windows Phone.

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Почему Windows IoT?

Автор — разработчик ПО с опытом XAML/C# и Visual Studio (лучшая IDE). Это позволило быстро реализовать проект.

Почему nRF24L01+?

Дешёвое, малоэнергопотребляющее решение с мощными библиотеками.

Почему Windows Azure?

Простая настройка, фокус на разработке, а не на развёртывании. Опыт работы с Azure ускорил интеграцию.

Хаб (The Hub)

Центр управления WARAN. Состоит из RPi2, Arduino Uno, nRF24L01+. RPi2 на Windows IoT Core запускает Universal App — центр управления. Хаб подключён к большому дисплею (TV/монитор) для отображения данных и управления. Клавиатура и мышь — для добавления/удаления модулей.

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Принцип работы

У каждого модуля уникальный адрес. Добавление модуля в центр управления — по адресу и имени. После добавления Universal App шлёт данные Arduino Uno по I2C. Arduino передаёт модулю через nRF24L01+. Модуль считывает датчики или включает/выключает устройство, шлёт ответ обратно Arduino, тот — в центр управления по I2C. Данные отображаются на экране и уходят в облако.

Arduino Uno выступает интерфейсом между RPi2 и модулями. Процесс происходит в трёх сценариях:

  1. По расписанию (интервалы зависят от модуля)
  2. При взаимодействии пользователя с центром управления (мышь/клавиатура)
  3. При триггере из облака (через PubNub)
WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+
WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Центр управления (Control Center)

Universal App на RPi2. Интерфейс пользователя, связь с модулями и облаком. Использует Azure Mobile Services и PubNub. Данные модулей хранятся локально (SQLite) и синхронизируются с Azure. Push-уведомления на мобильное приложение. Исходный код, документация, деплой: Bitbucket (документация обновляется).

Мобильное приложение

Windows Phone app (позже — другие платформы). Показывает данные датчиков из любой точки мира. Push-уведомления при авариях (утечка газа и т.д.). Управление устройствами (включение насоса) удалённо через облако — телефон не обязан быть рядом с Хабом.

Модули

Модуль — комбинация компонентов, принимающая/отправляющая данные Хабу по RF. Бесконечные варианты. Для старта реализованы два модуля:

  1. Plant Waterer (автополив растений)
  2. Temperature Monitor (мониторинг температуры)

Plant Waterer

Контролирует влажность почвы и температуру вокруг растения. При недостатке влаги — алерт в мобильное приложение. Насос можно запустить из приложения из любой точки. Можно настроить автозапуск при падении влаги ниже порога. Состав: Arduino Pro Mini, DHT11, Soil Hygrometer, nRF24L01+.

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Питание: 9 В на RAW Pro Mini → встроенный стабилизатор даёт 5 В (DHT11). 9 В → стабилизатор 3,3 В → nRF24L01+. Влажность почвы — аналоговый пин A3. Температура DHT11 — цифровой пин 6. Пин 5 — управление транзистором/реле для насоса (демо — DC-насос + транзистор).

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Схема перенесена на монтажную плату для компактности.

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Temperature Monitor

Мониторит температуру/влажность в комнате (спальня). Позволяет вкл/выкл или регулировать устройство (термостат, кондиционер) из Хаба или мобильного приложения. Для демо — просто LED на Arduino. Состав: Arduino Pro Mini, DHT11, nRF24L01+.

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Питание аналогично Plant Waterer. DHT11 на пине 5. Пин 6 — управление транзистором/реле для нагрузки (демо — LED).

WARAN: модульная система умного дома на Raspberry Pi, Arduino и nRF24L01+

Известные проблемы

Планы на будущее

Сделать WARAN открытой платформой. Стабилизировать Хаб и мобильное приложение. Добавить модули:

Все модули, работающие как единое целое через Хаб, дадут желаемую систему умного дома. Новые модули будут выкладываться как отдельные проекты на Hackster. Все приветствуются к участию. Wiki с инструкцией по добавлению модулей будет обновляться.

Код и схемы

Исходный код: Bitbucket

Схемы (Fritzing): WARAN.Hub.fzz, PlantWaterer.fzz, TemperatureMonitor.fzz

Производственный процесс

  1. Как технологии умного дома трансформируют повседневную жизнь
  2. Создайте систему домашней автоматизации на Raspberry Pi для удаленного управления
  3. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  4. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  5. Надежный физический интерфейс для управления умным домом
  6. Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano
  7. Умная система автополива растений на Arduino Nano
  8. Магнитная левитация на отталкивании с Arduino: Простая схема и DIY-руководство
  9. Arduino Home Controller с Alexa: умный дом голосовым управлением
  10. NeoPixel Matrix Pong на Arduino Nano: неоновая игра Pong на матрице 15×10