Ustvarjanje brezžičnega stikala za vklop / izklop za računalnik

TO Pametno Sistem, ki nadzoruje razsvetljavo, sisteme za razvedrilo in druge naprave, je mogoče enostavno zasnovati doma in so hkrati najhitreje rastoči koncept sodobnega sveta. Sistem pametnega doma je koncept, pri katerem se vse električne naprave ali naprave krmilijo z enim samim daljinskim upravljalnikom. Danes lahko eno samo komponento, kot je relejni modul, uporabljamo za nadzor različnih elektronskih parametrov hiše, na primer preklapljanje gospodinjskih aparatov, nadzor varnostnih alarmov, avtomatizacijo garažnih vrat itd. Osebni računalnik bo nadzoroval Aplikacija za Android . V teh sistemih je daljinski upravljalnik največkrat mobilna aplikacija. Ker je mobilni telefon android najpogostejši med ljudmi, je tudi android aplikacija je najboljša možnost za nadzor našega računalnika.



Brezžično računalniško stikalo

Kako narediti brezžično stikalo za računalnik na mobilnem telefonu?

1. korak: Zbiranje komponent

Če želite narediti kateri koli projekt, morate vedeti, katere so osnovne komponente, ki jih boste potrebovali za dokončanje. Odličen pristop je torej, da pred začetkom del sestavite popoln seznam vseh komponent, da prihranite čas in se izognete možnosti, da bi zataknili sredi projekta. Spodaj je podan popoln seznam vseh sestavnih delov, ki so lahko dostopni na trgu:



  • ESP32
  • 2N2222 NPN tranzistor
  • 1k-ohmski upor (x2)
  • 5V relejni modul
  • Priključne žice

2. korak: Namestitev programske opreme

Ko bomo naredili brezžično stikalo, bomo za vklop in izklop potrebovali gumb. Za upravljanje tega gumba želimo uporabiti mobilni telefon, zato bomo morali razviti aplikacijo za to. Najbolj priročna aplikacija je aplikacija za android. Za uporabo te aplikacije moramo namestiti dve programski opremi. Oba sta navedena spodaj:



  • Android Studio.
  • JAVA JDK.

3. korak: Namestitev Android Studio

Pred namestitvijo Android Studio bomo namestili JAVA Najprej JDK. Če želite to namestiti, kliknite exe mapa ki ste jo prenesli z zgornje povezave in kliknite Naprej, dokler ni uspešno nameščena. Zdaj pojdite skozi naslednje korake, tako da vaš ukazni poziv prepozna javo kot zunanji ali notranji ukaz.



  1. Odprto Nadzorna plošča in kliknite Sistem in varnost .
  2. Kliknite na Sistem .

    Sistem

  3. Kliknite na Napredne sistemske nastavitve in nato kliknite Okoljske spremenljivke .

    Napredne sistemske nastavitve

  4. V razdelku Sistemska spremenljivka kliknite pot in nato uredi. Novo Uredi spremenljivko okolja polje se prikaže.

    Uredi pot



  5. Zdaj pa pojdi na C: Programske datoteke Java v računalniku. Odprite mapo JDK, kliknite mapo bin in nato kopirajte pot do te mape.

    Pot mape bin

  6. Zdaj pojdite na polje Uredi okoljsko spremenljivko in kliknite novo, da ustvarite novo spremenljivko. Pot, ki ste jo kopirali v zgornjem koraku, prilepite v novo spremenljivko in jo shranite.
  7. Če želite potrditi, če je popolnoma nameščen, odprite ukazni poziv in vnesite java –verzija .

    Različica JAVA

Zdaj, ko ste v svoj računalnik uspešno namestili Java JDK. Dovolite nam, da zdaj namestimo Android Studio v vaš računalnik. Namestitev te programske opreme je zelo enostavna. Odprto datoteko morate odpreti in klikniti naprej, dokler ni popolnoma nameščena programska oprema.

4. korak: Povezava z Firebase

Zdaj, ko smo namestili Android Studio, ga zaženimo in naredimo nov projekt za njegovo povezavo z ognjiščem. Če želite to narediti, sledite naslednjim korakom.

