Управление плитой со смартфона с помощью Wi-Fi

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



Умная плита

Как автоматизировать газовую плиту через свой мобильный телефон?

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



Шаг 1: Сбор компонентов

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



  • ESP32
  • Газовый клапан для Arduino
  • Перемычки
  • Модуль реле 5 В
  • 2N2222 NPN транзистор
  • Резистор 1 кОм
  • Резистор 10 кОм
  • Свеча зажигания 5В

Шаг 2: Разработка приложения для Android

Поскольку мы собираемся управлять этой печью с помощью приложения для Android, нам нужно сначала ее разработать. Ранее мы разработали несколько приложения для Android. Ранее мы сделали применение который состоит только из одной кнопки. Эта кнопка используется для отправки данных в базу данных. Если '1' вставлен в базу данных, реле будет включено и если '0' вставлен в базу данных, реле выключится.



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

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

Шаг 3: создание схемы

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



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

Транзистор как переключатель

На рисунке выше подключите Вино порт на контакты ESP32 , подключите порт Vcc к внешнему источнику питания 5 В и подключите Vo к модулю реле. Основная причина, по которой мы используем транзистор в качестве переключателя, заключается в том, что реле требует 5 В для работы, а ESP32 может обеспечить только 3,3 В. Таким образом, нам нужно обеспечить внешнее реле 5 В.

Теперь подключим релейный модуль к транзисторам. Убедитесь, что первый транзистор подключен к контакту 34 модуля ESP, а второй транзистор подключен к контакту 35 модуля ESP. Мы будем использовать оба модуля реле в нормально открытом режиме. Подключите газовый клапан и свечу зажигания к выходной клемме первого и второго модуля реле соответственно. Убедитесь, что вы подключили релейный модуль, как показано на рисунке ниже.

Модуль реле

Шаг 4: Работа

В основе этого проекта лежит плата микроконтроллера ESP32. Газовый клапан и свеча зажигания подключены к ESP через модули реле. Газовый клапан изначально закрыт. При его включении из мобильного приложения включается газовый клапан. То же и со свечой зажигания. Его можно выключить или выключить через мобильное приложение. Эта свеча зажигания будет подключена к плите, где выпускается газ. Эта свеча зажигания зажжет огонь.

Шаг 5: Начало работы с ESP32

Если вы раньше не работали над Arduino IDE, не беспокойтесь, потому что пошаговые инструкции по настройке Arduino IDE показаны ниже.

  1. Загрузите последнюю версию Arduino IDE из Ардуино.
  2. Подключите плату Arduino к ПК и откройте панель управления. Нажмите на Оборудование и звук. Теперь откройте Устройства и принтер и найдите порт, к которому подключена ваша плата. В моем случае это COM14 но на разных компьютерах он разный.

    Поиск порта

  3. Щелкните Файл, а затем щелкните Настройки. Скопируйте следующую ссылку в Дополнительный URL-адрес менеджера совета директоров. « https://dl.espressif.com/dl/package_esp32_index.json '

    Предпочтения

  4. Теперь, чтобы использовать ESP32 с Arduino IDE, нам нужно импортировать специальные библиотеки, которые позволят нам записывать код на ESP32 и использовать его. эти две библиотеки прикреплены по приведенной ниже ссылке. Чтобы включить библиотеку, goto Эскиз> Включить библиотеку> Добавить библиотеку ZIP . Появится окно. Найдите папку ZIP на вашем компьютере и нажмите OK, чтобы включить папки.

    Включить библиотеку

  5. Теперь перейти Эскиз> Включить библиотеку> Управление библиотеками.

    Управление библиотеками

  6. Откроется меню. В строке поиска введите Ардуино JSON. Появится список. Установить Arduino JSON от Бенуа Бланшона.

    Ардуино JSON

  7. Теперь нажмите на Инструменты. Появится раскрывающееся меню. Установите доску на Модуль разработки ESP.

    Доска настроек

  8. Снова щелкните меню «Инструменты» и установите порт, который вы наблюдали на панели управления ранее.

    Настройка порта

  9. Теперь загрузите код, который прикреплен по ссылке ниже, и нажмите кнопку загрузки, чтобы записать код на микроконтроллер ESP32.

    Загрузить

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

