Kuinka hallita ilmastointilaitetta älypuhelimellasi kaukosäätimen sijaan?

Jos katsomme ympärillämme nykyaikaisessa maailmassa, voimme nähdä, että kaikki elektroniikka mukaan lukien on automatisoitua jossain määrin. Viimeisimmät automaatiotekniikat omaksuvat muutamat ihmiset kodeissaan. Tänä nykyaikana ihmisten tulisi valita uusimmat automaatiotekniikat helpottaakseen elämäänsä. Normaalisti kodeissamme me käännymme PÄÄLLÄ , VINOSSA ja säädä lämpötila manuaalisesti ilmastointilaitteissamme. 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ä artikkelissa aiomme kehittää järjestelmä, jonka avulla voit hallita ilmastointilaitettasi käyttämällä mobiilisovellusta sen kaukosäätimen sijaan. Koska Android-matkapuhelin on yleisimpiä ihmisten keskuudessa, joten android-sovellus on paras vaihtoehto ilmastointilaitteemme hallintaan.

Ilmastointilaite

Kuinka asentaa kaikki tarvittavat oheislaitteet ESP32: lla?

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. Laitteistokomponenttien järjestämisen jälkeen suunnittelemme oman Android-sovelluksemme ilmastointilaitteemme ohjaamiseen:



Vaihe 1: Käytetyt komponentit (laitteisto)

  • ESP32
  • MakerFocus I2C OLED -näyttömoduuli
  • Valosta riippuva vastus
  • Painikekytkin
  • IR-vastaanotin
  • 1K ohmin vastus (x4)
  • BC 338 NPN -transistori
  • Käynnistyskaapelit
  • TSOP-vastaanotin
  • Leipälauta
  • Android-laturi

Vaihe 2: Käytetyt komponentit (ohjelmisto)

Kun aiomme tehdä a langaton kytkin 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, ja meidän on asennettava nämä kaksi ohjelmistoa yhteyden muodostamiseksi kyseiseen sovellukseen. Molemmat on lueteltu alla:



  • Android Studio
  • JAVA JDK

Vaihe 3: Asenna Android Studio

Ennen asennusta Android Studio , asennamme ensin JAVA JDK: n. Asenna tämä napsauttamalla exe tiedosto lataamasi yllä olevasta linkistä ja napsauta Seuraava, kunnes se on asennettu onnistuneesti. Suorita nyt seuraavat vaiheet, jotta komentokehotteesi tunnistaa java 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

    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 .
  2. Nimeä nyt projektisi nimellä computerSwitc, valitse Kotlin kielenä ja valitse matkapuhelimesi mukainen vähimmäissovellusliittymän taso.
  3. Koska aiomme käyttää vadelmapiikin 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

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

    Firebase-yhteys

  5. Ruudun oikeassa reunassa näkyy 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

  6. 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.
  7. Mene nyt Firebase-konsoli . Siellä näet jo tehdyn projektin. Projektorin kuvakkeen Android-logo tarkoittaa, että se kuuluu jo android-sovellukseen.
  8. Alkaen Kehittää ruudun vasemmalla puolella näkyvän valikon, valitse Tietokanta. Painike Luo tietokanta näkyy oikealla. Napsauta sitä painiketta.
  9. Näkyviin tulee valikko, jossa pyydetään asettamaan tietokannan tila. Klikkaa testitila ja napsauta sitten ota käyttöön .

    Testitila

  10. Nyt todella tärkeä vaihe muistaa on muuttaa Pilvi Firestore että Reaaliaikainen tietokanta. Napsauta alla olevassa kuvassa näkyvää painiketta ja muuta haluamasi vaihtoehto.

    Reaaliaikainen Firebase

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

    Kokoonpanojen muuttaminen

  12. Yksi asia, joka sinun on tehtävä muuten kuin yhdistämällä firebase, on päivittää tietokannan versio. Napsauta tätä varten mene asiakirjoihin . 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

  13. . Klikkaa 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

  14. Synkronoi projekti nyt 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: ESP32: n 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ältää kirjaston

  5. Mene nyt 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.

    Hallituksen asettaminen

  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-mikrokontrolleriin.

    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  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, tiedostosta C:  Users  Pro  Desktop  airconditioner  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; ^ Tiedostossa, joka on sisällytetty C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, tiedostosta C:  Users  Pro  Desktop  airconditioner  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 todella JSON 5 -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.

Vaihe 7: Koodin ymmärtäminen

Tämän projektin koodi on hyvin yksinkertainen ja se selitetään lyhyesti alla. Lisäksi koodi tarvittavilla kirjastoilla voidaan myös ladata osoitteesta Tässä.

