Рубрики
Проекты на ESP32

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

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

Например, вы можете управлять несколькими бытовыми приборами с панели 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 для рисования схемы. Приведенная ниже схема предназначена только для сборки макетной платы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В коде программы у нас имеется 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. Войдите, используя тот же идентификатор и пароль.

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

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

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

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

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