Hvordan kontrollere klimaanlegget ditt med smarttelefonen i stedet for fjernkontrollen?

I den moderne verden, hvis vi ser oss rundt, kan vi se at alt som inkluderer elektronikk er automatisert til en viss grad. De nyeste automatiseringsteknikkene er tatt i bruk av noen få mennesker i hjemmet. I denne moderne tid bør folk velge de nyeste automatiseringsteknikkene for å gjøre livet lettere. Normalt snur vi hjemme , AV og still inn temperaturen manuelt i klimaanleggene våre. I dag kan en enkelt komponent som en relémodul brukes til å kontrollere forskjellige elektroniske parametere i et hus, for eksempel bytte av husholdningsapparater, overvåking av sikkerhetsalarmer, automatisering av garasjeporter osv. I denne artikkelen skal vi utvikle en systemet som lar deg kontrollere klimaanlegget ditt ved å bruke en mobilapplikasjon i stedet for fjernkontrollen. Som en Android-mobil er den vanligste blant folket, så er en Android-applikasjon det beste alternativet for å kontrollere klimaanlegget vårt.

Hvordan konfigurere alle nødvendige eksterne enheter med ESP32?

For å lage et prosjekt, må man vite hva de grunnleggende komponentene man trenger for å fullføre det. Så en utmerket tilnærming før du starter arbeidet er å lage en komplett liste over alle komponentene for å spare tid og for å unngå sjansen for å bli sittende fast midt i prosjektet. En komplett liste over alle komponentene som er lett tilgjengelige i markedet er gitt nedenfor. Etter å ha ordnet maskinvarekomponentene vil vi designe vår egen Android-applikasjon for å kontrollere klimaanlegget vårt:

Trinn 1: Brukte komponenter (maskinvare)

Trinn 2: Komponenter som brukes (programvare)

Når vi skal lage en trådløs bryter, trenger vi en knapp for å slå den på og av. Vi vil bruke en mobiltelefon til å betjene denne knappen, så vi må utvikle en applikasjon for det. Det mest praktiske programmet er et android-program, og vi må installere disse to programvarene for å koble til det programmet. Begge er listet opp nedenfor:

Trinn 3: Installere Android Studio

Før du installerer Android Studio, installerer vi JAVA JDK først. For å installere dette, klikk på exe fil som du lastet ned fra lenken ovenfor, og klikk neste til den er installert. Gå nå gjennom følgende trinn slik at ledeteksten din gjenkjenner java som en ekstern eller intern kommando.

  1. Åpen Kontrollpanel og klikk på System og sikkerhet.
  2. Klikk på System.
  3. Klikk på Avansert systeminnstilling og klikk deretter på Miljøvariabler.
  4. I delen Systemvariabel, klikk på banen og klikk deretter på rediger. En ny Rediger miljøvariabelvises.
  5. Gå nå til C: \ Programfiler \ Java på din PC. Åpne JDK-mappen, klikk på papirkurvmappen og kopier deretter banen til den mappen.
  6. Gå nå til boksen Rediger miljøvariabel og klikk på ny for å lage en ny variabel. Lim inn banen du kopierte i trinnet ovenfor i den nye variabelen, og lagre den.
  7. Nå for å bekrefte, hvis den er fullstendig installert, åpner du ledeteksten og skriver java –versjon.

Nå som du har installert Java JDK på datamaskinen din. La oss nå installere Android Studio på datamaskinen din. Det er veldig enkelt å installere denne programvaren. Du må åpne den nedlastede filen og klikke på neste til programvaren er fullinstallert.

Trinn 4: Tilkobling til Firebase

