Langattoman virtakytkimen luominen tietokoneellesi

TO Fiksu valaistusta, viihdejärjestelmiä ja muita laitteita ohjaava järjestelmä voidaan suunnitella helposti kotona, ja se on myös nopeimmin kasvava käsite nykyaikaisessa maailmassa. Smart Home Systems on käsite, jossa kaikkia sähkölaitteita tai laitteita ohjataan yhdellä kaukosäätimellä. Nykyään yhtä komponenttia, kuten relemoduulia, voidaan käyttää talon erilaisten elektronisten parametrien hallintaan, kuten kodinkoneiden vaihto, turvahälytysten valvonta, autotallin ovien automaatio jne. Tässä projektissa Henkilökohtainen tietokone ohjataan Android-sovellus . Näissä järjestelmissä kauko-ohjain on suurimmaksi osaksi mobiilisovellus. Koska Android-matkapuhelin on yleisimpiä ihmisten keskuudessa, niin android-sovellus on paras vaihtoehto hallita tietokonettamme.



Langaton tietokonekytkin

Kuinka tehdä langaton kytkin tietokoneellesi matkapuhelimessa?

Vaihe 1: Komponenttien kerääminen

Minkä tahansa projektin tekemiseksi on tiedettävä, mitkä peruskomponentit tarvitset sen loppuunsaattamiseksi. Joten erinomainen tapa ennen työn aloittamista on tehdä täydellinen luettelo kaikista komponenteista säästääksesi aikaa ja välttääksesi mahdollisuuden jumittua keskellä projektia. Alla on täydellinen luettelo kaikista markkinoilla helposti saatavista komponenteista:



  • ESP32
  • 2N2222 NPN-transistori
  • 1k ohmin vastus (x2)
  • 5 V: n releyksikkö
  • Johtojen liittäminen

Vaihe 2: Asennettavat ohjelmistot

Kun aiomme tehdä langattoman kytkimen, tarvitsemme painikkeen sen kytkemiseksi päälle ja pois päältä. Haluamme käyttää matkapuhelinta tämän painikkeen käyttämiseen, joten meidän on kehitettävä sovellus sitä varten. Kätevin sovellus on Android-sovellus. Meidän on asennettava kaksi ohjelmistoa tämän sovelluksen käyttöä varten. Molemmat on lueteltu alla:



  • Android Studio.
  • JAVA JDK.

Vaihe 3: Asenna Android Studio

Asennamme ennen Android Studion asentamista JAVA JDK ensin. Asenna tämä napsauttamalla exe tiedosto lataamasi yllä olevasta linkistä ja napsauta Seuraava, kunnes se on asennettu onnistuneesti. Suorita nyt seuraavat vaiheet niin, että komentokehotteesi tunnistaa Java-ohjelman ulkoisena tai sisäisenä komentona.



  1. Avata Ohjauspaneeli ja napsauta Järjestelmä ja turvallisuus .
  2. Klikkaa Järjestelmä .

    Järjestelmä

  3. Klikkaa Järjestelmän lisäasetukset ja napsauta sitten Ympäristömuuttujat .

    Järjestelmän lisäasetukset

  4. Napsauta Järjestelmämuuttuja-osiossa polkua ja napsauta sitten Muokkaa. Uusi Muokkaa ympäristömuuttujaa ruutu tulee näkyviin.

    Muokkaa polkua



  5. Mene nyt C: Ohjelmatiedostot Java tietokoneessa. Avaa JDK-kansio, napsauta roskakorikansiota ja kopioi sitten kansion polku.

    Roskakansion polku

  6. Siirry nyt Muokkaa ympäristömuuttujaa -ruutuun ja tee uusi muuttuja napsauttamalla uutta. Liitä edellisessä vaiheessa kopioimasi polku uuteen muuttujaan ja tallenna se.
  7. Vahvista nyt, jos se on täysin asennettu, avaa komentokehote ja kirjoita java –versio .

    JAVA-versio

Nyt kun olet asentanut Java JDK: n tietokoneellesi. Asennetaan nyt Android Studio tietokoneellesi. Tämän ohjelmiston asentaminen on erittäin helppoa. Sinun on avattava ladattu tiedosto ja napsautettava Seuraava, kunnes ohjelmisto on täysin asennettu.

Vaihe 4: Yhteys Firebaseen

Nyt kun olemme asentaneet Android Studion, anna meidän käynnistää se ja tehdä uusi projekti yhdistääksesi se tulipesään. Voit tehdä tämän seuraavasti.

