Traadita sisse- ja väljalüliti loomine arvutile

TO Nutikas valgustuse, meelelahutussüsteemide ja muude seadmete juhtimissüsteemi saab kodus hõlpsasti kujundada ning see on ka kaasaegse maailma kõige kiiremini kasvav kontseptsioon. Nutikodu süsteemid on mõiste, kus kõiki elektriseadmeid või seadmeid juhitakse ühe kaugjuhtimispuldi abil. Tänapäeval saab maja mitmesuguste elektrooniliste parameetrite juhtimiseks kasutada ühte komponenti, nagu releemoodulit, näiteks kodumasinate ümberlülitamine, turvahäirete jälgimine, garaažiuste automaatika jne. Personaalarvuti kontrollib Androidi rakendus . Nendes süsteemides on kaugjuhtimispult enamasti mobiilirakendus. Kuna android-mobiil on inimeste seas kõige levinum, on ka android rakendus on parim viis meie arvuti juhtimiseks.



Traadita arvuti lüliti

Kuidas teha mobiiltelefonis traadita lüliti arvutisse?

1. samm: komponentide kogumine

Mis tahes projekti tegemiseks peab teadma, millised on põhikomponendid, mida keegi selle lõpuleviimiseks vajab. Nii on suurepärane lähenemine enne töö alustamist kõigi komponentide täielik loetelu koostamine, et säästa aega ja vältida võimalust projekti keskele kinni jääda. Allpool on toodud kõigi turul hõlpsasti kättesaadavate komponentide täielik loetelu:



  • ESP32
  • 2N2222 NPN transistor
  • 1 k-oomi takisti (x2)
  • 5V relee moodul
  • Juhtmete ühendamine

2. samm: installitavad tarkvarad

Kuna teeme juhtmeta lüliti, vajame selle sisse- ja väljalülitamiseks nuppu. Selle nupu kasutamiseks soovime kasutada mobiiltelefoni, nii et peame selle jaoks välja töötama rakenduse. Kõige mugavam rakendus on android-rakendus. Selle rakenduse kasutamiseks peame installima kaks tarkvara. Mõlemad on loetletud allpool:



  • Android Studio.
  • JAVA JDK.

3. samm: installige Android Studio

Enne Android Studio installimist installime JAVA JDK kõigepealt. Selle installimiseks klõpsake nuppu exe faili ülaltoodud lingilt alla laaditud ja klõpsake nuppu Edasi, kuni see on edukalt installitud. Nüüd tehke järgmised sammud, nii et teie käsuviip tuvastaks java välise või sisemise käsuna.



  1. Avatud Kontrollpaneel ja klõpsake nuppu Süsteem ja turvalisus .
  2. Kliki Süsteem .

    Süsteem

  3. Kliki Täpsem süsteemi seadistamine ja seejärel klõpsake nuppu Keskkonnamuutujad .

    Täpsem süsteemi seadistamine

  4. Klõpsake jaotises Süsteemimuutuja teed ja seejärel käsku Muuda. Uus Muuda keskkonnamuutujat ilmub kast.

    Muuda rada



  5. Nüüd mine C: Program Files Java arvutisse. Avage JDK kaust, klõpsake prügikasti kaustal ja kopeerige seejärel selle kausta tee.

    Prügikasti kausta tee

  6. Nüüd minge kasti Muuda keskkonnamuutujat ja klõpsake uue muutuja loomiseks nuppu Uus. Kleepige ülaltoodud etapis kopeeritud tee uude muutujasse ja salvestage see.
  7. Kui soovite selle täielikult installida, avage käsuviip ja tippige java –versioon .

    JAVA versioon

Nüüd, kui olete Java JDK edukalt oma arvutisse installinud. Installime nüüd Android Studio oma arvutisse. Selle tarkvara installimine on väga lihtne. Peate avama allalaaditud faili ja klõpsama edasi, kuni teie tarkvara on täielikult installitud.

4. samm: ühendus Firebase'iga

Nüüd, kui oleme installinud Android Studio, laseme selle käivitada ja koostada uus projekt selle ühendamiseks tuletõrjebaasiga. Selleks toimige järgmiselt.