1. Zaženite Android Studio in ustvarite nov projekt s klikom na Prazna dejavnost .

Nov projekt

2. Zdaj poimenujte svoj projekt kot computerSwitc, izberite Kotlin kot jezik in izberite najnižjo raven API glede na vaš mobilni telefon.

Nov projekt

3. Ker bomo uporabljali internet za nadzor zatičev maline pi. V naši aplikaciji bomo nastavili dovoljenje za dostop do lokalnega wifi-ja. Če želite to narediti, pojdite na app> manifesti> AndroidManifest.xml in dodajte naslednji ukaz.

 

Dovoljenje za internet

3. Zdaj kliknite n Orodja. Prikaže se spustni meni, iz katerega izberite Firebase.

Povezava Firebase

4. Na desni strani zaslona se prikaže velik meni, ki bo zagotovil meni skoraj vseh storitev, ki jih nudi Firebase. Toda zdaj se osredotočamo predvsem na podatkovno bazo v realnem času. Torej kliknite Real-Time Database. Povezava do » Shranjevanje in pridobivanje podatkov ' se bo prikazal. Kliknite to povezavo.

Pomočnik Firebase

5. Povežite se Povežite se z Firebase . Odprl vas bo privzeti spletni brskalnik. Najprej vas bo pozval, da se prijavite v svoj Gmail račun. Nato kliknite Dodajte aplikacijo Realtime Database v svojo aplikacijo in sprejmite spremembe.

6. Zdaj pa pojdi na Konzola Firebase . Tam boste videli že narejen projekt. Logotip android na ikoni te projekcije pomeni, da že pripada aplikaciji android.

7. Od Razviti meniju, ki se prikaže na levi strani zaslona, ​​izberite Zbirka podatkov. Gumb za Ustvari bazo podatkov se prikaže na desni. Kliknite ta gumb.

8. Pojavil se bo meni s prošnjo za nastavitev načina vaše baze podatkov. Kliknite na Testni način in nato kliknite Omogoči .

Testni način

9. Zdaj je zelo pomemben korak, ki si ga je treba zapomniti, spremeniti Cloud Firestore do Baza podatkov v realnem času. To storite tako, da kliknete gumb, prikazan na spodnji sliki, in spremenite želeno možnost.

Firebase v realnem času

10. Zdaj kliknite na Pravila zavihek in spremenite konfiguracije na Prav . Ko je vse končano, kliknite Objavi .

Spreminjanje konfiguracij

11. Ena stvar, ki jo morate storiti, razen povezave firebase, je posodobitev različice baze podatkov. Za to kliknite Pojdi do dokumenti . Zdaj kliknite na vodniki in izberite Android vodniki s seznama, ki se prikaže na zaslonu. Pomaknite se navzdol, dokler se ne prikaže tabela. V tej tabeli poiščite podatkovno bazo v realnem času in poiščite njeno različico. v mojem primeru je 19.1.0

Različica

12. Kliknite Gradle skripte, meni na levi strani zaslona. Nato izberite zgrajeno. gradle (modul: aplikacija). Zdaj v kodi poiščite različico baze podatkov v realnem času in jo zamenjajte z novo.

Različica Firebase

13. Zdaj sinhronizirajte projekt s klikom na gumb za sinhronizacijo, ki se prikaže na vrhu zaslona.

5. korak: Izdelava postavitve

Zdaj, ko je naša aplikacija za Android povezana s firebaseom, naredimo postavitev naše aplikacije, ki jo bo uporabnik uporabljal za vklop ali izklop računalnika. Če želite narediti postavitev, pojdite na app> res> layout> activity_main.xml. kjer bomo oblikovali postavitev. Kopirajte spodnjo kodo, da ustvarite besedilni pogled.

 

Postavitev naše aplikacije bo videti tako:

Postavitev aplikacije

6. korak: Backend kodiranje v Kotlinu

Ko smo naredili čelno stran aplikacije, se pomaknimo korak naprej in napišemo zaledno kodo, da jo povežemo z ognjiščem. Priključili smo preklopno stikalo, ki bo v bazo podatkov firebase poslalo 0, ko je stanje izklopljeno, v zbirko podatkov Firebase pa 1, ko je ta vklopljeno.