1. Käynnistä Android Studio ja tee uusi projekti napsauttamalla Tyhjä toiminta .

Uusi projekti

2. Nimeä projektisi nyt nimellä computerSwitc, valitse Kotlin kielenä ja valitse matkapuhelimesi mukainen vähimmäissovellusliittymän taso.

Uusi projekti

3. koska aiomme käyttää vadelmapiitin nastoja Internetin avulla. Asetamme sovelluksellemme luvan käyttää paikallista wifiä. Voit tehdä tämän siirtymällä osoitteeseen sovellus> manifestit> AndroidManifest.xml ja lisää seuraava komento.

 

Internet-lupa

3. Napsauta nyt n Työkalut. Näkyviin tulee avattava valikko, josta valitse Firebase.

Firebase-yhteys

4. Ruudun oikeaan reunaan ilmestyy iso valikko, joka tarjoaa valikon melkein jokaisesta Firebase-palvelusta. Mutta tällä hetkellä pääpaino on reaaliaikaisessa tietokannassa. Napsauta siis Reaaliaikainen tietokanta. Linkki “ Tallenna ja noutaa tietoja ' ilmestyy. Napsauta tätä linkkiä.

Firebase-avustaja

5. Yhdistä Yhdistä Firebaseen -painiketta. Se vie sinut oletusselaimeen. Ensin se pyytää sinua kirjautumaan sisään Gmail-tiliisi. Napsauta sitten Lisää reaaliaikainen tietokanta sovellukseesi ja hyväksy muutokset.

6. Mene nyt Firebase-konsoli . Siellä näet jo tehdyn projektin. Projektorin kuvakkeen Android-logo tarkoittaa, että se kuuluu jo android-sovellukseen.

7. Alkaen Kehittää ruudun vasemmalla puolella näkyvän valikon, valitse Tietokanta. Painike Luo tietokanta näkyy oikealla. Napsauta sitä painiketta.

8. Esiin tulee valikko, jossa pyydetään asettamaan tietokannan tila. Klikkaa testitila ja napsauta sitten ota käyttöön .

Testitila

9. Nyt on erittäin tärkeä muistaa vaihtaa Pilvi Firestore että Reaaliaikainen tietokanta. Napsauta alla olevassa kuvassa näkyvää painiketta ja muuta haluamasi vaihtoehto.

Reaaliaikainen Firebase

10. Napsauta nyt Säännöt välilehti ja muuta kokoonpanot asetukseksi Totta . Kun kaikki on valmis, napsauta Julkaista .

Kokoonpanojen muuttaminen

11. Yksi asia, joka sinun on tehtävä muuten kuin yhdistämällä firebase, on päivittää tietokantaversio. Napsauta tätä varten mene asiakirjat . Napsauta nyt oppaita ja valitse Android-oppaat näytölle tulevasta luettelosta. Selaa alaspäin, kunnes taulukko tulee näkyviin. Etsi taulukosta reaaliaikainen tietokanta ja etsi sen versio. minun tapauksessani se on 19.1.0

Versio

12. Napsauta Gradle Scripts, valikko näytön vasemmalla puolella. Valitse sitten rakennettu. gradle (moduuli: sovellus). Etsi koodista nyt reaaliaikaisen tietokannan versio ja korvaa se uudella.

Firebase-versio

13. Synkronoi nyt projekti napsauttamalla näytön yläosassa näkyvää synkronointipainiketta.

Vaihe 5: Asettelun tekeminen

Nyt kun android-sovelluksemme on kytketty Firebaseen, tehkäämme sovelluksemme asettelu, jota käyttäjä käyttää tietokoneen kytkemiseen päälle tai pois päältä. Voit tehdä asettelun siirtymällä kohtaan app> res> layout> activity_main.xml. missä suunnittelemme asettelun. Kopioi alla annettu koodi tekstinäkymään.

 

Sovelluksemme ulkoasu näyttää tältä:

Sovelluksen asettelu

Vaihe 6: Taustakoodaus Kotlinissa

Kun olemme tehneet sovelluksen käyttöliittymän, siirtykäämme askeleen eteenpäin ja kirjoittamalla taustakoodi yhdistämään se palokantaan. Olemme liittäneet vaihtokytkimen, joka lähettää nollan Firebase-tietokantaan, kun se on pois päältä, ja se lähettää 1 Firebase-tietokantaan, kun se on päällä.

Napsauta nyt vasemmassa kulmassa sovellus> java> com.example.computerswitch> main_activity, ja lisää seuraava koodi sinne luokkaasi. Jos kirjastossa ilmenee virheitä, paina ALT + ENTER sisällyttää kyseisen kirjaston automaattisesti.

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) kytkimenä btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Alla olevasta kuvasta näet, että jos kytkin on päällä, ”1” ladataan Firebase-tietokantaan. Vastaavasti '0' korvataan tässä, kun kytkin kytketään pois päältä.

Arvo

Vaihe 7: Arduinon käytön aloittaminen

Jos et ole aiemmin työskennellyt Arduino IDE: n parissa, älä huoli, koska askel askeleelta Arduino IDE: n määrittäminen näkyy alla.

  1. Lataa uusin Arduino IDE -versio osoitteesta Arduino.
  2. Liitä Arduino-kortti tietokoneeseen ja avaa Ohjauspaneeli. Klikkaa Laitteisto ja ääni. Nyt avoinna Laitteet ja tulostin ja etsi portti, johon kortti on kytketty. Minun tapauksessani se on COM14, mutta se on erilainen eri tietokoneissa.

    Portin löytäminen

  3. Napsauta Tiedosto ja sitten Asetukset. Kopioi seuraava linkki Hallituksen ylimääräinen URL-osoite. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Asetukset

  4. Nyt, jotta voimme käyttää ESP32: ta Arduino IDE: n kanssa, meidän on tuotava erityisiä kirjastoja, joiden avulla voimme polttaa koodia ESP32: lla ja käyttää sitä. nämä kaksi kirjastoa on liitetty alla olevaan linkkiin. Jos haluat sisällyttää kirjaston, siirry Luonnos> Sisällytä kirjasto> Lisää ZIP-kirjasto . Näkyviin tulee ruutu. Etsi tietokoneeltasi ZIP-kansio ja napsauta OK sisällyttääksesi kansiot.

    Sisällytä kirjasto

  5. Nyt mene Luonnos> Sisällytä kirjasto> Hallinnoi kirjastoja.

    Hallinnoi kirjastoja

  6. Valikko avautuu. Kirjoita hakupalkkiin Arduino JSON. Näyttöön tulee luettelo. Asentaa Aroitino JSON, kirjoittanut Benoit Blanchon.

    Arduino JSON

  7. Napsauta nyt Työkalut. Näkyviin tulee avattava valikko. Aseta kortti asentoon ESP Dev -moduuli.

    Asennuslauta

  8. Napsauta Työkalu-valikkoa uudelleen ja aseta portti, jonka havaitsit ohjauspaneelissa aiemmin.

    Portin asettaminen

  9. Lataa nyt koodi, joka on liitetty alla olevaan linkkiin, ja napsauta latauspainiketta polttaaksesi koodin ESP32-mikrokontrolleri .

    Lähetä

Joten nyt, kun lataat koodin, saattaa tapahtua virhe. Tämä on yleisin virhe, joka voi ilmetä, jos käytät uutta versiota Arduino IDE: stä ja Arduino JSON: sta. Seuraavat virheet saattavat näkyä näytöllä.

Tiedostossa, joka sisältyy kansioon C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, tiedostosta 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 luokka ArduinoJson 5: stä. Katso arduinojson.org/upgrade oppiaksesi päivittämään ohjelmasi ArduinoJsoniksi versio 6 StaticJsonBuffer jsonBuffer; ^ C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 sisältämä tiedosto: 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 on luokka ArduinoJson 5: stä. Katso ohjeet ohjelman päivittämisestä osoitteesta arduinojson.org/upgrade. ArduinoJson-versio 6 palauttaa StaticJsonBuffer (). ParseObject (_data); ^ Useita kirjastoja löydettiin 'WiFi.h': lle Käytetty: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  kirjastot  WiFi Ei käytössä: C:  Program Files ( x86)  Arduino  libraries  WiFi Käyttämällä kirjaston WiFi-versiota 1.0 kansiossa: C:  Users  Pro  AppData  Local  Arduino15  paketit  esp32  hardware  esp32  1.0.2  kirjastot  WiFi  u00e4 Kirjasto IOXhop_FirebaseESP32-master kansiossa: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (legacy) Kirjaston HTTPClientin käyttö versiossa 1.2 kansiossa: C:  Users  Pro  AppData  Local  Arduino15  paketit  esp32  hardware  esp32  1.0.2  kirjastot  HTTPClient kirjaston WiFiClientSecure käyttäminen versiossa 1.0 kansiossa: C:  Users  Pro  AppData  Local  Arduino15  paketit  esp32  hardware  esp32  1.0.2  kirjastot  WiFiClientSecure Kirjaston ArduinoJson käyttäminen osoitteessa version 6.12.0 kansiossa: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Virhe koottaessa aluksella ESP32 Dev Module.

