Автоматизация дома (умный дом) на Arduino IoT Cloud и ESP32


В этом проекте мы узнаем о применении Arduino IoT Cloud вместе с ESP32. Недавно сообщество Arduino запустило свою платформу Интернета вещей (IoT) под названием Arduino IoT Cloud (облако IoT). С ее помощью вы можете подключить несколько устройств друг к другу и позволить им обмениваться данными в реальном времени. Вы также можете контролировать данные из любой точки мира с помощью простого пользовательского интерфейса. Чтобы узнать больше об Arduino IoT Cloud, вы можете ознакомиться с разделом документации.

Автоматизация дома (умный дом) на Arduino IoT Cloud и ESP32

Например, вы можете управлять несколькими бытовыми приборами с панели Arduino IoT Cloud Dashboard. Мы подключим 4-канальное реле к модулю ESP32 WiFI и будем отправлять команды ВКЛ/ВЫКЛ либо с панели мобильного телефона, либо с панели компьютера и реле управления, светом или чем-либо еще. Итак, давайте посмотрим, как можно развернуть всю эту систему.

Ранее на нашем сайте мы уже рассматривали достаточно много различных проектов автоматизации дома на основе различных микроконтроллеров (плат), наиболее популярными среди которых являются следующие:

Необходимые компоненты

  1. Модуль ESP32 (купить на AliExpress).
  2. Реле 5В - 4 шт. (купить на AliExpress).
  3. Регулятор напряжения 7805 (купить на AliExpress).
  4. Разъем питания постоянного тока DCJ0202.
  5. Диод 1N4007 - 4 шт.
  6. Резистор 330 Ом - 5 шт.
  7. NPN-транзистор BC547 - 4 шт.
  8. Клеммная колодка 5мм - 4 шт.
  9. Светодиод 5мм любого цвета (купить на AliExpress).
  10. Разъем типа "мама" 2,54 мм - 2 комплекта.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Схема проекта

Схема для проекта автоматизации дома с использованием Arduino IoT Cloud и ESP32 очень проста и приведена на рисунке ниже. Я использовал программное обеспечение Fritzing для рисования схемы. Приведенная ниже схема предназначена только для сборки макетной платы.

Схема для проекта автоматизации дома с использованием Arduino IoT Cloud и ESP32

Плата ESP32 имеет достаточно много контактов GPIO для реализации проектов подобного типа. В этом проекте мы будем использовать ее контакты GPIO19, GPIO21, GPIO22 и GPIO23 для управления реле. На выходе реле мы будем использовать лампочки для тестирования и демонстрации. Вы можете использовать адаптер постоянного тока 9 В для питания схемы, поскольку выход регулятора напряжения 7805 IC подключается к Vin ESP32.

Собранная на макетной плате конструкция проекта автоматизации дома

Печатная плата для проекта

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

Дизайн печатной платы для нашего проекта

Файл Gerber для изготовления данной печатной платы вы можете скачать по следующей ссылке.

Настройка панели управления Arduino IoT Cloud

Теперь пришло время настроить панель управления Arduino IoT Cloud. Перейдите в Arduino Store. Нажмите на IoT Cloud.

Главная страница Arduino IoT Cloud

Затем вам нужно сначала создать Thing. Для этого нажмите add variable («добавить переменную»).

Создание новой сущности в Arduino IoT Cloud

Добавление новой переменной в Arduino IoT Cloud

Назовите переменную как-нибудь вроде Light1. В типе переменной выберите bool. Таким образом, будет выполнено автоматическое объявление переменной. Затем нажмите Add variable («Добавить переменную»). Первая переменная создана.

Наша первая логическая переменная в Arduino IoT Cloud создана

Аналогичным образом создайте еще три переменные с именами Light2, Light3, Light4.

Создание всех необходимых нам логических переменных в Arduino IoT Cloud закончено

Теперь нам нужно настроить устройство. Для этого выберите опцию устройства. Из списка выберите устройство стороннего производителя. Затем выберите ESP32. Из этого списка выберите ESP32 Developer Module.

Выбор в Arduino IoT Cloud платы ESP32

Нажмите, чтобы продолжить, и дайте устройству любое имя. Затем нажмите Next («Далее»). Таким образом, здесь создается идентификатор устройства и секретный ключ. Сохраните этот идентификатор устройства для кода программы. Или просто загрузите этот PDF-файл, содержащий информацию о секретном ключе. Затем нажмите continue («Продолжить»).

Создание идентификатора устройства и секретного ключа в Arduino IoT Cloud

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

Ввод сетевых учетных данных в Arduino IoT Cloud

Переходим в панель инструментов - нам нужно ее настроить.

Переход в панель инструментов в Arduino IoT Cloud

Из опции редактирования добавьте переменную. Поэтому выберите switch (переключатель).

Добавление переключателя в панели инструментов в Arduino IoT Cloud

Дайте ему любое имя. Затем привяжите переменную. Нажмите Done («Готово»).

Привязка логической переменной к переключателю

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

Все необходимые нам переключатели добавлены

Итак, наконец-то мы закончили. Настройка панели инструментов готова.

Исходный код программы

Теперь перейдем к скетчу домашней автоматизации с Arduino IoT Cloud и ESP32.

Код нашего проекта автоматизации дома, открытый в Arduino IDE

В коде программы у нас имеется 4 переменные с автоматически объявленным типом bool.

В функции setup() мы определим 4 контакта ESP32 как выходные контакты. Эти 4 контакта — контакты 19, 21, 22 и 23.

Инициализируйте их уровнем HIGH, чтобы изначально все приборы были выключены.

Ниже функции void Light назначьте условие, что если команда с контакта панели инструментов Arduino IoT Cloud имеет высокий уровень, реле должно включиться. В противном случае, если команда имеет низкий уровень, реле должно выключиться.

Вот полный код, который вы можете использовать для этого проекта.

Home_Automation.ino

thingProperties.h

arduino_secrets.h

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

После установки драйвера появится COM-порт. Затем выберите из списка плату разработчика ESP32 и COM-порт. Затем загрузите код. Загрузка кода займет некоторое время, и когда она будет завершена, под окном появится сообщение.

Тестирование работы проекта

После загрузки кода откройте Serial Monitor (окно монитора последовательной связи). Он покажет, что соединение WiFi установлено, а затем устройство подключено к панели инструментов Arduino IoT Cloud.

Информация в окне монитора последовательной связи при начале работы нашей программы

Откройте панель управления, чтобы увидеть, что переключатель можно включить и выключить, включить или отключить. Вы можете провести начальное тестирование. Здесь мы можем отправить команду, чтобы увидеть, включится ли светодиод на плате реле или нет.

Тестирование работы переключателей

Также вы можете управлять приборами из Mobile Dashboard (мобильной версии панели инструментов). Для этого установите Arduino IoT Remote из Playstore. Войдите, используя тот же идентификатор и пароль.

Для легкого управления приборами перейдите на панель инструментов.

Пример управления домашними приборами из Mobile Dashboard

Видео, демонстрирующее работу проекта

Ссылка на видео на YouTube

(Проголосуй первым!)
Загрузка...
88 просмотров

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *