Stvaranje bežičnog prekidača za uključivanje / isključivanje za vaše računalo

DO Pametan Sustav koji kontrolira osvjetljenje, sustave za zabavu i druge uređaje može se lako dizajnirati kod kuće, a ujedno je i najbrže rastući koncept modernog svijeta. Sustavi pametne kuće koncept je u kojem se svim električnim uređajima ili uređajima upravlja jednim daljinskim upravljačem. Danas se jedna komponenta poput relejnog modula može koristiti za upravljanje raznim elektroničkim parametrima kuće, na primjer, prebacivanje kućanskih aparata, nadzor sigurnosnih alarma, automatizacija garažnih vrata, itd. U ovom projektu, naš Osobno računalo kontrolirat će se Android aplikacija . U tim sustavima, većinu vremena, daljinski upravljač je mobilna aplikacija. Kako je android mobitel najčešći među ljudima, tako je i android aplikacija je najbolja opcija za upravljanje našim računalom.



Prekidač bežičnog računala

Kako napraviti bežični prekidač za svoje računalo na mobilnom telefonu?

Korak 1: Prikupljanje komponenata

Da bi se napravio bilo koji projekt, mora se znati koje su osnovne komponente koje će mu trebati da ga dovrši. Stoga je izvrstan pristup prije početka rada sastaviti cjelovit popis svih komponenata kako biste uštedjeli vrijeme i izbjegli mogućnost da zapnete usred projekta. Cjelovit popis svih komponenata koje su lako dostupne na tržištu dan je u nastavku:



  • ESP32
  • 2N2222 NPN tranzistor
  • Otpornik od 1 k ohma (x2)
  • Modul releja 5V
  • Spajanje žica

Korak 2: Softver koji treba instalirati

Kako ćemo napraviti bežični prekidač, trebat će nam gumb za njegovo uključivanje i isključivanje. Za upravljanje ovim gumbom želimo koristiti mobilni telefon, pa ćemo za to morati razviti aplikaciju. Najprikladnija aplikacija je android aplikacija. Moramo instalirati dva softvera da bismo koristili ovu aplikaciju. Obojica su navedena u nastavku:



  • Android Studio.
  • JAVA JDK.

Korak 3: Instaliranje Android Studija

Prije instaliranja Android Studija, instalirat ćemo JAVA Prvo JDK. Da biste to instalirali, kliknite na exe datoteka koju ste preuzeli s gornje veze i kliknite Sljedeće dok se uspješno ne instalira. Sada prođite kroz sljedeće korake tako da vaš naredbeni redak prepoznaje javu kao vanjsku ili unutarnju naredbu.



  1. Otvoren Upravljačka ploča i kliknite na Sistem i sigurnost .
  2. Kliknite na Sustav .

    Sustav

  3. Kliknite na Napredne postavke sustava a zatim kliknite na Varijable okoliša .

    Napredne postavke sustava

  4. U odjeljku System Variable (Sistemske varijable) kliknite put, a zatim kliknite Edit (Uredi). Nova Uredi varijablu okoliša pojavit će se okvir.

    Uredi put



  5. Sada idite na C: Programske datoteke Java u računalu. Otvorite mapu JDK, kliknite mapu bin, a zatim kopirajte put do te mape.

    Put mape kante

  6. Sada idite na okvir Uredi varijablu okoliša i kliknite na novo da napravite novu varijablu. Zalijepite put koji ste kopirali u gornjem koraku u novu varijablu i spremite je.
  7. Sada da biste potvrdili, ako je potpuno instaliran, otvorite naredbeni redak i upišite java –verzija .

    JAVA verzija

Sada ste uspješno instalirali Java JDK na svoje računalo. Dopustite nam da sada instaliramo Android Studio na vaše računalo. Instalacija ovog softvera vrlo je jednostavna. Morate otvoriti preuzetu datoteku i kliknuti dalje dok se softver potpuno ne instalira.

Korak 4: Povezivanje s Firebaseom

Sad kad smo instalirali Android Studio, pokrenimo ga i napravimo novi projekt za njegovo povezivanje s firebaseom. Da biste to učinili, slijedite sljedeće korake.