Ei ole mitään syytä huoleen, koska voimme poistaa nämä virheet noudattamalla joitain yksinkertaisia ​​vaiheita. Nämä virheet johtuvat siitä, että Arduino JSON: n uudessa versiossa on toisen luokan sijaan StaattinenJsonPuskuri. Tämä on JSON 5: n luokka. Joten voimme yksinkertaisesti poistaa tämän virheen päivittämällä Arduino IDE: n Arduino JSON -version. Mene vain Luonnos> Sisällytä kirjasto> Hallinnoi kirjastoja. Etsiä Aroitino JSON, kirjoittanut Benoit Blanchon jonka olet asentanut aiemmin. Poista ensin asennus ja aseta sitten sen versio 5.13.5. Kun olemme asettaneet vanhan version Arduino JSON: sta, asenna se uudelleen ja käännä koodi uudelleen. Tällä kertaa koodisi kääntyy onnistuneesti.

Lataa koodi klikkaus tässä.

Vaihe 8: Piirin kokoaminen

Nyt kun sovelluksemme on valmis ja täysin toimiva, katsotaanpa, kuinka yhdistämme piirin tietokoneeseen.

  1. Ensinnäkin, ota kytkinpaneeli ja liitä siihen kaikki tietokonejärjestelmän pistokkeet, eli näyttö, tulostin, keskusyksikkö, virtalähde jne.
  2. Ota nyt tämän levyn kytkin ja tee leikkaus langan väliin siten, että kaksi johtoa, musta ja punainen, näkyvät sisältä.
  3. Ota punainen johto ulos ja leikkaa se keskeltä. Liitä johtimen toinen pää relemoduulin NO-pisteeseen ja toinen pää relepisteen COM-pisteeseen. (älä tee mitään mustalla langalla)
  4. Kiinnitä nyt ESP32 leipälevyyn ja kytke siihen virta 5 V: n akulla. Kytke rele-moduulin Vcc ja maadoitus leipälaudalle akun plus- ja miinusnapoihin.
  5. Tee seuraava kokoonpano leipätaulun transistorilla.

Vaihe 9: Koodi

Koodi on melko yksinkertainen, mutta silti se selitetään lyhyesti alla.

1. Aluksi mukana on kaksi kirjastoa, jotta Firebase-järjestelmää voidaan käyttää ESP32: n kanssa.

# sisällyttää # sisällytä

2. Sitten annetaan tietoja Firebase-tietokannastasi ja Wifi-yhteydestäsi ja ilmoitetaan ESP-nasta, jota käytetään relemoduulin kanssa.

#define FIREBASE_HOST 'xxxxx' // korvaa se Firebase-isännälläsi #define FIREBASE_AUTH 'xxxxx' // korvaa se Firebase-tunnuksellasi #define WIFI_SSID 'xxxxx' // korvaa tämä WIFI SSID: lläsi #define WIFI_PASSWORD 'xxxxx' // korvaa se wifi-salasanallasi int swi = 34; // kytke ESP: n pin34 relemoduuliin

3. mitätön asennus () on toiminto, joka toimii vain kerran, kun piiriin kytketään virta tai kun Enable-painiketta painetaan. Tässä koodi on kirjoitettu t kytke ESP-kortti WIFI-verkkoon. Releen kanssa käytetyn ESP: n tappi ilmoitetaan myös OUTPUT: na.

void setup () {Sarja.alku (115200); pinMode (swi, OUTPUT); // muodosta yhteys wifi-verkkoon. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('yhdistäminen'); while (WiFi.status ()! = WL_CONNECTED) {Sarja.tulos ('.'); viive (500); } Sarja.println (); Serial.print ('kytketty:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Neljä. void loop () on toiminto, joka toimii toistuvasti silmukassa. Tässä luetaan tulipohjan arvo. Jos tämä arvo on yhtä suuri kuin “1”, HIGH-signaali lähetetään relemoduuliin ja tietokone käynnistyy. Kun tämä arvo on “0”, tietokone sammutetaan.

void loop () {// lukuarvo if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // käsittele virhe, jos (Firebase.failed ()) {Serial.print ('asetus / numero epäonnistui:'); Serial.println (Firebase.error ()); palata; } viive (1000); }