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

Система домашней автоматизации на основе приложений Android с использованием IOT

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

Ардуино Юн
× 1
Arduino Mega 2560
× 1
Arduino UNO
× 1
серводвигатель
× 1
Стандартный ЖК-экран Adafruit - 16x2, белый на синем
× 2
цифровая клавиатура
× 1
Зуммер
× 1
Датчик температуры и влажности DHT11 (4 контакта)
× 1
LED (общий)
× 5
вентиляторный модуль
× 1
Кнопочный переключатель SparkFun, 12 мм
× 1
датчик пламени
× 1
веб-камера logitech c270 hd
× 1
Реле (универсальное)
× 1
лампочка
× 1
Макет (общий)
× 1
Перемычки (общие)
× 1
SD-КАРТА
× 1
Модуль Bluetooth HC-05
× 1
Считыватель RFID (общий)
× 1

Необходимые инструменты и машины

Паяльник (универсальный)

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

Блинк
Тембу
IDE Arduino
замазка
приложение для роботов Arduino Meet

Об этом проекте

Видео

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

Вот видео по проекту:

Резюме

В последние несколько лет умные дома стали очень модным и популярным словом. Многие люди пытались предложить свою версию архитектуры умного дома, но у большинства из них отсутствует интеграция с устройствами умного дома. Кроме того, безопасность также является серьезной проблемой в архитектуре умного дома. Некоторые из коммуникационных технологий, используемых в этих архитектурах умного дома, включают Bluetooth, GSM, Zigbee и т. Д. Все эти архитектуры имеют свои плюсы и минусы. На последнем году разработки я попытался реализовать интегрированную архитектуру умного дома, которую можно отслеживать и контролировать с помощью простого удобного мобильного приложения. Кроме того, все системы будут связаны между собой и будут добавлены голосовые команды для управления устройствами в определенном диапазоне. Итак, вот тихие особенности моей архитектуры домашней автоматизации:

  • Двухуровневая система безопасности с использованием цифровой клавиатуры и RFID предотвращает доступ злоумышленников в дом.
  • Выгрузка фото онлайн в случае кражи со взломом, удаленное видеонаблюдение, при котором видео загружается на локальный сервер, который пользователь может просматривать с помощью любого веб-браузера.
  • Мониторинг домашней среды по показаниям различных датчиков, таких как DHT11, датчик пламени, датчики MQ3 и MQ135 через приложение для Android.
  • Управление такими устройствами, как светодиоды, серводвигатели и т. д., через приложение для Android.
  • Автоматическое планирование устройств на основе предпочтений, установленных пользователем через приложение для Android.
  • Домашняя подготовка устройств (гейзера, кофемашины) на основе предпочтений, установленных пользователем, когда пользователь приближается к дому.
  • Управление устройствами с помощью человеческого голоса.

Предпосылки

  • Вы должны быть знакомы с программированием на C
  • Вы должны быть знакомы с использованием Arduino IDE и развертыванием кода на плате Arduino.

Инструкции - выполните следующие действия

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

Шаг 1. Подключите всю систему

Выполните подключения в соответствии с приведенной ниже схемой. Необходимо выполнить множество подключений, так что наберитесь терпения и тщательно выполняйте все подключения. Я предлагаю создать архитектуру домашнего типа из картона, чтобы вы могли по-настоящему почувствовать домашнюю автоматизацию. Будьте осторожны с датчиком движения PIR, так как он подвержен чувствительным изменениям. Закрепите его плотно, чтобы он не давал ложных срабатываний, иначе ваша дверь неожиданно откроется.

RFID-соединение выглядит следующим образом:

- MOSI ---> PIN 51

- MISO ---> PIN 50

- SCK ---> PIN 52

- SS / SDA ---> PIN 9

- RST ---> PIN 8

Также подключите контакт 20 Mega к контакту 2 Arduino Yun, а контакт 21 Arduino Mega к контакту 3 Arduino Yun для связи I2C.

Шаг 2. Создайте учетную запись Temboo и настройте API Dropbox