1. Käivitage Android Studio ja tehke uus projekt, klõpsates nuppu Tühi tegevus .

Uus projekt

2. Nüüd nimetage oma projekti nimeks computerSwitc, valige Kotlin keelena ja valige vastavalt oma mobiiltelefonile minimaalne API-tase.

Uus projekt

3. Kuna me kasutame vaarika pi tihvtide juhtimiseks Internetti. Määrame oma rakenduses loa juurdepääsuks kohalikule wifi-le. Selleks minge aadressile rakendus> manifestid> AndroidManifest.xml ja lisage järgmine käsk.

 

Interneti-luba

3. Nüüd klõpsake nuppu n Tööriistad. Ilmub rippmenüü, millest valige Firebase.

Firebase'i ühendus

4. Ekraani paremasse serva ilmub suur menüü, mis pakub peaaegu kõigi Firebase'i pakutavate teenuste menüüd. Kuid praegu on meie põhirõhk reaalajas andmebaasil. Nii et klõpsake reaalajas andmebaasil. Link saidile Andmete salvestamine ja hankimine ' ilmub. Klõpsake sellel lingil.

Firebase'i abimees

5. Ühendage sisse Ühendage Firebase'iga nuppu. See viib teid vaikebrauserisse. Esiteks palub see teil oma Gmaili kontole sisse logida. Seejärel klõpsake nuppu Lisage oma rakendusse reaalajas andmebaas ja nõustuge muudatustega.

6. Minge nüüd Firebase'i konsool . Seal näete juba tehtud projekti. Selle projeti ikooni androidi logo tähendab, et see kuulub juba android-rakendusse.

7. Alates Arenda ekraani vasakus servas kuvatavas menüüs valige Andmebaas. Nupp Loo andmebaas ilmub paremale. Klõpsake seda nuppu.

8. Ilmub menüü, kus palutakse määrata teie andmebaasi režiim. Kliki testrežiim ja seejärel klõpsake nuppu Luba .

Testrežiim

9. Nüüd on tõesti oluline samm meeles pidada, et muuta Pilv Firestore kuni Reaalajas andmebaas. Selleks klõpsake alloleval pildil näidatud nuppu ja muutke soovitud suvandit.

Reaalajas Firebase

10. Nüüd klõpsake nuppu Reeglid vahekaardil ja muutke konfiguratsiooniks Tõsi . Kui kõik on tehtud, klõpsake nuppu Avalda .

Konfiguratsioonide muutmine

11. Üks asi, mida peate tegema lisaks Firebase'i ühendamisele, on andmebaasi versiooni värskendamine. Selleks klõpsake nuppu minema dokumendid . Nüüd klõpsake nuppu juhendid ja valige Androidi juhendid ekraanil kuvatavast loendist. Kerige alla, kuni ilmub tabel. Otsige sellest tabelist reaalajas andmebaasi ja leidke selle versioon. minu puhul on 19.1.0

Versioon

12. Klõpsake nuppu Gradle Scripts, menüü ekraani vasakul küljel. Seejärel valige ehitatud. gradle (moodul: rakendus). Nüüd otsige koodist reaalajas andmebaasi versiooni ja asendage see uuega.

Firebase'i versioon

13. Nüüd sünkroonige projekt, klõpsates ekraani ülaosas kuvataval sünkroniseerimisnupul.

5. samm: paigutuse tegemine

Nüüd, kui meie androidirakendus on ühendatud firebase'iga, tehkem oma rakenduse paigutus, mida kasutaja kasutab arvuti sisse- või väljalülitamiseks. Paigutuse tegemiseks minge aadressile rakendus> res> küljendus> activity_main.xml. kus kujundame küljenduse. Kopeerige tekstivaate tegemiseks allpool toodud kood.

 

Meie rakenduse paigutus näeb välja selline:

Rakenduse paigutus

6. samm: taustaprogrammi kodeerimine Kotlinis

Kuna oleme rakenduse esiosa teinud, liigutagem samm edasi ja kirjutage taustaprogrammi kood, et see Firebase'iga ühendada. Oleme ühendanud lülituslüliti, mis väljalülitatud olekus saadab Firebase'i andmebaasi 0, ja olekus olles saadab Firebase'i andmebaasi 1.

