Създаване на безжичен превключвател за включване / изключване за вашия компютър

ДА СЕ Умен Системата, която контролира осветлението, развлекателните системи и други уреди може да бъде проектирана лесно у дома и също така е най-бързо развиващата се концепция на съвременния свят. Smart Home Systems е концепция, при която всички електрически уреди или устройства се управляват с едно дистанционно управление. В днешно време един-единствен компонент като релеен модул може да се използва за управление на различни електронни параметри на къща, например превключване на домакински уреди, мониторинг на аларми за сигурност, автоматизация на гаражни врати и др. В този проект нашата Персонален компютър ще се контролира от Приложение за Android . В тези системи през повечето време дистанционното управление е мобилно приложение. Тъй като мобилният телефон на android е най-често срещаният сред хората, така че android приложение е най-добрият вариант за управление на нашия компютър.



Безжичен компютърен превключвател

Как да направя безжичен превключвател за вашия компютър на мобилен телефон?

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

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



  • ESP32
  • 2N2222 NPN транзистор
  • 1k-омов резистор (x2)
  • 5V релеен модул
  • Свързващи проводници

Стъпка 2: Софтуерът трябва да бъде инсталиран

Тъй като ще направим безжичен превключвател, ще ни е необходим бутон за включване и изключване. Искаме да използваме мобилен телефон, за да управляваме този бутон, така че ще трябва да разработим приложение за това. Най-удобното приложение е приложение за Android. Трябва да инсталираме два софтуера, за да използваме това приложение. И двамата са изброени по-долу:



  • Android Studio.
  • JAVA JDK.

Стъпка 3: Инсталиране на Android Studio

Преди да инсталираме Android Studio, ние ще инсталираме ЯВА Първо JDK. За да инсталирате това, щракнете върху exe файл които сте изтеглили от горната връзка и щракнете върху Напред, докато бъде успешно инсталиран. Сега преминете през следните стъпки, така че командният ред да разпознава java като външна или вътрешна команда.



  1. Отворете Контролен панел и кликнете върху Система и сигурност .
  2. Кликнете върху Система .

    Система

  3. Кликнете върху Разширена настройка на системата и след това щракнете върху Променливи на околната среда .

    Разширена настройка на системата

  4. В раздела Системна променлива щракнете върху пътя и след това щракнете върху редактиране. Нова Редактиране на променливата на околната среда ще се появи полето.

    Редактиране на пътя



  5. Сега отидете на C: Program Files Java във вашия компютър. Отворете папката JDK, щракнете върху папката bin и след това копирайте пътя на тази папка.

    Път на папката на кошчето

  6. Сега отидете в полето Редактиране на променливата на околната среда и щракнете върху ново, за да направите нова променлива. Поставете пътя, който сте копирали в горната стъпка, в новата променлива и го запазете.
  7. Сега, за да потвърдите, ако е напълно инсталиран, отворете командния ред и въведете java –версия .

    Версия на JAVA

След като успешно инсталирахте Java JDK на вашия компютър. Нека сега инсталираме Android Studio на вашия компютър. Инсталирането на този софтуер е много лесно. Трябва да отворите изтегления файл и да щракнете напред, докато софтуерът ви бъде напълно инсталиран.

Стъпка 4: Връзка с Firebase

След като инсталирахме Android Studio, нека го стартираме и направим нов проект, който да го свърже към firebase. За да направите това, следвайте следните стъпки.

1. Стартирайте Android Studio и направете нов проект, като кликнете върху Празна дейност .

Нов проект

2. Сега назовете проекта си като computerSwitc, изберете Котлин като език и изберете минималното ниво на API според вашия мобилен телефон.

Нов проект

3. Тъй като ще използваме интернет, за да контролираме щифтовете на малиновия пи. Ще зададем разрешение в нашето приложение за достъп до локален wifi. За да направите това, отидете на приложение> манифести> AndroidManifest.xml и добавете следната команда.

 

Разрешение за интернет

3. Сега щракнете върху n Инструменти. Ще се появи падащо меню, от което изберете Firebase.

Връзка с Firebase

4. В дясната част на екрана ще се появи голямо меню, което ще предоставя менюто на почти всяка услуга, която предоставя firebase. Но в момента основният ни фокус е върху базата данни в реално време. Така че кликнете върху база данни в реално време. Връзка към „ Запазване и извличане на данни Ще се появи. Щракнете върху тази връзка.

Firebase Assistant

5. Свържете се Свържете се с Firebase бутон. Ще ви отведе до уеб браузъра по подразбиране. Първо ще поиска да влезете в акаунта си в Gmail. След това кликнете върху Добавете базата данни в реално време към приложението си и приемете промените.

6. Сега отидете на Конзола на Firebase . Там ще видите вече направен проект. Логото на android на иконата на този проектор означава, че вече принадлежи към приложение за android.

7. От Развийте меню, което се появява в лявата част на екрана, изберете База данни. Бутон на Създаване на база данни ще се появи вдясно. Кликнете върху този бутон.

8. Ще се появи меню с искане да зададете режима на вашата база данни. Кликнете върху тестов режим и след това щракнете Активиране .

Тестов режим