1. Pokrenite Android Studio i napravite novi projekt klikom na Prazna aktivnost .

Novi projekt

2. Sada svom projektu dajte naziv computerSwitc, Odaberi Kotlin kao jezik i odaberite minimalnu razinu API-ja prema vašem mobilnom telefonu.

Novi projekt

3. Budući da ćemo se Internetom služiti za upravljanje iglama maline pi. Postavit ćemo dozvolu u našoj aplikaciji za pristup lokalnom wifiju. Da biste to učinili, idite na aplikacija> manifesti> AndroidManifest.xml i dodajte sljedeću naredbu.

 

Dopuštenje za Internet

3. Sada kliknite n Alati. Pojavit će se padajući izbornik s kojeg odaberite Firebase.

Firebase veza

4. Na desnoj strani zaslona pojavit će se veliki izbornik koji će pružati izbornik gotovo svih usluga koje Firebase pruža. Ali trenutno je naš glavni fokus na bazi podataka u stvarnom vremenu. Dakle, kliknite bazu podataka u stvarnom vremenu. Poveznica na “ Spremi i preuzmi podatke ' pojavit će se. Kliknite tu vezu.

Firebase pomoćnik

5. Povežite se Povežite se s Firebaseom dugme. Odvest će vas do zadanog web preglednika. Prvo će se od vas tražiti da se prijavite na svoj Gmail račun. Zatim kliknite na Dodajte bazu podataka u stvarnom vremenu u svoju aplikaciju i prihvatite promjene.

6. Sada idite na Firebase konzola . Tamo ćete vidjeti već izrađeni projekt. Logotip androida na ikoni te projekcije znači da već pripada aplikaciji android.

7. Iz Razviti izbornik koji se pojavljuje na lijevoj strani zaslona, ​​odaberite Baza podataka. Gumb od Stvori bazu podataka pojavit će se s desne strane. Kliknite taj gumb.

8. Pojavit će se izbornik koji traži postavljanje načina rada vaše baze podataka. Kliknite na test mod a zatim kliknite Omogućiti .

Test Mode

9. Sad je zaista važan korak koji treba zapamtiti je promjena Cloud Firestore do Baza podataka u stvarnom vremenu. Da biste to učinili, kliknite gumb prikazan na donjoj slici i promijenite željenu opciju.

Firebase u stvarnom vremenu

10. Sada kliknite na Pravila karticu i promijenite konfiguracije u Pravi . Kad je sve gotovo, kliknite Objaviti .

Promjena konfiguracija

11. Jedna stvar koju trebate učiniti osim povezivanja firebasea je ažuriranje verzije baze podataka. Za to kliknite na ići dokumenti . Sada kliknite na vodiči i odaberite Vodiči za Android s popisa koji se pojavljuje na zaslonu. Pomaknite se prema dolje dok se ne pojavi tablica. Potražite bazu podataka u stvarnom vremenu u toj tablici i pronađite njezinu verziju. u mom slučaju jest 19.1.0

Verzija

12. Kliknite na Gradle skripte, izbornik na lijevoj strani zaslona. Zatim odaberite izgrađena. gradle (Modul: aplikacija). Sada u kodu potražite verziju baze podataka u stvarnom vremenu i zamijenite je novom.

Verzija Firebasea

13. Sada sinkronizirajte projekt klikom na gumb za sinkronizaciju koji se pojavljuje na vrhu zaslona.

Korak 5: Izrada izgleda

Sada, dok je naša android aplikacija povezana s firebaseom, napravimo izgled naše aplikacije koji će korisnik koristiti za uključivanje ili isključivanje računala. Da biste napravili raspored, idite na app> res> layout> activity_main.xml. gdje ćemo dizajnirati izgled. Kopirajte dolje navedeni kod da biste napravili tekstualni prikaz.

 

Izgled naše aplikacije izgledat će ovako:

Izgled aplikacije

Korak 6: Backend kodiranje u Kotlinu

Kako smo izradili prednji dio aplikacije, pomaknimo se korak naprijed i napišite pozadinski kôd kako bismo ga povezali s vatrenom bazom. Spojili smo preklopni prekidač koji će poslati 0 na bazu podataka firebase kada je isključeno, a 1 će poslati na bazu podataka firebase kad je ona u stanju uključenja.