Nå som vi har installert Android Studio, la oss starte det og lage et nytt prosjekt for å koble det til brannbasen. Følg trinnene nedenfor for å gjøre dette.

  1. Start Android Studio og lag et nytt prosjekt ved å klikke på Tom aktivitet.
  2. Navngi nå prosjektet ditt som datamaskinSwitc,å velge Kotlinsom språk, og velg minimum API-nivå i henhold til mobiltelefonen din.
  3. Siden vi skal bruke internett til å kontrollere pinnene på bringebær-pi. Vi setter tillatelse i appen vår for å få tilgang til lokal wifi. For å gjøre dette, gå til app> manifesterer> AndroidManifest.xml og legg til følgende kommando.
  4. Klikk nå n Verktøy.En rullegardinmeny vises der du velger Firebase.
  5. En stor meny vises på høyre side av skjermen som vil gi menyen til nesten alle tjenester som firebase tilbyr. Men akkurat nå er vårt hovedfokus på sanntidsdatabase. Så klikk på sanntidsdatabase. En lenke til “Lagre og hente data" vil dukke opp. Klikk på lenken.
  6. Koble til Koble til Firebaseknapp. Det tar deg til standard nettleser. Først vil den be deg om å logge på Gmail-kontoen din. Klikk deretter på Legg til sanntidsdatabasen i appen dinog godta endringene.
  7. Gå nå til Firebase Console. Der vil du se et prosjekt som allerede er laget. Android-logoen på prosjektets ikon betyr at den allerede tilhører en android-applikasjon.
  8. Fra Utvikle menyen som vises på venstre side av skjermen, velger du Database. En knapp av Opprett database vises til høyre. Klikk på den knappen.
  9. Det vises en meny som ber om å stille inn modusen til databasen din. Klikk på testmodusog klikk deretter Muliggjøre.
  10. Nå er et veldig viktig skritt å huske å endre Cloud Firestore til Sanntidsdatabase.For å gjøre det, klikk på knappen som vises i bildet nedenfor og endre ønsket alternativ.
  11. Klikk nå på Regler kategorien og endre konfigurasjonene til ekte. Når alt er gjort, klikker du publisere.
  12. En ting du må gjøre annet enn å koble til firebase, er å oppdatere databaseversjonen. For å klikke på gå til dokumenter. Klikk nå på guiderog velg Android-guiderfra listen som vises på skjermen. Rull ned til en tabell vises. Se etter sanntidsdatabase i den tabellen og finn versjonen. i mitt tilfelle er det 19.1.0.
  13. . Klikk på Gradle-skript,en meny på venstre side av skjermen. Velg deretter bygget. gradle (Modul: app). Nå i koden, søk etter versjonen av sanntidsdatabasen og erstatt den med den nye.
  14. Synkroniser nå prosjektet ved å klikke på synkroniseringsknappen som vises øverst på skjermen.

Trinn 5: Lag layout

Nå som Android-applikasjonen vår er koblet til firebase, la oss lage et oppsett av appen vår som skal brukes av brukeren til å slå datamaskinen av eller på. For å lage et oppsett, gå til app> res> layout> activity_main.xml. hvor vi skal designe et oppsett. Kopier koden nedenfor der for å lage en tekstvisning.

        

Oppsettet til appen vår vil se slik ut:

Trinn 6: Komme i gang med ESP32

Hvis du ikke har jobbet med Arduino IDE før, ikke bekymre deg fordi trinn for trinn for å konfigurere Arduino IDE vises nedenfor.

  1. Last ned den nyeste versjonen av Arduino IDE fra Arduino.
  2. Koble Arduino-kortet til PC-en og åpne Kontrollpanel. Klikk på Maskinvare og lyd.Nå åpen Enheter og skriver og finn porten som kortet ditt er koblet til. I mitt tilfelle er det COM14men det er forskjellig på forskjellige datamaskiner.
  3. Klikk på Fil og deretter på Innstillinger. Kopier følgende lenke i Tilleggsstyrelederens URL. “https://dl.espressif.com/dl/package_esp32_index.json ”
  4. For å bruke ESP32 med Arduino IDE, må vi importere spesielle biblioteker som lar oss brenne kode på ESP32 og bruke den. disse to bibliotekene er vedlagt i lenken nedenfor. For å inkludere biblioteket, gå til Skisse> Inkluder bibliotek> Legg til ZIP-bibliotek. En rute vises. Finn ZIP-mappen på datamaskinen din, og klikk OK for å inkludere mappene.
  5. Gå nå til Skisse> Inkluder bibliotek> Administrer biblioteker.
  6. En meny åpnes. Skriv inn i søkefeltet Arduino JSON.En liste vises. Installere Arduino JSON av Benoit Blanchon.
  7. Klikk nå på Verktøy.En rullegardinmeny vises. Sett brettet til ESP Dev-modul.
  8. Klikk på Verktøy-menyen igjen og angi porten du observerte i kontrollpanelet før.
  9. Last nå opp koden som er vedlagt i lenken nedenfor, og klikk på opplastingsknappen for å brenne koden på ESP32-mikrokontrolleren.