Zdaj v levem kotu kliknite app> java> com.example.computerswitch> main_activity, in v svoj razred dodajte naslednjo kodo. Če pride do napake v knjižnici, pritisnite ALT + ENTER za samodejno vključitev te knjižnice.

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

Na spodnji sliki lahko vidite, da če je stikalo vklopljeno, se v bazo podatkov Firebase naloži '1'. Podobno bo tu zamenjana '0', ko je stikalo izklopljeno.

Vrednost

7. korak: Začetek uporabe Arduina

Če še niste delali na Arduino IDE, ne skrbite, ker je spodaj prikazan korak za korakom za nastavitev Arduino IDE.

  1. Prenesite najnovejšo različico Arduino IDE iz Arduino.
  2. Povežite svojo ploščo Arduino z računalnikom in odprite nadzorno ploščo. Kliknite na Strojna oprema in zvok. Zdaj odprto Naprave in tiskalnik in poiščite vrata, na katera je priključena vaša plošča. V mojem primeru je COM14, v različnih računalnikih pa je drugače.

    Iskanje pristanišča

  3. Kliknite Datoteka in nato Nastavitve. Kopirajte naslednjo povezavo v Dodatni URL upravitelja odbora. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Preference

  4. Zdaj moramo za uporabo ESP32 z Arduino IDE uvoziti posebne knjižnice, ki nam bodo omogočile zapisovanje kode na ESP32 in njeno uporabo. ti knjižnici sta priloženi v spodnji povezavi. Če želite vključiti knjižnico, pojdite na Skica> Vključi knjižnico> Dodaj knjižnico ZIP . Pojavilo se bo polje. V računalniku poiščite mapo ZIP in kliknite V redu, da vključite mape.

    Vključi knjižnico

  5. Zdaj pa pojdi Skica> Vključi knjižnico> Upravljanje knjižnic.

    Upravljanje knjižnic

  6. Odpre se meni. V iskalno vrstico vnesite Arduino JSON. Pojavil se bo seznam. Namestite Arduino JSON, avtor Benoit Blanchon.

    Arduino JSON

  7. Zdaj kliknite na Orodja. Prikaže se spustni meni. Nastavite ploščo na ESP Dev modul.

    Nastavitvena plošča

  8. Znova kliknite meni Orodje in nastavite vrata, ki ste jih prej opazili na nadzorni plošči.

    Nastavitev vrat

  9. Zdaj naložite kodo, ki je priložena spodnji povezavi, in kliknite gumb za prenos, da zapišete kodo na Mikrokrmilnik ESP32 .

    Naloži

Torej, ko boste naložili kodo, lahko pride do napake. To je najpogostejša napaka, ki se lahko pojavi, če uporabljate novo različico Arduino IDE in Arduino JSON. Sledijo napake, ki jih lahko vidite na zaslonu.

V datoteki 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 razred iz ArduinoJson 5. Če želite izvedeti, kako nadgradite svoj program na ArduinoJson, glejte arduinojson.org/upgrade različica 6 StaticJsonBuffer jsonBuffer; ^ V datoteki 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 razred iz ArduinoJson 5. Glejte arduinojson.org/upgrade, če želite izvedeti, kako nadgradite svoj program na ArduinoJson različica 6 vrne StaticJsonBuffer (). ParseObject (_data); ^ Za 'WiFi.h' je bilo najdenih več knjižnic. Uporabljeno: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  knjižnice  WiFi Ni uporabljeno: C:  Programske datoteke ( x86)  Arduino  libraries  WiFi Uporaba knjižnice WiFi v različici 1.0 v mapi: C:  Users  Pro  AppData  Local  Arduino15  пакети  esp32  hardware  esp32  1.0.2  libraries  WiFi Uporaba knjižnice IOXhop_FirebaseESP32-master v mapi: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Uporaba knjižnice HTTPClient različice 1.2 v mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Uporaba knjižnice WiFiClientSecure v različici 1.0 v mapi: C:  Users  Pro  AppData  Local  Arduino15  paketi  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Uporaba knjižnice ArduinoJson na različica 6.12.0 v mapi: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status izhoda 1 Napaka pri prevajanju za modul ESP32 Dev.