Sada, u lijevom kutu, kliknite na app> java> com.example.computerswitch> glavna_aktivnost, i dodajte sljedeći kod tamo u svoj razred. Ako se dogodi bilo kakva pogreška u knjižnici, pritisnite ALT + ENTER za automatsko uključivanje te knjižnice.

var baza podataka = FirebaseDatabase.getInstance () var myRef = database.reference interni lateinit var btnSwitch: Prebacivanje nadjačavanja zabave onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitch. id.switch2) kao Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Na donjoj slici možete vidjeti da se, ako je prekidač uključen, '1' prenosi u Firebase bazu podataka. Slično tome, ovdje će se zamijeniti '0' kad se sklopka isključi.

Vrijednost

Korak 7: Početak rada s Arduinom

Ako prije niste radili na Arduino IDE-u, ne brinite jer je korak po korak za postavljanje Arduino IDE-a prikazan u nastavku.

  1. Preuzmite najnoviju verziju Arduino IDE sa Arduino.
  2. Spojite svoju Arduino ploču s računalom i otvorite upravljačku ploču. Kliknite na Hardver i zvuk. Sada otvoreno Uređaji i pisač i pronađite priključak na koji je spojena vaša ploča. U mom slučaju jest COM14, ali je različito u različitim računalima.

    Pronalaženje luke

  3. Kliknite Datoteka, a zatim Postavke. Kopirajte sljedeću vezu u Dodatni URL upravitelja odbora. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Postavke

  4. Sada, da bismo koristili ESP32 s Arduino IDE-om, moramo uvesti posebne knjižnice koje će nam omogućiti da narežemo kod na ESP32 i koristimo ga. ove su dvije knjižnice u prilogu na donjoj poveznici. Da biste uključili knjižnicu, idite na Skica> Uključi biblioteku> Dodaj ZIP biblioteku . Pojavit će se okvir. Pronađite mapu ZIP na računalu i kliknite U redu da biste uključili mape.

    Uključi biblioteku

  5. Sad idi Skica> Uključi biblioteku> Upravljanje knjižnicama.

    Upravljanje knjižnicama

  6. Otvorit će se izbornik. U traku za pretraživanje upišite Arduino JSON. Pojavit će se popis. Instalirati Arduino JSON Benoita Blanchona.

    Arduino JSON

  7. Sada kliknite na Alati. Pojavit će se padajući izbornik. Postavite ploču na ESP razvojni modul.

    Odbor za postavljanje

  8. Ponovno kliknite izbornik Alat i postavite priključak koji ste prije vidjeli na upravljačkoj ploči.

    Postavka porta

  9. Sada prenesite kôd koji je priložen na donjoj poveznici i kliknite gumb za prijenos da biste spalili kôd na ESP32 mikrokontroler .

    Učitaj

Dakle, sada kada učitate kôd, može se dogoditi pogreška. Ovo je najčešća pogreška koja se može dogoditi ako koristite novu verziju Arduino IDE-a i Arduino JSON-a. Slijede pogreške koje se mogu vidjeti na ekranu.

U datoteci uključenoj iz C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iz 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 je klasa iz ArduinoJsona 5. Pogledajte arduinojson.org/upgrade da biste saznali kako nadograditi svoj program na ArduinoJson verzija 6 StaticJsonBuffer jsonBuffer; ^ U datoteci uključenoj iz C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iz 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 je klasa iz ArduinoJsona 5. Molimo pogledajte arduinojson.org/upgrade da biste saznali kako nadograditi svoj program na ArduinoJson verzija 6 vraća StaticJsonBuffer (). ParseObject (_data); ^ Pronađeno je više knjižnica za 'WiFi.h' Korišteno: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  WiFi Ne koristi se: C:  Programske datoteke ( x86)  Arduino  libraries  WiFi Korištenje knjižnice WiFi u verziji 1.0 u mapi: C:  Users  Pro  AppData  Local  Arduino15  Packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Korištenje knjižnice IOXhop_FirebaseESP32-master u mapi: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Korištenje knjižnice HTTPClient verzije 1.2 u mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Korištenje knjižnice WiFiClientSecure u verziji 1.0 u mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Korištenje knjižnice ArduinoJson na verzija 6.12.0 u mapi: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status izlaza 1 Pogreška pri kompiliranju za modul ESP32 Dev.