9. Сега наистина важна стъпка, която трябва да запомните, е да промените Cloud Firestore да се База данни в реално време. За целта кликнете върху бутона, показан на изображението по-долу, и променете желаната опция.

Firebase в реално време

10. Сега кликнете върху Правила и променете конфигурациите на Вярно . След като всичко приключи, щракнете Публикувай .

Промяна на конфигурациите

11. Едно нещо, което трябва да направите, освен да свържете firebase, е да актуализирате версията на базата данни. За това кликнете върху отидете на документи . Сега кликнете върху ръководства и изберете Ръководства за Android от списъка, който се появява на екрана. Превъртете надолу, докато се появи таблица. Потърсете база данни в реално време в тази таблица и намерете нейната версия. в моя случай е така 19.1.0

Версия

12. Щракнете върху Gradle скриптове, меню от лявата страна на екрана. След това изберете построен. gradle (Модул: приложение). Сега в кода потърсете версията на базата данни в реално време и я заменете с новата.

Версия на Firebase

13. Сега синхронизирайте проекта, като щракнете върху бутона за синхронизиране, който се появява в горната част на екрана.

Стъпка 5: Създаване на оформление

Сега, тъй като нашето приложение за Android е свързано с firebase, нека направим оформление на нашето приложение, което ще се използва от потребителя за включване или изключване на компютъра. За да направите оформление, отидете на app> res> layout> activity_main.xml. където ще проектираме оформление. Копирайте дадения по-долу код там, за да направите текстов изглед.

 

Оформлението на нашето приложение ще изглежда така:

Оформление на приложението

Стъпка 6: Backend кодиране в Kotlin

Тъй като направихме интерфейса на приложението, нека се придвижим една крачка напред и напишем бекенд кода, за да го свържем с firebase. Свързахме превключвател, който ще изпрати 0 към базата данни на firebase, когато е в изключено състояние, и ще изпрати 1 към базата данни на firebase, когато е в състояние.

Сега, в левия ъгъл, кликнете върху app> java> com.example.computerswitch> main_activity, и добавете следния код там във вашия клас. Ако възникне грешка в библиотеката, натиснете ALT + ENTER за автоматично включване на тази библиотека.

var база данни = FirebaseDatabase.getInstance () var myRef = database.reference вътрешен lateinit var btnSwitch: Превключване на отмяна на забавлението onCreate (saveInstanceState: Bundle?) {super.onCreate (saveInstanceState) setContentView (R.layout.activity_main) btnSwitch. id.switch2) като Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

На изображението по-долу можете да видите, че ако превключвателят е включен, „1“ се качва в базата данни на firebase. По същия начин тук ще бъде заменено „0“, когато превключвателят е изключен.

Стойност

Стъпка 7: Първи стъпки с Arduino

Ако не сте работили по 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, инсталирайте я отново и прекомпилирайте кода. Този път вашият код ще се компилира успешно.

За да изтеглите кода, щракнете тук.

Стъпка 8: Сглобяване на веригата

След като нашето приложение е готово и напълно функционално, нека видим как ще свържем веригата към компютъра.

  1. На първо място, вземете разпределително табло и свържете всички щепсели на компютърната система в него, т.е.монитор, принтер, процесор, PSU и т.н.
  2. Сега вземете свързващия превключвател на тази платка и направете разрез между проводника, така че два проводника, черен и червен, да се виждат отвътре.
  3. Извадете червената жица и я отрежете от средата. Свържете единия край на проводника в точката NO на релейния модул, а другия край в точката COM на точката на релето. (не правете нищо с черната жица)
  4. Сега фиксирайте ESP32 в макетната платка и го захранвайте с помощта на 5V батерия. Свържете Vcc и масата на модула Relay в макетната плоча, с положителните и отрицателните клеми на батерията.
  5. Направете следната конфигурация с транзистора на борда.

Стъпка 9: Код

Кодът е доста прост, но все пак е обяснен накратко по-долу.

1. В началото са включени две библиотеки, така че firebase да може да се използва с ESP32.

#include #include

2. След това се дава информация за вашата база данни на firebase и Wifi връзката и се декларира пин на ESP, който ще се използва с релейния модул.

#define FIREBASE_HOST 'xxxxx' // заменете го с вашия хост на firebase #define FIREBASE_AUTH 'xxxxx' // заменете го с вашето firebase auth #define WIFI_SSID 'xxxxx' // заменете това с вашия WIFI SSID #define WIFI_xXxx 'xxxxx' xxxxx 'xxxxx' xxxxx 'xxxxx' xxxxx 'xxxxx' заменете го с вашата wifi парола int swi = 34; // свързваме pin34 на ESP с релеен модул

3. настройка за празнота () е функция, която работи само веднъж, когато веригата е включена или бутонът Активиране е натиснат. Тук е написан кодът, за да свържете ESP платката към WIFI. Пинът на ESP, който се използва с релейния модул, тук също е деклариран като ИЗХОД.

void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // свързване към 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); }

Четири. цикъл void () е функция, която се изпълнява многократно в цикъл. Тук се чете стойността от firebase. Ако тази стойност е равна на „1“, тогава сигналът HIGH ще бъде изпратен към релейния модул и компютърът ще се включи. Когато тази стойност е “0”, компютърът ще бъде изключен.

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