Belaidžio įjungimo / išjungimo jungiklio sukūrimas asmeniniam kompiuteriui

Į Protingas Apšvietimą valdanti sistema, pramogų sistemos ir kiti prietaisai gali būti lengvai suprojektuoti namuose ir yra greičiausiai populiarėjanti šiuolaikinio pasaulio koncepcija. Išmaniojo namo sistemos - tai koncepcija, kai visi elektros prietaisai arba prietaisai valdomi naudojant vieną nuotolinio valdymo pultą. Šiais laikais vienas komponentas, pavyzdžiui, relės modulis, gali būti naudojamas įvairiems namo elektroniniams parametrams valdyti, pavyzdžiui, buitinės technikos perjungimui, apsaugos signalizacijos stebėjimui, garažo vartų automatizavimui ir kt. Šiame projekte mūsų Asmeninis kompiuteris bus kontroliuojamas „Android“ programa . Šiose sistemose nuotolinio valdymo pultas dažniausiai yra mobilioji programa. Kadangi „Android“ mobilusis telefonas yra labiausiai paplitęs tarp žmonių, todėl „Android“ programa yra geriausias būdas valdyti mūsų kompiuterį.



Belaidis kompiuterio jungiklis

Kaip padaryti belaidį kompiuterio jungiklį mobiliajame telefone?

1 žingsnis: surinkti komponentus

Norint sukurti bet kokį projektą, reikia žinoti, kokie yra pagrindiniai komponentai, kurių reikės norint jį užbaigti. Taigi puikus būdas prieš pradedant darbą yra išsamus visų komponentų sąrašas, siekiant sutaupyti laiko ir išvengti galimybės užstrigti projekto viduryje. Toliau pateikiamas išsamus visų lengvai rinkoje esančių komponentų sąrašas:



  • ESP32
  • 2N2222 NPN tranzistorius
  • 1k omo rezistorius (x2)
  • 5V relės modulis
  • Jungiamieji laidai

2 žingsnis: Programinės įrangos turi būti įdiegta

Kadangi ketiname padaryti belaidį jungiklį, mums reikės mygtuko jį įjungti ir išjungti. Norėdami valdyti šį mygtuką, norime naudoti mobilųjį telefoną, todėl mums reikės sukurti tam skirtą programą. Patogiausia programa yra „Android“ programa. Norėdami naudoti šią programą, turime įdiegti dvi programinės įrangos. Abu jie išvardyti žemiau:



  • „Android Studio“.
  • JAVA JDK.

3 žingsnis: įdiekite „Android Studio“

Prieš įdiegdami „Android Studio“, mes įdiegsime JAVA Pirmiausia JDK. Norėdami tai įdiegti, spustelėkite exe failą kurį atsisiuntėte iš pirmiau pateiktos nuorodos, ir spustelėkite toliau, kol ji bus sėkmingai įdiegta. Dabar atlikite šiuos veiksmus, kad jūsų komandų eilutė atpažintų „Java“ kaip išorinę arba vidinę komandą.



  1. Atviras Kontrolės skydelis ir spustelėkite Sistema ir apsauga .
  2. Spustelėkite Sistema .

    Sistema

  3. Spustelėkite Išplėstinis sistemos nustatymas ir tada spustelėkite Aplinkos kintamieji .

    Išplėstinis sistemos nustatymas

  4. Skyriuje Sistemos kintamasis spustelėkite kelią, tada spustelėkite Redaguoti. Naujas Redaguoti aplinkos kintamąjį pasirodys langelis.

    Redaguoti kelią



  5. Dabar eik į C: Program Files Java kompiuteryje. Atidarykite JDK aplanką, spustelėkite šiukšliadėžės aplanką ir nukopijuokite to aplanko kelią.

    Šiukšliadėžės aplanko kelias

  6. Dabar eikite į laukelį Redaguoti aplinkos kintamąjį ir spustelėkite naują, kad sukurtumėte naują kintamąjį. Įklijuokite kelią, kurį nukopijavote atlikdami pirmiau nurodytą veiksmą, į naują kintamąjį ir išsaugokite.
  7. Jei norite patvirtinti, jei jis yra visiškai įdiegtas, atidarykite komandų eilutę ir įveskite java –versija .

    JAVA versija

Dabar, kai sėkmingai įdiegėte „Java JDK“ savo kompiuteryje. Leiskite mums dabar įdiegti „Android Studio“ savo kompiuteryje. Įdiegti šią programinę įrangą yra labai lengva. Turite atidaryti atsisiųstą failą ir spustelėti toliau, kol jūsų programinė įranga bus visiškai įdiegta.

4 veiksmas: prisijungimas prie „Firebase“