Så når du laster opp koden, kan det oppstå en feil. Dette er den vanligste feilen som kan oppstå hvis du bruker en ny versjon av Arduino IDE og Arduino JSON. Følgende er feilene du kan se på skjermen.

I filen inkludert fra C: \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, fra C: \ Users \ Pro \ Desktop \ airconditioner \ code \ code.ino: 2: C : \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: feil: StaticJsonBuffer er en klasse fra ArduinoJson 5. Se arduinojson.org/upgrade for å lære hvordan du oppgraderer programmet ditt til ArduinoJson versjon 6 StaticJsonBuffer jsonBuffer; ^ I filen inkludert fra C: \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, fra C: \ Users \ Pro \ Desktop \ airconditioner \ code \ code.ino: 2: C: \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: feil: StaticJsonBuffer er en klasse fra ArduinoJson 5. Se arduinojson.org/upgrade for å lære hvordan du oppgraderer programmet til ArduinoJson versjon 6 returnerer StaticJsonBuffer() .parseObject (_data); ^ Flere biblioteker ble funnet for "WiFi.h" Brukt: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ Packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ biblioteker \ WiFi Ikke brukt: C: \ Program Files ( x86) \ Arduino \ biblioteker \ WiFi Bruker biblioteket WiFi i versjon 1.0 i mappen: C: \ Brukere \ Pro \ AppData \ Lokalt \ Arduino15 \ pakker \ esp32 \ maskinvare \ esp32 \ 1.0.2 \ biblioteker \ WiFi Bruker biblioteket IOXhop_FirebaseESP32-master i mappe: C: \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master (eldre) Bruke biblioteket HTTPClient i versjon 1.2 i mappen: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ Packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ biblioteker \ HTTPClient ved hjelp av bibliotek WiFiClientSecure i versjon 1.0 i mappe: C: \ Brukere \ Pro \ AppData \ Local \ Arduino15 \ pakker \ esp32 \ hardware \ esp32 \ 1.0.2 \ biblioteker \ WiFiClientSecure Ved hjelp av bibliotek ArduinoJson på versjon 6.12.0 i mappe: C: \ Users \ Pro \ Documents \ Arduino \ libraries \ ArduinoJson exit status 1 Feil under kompilering for ESP32 Dev-modul.

Det er ingenting å bekymre seg for, fordi vi kan eliminere disse feilene ved å følge noen enkle trinn. Disse feilene oppstår fordi den nye versjonen av Arduino JSON har en annen klasse i stedet for StaticJsonBuffer.Dette er faktisk klassen til JSON 5. Så vi kan ganske enkelt eliminere denne feilen ved å nedgradere versjonen av Arduino JSON av vår Arduino IDE. Bare gå til Skisse> Inkluder bibliotek> Administrer biblioteker.Søk etterArduino JSON av Benoit Blanchonsom du har installert før. Avinstaller den først, og sett deretter versjonen til 5.13.5. Nå som vi har satt en gammel versjon av Arduino JSON, installerer du den igjen og kompilerer koden på nytt. Denne gangen vil koden din kompileres vellykket.

Trinn 7: Forstå koden

Koden til dette prosjektet er veldig enkel og forklares kort nedenfor. Videre kan koden med nødvendige biblioteker også lastes ned fra Her.

1. I starten må vi inkludere to biblioteker som skal brukes til å koble koden vår til Firebase-databasen, og den andre som bruker IR-sensoren med mikrokontrolleren vår. Deretter vil vi legge til vert og autentisering av vår firebase fordi etter det vår ESP32 kunne finne vår database. Deretter vil vi oppgi SSID og passordet til vår lokale internettforbindelse. Deretter må vi lage et objekt slik at vi kan skyve og poppe data fra skyen vår. Deretter vil vi definere pinnen som sensoren vår skal kobles til, og vi vil også lage et objekt for å håndtere data som kommer fra IR-sensoren.

