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.
- 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.
- Käynnistä Android Studio ja tee uusi projekti napsauttamalla Tyhjä toiminta .
- Nimeä nyt projektisi nimellä computerSwitc, valitse Kotlin kielenä ja valitse matkapuhelimesi mukainen vähimmäissovellusliittymän taso.
- 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
- Napsauta nyt n Työkalut. Näkyviin tulee avattava valikko, josta valitse Firebase.
Firebase-yhteys
- 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
- 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.
- Mene nyt Firebase-konsoli . Siellä näet jo tehdyn projektin. Projektorin kuvakkeen Android-logo tarkoittaa, että se kuuluu jo android-sovellukseen.
- Alkaen Kehittää ruudun vasemmalla puolella näkyvän valikon, valitse Tietokanta. Painike Luo tietokanta näkyy oikealla. Napsauta sitä painiketta.
- Näkyviin tulee valikko, jossa pyydetään asettamaan tietokannan tila. Klikkaa testitila ja napsauta sitten ota käyttöön .
Testitila
- 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
- Napsauta nyt Säännöt välilehti ja muuta kokoonpanot asetukseksi Totta . Kun kaikki on valmis, napsauta Julkaista .
Kokoonpanojen muuttaminen
- 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
- . 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
- 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.
- 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ältää kirjaston
- Mene nyt 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.
Hallituksen asettaminen
- 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-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!