Ne treba se brinuti jer te pogreške možemo ukloniti slijedeći nekoliko jednostavnih koraka. Te pogreške nastaju jer nova verzija Arduino JSON-a ima drugu klasu umjesto StaticJsonBuffer. Ovo je klasa JSON 5. Tako da ovu pogrešku možemo jednostavno ukloniti snižavanjem verzije Arduino JSON našeg Arduino IDE-a. Jednostavno idite na Skica> Uključi biblioteku> Upravljanje knjižnicama. Traziti Arduino JSON Benoita Blanchona koje ste već instalirali. Prvo ga deinstalirajte, a zatim postavite njegovu verziju na 5.13.5. Sada, kada smo postavili staru verziju Arduino JSON-a, instalirajte je ponovo i ponovno sastavite kôd. Ovaj put, vaš će se kod uspješno sastaviti.

Da biste preuzeli kôd, klik ovdje.

Korak 8: Sastavljanje kruga

Sad kad je naša aplikacija spremna i potpuno funkcionalna, pogledajmo kako ćemo spojiti sklop s računalom.

  1. Prije svega, uzmite razvodnu ploču i u nju spojite sve utikače računalnog sustava tj. Monitor, pisač, CPU, PSU itd.
  2. Sada uzmite spojni prekidač ove ploče i napravite presjek žice tako da se dvije žice, crna i crvena, vide iznutra.
  3. Izvadite crvenu žicu i izrežite je od sredine. Spojite jedan kraj žice u NO točku relejnog modula, a drugi kraj u COM točku relejne točke. (ne radi ništa s crnom žicom)
  4. Sada popravite ESP32 u ploči i napajajte ga pomoću 5V baterije. Spojite Vcc i masu modula Relej u ploču s pozitivnim i negativnim priključcima baterije.
  5. Izvršite sljedeću konfiguraciju s tranzistorom na ploči za ploču.

9. korak: kôd

Kôd je prilično jednostavan, ali ipak, ukratko je objašnjen u nastavku.

1. Na početku su uključene dvije knjižnice kako bi se firebase mogao koristiti s ESP32.

#include #include

2. Zatim se daju podaci o vašoj Firebase bazi podataka i Wifi vezi i proglašava se pin ESP-a koji će se koristiti s relejnim modulom.

#define FIREBASE_HOST 'xxxxx' // zamijenite ga svojim firebase domaćinom #define FIREBASE_AUTH 'xxxxx' // zamijenite ga svojim firebase autorizacijom #define WIFI_SSID 'xxxxx' // zamijenite ovo svojim WIFI SSID #define WIFI_xassxx 'xxxxx' xxxxx 'xxxxx' xxxxx 'xxxxx' xxxxx 'xxxxx' zamijenite je zaporkom za wifi int swi = 34; // spojimo pin34 ESP-a s relejnim modulom

3. void postavljanje () je funkcija koja se pokreće samo jednom kada se krug uključi ili pritisne gumb Omogući. Ovdje je napisan kod za povezivanje ESP ploče s WIFI-jem. Osovinica ESP-a koja se koristi s relejnim modulom ovdje je također deklarirana kao IZLAZ.

void setup () {Serial.begin (115200); pinMode (swi, IZLAZ); // spojiti na wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('povezivanje'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); kašnjenje (500); } Serial.println (); Serial.print ('povezano:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Četiri. petlja void () je funkcija koja se ponavlja u petlji. Ovdje se čita vrijednost iz vatrogasne baze. Ako je ova vrijednost jednaka '1', tada će se signal HIGH poslati modulu releja i računalo će se uključiti. Kad je ova vrijednost '0', računalo će se isključiti.

void loop () {// čitanje vrijednosti if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // // obrađuje pogrešku ako (Firebase.failed ()) {Serial.print ('postavka / broj nije uspio:'); Serial.println (Firebase.error ()); povratak; } kašnjenje (1000); }