Dabar, kai įdiegėme „Android Studio“, paleiskime ją ir sukurkime naują projektą, kad susietume jį su „Firebase“. Norėdami tai padaryti, atlikite šiuos veiksmus.

1. Paleiskite „Android Studio“ ir sukurkite naują projektą spustelėdami Tuščia veikla .

Naujas projektas

2. Dabar pavadinkite savo projektą kaip computerSwitc, pasirinkite Kotlinas kaip kalbą, ir pasirinkite minimalų API lygį pagal savo mobilųjį telefoną.

Naujas projektas

3. Kadangi mes naudosime internetą, kad valdytume aviečių pi kaiščius. Savo programoje nustatysime leidimą pasiekti vietinį „wifi“. Norėdami tai padaryti, eikite į app> manifestai> AndroidManifest.xml ir pridėkite šią komandą.

 

Leidimas internetu

3. Dabar spustelėkite n Įrankiai. Pasirodys išskleidžiamasis meniu, iš kurio pasirinkite „Firebase“.

„Firebase“ ryšys

4. Dešinėje ekrano pusėje pasirodys didelis meniu, kuriame bus pateiktas beveik visų „Firebase“ teikiamų paslaugų meniu. Tačiau šiuo metu pagrindinis dėmesys skiriamas realaus laiko duomenų bazei. Taigi spustelėkite „Real-Time Database“. Nuoroda į „ Išsaugoti ir gauti duomenis ' atsiras. Spustelėkite tą nuorodą.

„Firebase“ padėjėjas

5. Prijunkite Prisijunkite prie „Firebase“ mygtuką. Nukreipsite į numatytąją žiniatinklio naršyklę. Pirmiausia ji paprašys prisijungti prie „Gmail“ paskyros. Tada spustelėkite Pridėkite realaus laiko duomenų bazę prie savo programos ir priimti pakeitimus.

6. Dabar eik į „Firebase“ pultas . Ten pamatysite jau padarytą projektą. „Android“ logotipas ant tos projekcijos piktogramos reiškia, kad jis jau priklauso „Android“ programai.

7. Iš Vystytis kairiajame ekrano šone pasirodantį meniu pasirinkite Duomenų bazė. Mygtukas Sukurti duomenų bazę pasirodys dešinėje. Spustelėkite tą mygtuką.

8. Pasirodys meniu, kuriame bus prašoma nustatyti jūsų duomenų bazės režimą. Spustelėkite testavimo režimas ir tada spustelėkite Įgalinti .

Testavimo režimas

9. Dabar tikrai svarbu prisiminti žingsnį Debesų užkarda į Realaus laiko duomenų bazė. Norėdami tai padaryti, spustelėkite mygtuką, parodytą žemiau esančiame paveikslėlyje, ir pakeiskite norimą parinktį.

„Firebase“ realiuoju laiku

10. Dabar spustelėkite Taisyklės skirtuką ir pakeiskite konfigūracijas į Tiesa . Kai viskas bus padaryta, spustelėkite Publikuoti .

Konfigūracijų keitimas

11. Vienas dalykas, kurį turite padaryti, išskyrus prijungti „Firebase“, yra atnaujinti duomenų bazės versiją. Norėdami tai padaryti, spustelėkite eiti į dokumentai . Dabar spustelėkite vadovai ir pasirinkite „Android“ vadovai iš ekrane pasirodančio sąrašo. Slinkite žemyn, kol pasirodys lentelė. Toje lentelėje ieškokite „Real-Time Database“ ir raskite jos versiją. mano atveju taip yra 19.1.0

Versija

12. Spustelėkite „Gradle Scripts“, meniu kairėje ekrano pusėje. Tada pasirinkite pastatytas. gradle (modulis: programa). Dabar kode ieškokite „Real-Time“ duomenų bazės versijos ir pakeiskite ją nauja.

„Firebase“ versija

13. Dabar sinchronizuokite projektą spustelėdami ekrano viršuje rodomą sinchronizavimo mygtuką.

5 žingsnis: maketo sudarymas

Dabar, kai mūsų „Android“ programa yra prijungta prie „Firebase“, padarykime savo programos išdėstymą, kurį vartotojas naudos kompiuteriui įjungti arba išjungti. Norėdami sukurti maketą, eikite į programa> res> maketas> activity_main.xml. kur suprojektuosime maketą. Nukopijuokite žemiau pateiktą kodą, kad sukurtumėte teksto rodinį.

 

Mūsų programos išdėstymas atrodys taip:

Programos maketas

6 žingsnis: „Backend“ kodavimas „Kotlin“

Sukūrę programos sąsają, judėkime vienu žingsniu į priekį ir parašykime vidinės programos kodą, kad susietume jį su „Firebase“. Prijungėme perjungiklį, kuris išsiųs 0 į „Firebase“ duomenų bazę, kai būsena bus išjungta, ir jis išsiųs 1 į „Firebase“ duomenų bazę, kai ji bus įjungta.