Следующим шагом в этом проекте является создание и настройка учетной записи в веб-сервисе Temboo, чтобы вы могли использовать широкий спектр услуг, предоставляемых Temboo. Для этого первым делом нужно просто зайти на сайт Temboo http://temboo.com/. На главной странице просто введите свой адрес электронной почты для регистрации и нажмите «Зарегистрироваться». Затем вам будет предложено ввести основную информацию о вашей учетной записи, например, имя вашей учетной записи. Затем вам будет предложено создать ваше первое приложение. Убедитесь, что вы сохранили данные своей учетной записи, такие как имя вашего первого приложения и ключ, который будет вам предоставлен. Если вам нужно снова получить эти значения или создать новое приложение, вы всегда можете получить доступ к этим данным в раздел «Моя учетная запись» на веб-сайте Temboo, нажав кнопку «УПРАВЛЕНИЕ» под ПРИЛОЖЕНИЯМИ.

Что касается программного обеспечения, вам понадобится немного больше, чем просто Arduino IDE. Мы собираемся установить необходимое программное обеспечение для камеры прямо на плату Yún, когда мы подключимся к ней через SSH, но вам понадобится Temboo Python SDK для загрузки изображений в Dropbox. Вы можете найти SDK по адресу https://temboo.com/python. Пора его распаковать и тоже положить в корень SD-карты. Просто убедитесь, что он отображается с именем temboo в корне SD-карты, чтобы только что созданный файл Python мог правильно получить к нему доступ. Затем вам также потребуется учетная запись Dropbox, чтобы вы могли загружать на нее изображения. Вы можете просто создать учетную запись, перейдя на https://www.dropbox.com/home. После создания учетной записи вам необходимо создать приложение, которое будет использоваться в вашем проекте. По сути, это означает, что вы должны авторизовать проект, который собираетесь создать в этой главе, чтобы автоматически отправлять изображения в вашу учетную запись Dropbox без необходимости каждый раз вводить логин и пароль. Вам также будет предоставлена ​​вся необходимая информация (например, ключ API), которую мы введем позже в скрипт Python на Yún.

1. Чтобы создать приложение, сначала перейдите на https://www.dropbox.com/developers/apps.

2. Затем нажмите «Создать приложение» в правом верхнем углу окна. Теперь вы можете выбрать тип приложения, которое хотите создать. В нашем случае мы хотим напрямую использовать Dropbox API.

3. Вам будет предложено выбрать тип данных, которые ваше приложение должно хранить. Мы хотим загрузить изображения, поэтому выберите "Файлы и хранилища данных".

4. После этого вы можете завершить процесс создания приложения Dropbox.

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

6. Также убедитесь, что в поле Тип разрешения установлено значение Папка приложения. Это гарантирует, что изображения будут загружены в папку, предназначенную для приложения, и что Yún не будет иметь доступа к остальной части вашей папки Dropbox.

7. Что вам нужно сейчас получить, так это ключ токена и секрет токена, относящиеся к вашему приложению Dropbox, чтобы вы могли ввести их позже в программном обеспечении нашего проекта. Чтобы получить их, первым делом перейдите в раздел InitialiseOAuth Choreo на веб-сайте Temboo по адресу https://temboo.com/library/Library/Dropbox/OAuth/InitializeOAuth/. Здесь вам нужно будет ввести ключ приложения и секрет приложения. Это сгенерирует некоторую дополнительную информацию, такую ​​как идентификатор обратного вызова и временный секрет токена. Вам также будет предложено перейти по ссылке на Dropbox, чтобы подтвердить аутентификацию.

8. Наконец, перейдите на страницу FinalizeOAuth, чтобы завершить процесс. Вам будет предложено ввести ключ приложения, секрет приложения, идентификатор обратного вызова и временный секрет токена на странице https://temboo.com/library/Library/Dropbox/OAuth/FinalizeOAuth/. После этого шага вам будет предоставлен последний ключ токена и секрет токена. Запишите их, так как они понадобятся вам позже.

Шаг 3. Установка драйверов в Arduino Yun

Установите программное обеспечение Putty и откройте его. Введите IP-адрес вашего arduino yun, выберите ssh и нажмите «Открыть». Введите root в качестве имени пользователя, и вам будет предложено ввести пароль, который вы выбрали для своего Yún (пароль по умолчанию - arduino). Если это сработает, вы должны увидеть следующий снимок экрана, отображаемый на вашем терминале, который указывает на то, что теперь вы работаете непосредственно с Yún.

Вы можете получить доступ ко всем функциям с вашего компьютера Yún Linux. Теперь мы собираемся установить необходимое программное обеспечение для камеры. Для этого требуется, чтобы Arduino Yún был подключен к Интернету, чтобы он мог получить необходимые пакеты, как описано в следующих шагах:

1. Процесс начинается с обновления диспетчера пакетов opkg следующим образом:opkg update

2. Установите драйверы UVC следующим образом:opkg install kmod-video-uvc