Nüüd klõpsake vasakus nurgas nuppu rakendus> java> com.example.computerswitch> main_activity, ja lisage oma klassis järgmine kood. Kui tekib mõni teegi tõrge, vajutage ALT + ENTER selle kogu automaatselt kaasamiseks.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Lüliti alistab lõbu onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitch. id.switch2) kui lüliti btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Alloleval pildil näete, et kui lüliti on sisse lülitatud, laaditakse „1” Firebase'i andmebaasi üles. Samamoodi asendatakse siin '0', kui lüliti välja lülitatakse.

Väärtus

7. samm: Arduinoga alustamine

Kui te pole Arduino IDE-ga varem töötanud, ärge muretsege, sest allpool on toodud samm-sammult Arduino IDE seadistamine.

  1. Laadige alla Arduino IDE uusim versioon saidilt Arduino.
  2. Ühendage oma Arduino tahvel arvutiga ja avage juhtpaneel. Kliki Riistvara ja heli. Nüüd avatud Seadmed ja printer ja leidke port, millega teie laud on ühendatud. Minu puhul on see nii COM14, kuid see on erinevates arvutites erinev.

    Sadama leidmine

  3. Klõpsake File ja seejärel Preferences. Kopeerige järgmine link saidile Täiendav juhihalduri URL. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Eelistused

  4. Nüüd, et kasutada ESP32 koos Arduino IDE-ga, peame importima spetsiaalsed teegid, mis võimaldavad meil koodi ESP32-l kirjutada ja seda kasutada. need kaks teeki on lisatud allpool toodud lingile. Raamatukogu kaasamiseks minge Visand> Kaasa teek> Lisa ZIP-kogu . Ilmub kast. Leidke oma arvutis ZIP-kaust ja klõpsake kaustade kaasamiseks nuppu OK.

    Kaasa teek

  5. Nüüd mine Visand> Kaasa teek> Halda raamatukogusid.

    Raamatukogude haldamine

  6. Avaneb menüü. Tippige otsinguribale Arduino JSON. Ilmub loend. Installige Aroitino JSON, autor Benoit Blanchon.

    Arduino JSON

  7. Nüüd klõpsake nuppu Tööriistad. Ilmub rippmenüü. Pange tahvel asendisse ESP Dev moodul.

    Laua määramine

  8. Klõpsake uuesti menüül Tööriist ja määrake port, mida jälgisite juhtpaneelil varem.

    Pordi seadistamine

  9. Nüüd laadige kood üles, mis on lisatud allolevale lingile, ja klõpsake koodi üleslaadimiseks ESP32 mikrokontroller .

    Laadi üles

Nii et nüüd koodi üleslaadimisel võib ilmneda tõrge. See on kõige tavalisem viga, mis võib ilmneda, kui kasutate Arduino IDE ja Arduino JSON uut versiooni. Järgnevad vead, mida võite ekraanil näha.

Failis, mis sisaldub kataloogis C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, failist 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 on ArduinoJson'i klass. Palun lugege arduinojson.org/upgrade, et õppida, kuidas oma programmi ArduinoJsonile uuendada. versioon 6 StaticJsonBuffer jsonBuffer; ^ Failis, mis sisaldub kataloogis C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, failist C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: tõrge: StaticJsonBuffer on klass ArduinoJsonist 5. Programmi täiendamiseks õppige saidilt arduinojson.org/upgrade. ArduinoJsoni versioon 6 tagastab StaticJsonBuffer (). ParseObject (_data); ^ 'WiFi.h' jaoks leiti mitu kogu x86)  Arduino  libraries  WiFi Kasutades teegi WiFi versiooni 1.0 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  librarys  WiFi  Kasutades teeki IOXhop_FirebaseESP32-master kaustas: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (pärand) Teegi HTTPClienti kasutamine versioonis 1.2 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  teekid  HTTPClient teegi WiFiClientSecure kasutamine versiooni 1.0 kaustas: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  librarys  WiFiClientSecure Teegi ArduinoJson kasutamine aadressil Versioon 6.12.0 kaustas: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Viga plaadi ESP32 Dev mooduli koostamisel.