1. Aluksi meidän on sisällytettävä kaksi kirjastoa, joita käytetään koodin liittämiseen Firebase-tietokantaan, ja toisen, jotta infrapunatunnistinta voidaan käyttää mikrokontrollerimme kanssa. Sitten lisätään isäntä ja todennus Firebase koska sen jälkeen meidän ESP32 voisi löytää meidän tietokanta . Sitten annamme paikallisen Internet-yhteyden SSID: n ja salasanan. Sitten meidän on tehtävä esine, jotta voimme työntää ja pudottaa tietoja pilvestä. Sitten määritetään tappi, johon anturimme liitetään, ja teemme myös objektin, joka käsittelee IR-anturista tulevaa dataa.

#include #include #include #define FIREBASE_HOST 'coma-patient.firebaseio.com' #define FIREBASE_AUTH 'UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf' #define WIFI_SSID 'PRO' Firefaste_ Firefaste_ Firefaste int RECV_PIN = 19; IRrecv irrecv (RECV_PIN); dekoodaa_tulokset tulokset;

2. mitätön asennus () , on silmukka, joka kulkee, kun aktivointipainiketta painetaan tai kun mikro-ohjaimeen kytketään virta. Käynnistämme tässä infrapunatunnistimemme vastaanottimen ja kirjoitamme koodin, jotta voimme aloittaa mikrokontrollerin liittämisen paikalliseen Internet-yhteyteen.

void setup () {Sarja.alku (115200); pinMode (RECV_PIN, INPUT); irrecv.enableIRIn (); // Käynnistä vastaanotin // 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); Firebase.enableClassicRequest (firebaseData, true); }

3. void loop () on toiminto, joka toimii toistuvasti silmukassa. Täällä tämä koodi tarkistaa, ovatko arvot peräisin anturista.

void loop () {if (irrecv.decode (& results)) {Sarja.println (tulokset.arvo, HEX); dump (& tulokset); irrecv.resume (); // Vastaanota seuraava arvo} delay (500); }

Neljä. void dump () on toiminto, jota käytetään tunnistamaan ensin kaukosäätimen malli, joka lähettää signaalia anturille. se myös kaataa decode_results-rakenteen.

void dump (dekoodaa_tulokset * tulokset) {int count = results-> rawlen; if (tulokset-> dekoodaustyyppi == Tuntematon) {Serial.print ('Tuntematon koodaus:'); } else if (tulokset-> dekoodaustyyppi == NEC) {Serial.print ('Dekoodattu NEC:'); } else if (tulokset-> dekoodaustyyppi == SONY) {Serial.print ('Dekoodattu SONY:'); } else if (tulokset-> dekoodaustyyppi == RC5) {Serial.print ('Dekoodattu RC5:'); } else if (tulokset-> dekoodaustyyppi == RC6) {Serial.print ('Dekoodattu RC6:'); } muuhun if (tulokset-> dekoodaustyyppi == PANASONIC) {Serial.print ('Dekoodattu PANASONIC - osoite:'); Sarja.tulos (tulokset-> panasonicAddress, HEX); Sarja.tulos ('Arvo:'); } else if (tulokset-> dekoodaustyyppi == JVC) {Serial.print ('Dekoodattu JVC:'); } Sarja.tulos (tulokset-> arvo, HEX); Serial.print ('('); Serial.print (tulokset-> bittiä, DEC); Serial.println ('bittiä')); Serial.print ('Raw ('); Serial.print (count, DEC); Serial.print ('):'); for (int i = 0; i rawbuf [i] * USECPERTICK, DEC); } else {Sarja.tulos (- (int) tulokset-> rawbuf [i] * USECPERTICK, DEC); } Sarja.tulos (''); } Sarja.println (''); }

Vaihe 8: Laitteiston valmistelu

Kun koodi on poltettu ESP32: een, meidän on valmisteltava laitteisto ja kiinnitettävä se seinälle tai muuhun sopivaan paikkaan ilmastointilaitteen lähellä. Kiinnitä komponentit leipälautaan seuraamalla yläreunassa olevaa kaaviota. Kytke virtapiiri ESP-moduulin päälle Android-laturilla. On parempi suunnitella laitteiston kotelo kotona tai yksinkertaisesti laittaa laitteisto Raspberry Pi -kotelon sisään.

Vaihe 9: G viimeiset kosketukset

Laitteiston kokoamisen jälkeen testaamme sen. Liitä Android-laturi ESP32: een ja käynnistä se ja varmista, että puhelimessasi on paikallisen signaalin voimakkuus Internet-yhteys . Avaa sovellus ja paina painiketta, näet, että voit nyt hallita AC-laitettasi mobiilisovelluksella.

Se oli kaikki tänään, toivon, että olisit nauttinut tämän artikkelin lukemisesta. Kun olet tehnyt oman prototyyppisi ilmastointilaitteen ohjaamiseksi kotona, älä unohda jakaa kokemuksiasi!