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.
- Avata Ohjauspaneeli ja napsauta Järjestelmä ja turvallisuus .
- Klikkaa Järjestelmä .
Järjestelmä
- Klikkaa Järjestelmän lisäasetukset ja napsauta sitten Ympäristömuuttujat .
Järjestelmän lisäasetukset
- Napsauta Järjestelmämuuttuja-osiossa polkua ja napsauta sitten Muokkaa. Uusi Muokkaa ympäristömuuttujaa ruutu tulee näkyviin.
Muokkaa polkua
- Mene nyt C: Ohjelmatiedostot Java tietokoneessa. Avaa JDK-kansio, napsauta roskakorikansiota ja kopioi sitten kansion polku.
Roskakansion polku
- Siirry nyt Muokkaa ympäristömuuttujaa -ruutuun ja tee uusi muuttuja napsauttamalla uutta. Liitä edellisessä vaiheessa kopioimasi polku uuteen muuttujaan ja tallenna se.
- 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.
- Lataa uusin Arduino IDE -versio osoitteesta Arduino.
- 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
- Napsauta Tiedosto ja sitten Asetukset. Kopioi seuraava linkki Hallituksen ylimääräinen URL-osoite. ' https://dl.espressif.com/dl/package_esp32_index.json '
Asetukset
- 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
- Nyt mene Luonnos> Sisällytä kirjasto> Hallinnoi kirjastoja.
Hallinnoi kirjastoja
- Valikko avautuu. Kirjoita hakupalkkiin Arduino JSON. Näyttöön tulee luettelo. Asentaa Aroitino JSON, kirjoittanut Benoit Blanchon.
Arduino JSON
- Napsauta nyt Työkalut. Näkyviin tulee avattava valikko. Aseta kortti asentoon ESP Dev -moduuli.
Asennuslauta
- Napsauta Työkalu-valikkoa uudelleen ja aseta portti, jonka havaitsit ohjauspaneelissa aiemmin.
Portin asettaminen
- 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.
- Ensinnäkin, ota kytkinpaneeli ja liitä siihen kaikki tietokonejärjestelmän pistokkeet, eli näyttö, tulostin, keskusyksikkö, virtalähde jne.
- 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ä.
- 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)
- 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.
- 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); }