Muretsemiseks pole midagi, sest me saame need vead kõrvaldada, järgides mõningaid lihtsaid samme. Need vead ilmnevad seetõttu, et Arduino JSONi uues versioonis on teise klassi asemel StaticJsonBuffer. See on JSON 5 klass. Nii et saame selle vea lihtsalt kõrvaldada, alandades meie Arduino IDE versiooni Arduino JSON-i. Lihtsalt minge Visand> Kaasa teek> Halda raamatukogusid. Otsima Aroitino JSON, autor Benoit Blanchon mille olete varem installinud. Kõigepealt desinstallige see ja määrake seejärel selle versiooniks 5.13.5. Nüüd, kui oleme määranud Arduino JSONi vana versiooni, installige see uuesti ja kompileerige kood uuesti. Seekord kompileeritakse teie kood edukalt.

Koodi allalaadimiseks klõpsake siin.

8. samm: vooluringi kokkupanek

Nüüd, kui meie rakendus on valmis ja täielikult toimiv, vaatame, kuidas ühendame vooluahela arvutiga.

  1. Kõigepealt võtke jaotuskilp ja ühendage kõik arvutisüsteemi pistikud, see tähendab Monitor, printer, protsessor, PSU jne.
  2. Nüüd võtke selle plaadi ühenduslüliti ja tehke traadi vahele lõige, nii et seest oleks nähtav kaks musta ja punast traati.
  3. Võtke punane juhe välja ja lõigake see keskelt. Ühendage juhtme üks ots releemooduli NO-punkti ja teine ​​ots releepunkti COM-punkti. (ära tee musta juhtmega midagi)
  4. Nüüd fikseerige ESP32 leiblauale ja lülitage see sisse 5 V aku abil. Ühendage leiblaual oleva relee mooduli Vcc ja maandus aku positiivsete ja negatiivsete klemmidega.
  5. Tehke leiblaual oleva transistoriga järgmine konfiguratsioon.

9. samm: kood

Kood on üsna lihtne, kuid siiski selgitatakse seda lühidalt allpool.

1. Alguses on kaasas kaks teeki, nii et firebase'i saab kasutada koos ESP32-ga.

# kaasata # kaasata

2. Seejärel antakse teavet teie firebase'i andmebaasi ja Wifi-ühenduse kohta ning deklareeritakse ESP tihvt, mida kasutatakse relee mooduliga.

#define FIREBASE_HOST 'xxxxx' // asenda see oma Firebase'i hostiga #define FIREBASE_AUTH 'xxxxx' // asenda see oma Firebase'i autentimisega #define WIFI_SSID 'xxxxx' // asenda see oma WIFI SSID-ga #define WIFI_PASSWORD 'xxxxx' // asenda see oma wifi parooliga int swi = 34; // ühendage ESP pin34 relee mooduliga

3. kehtetu seadistamine () on funktsioon, mis töötab ainult üks kord, kui vooluahel on sisse lülitatud või nuppu Luba vajutatud. Siin on kood kirjutatud, ühendage ESP-plaat WIFI-ga. Releemooduliga kasutatava ESP-i tihvt on siin deklareeritud ka väljundina.

void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // ühendage wifi-ga. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('ühendamine'); while (WiFi.staatus ()! = WL_CONNECTED) {Seerianumber. ('.'); viivitus (500); } Serial.println (); Serial.print ('ühendatud:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Neli. void loop () on funktsioon, mis töötab korduvalt silmusena. Siin loetakse tulepõhjast saadud väärtust. Kui see väärtus on võrdne väärtusega „1“, saadetakse releemoodulile signaal HIGH ja arvuti lülitub sisse. Kui see väärtus on „0“, lülitatakse arvuti välja.

void loop () {// loe väärtust if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // käivitusviga, kui (Firebase.failed ()) {Serial.print ('seade / number ebaõnnestus:'); Serial.println (Firebase.error ()); tagasi; } viivitus (1000); }