3. Установите пакет python-openssl, который мы будем использовать позже в проекте, как показано в следующей команде:opkg install python-openssl

4. Наконец, вы можете установить программное обеспечение fswebcam, которое мы будем использовать для фотосъемки, как показано в следующей команде:opkg install fswebcam

Шаг 4. Видеонаблюдение в реальном времени

Чтобы приложение заработало, нам сначала нужно установить некоторые дополнительные программные пакеты на Yún, как показано в следующих шагах:

1. Снова подключитесь к Yún, используя SSH с вашим именем и паролем Arduino Yún, и введите следующую команду, чтобы получить правильный пакет для прямой трансляции:wget http://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk

2. Обратите внимание, что если ссылка больше не действительна и вы не можете найти файлы, этот пакет также доступен внутри кода этой главы. Теперь вы можете установить его с помощью следующей команды:opkg install mjpg-streamer.ipk

3. Теперь вы можете запустить программное обеспечение для потоковой передачи на вашем Arduino Yún, используя следующую команду:

mjpg_streamer -i "input_uvc.so -d / dev / video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w / www / webcam" &

Здесь параметр после –h - это разрешение, а параметр после –i - порт, на котором будет доступен поток. Мы также указали количество кадров в секунду с помощью команды –I. Другие варианты менее важны, и вам не нужно о них беспокоиться. Затем вы можете получить доступ к своему потоку, перейдя по адресу вашего Arduino Yún в веб-браузере, а затем введите 8080, чтобы указать правильный порт. Например, ссылка будет такой http://yourarduinoyunipaddress.local:8080 / stream.html. Замените yourarduinoyunipaddress в приведенной выше ссылке IP-адрес вашего arduino yun.

Шаг 5. Настройка учетной записи Twilio для текстовых сообщений

Зарегистрируйтесь на https://www.twilio.com/. Запишите sid учетной записи и токен авторизации. Купите бесплатный номер на twilio, а также проверьте номер, на который вы собираетесь отправить текстовое сообщение, в разделе подтвержденных идентификаторов вызывающих абонентов. Как только ваш номер будет проверен, вы готовы отправить сообщение на этот номер. Теперь войдите на temboo.com. Перейдите по этой ссылке https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/ и укажите учетные данные, полученные от twilio. Прежде чем нажать кнопку «Выполнить», запишите дополнительную информацию. Нажмите «Выполнить», введите необходимую дополнительную информацию и сохраните профиль под каким-либо именем. Это имя профиля будет использоваться в коде arduino yun. Перейдите к строке 208 в коде arduino yun и замените your_profile_name именем вашего профиля. Убедитесь, что когда вы нажимаете кнопку «Выполнить сейчас» в temboo, это не должно выдавать никаких ошибок, иначе с вашими учетными данными что-то не так, что вам нужно устранить самостоятельно.

Шаг 6. Настройка учетной записи blynk и настройка приложения blynk

Загрузите приложение blynk из игрового магазина по этой ссылке https://play.google.com/store/apps/details?id=cc.blynk.

После загрузки приложения Blynk вам необходимо создать новую учетную запись Blynk. После того, как вы успешно вошли в свою учетную запись, начните с создания нового проекта. Выберите модель оборудования как Arduino yun. Auth Token - это уникальный идентификатор, который необходим для подключения вашего оборудования к вашему смартфону. Каждый новый проект, который вы создаете, будет иметь собственный токен аутентификации. После создания проекта вы автоматически получите токен аутентификации на электронную почту. Вы также можете скопировать его вручную. Щелкните раздел устройств. Теперь нажмите кнопку Создать кнопка. Добавьте виджеты в соответствии со следующими инструкциями:

Сделайте четыре вкладки в качестве дома, вентиляции и кондиционирования, мониторинга и управления

Дом

На главной вкладке выберите четыре виджета:ЖК-дисплей, отображение значений, уровень H и уведомление.

Настройте вход ЖК-дисплея как V1.

Назовите отображаемое значение датчиком пожара и настройте вход датчика пожара как V11, сопоставьте его от диапазона 0 до 1023 и сделайте скорость считывания равной 1 секунде.

Назовите уровень h как уровень огня и настройте вход как V12, сопоставьте его с диапазоном от 0 до 1023 и сделайте скорость чтения push.

Настройте уведомление с приоритетом как обычно.

HVAC

На вкладке HVAC выберите LCD, Slider, Value display (2), history graph.