Nič ne skrbi, ker lahko te napake odpravimo z nekaj preprostimi koraki. Te napake nastajajo, ker ima nova različica Arduino JSON namesto drugega razred StaticJsonBuffer. To je razred JSON 5. Torej lahko to napako preprosto odpravimo tako, da znižamo različico Arduino JSON našega Arduino IDE. Preprosto pojdite na Skica> Vključi knjižnico> Upravljanje knjižnic. Išči Arduino JSON, avtor Benoit Blanchon ki ste ga že namestili. Najprej ga odstranite in nato nastavite njegovo različico na 5.13.5. Zdaj, ko smo nastavili staro različico Arduino JSON, jo znova namestite in ponovno prevedite kodo. Tokrat bo vaša koda uspešno prevedena.

Če želite prenesti kodo, kliknite tukaj.

8. korak: Sestavljanje vezja

Zdaj, ko je naša aplikacija pripravljena in popolnoma deluje, poglejmo, kako bomo vezje povezali z računalnikom.

  1. Najprej vzemite stikalno ploščo in v njej priključite vse vtiče računalniškega sistema, to je Monitor, tiskalnik, CPU, PSU itd.
  2. Zdaj vzemite povezovalno stikalo te plošče in naredite zarezo med žico, tako da sta dve žici, črna in rdeča, vidni od znotraj.
  3. Izvlecite rdečo žico in jo odrežite od sredine. En konec žice povežite v točki NO relejnega modula, drugi konec pa v točki COM relejske točke. (ne delaj ničesar s črno žico)
  4. Zdaj pritrdite ESP32 v ploščo in ga napajajte s 5V baterijo. Vcc in ozemljitev modula releja priključite na ploščo s pozitivnimi in negativnimi priključki akumulatorja.
  5. Izvedite naslednjo konfiguracijo s tranzistorjem na plošči.

9. korak: koda

Koda je precej preprosta, vendar vseeno na kratko pojasnjena v nadaljevanju.

1. Na začetku sta vključeni dve knjižnici, tako da se Firebase lahko uporablja z ESP32.

#include #include

2. Nato so podane informacije o vaši bazi podatkov firebase in povezavi Wifi ter razglašen pin ESP, ki bo uporabljen z relejskim modulom.

#define FIREBASE_HOST 'xxxxx' // zamenjajte ga s svojim gostiteljem firebase #define FIREBASE_AUTH 'xxxxx' // zamenjajte ga s svojim firebase auth #define WIFI_SSID 'xxxxx' // to zamenjajte z vašim WIFI SSID #define WIFI_xASSxx 'xxxxxx' xxxxx 'xxxxx' xxxxx 'xxxxx' xxxxx ' zamenjajte ga z geslom za wifi int swi = 34; // priključimo pin34 ESP z relejskim modulom

3. void setup () je funkcija, ki deluje samo enkrat, ko je vezje vklopljeno ali je pritisnjen gumb Omogoči. Tu je zapisana koda za povezavo plošče ESP z omrežjem WIFI. Zatič ESP, ki se uporablja z relejskim modulom, je tukaj tudi razglašen za IZHOD.

void setup () {Serial.begin (115200); pinMode (swi, IZHOD); // povezava z wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('povezovanje'); medtem ko (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); zamuda (500); } Serial.println (); Serial.print ('povezan:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Štiri. void loop () je funkcija, ki se večkrat izvaja v zanki. Tu se prebere vrednost iz ognjišča. Če je ta vrednost enaka '1', se signal HIGH pošlje relejskemu modulu in računalnik se vklopi. Ko je ta vrednost '0', se računalnik izklopi.

void loop () {// branje vrednosti if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // obravnava napake, če (Firebase.failed ()) {Serial.print ('nastavitev / številka ni uspela:'); Serial.println (Firebase.error ()); vrnitev; } zamuda (1000); }