Управление на печката от вашия смартфон чрез WiFi

В съвременния свят, ако се огледаме, можем да видим, че всичко, което включва електроника, е автоматизирано до известна степен. Системите за домашна автоматизация или интелигентните домове са много разпространени в днешно време. Чрез използването на тези системи различни домакински уреди могат да бъдат автоматизирани с помощта на мобилно приложение. Но повечето от тези системи не включват нищо, което да автоматизира вашата газова печка. В тази статия ще разработим система, която ще ви позволи да управлявате вашата газова печка с помощта на мобилно приложение. Това приложение ще се използва за отваряне или затваряне на газовия клапан от главния клапан и за запалване на свещта за запалване на огъня.



Умна печка

Как да автоматизирам печка на газ чрез мобилния си телефон?

След като вече знаем резюмето на проекта, нека продължим напред и да съберем различна информация, за да започнем да работим. Първо ще направим списък на компонентите и след това ще съберем всички компоненти заедно, за да направим работеща система.



Стъпка 1: Събиране на компонентите

Преди да започнем какъвто и да е проект, ако искаме да избегнем страха да не се забием в средата на проекта, трябва да имаме пълен списък на всички компоненти, от които ще се нуждаем, докато работим по проекта. Това е отличен подход, който спестява много време и усилия. Пълен списък на всички компоненти, които се използват в този проект, е даден по-долу. Всички тези компоненти са лесно достъпни на пазара.



  • ESP32
  • Газов клапан за Arduino
  • Джъмперни проводници
  • 5V релеен модул
  • 2N2222 NPN транзистор
  • 1k-омов резистор
  • 10k-омов резистор
  • 5V запалителна свещ

Стъпка 2: Разработване на приложение за Android

Тъй като ще управляваме тази печка с помощта на приложение за Android, първо трябва да я разработим. Преди това разработихме няколко андроид приложения. Преди това направихме приложение който се състои само от един бутон в него. Този бутон се използва за изпращане на данни в базата данни. Ако „1“ се вмъква в базата данни, релето ще бъде включено и ако „0“ се вмъкне в базата данни, релето ще бъде изключено.



Ще направим малко изменение в това приложение. Следвайки същата процедура, която беше спазена, за да направите първия бутон и да го свържете към firebase, ние ще направим друг бутон, който ще бъде свързан с firebase.

Единият бутон ще се използва за отваряне и затваряне на газовия клапан, а вторият бутон ще се използва за създаване на искра, която ще отговаря за запалване .

Стъпка 3: Осъществяване на веригата

Тъй като сега знаем основната същност на този проект, нека съберем всички компоненти заедно, за да направим финална верига.



Вземете макет и поставете ESP32 дъска в него. Вземете както транзистори, така и резистори и ги поставете в макетната плоча по такъв начин, че транзисторът да може да се използва като превключен. Следвайте конфигурацията по-долу, за да не допускате грешки по време на превключването.

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

На горната фигура свържете Вино порт към щифтовете на ESP32 , свържете порта Vcc към външното 5V захранване и свържете Vo към релейния модул. Основната причина, поради която използваме транзистора като превключвател, е, че релето се нуждае от 5V, за да работи, но ESP32 може да осигури само 3.3V. Така че трябва да осигурим 5V външно на релето.

Сега ще свържем релейния модул към транзисторите. Уверете се, че първият транзистор е свързан към pin34 на ESP модула, а вторият транзистор е свързан към pin35 на ESP модула. Ще използваме двата релейни модула в нормално отворен режим. Свържете газовия клапан и запалителната свещ съответно към изходния извод на първия и втория релеен модул. Уверете се, че сте свързали задника на релейния модул, показан на снимката по-долу.

Релеен модул

Стъпка 4: Работа

Сърцевината на този проект е ESP32, който е платката на микроконтролера. Газов клапан и свещ са свързани към ESP чрез релейни модули. Газовият клапан първоначално е затворен. Когато е включен от мобилното приложение, газовият клапан се включва. Същото е и при свещта. Той може да бъде изключен или изключен чрез мобилното приложение. Тази свещ ще бъде свързана с печката, където се отделя газ. Тази свещ ще запали огъня.

Стъпка 5: Първи стъпки с ESP32

