Умный дом на Android-приложении и IoT: Полная автоматизация
Компоненты и материалы
| Arduino Yun | 1 |
| Arduino Mega 2560 | 1 |
| Arduino UNO | 1 |
| Сервопривод | 1 |
| LCD 16x2 (белый на синем) | 2 |
| Клавиатура 4x4 | 1 |
| Зуммер | 1 |
| DHT11 (температура/влажность) | 1 |
| Светодиоды | 5 |
| Модуль вентилятора | 1 |
| Кнопка 12мм | 1 |
| Датчик пламени | 1 |
| Веб-камера Logitech C270 | 1 |
| Реле | 1 |
| Лампочка | 1 |
| Беспаечная плата | 1 |
| Перемычки | 1 |
| SD-карта | 1 |
| Bluetooth HC-05 | 1 |
| RFID-ридер | 1 |
Инструменты
- Паяльник
Приложения и сервисы
- Blynk
- Temboo
- Arduino IDE
- PuTTY
- Arduino Meet Robot App
О проекте
Видео
Рекомендую посмотреть видео проекта, чтобы понять логику и увидеть «фишки».
Краткое описание
Умные дома стали популярны, но большинство архитектур не интегрируют устройства и игнорируют безопасность. В дипломном проекте я реализовал интегрированную систему с управлением через удобное мобильное приложение. Все подсистемы связаны, добавлено голосовое управление в радиусе действия.
Ключевые функции:
- Двухуровневая безопасность: клавиатура + RFID — защита от проникновения.
- Фото при взломе в облако, удалённый видеонаблюдение (видео на локальном сервере, доступ через браузер).
- Мониторинг среды: DHT11, датчик пламени, MQ3, MQ135 — данные в приложении.
- Управление устройствами: свет, сервоприводы — из приложения.
- Автоматизация по расписанию (предпочтения пользователя).
- Подготовка дома к приходу: гейзер, кофемашина — по геолокации/расписанию.
- Голосовое управление устройствами.
Необходимые знания
- Основы C
- Arduino IDE и прошивка плат
Инструкции
Шаг 1: Сборка всей системы
Соберите по схеме (прилагается). Связей много — будьте терпеливы. Советую сделать макет дома из картона для реалистичности. PIR-датчик чувствителен — зафиксируйте жёстко, иначе ложные срабатывания откроют дверь неожиданно.
Подключение RFID (на Mega):
- MOSI → PIN 51
- MISO → PIN 50
- SCK → PIN 52
- SS/SDA → PIN 9
- RST → PIN 8
I2C между Mega и Yun: пин 20 Mega → пин 2 Yun, пин 21 Mega → пин 3 Yun.
Шаг 2: Аккаунт Temboo и Dropbox API
Регистрация на temboo.com, создание приложения, сохранение ключей. Нужен Temboo Python SDK — распакуйте в корень SD-карты как папку temboo. Создайте Dropbox-аккаунт и приложение (developers.dropbox.com), тип «Files and datastores», права «App folder». Получите App key/secret. На Temboo пройдите InitializeOAuth и FinalizeOAuth — получите Token key/secret для скрипта на Yun.
Шаг 3: Драйверы на Arduino Yun
Установите PuTTY, подключитесь по SSH (IP Yun, пользователь root, пароль по умолчанию arduino). Выполните:
opkg update
opkg install kmod-video-uvc
opkg install python-openssl
opkg install fswebcam
Шаг 4: Живое видео
Подключитесь к Yun по SSH:
wget https://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk
opkg install mjpg-streamer.ipk
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &
Стрим доступен: https://ваш_yun_ip.local:8080/stream.html
Шаг 5: Twilio для SMS
Регистрация на twilio.com, запомните Account SID и Auth Token. Купите бесплатный номер, верифицируйте получателя. На Temboo: SendSMS Choreo — введите данные, сохраните профиль. В коде Yun (строка 208) замените your_profile_name на имя профиля.
Шаг 6: Настройка Blynk
Скачайте Blynk, создайте аккаунт, новый проект — Hardware: Arduino Yun. Auth Token придёт на email. Создайте 4 вкладки: Home, HVAC, Monitoring, Control. Добавьте виджеты по инструкции (подробно в исходнике). Нажмите Run.
Готово! Управляйте и мониторьте дом со смартфона.
Голосовое управление
Скачайте AMR_VOICE, настройте Bluetooth HC-05. Залейте код voice control на Arduino UNO. В приложении: Connect Robot → парьте с HC-05 → жмите микрофон и говорите команды из кода.
Проблемы — в комментариях. Документы и код мигрированы на GitHub — там исходники, схемы, архитектура. Pull request'ы и Issues welcome!
Код
Весь код в репозитории: GitHub
Схемы
Схемы в том же репозитории на GitHub.
Производственный процесс
- Универсальный Android-пульт на Arduino, 1Sheeld и ИК-управлении
- IoT-монитор пульса в реальном времени на Arduino и MAX30100
- Удаленное IoT-управление самодельной манипулятором
- Android-управляемая робот-платформа на Raspberry Pi и Motor Shield
- Умный дом и система безопасности на базе 1Sheeld
- Бесшовное управление яркостью светодиодов с помощью Bolt IoT и Arduino UNO
- Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
- Умная система автополива растений на Arduino Nano
- Умная система мониторинга растений на AWS IoT
- Arduino Home Controller с Alexa: умный дом голосовым управлением