В файле, включенном в C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, из C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer - это класс из ArduinoJson 5. Пожалуйста, посетите arduinojson.org/upgrade, чтобы узнать, как обновить вашу программу до ArduinoJson версия 6 StaticJsonBuffer jsonBuffer; ^ В файле, включенном в C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, из C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer - это класс из ArduinoJson 5. Пожалуйста, посетите arduinojson.org/upgrade, чтобы узнать, как обновить вашу программу до ArduinoJson версии 6 return StaticJsonBuffer (). ParseObject (_data); ^ Для 'WiFi.h' найдено несколько библиотек Используется: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Не используется: C:  Program Files ( x86)  Arduino  libraries  WiFi Использование библиотеки WiFi версии 1.0 в папке: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Использование библиотеки IOXhop_FirebaseESP32-master в папке: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Использование библиотеки HTTPClient в версии 1.2 в папке: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Использование библиотеки WiFiClientSecure версии 1.0 в папке: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Использование библиотеки ArduinoJson в версия 6.12.0 в папке: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson статус выхода 1 Ошибка компиляции для модуля ESP32 Dev для платы.

Не о чем беспокоиться, потому что мы можем устранить эти ошибки, выполнив несколько простых шагов. Эти ошибки возникают из-за того, что новая версия Arduino JSON имеет другой класс вместо StaticJsonBuffer. Это класс JSON 5. Таким образом, мы можем просто устранить эту ошибку, понизив версию Arduino JSON нашей Arduino IDE. Просто зайдите в Эскиз> Включить библиотеку> Управление библиотеками. Искать Arduino JSON от Бенуа Бланшона которые вы установили раньше. Сначала удалите его, а затем установите его версию на 5.13.5. Теперь, когда мы установили старую версию Arduino JSON, установите ее снова и перекомпилируйте код. На этот раз ваш код будет успешно скомпилирован.

Чтобы скачать код, щелкнуть Вот.

Шаг 6: Код

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

1. Сначала включены две библиотеки, поэтому Wi-Fi включен, а плата ESP может быть подключена к базе данных firebase. Затем включаются хост firebase, аутентификация, имя вашего локального Wi-Fi-соединения и пароль того же Wi-Fi-соединения. Кроме того, определите контакты на плате ESP, которые будут использоваться для подключения внешних устройств.

#include // включить библиотеку для использования WiFi #include // включить библиотеку для подключения к Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // заменить xxxxxxxxxx на ваш хост firebase здесь #define FIREBASE_AUTH 'xxxxxxxxxx' // заменить xxxxxxxxxx аутентификацией firebase здесь # define WIFI_SSID 'xxxxxxxxxx' // замените xxxxxxxxxx на имя нашего Wi-Fi-соединения #define WIFI_PASSWORD 'xxxxxxxxxx' // замените xxxxxxxxxx своим паролем Wi-Fi #define valve 34 // подключите газовый клапан к этому контакту #define spark 35 // подключите искру подключите к этому контакту

2. установка void () это функция, которая запускается только один раз, когда микроконтроллер включен или нажата кнопка включения. В этой функции устанавливается скорость передачи данных, которая в основном представляет собой скорость передачи данных в битах в секунду. После этого плата ESP подключается к Wifi.

void setup () {Serial.begin (115200); // установить скорость передачи pinMode (valve, OUTPUT); // устанавливаем вывод 34 для использования в качестве ВЫХОДА pinMode (spark, OUTPUT); // устанавливаем контакт 35 для использования в качестве ВЫХОДА // подключаемся к Wi-Fi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('соединение'); пока (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); задержка (500); } Serial.println (); Serial.print ('подключено:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Петля пустоты () - это функция, которая многократно выполняется в цикле. В этом цикле значения считываются из базы огня и проверяются, равны ли они нулю или единице. Если значения равны единице, то на контакт отправляется сигнал HIGH, который приводит к включению модуля реле. Если значение равно нулю, сигнал LOw будет отправлен на вывод ESP, что приведет к выключению реле.

void loop () {// получить значение temp1 = Serial.println (Firebase.getFloat ('light')); // получаем значение переключения газового клапана temp2 = Serial.println (Firebase.getFloat ('AC')); // получить значение для переключения свечи зажигания if (temp1 == 1) {digitalWrite (valve, HIGH) // включить реле one} else if (temp1 == 0) {digitalWrite (valve, LOW) // включить выключить реле one} else if (temp2 == 1) {digitalWrite (spark, HIGH) // включить реле два} else if (temp2 == 0) {digitalWrite (spark, LOW) // выключить реле два} // обработать ошибку, если (Firebase.failed ()) {Serial.print ('установка / номер не удалось:'); Serial.println (Firebase.error ()); возвращение; } задержка (1000); }

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