Dabar kairiajame kampe spustelėkite programa> java> com.example.computerswitch> main_activity, ir pridėkite šį kodą savo klasėje. Jei atsiranda kokių nors bibliotekos klaidų, paspauskite ALT + ENTER automatiškai įtraukti tą biblioteką.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch override fun onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitch. id.switch2) kaip perjungti btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Žemiau esančiame paveikslėlyje matote, kad jei jungiklis įjungtas, „1“ yra įkeltas į „Firebase“ duomenų bazę. Panašiai čia bus pakeistas „0“, kai išjungiamas jungiklis.

Vertė

7 žingsnis: darbo pradžia naudojant „Arduino“

Jei anksčiau nedirbote su „Arduino IDE“, nesijaudinkite, nes žingsnis po žingsnio pateikiamas „Arduino IDE“ nustatymas.

  1. Atsisiųskite naujausią „Arduino IDE“ versiją iš Arduino.
  2. Prijunkite „Arduino“ plokštę prie kompiuterio ir atidarykite Valdymo skydą. Spustelėkite Aparatūra ir garsas. Dabar atidaryta Prietaisai ir spausdintuvas ir suraskite prievadą, prie kurio prijungta jūsų plokštė. Mano atveju taip yra COM14, bet skirtinguose kompiuteriuose yra skirtinga.

    Rasti uostą

  3. Spustelėkite Failas, tada spustelėkite Nuostatos. Nukopijuokite šią nuorodą į Papildomas valdybos valdytojo URL. „ https://dl.espressif.com/dl/package_esp32_index.json '

    Nuostatos

  4. Dabar, norėdami naudoti ESP32 su „Arduino IDE“, turime importuoti specialias bibliotekas, kurios leis mums įrašyti kodą ESP32 ir jį naudoti. šios dvi bibliotekos yra pridėtos žemiau pateiktoje nuorodoje. Norėdami įtraukti biblioteką, eikite Eskizas> Įtraukti biblioteką> Pridėti ZIP biblioteką . Pasirodys langelis. Kompiuteryje raskite aplanką ZIP ir spustelėkite Gerai, jei norite įtraukti aplankus.

    Įtraukti biblioteką

  5. Dabar eik Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas.

    Tvarkyti bibliotekas

  6. Bus atidarytas meniu. Paieškos juostoje įveskite Arduino JSON. Bus parodytas sąrašas. Diegti Benoit Blanchon sukūrė „Arduino JSON“.

    Arduino JSON

  7. Dabar spustelėkite Įrankiai. Bus parodytas išskleidžiamasis meniu. Nustatykite lentą į ESP „Dev“ modulis.

    Nustatymo lenta

  8. Dar kartą spustelėkite meniu Įrankis ir nustatykite prievadą, kurį anksčiau pastebėjote valdymo pulte.

    Uosto nustatymas

  9. Dabar įkelkite kodą, pridėtą žemiau esančioje nuorodoje, ir spustelėkite mygtuką 'Įkelti', kad įrašytumėte kodą ESP32 mikrovaldiklis .

    Įkelti

Taigi dabar, kai įkelsite kodą, gali įvykti klaida. Tai yra dažniausiai pasitaikanti klaida, kuri gali kilti, jei naudojate naują „Arduino IDE“ ir „Arduino JSON“ versiją. Toliau pateikiamos klaidos, kurias galite pamatyti ekrane.

Į failą, įtrauktą iš C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš 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 yra „ArduinoJson“ klasė. Norėdami sužinoti, kaip atnaujinti programą į „ArduinoJson“, žr. Arduinojson.org/upgrade. 6 versija „StaticJsonBuffer“ „jsonBuffer“; ^ Faile, esančiame iš C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  bibliotekas  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: klaida: StaticJsonBuffer yra „ArduinoJson“ klasė 5. Norėdami sužinoti, kaip atnaujinti programą į, žr. Arduinojson.org/upgrade. „ArduinoJson“ 6 versija pateikia „StaticJsonBuffer“ (). ParseObject (_data); ^ Rasta kelios „WiFi.h“ bibliotekos. Naudota: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Nenaudojama: C:  Program Files ( x86)  Arduino  libraries  WiFi Naudojant bibliotekos „WiFi“ versiją 1.0 versijoje aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  bibliotekas  WiFi  Naudojant biblioteką IOXhop_FirebaseESP32-master aplanke: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (palikimas) Naudojant bibliotekos HTTPClient 1.2 versiją aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  bibliotekas  HTTPClient bibliotekos „WiFiClientSecure“ naudojimas naudojant 1.0 versiją aplanke: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure Biblioteka „ArduinoJson“ naudojimas 6.12.0 versija aplanke: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Klaida rengiant plokštės ESP32 „Dev“ modulį.