#inkludere #inkludere  #inkludere   #define FIREBASE_HOST "coma-patient.firebaseio.com" #define FIREBASE_AUTH "UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf" #define WIFI_SSID "PRO" #define WIFI_PASSWORD "abcdata Firebase" abcdata int RECV_PIN = 19; IRrecv irrecv (RECV_PIN); resultatene for dekode_resultater;

2. ugyldig oppsett (), er sløyfen som går når aktiveringsknappen trykkes eller når mikrokontrolleren slås på. Her starter vi mottakeren av IR-sensoren og skriver koden for å koble mikrokontrolleren til den lokale internettforbindelsen.

ugyldig oppsett () {Serial.begin (115200); pinMode (RECV_PIN, INPUT); irrecv.enableIRIn (); // Start mottakeren // koble til wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ("tilkobling"); mens (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); forsinkelse (500); } Serial.println (); Serial.print ("tilkoblet:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); Firebase.enableClassicRequest (firebaseData, true); }

3. ugyldig sløyfe () er en funksjon som går gjentatte ganger i en løkke. Her sjekker denne koden om verdiene kommer fra sensoren.

ugyldig sløyfe () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); dump (& resultater); irrecv.resume (); // Motta neste verdi} forsinkelse (500); }

4. ugyldig dump ()er en funksjon som brukes til å først identifisere modellen på fjernkontrollen som sender signalet til sensoren. det dumper også decode_results-strukturen.

ugyldig dump (decode_results * results) {int count = results-> rawlen; if (results-> decode_type == UNKNOWN) {Serial.print ("Ukjent koding:"); } annet hvis (results-> decode_type == NEC) {Serial.print ("Decoded NEC:"); } annet hvis (results-> decode_type == SONY) {Serial.print ("Decoded SONY:"); } annet hvis (results-> decode_type == RC5) {Serial.print ("Decoded RC5:"); } annet hvis (results-> decode_type == RC6) {Serial.print ("Decoded RC6:"); } til annet hvis (resultat-> dekode_type == PANASONIC) {Serial.print ("Dekodert PANASONIC - Adresse:"); Serial.print (resultater-> panasonicAddress, HEX); Serial.print ("Verdi:"); } annet hvis (results-> decode_type == JVC) {Serial.print ("Decoded JVC:"); } Serial.print (resultat-> verdi, HEX); Serial.print ("("); Serial.print (results-> bits, DEC); Serial.println ("bits)"); Serial.print ("Raw ("); Serial.print (count, DEC); Serial.print ("):"); for (int i = 0; i  rawbuf [i] * USECPERTICK, DEC); } annet {Serial.print (- (int) results-> rawbuf [i] * USECPERTICK, DEC); } Serial.print (""); } Serial.println (""); }

Trinn 8: Klargjøre maskinvaren

Etter å ha brent koden i ESP32, må vi klargjøre maskinvaren og feste den på veggen eller et hvilket som helst annet passende sted i nærheten av klimaanlegget. Fest komponentene på brødplaten ved å følge diagrammet som er presentert øverst. Etter at du har satt sammen kretsen, må du slå på ESP-modulen ved hjelp av Android Charger. Det er bedre å designe kabinettet til maskinvaren hjemme eller bare sette maskinvaren i Raspberry Pi-saken.

Trinn 9: Giving siste finpuss

Etter å ha montert maskinvaren vil vi teste den. Koble Android-laderen til ESP32 og slå den på, og sørg for at telefonen din har god signalstyrke fra din lokale internettforbindelse. Åpne applikasjonen din og trykk på knappen, så ser du at du nå kan styre vekselstrømmen din med mobilappen din.

Det var alt for i dag, jeg håper du hadde likt å lese denne artikkelen, og etter å ha laget din egen prototype for å kontrollere klimaanlegget ditt hjemme, ikke glem å dele din erfaring!

Facebook Twitter Google Plus Pinterest