Ако не сте работили по Arduino IDE преди, не се притеснявайте, защото стъпка по стъпка за настройване на Arduino IDE е показана по-долу.

  1. Изтеглете най-новата версия на Arduino IDE от Arduino.
  2. Свържете вашата платка Arduino към компютъра и отворете контролния панел. Кликнете върху Хардуер и звук. Сега отворете Устройства и принтер и намерете порта, към който е свързана вашата платка. В моя случай е така COM14 но при различните компютри е различно.

    Намиране на порт

  3. Щракнете върху Файл и след това върху Предпочитания. Копирайте следната връзка в URL адрес на допълнителен управител на борда. „ https://dl.espressif.com/dl/package_esp32_index.json '

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

  4. Сега, за да използваме ESP32 с Arduino IDE, трябва да импортираме специални библиотеки, които ще ни позволят да записваме код на ESP32 и да го използваме. тези две библиотеки са прикачени в линка, даден по-долу. За да включите библиотеката, отидете Скица> Включване на библиотека> Добавяне на ZIP библиотека . Ще се появи поле. Намерете ZIP папката на вашия компютър и щракнете върху OK, за да включите папките.

    Включете библиотека

  5. Сега отидете Скица> Включване на библиотека> Управление на библиотеки.

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

  6. Ще се отвори меню. В лентата за търсене въведете Arduino JSON. Ще се появи списък. Инсталирай Arduino JSON от Беноа Бланшон.

    Arduino JSON

  7. Сега кликнете върху Инструменти. Ще се появи падащо меню. Задайте дъската на ESP Dev модул.

    Съвет за настройка

  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: грешка: StaticJsonBuffer е клас от ArduinoJson 5. Моля, вижте arduinojson.org/upgrade, за да научите как да надстроите програмата си до ArduinoJson версия 6 връща StaticJsonBuffer (). ParseObject (_data); ^ Намерени са множество библиотеки за „WiFi.h“ Използвани: C:  Users  Pro  AppData  Local  Arduino15  пакети  esp32  hardware  esp32  1.0.2  библиотеки  WiFi Не се използва: C:  Program Files ( x86)  Arduino  libraries  WiFi Използване на библиотека WiFi на версия 1.0 в папка: C:  Users  Pro  AppData  Local  Arduino15  пакети  esp32  hardware  esp32  1.0.2  библиотеки  WiFi Използване на библиотека IOXhop_FirebaseESP32-master в папка: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (наследство) Използване на библиотека HTTPClient във версия 1.2 в папка: C:  Users  Pro  AppData  Local  Arduino15  пакети  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Използване на библиотека WiFiClientSecure при версия 1.0 в папка: C:  Users  Pro  AppData  Local  Arduino15  пакети  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. В началото са включени две библиотеки, така че WiFi е активиран и платката ESP може да бъде свързана към базата данни на firebase. След това се включва хостът на firebase, удостоверяване, името на вашата локална wifi връзка и паролата на същата wifi връзка. Също така дефинирайте щифтовете на платката ESP, които ще се използват за свързване на външните устройства.

#include // включва библиотека за използване на WiFi #include // включва библиотека за свързване с Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // заменете xxxxxxxxxxx от вашия хост на firebase тук #define FIREBASE_AUTH 'xxxxxxxxxx' // заменете xxxxxxx дефинирайте WIFI_SSID 'xxxxxxxxxx' // заменете xxxxxxxxxx с името на нашата Wifi връзка #define WIFI_PASSWORD 'xxxxxxxxxx' // заменете xxxxxxxxxx с вашата парола за wifi #define клапан 34 // свържете газовата искра към този щифт #define включете към този щифт

2. настройка за празнота () е функция, която се изпълнява само веднъж, когато микроконтролерът е включен или е натиснат бутонът за активиране. В тази функция се задава скоростта на предаване, което всъщност е скоростта на комуникация в битове в секунда. След това платката ESP е свързана с Wifi.

void setup () {Serial.begin (115200); // задаване на скорост на предаване pinMode (клапан, ИЗХОД); // задаване на щифт 34, който да се използва като ИЗХОД pinMode (искра, ИЗХОД); // задаване на щифт 35 да се използва като ИЗХОД // свързване към wifi. 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. Цикъл Void () е функцията, която се изпълнява многократно в цикъл. В този цикъл стойностите се четат от firebase и се изследват, че ако са нула или едно. Ако стойностите са една, тогава на пина се изпраща HIGH сигнал, който ще доведе до включване на релейния модул. Ако стойността е нула, на щифта на ESP ще бъде изпратен сигнал LOw, което ще доведе до изключване на релето.

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

Това е всичко за днес. Сега можете да направите своя собствена интелигентна печка у дома. Продължавайте да проверявате нашия сайт за още интересни статии като тези в бъдеще.