Nėra ko jaudintis, nes šias klaidas galime pašalinti atlikdami kelis paprastus veiksmus. Šios klaidos kyla dėl to, kad naujojoje „Arduino JSON“ versijoje vietoj kitos yra kita klasė „StaticJsonBuffer“. Tai yra „JSON 5“ klasė. Taigi mes galime paprasčiausiai pašalinti šią klaidą, sumažinę „Arduino JSON“ versiją savo „Arduino IDE“. Paprasčiausiai eikite į Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas. Ieškoti Benoit Blanchon sukūrė „Arduino JSON“ kurį jau įdiegėte. Pirmiausia pašalinkite jį, tada nustatykite jo versiją 5.13.5. Dabar, kai nustatėme seną „Arduino JSON“ versiją, įdiekite ją dar kartą ir sukompiliuokite kodą. Šį kartą jūsų kodas bus sėkmingai sukompiliuotas.

Norėdami atsisiųsti kodą, spustelėkite čia.

8 žingsnis: grandinės surinkimas

Dabar, kai mūsų programa yra parengta ir visiškai veikia, pažiūrėkime, kaip mes sujungsime grandinę su kompiuteriu.

  1. Pirmiausia paimkite skirstomąjį skydą ir prijunkite visus jame esančius kompiuterinės sistemos kištukus, ty monitorių, spausdintuvą, procesorių, PSU ir kt.
  2. Dabar paimkite šios plokštės jungiamąjį jungiklį ir supjaustykite laidą taip, kad iš vidaus būtų matomi du laidai - juoda ir raudona.
  3. Išimkite raudoną laidą ir nupjaukite jį nuo vidurio. Vieną laido galą prijunkite prie relės modulio NO taško, o kitą galą - prie relės taško COM taško. (nieko nedaryk su juoda viela)
  4. Dabar pritvirtinkite ESP32 į duoną ir maitinkite jį naudodami 5 V bateriją. Prijunkite relės modulio Vcc ir įžeminimą duonos lentoje su teigiamais ir neigiamais akumuliatoriaus gnybtais.
  5. Atlikite šią konfigūraciją naudodami duonos lentos tranzistorių.

9 žingsnis: kodas

Kodas yra gana paprastas, bet vis tiek jis trumpai paaiškinamas toliau.

1. Pradžioje yra dvi bibliotekos, kad „Firebase“ būtų galima naudoti su ESP32.

# įtraukti # įtraukti

2. Tada pateikiama informacija apie jūsų „Firebase“ duomenų bazę ir „Wifi“ ryšį ir deklaruojamas ESP kaištis, kuris bus naudojamas su relės moduliu.

#define FIREBASE_HOST 'xxxxx' // pakeiskite jį savo „Firebase“ pagrindiniu kompiuteriu #define FIREBASE_AUTH 'xxxxx' // pakeiskite jį savo „Firebase“ autentifikavimu #define WIFI_SSID 'xxxxx' // pakeiskite tai savo WIFI SSID #define WIFI_PASSWORD 'xxxxx' // pakeiskite jį savo „wifi“ slaptažodžiu int swi = 34; // prijunkite ESP pin34 su relės moduliu

3. negaliojanti sąranka () yra funkcija, kuri veikia tik vieną kartą, kai grandinė įjungiama arba paspaudžiamas mygtukas Įgalinti. Čia yra parašytas kodas, prijunkite ESP plokštę prie WIFI. ESP kaištis, naudojamas su relės moduliu, čia taip pat deklaruojamas kaip OUTPUT.

negaliojanti sąranka () {Serial.begin (115200); pinMode (swi, OUTPUT); // prisijungti prie „wifi“. „WiFi.begin“ (WIFI_SSID, WIFI_PASSWORD); Serial.println ('jungiantis'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); vėlavimas (500); } Serial.println (); Serial.print ('prijungtas:'); Serial.println („WiFi.localIP“ ()); „Firebase.begin“ (FIREBASE_HOST, FIREBASE_AUTH); }

Keturi. tuščia kilpa () yra funkcija, kuri kartojasi cikle. Čia nuskaitoma ugnies bazės vertė. Jei ši reikšmė lygi „1“, tada HIGH signalas bus siunčiamas į relės modulį ir kompiuteris įsijungs. Kai ši reikšmė yra „0“, kompiuteris bus išjungtas.

void loop () {// skaitykite reikšmę if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // rankenos klaida, jei (Firebase.failed ()) {Serial.print ('nepavyko nustatyti / numerio:'); „Serial.println“ („Firebase.error“); grįžti; } vėlavimas (1000); }