Настройте вход ЖК-дисплея как V3.

Переименуйте ползунок как вентилятор, настройте выход как D9 и сопоставьте его от 0 до 255.

Переименуйте два дисплея значений в room1 temp и room2 temp. Настройте один вход как V2, а другой вход как V6 и сопоставьте их обоим от 0 до 50 со скоростью чтения 1 с.

Настройте входы графа истории как V9 и V8. Введите имя room1 temp, соответствующее V9, и room2 temp, соответствующее V8.

Мониторинг

На вкладке мониторинга выберите обозначенное значение (2), график (2), график истории.

Переименуйте 2 виджета с помеченными значениями с влажностью в помещении1 и влажностью в помещении2, установите входы как V5 и V7 и сопоставьте их от 0 до 100 со скоростью считывания 1 с.

Переименуйте 2 графика как влажность в помещении 1 и влажность в помещении 2 с входными контактами как V10 и V9 с диапазоном от 0 до 100 и скоростью считывания как 1 секунда.

Настройте входы графа истории как V10 и V7. Поместите имя room1 humid, соответствующее V10, и room2 humid, соответствующее V7.

Контроль

На вкладке управления выберите ЖК-дисплей, отображение значений (2), помеченное значение, ползунок, ввод времени, GPS-трек.

Настройте вход ЖК-дисплея как V4.

Настройте входы отображения значений как V19 и V20 с диапазоном от 0 до 1023 и скоростью считывания 1 с.

Настройте ввод помеченного значения как V21 и диапазон от 0 до 1023 со скоростью считывания 1 сек.

Переименуйте настройки ползунка в «Освещение в основной комнате» и установите значение от 0 до 255 с интервалом записи 100 мсек.

Настройте вход времени V31 и настройте параметр «Разрешить ввод / запуск» как «Да», разрешить выбор дня недели как «Да», разрешить выбор часового пояса как «Да».

Настройте вход GPS-трека как v29 и запускайте, когда как введите. Это позволит системе активировать пин v29 (который, например, может быть подключен к гейзару), когда пользователь вошел внутрь карты. Вы можете изменить радиус карты по своему усмотрению.

Нажмите кнопку "Выполнить".

Поздравляю! Теперь вы можете управлять домашней средой и следить за ней со своего смартфона Android.

Голосовое управление устройствами

Загрузите приложение AMR_VOICE по этой ссылке и настройте Bluetooth с помощью HC05. Разверните упомянутый ниже код, названный как голосовое управление для arduino uno, на arduino uno. Нажмите на подключение робота в приложении. Убедитесь, что ваш смартфон Bluetooth сопряжен с hc05. Нажмите значок голоса и произнесите строки, указанные в коде, чтобы включить / выключить свои устройства.

Сообщите мне, если вы столкнулись с какими-либо проблемами при создании этого проекта. Некоторые из шагов не показаны в деталях, учитывая тот факт, что пользователи могут быть знакомы с основами программирования Arduino, C и базового Linux. Не стесняйтесь задавать любые вопросы в разделе комментариев, если вы где-то застряли или на каком-либо этапе.

Примечание. Я перенес все документы и код в свой общедоступный репозиторий git. Перейдите по ссылке https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT, чтобы загрузить исходный код, файл схемы и справочник по архитектуре. Кроме того, если вы хотите внести свой вклад или добавить новые функции в этот проект, создайте запрос на перенос в моем репозитории github. Если есть какие-либо проблемы с кодом или средой установки, поднимите вопрос в репозитории github.

Ура!

Код

Кодовая база для этого проекта
Загрузите код этого проекта из моего репозитория git. Если вы хотите добавить в этот проект дополнительные функции, отправьте запрос на перенос в моем репозитории. Https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

Схема

Схема проекта
Загрузите схемы из моего репозитория на github. https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

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

  1. Универсальный пульт дистанционного управления с использованием Arduino, 1Sheeld и Android
  2. Монитор сердечного ритма с использованием Интернета вещей
  3. Использование Интернета вещей для удаленного управления манипулятором
  4. Игрушка под управлением Android с использованием Raspberry Motor Shield
  5. Система автоматизации и безопасности умного дома с использованием 1Sheeld
  6. Управление яркостью светодиода с помощью Bolt и Arduino
  7. Датчик Интернета вещей с Arduino, Yaler и IFTTT
  8. Система полива домашних растений
  9. Система мониторинга предприятия с использованием AWS IoT
  10. Домашний контроллер Arduino, активированный Alexa