Kontrollere komfyren din fra smarttelefonen din ved hjelp av WiFi
I den moderne verden, hvis vi ser oss rundt, kan vi se at alt som inkluderer elektronikk er automatisert til en viss grad. Hjemmeautomatiseringssystemer eller smarte hjem er veldig vanlige i våre dager. Ved å bruke disse systemene kan forskjellige husholdningsapparater automatiseres ved hjelp av en mobilapplikasjon. Men de fleste av disse systemene inkluderer ikke noe som automatiserer gasskomfyren din. I denne artikkelen skal vi utvikle et system som lar deg kontrollere gasskomfyren din ved hjelp av en mobilapplikasjon. Denne applikasjonen vil bli brukt til å åpne eller lukke gassventilen fra hovedventilen og til å tenne tennpluggen for å bygge brannen.
Hvordan automatisere gasskomfyr gjennom mobilen?
Nå som vi vet sammendraget av prosjektet, la oss gå videre og samle forskjellig informasjon for å begynne å jobbe. Vi vil først lage en liste over komponentene og deretter sette sammen alle komponentene for å lage et fungerende system.
Trinn 1: Samle komponentene
Før vi starter et prosjekt, hvis vi ønsker å unngå frykten for å bli sittende fast midt i prosjektet, bør vi ha en komplett liste over alle komponentene vi trenger når vi jobber med prosjektet. Dette er en utmerket tilnærming som sparer mye tid og krefter. En komplett liste over alle komponentene som brukes i dette prosjektet er gitt nedenfor. Alle disse komponentene er lett tilgjengelige i markedet.
Trinn 2: Utvikling av en Android-applikasjon
Når vi skal kontrollere denne komfyren ved hjelp av en Android-applikasjon, må vi først utvikle den. Tidligere har vi utviklet flere Android-applikasjoner. Tidligere har vi laget enapplikasjon som bare består av en knapp i den. Denne knappen brukes til å sende data til databasen. Hvis ‘1’ blir satt inn i databasen, vil stafetten slås på og hvis ‘0’ blir satt inn i databasen, vil stafetten slås av.
Vi vil gjøre en liten endring i denne søknaden. Ved å følge den samme prosedyren som ble fulgt for å lage den første knappen og koble den til firebasen, vil vi lage en annen knapp som skal kobles til firebasen.
En knapp vil bli brukt til å åpne og lukke gassventilen, og den andre knappen vil bli brukt til å skape en gnist som vil være ansvarlig for tenning.
Trinn 3: Making The Circuit
Som vi nå vet hovedkernen i dette prosjektet, la oss sette sammen alle komponentene for å lage en endelig krets.
Ta et brødbrett og sett inn ESP32-kort i det. Ta både transistorer og motstander og sett dem inn i brødplaten på en slik måte at transistoren kan brukes som en bryter. Følg konfigurasjonen nedenfor slik at du ikke gjør noen feil mens du bytter.
I figuren ovenfor kobler du til Vin port til pinnene på ESP32, koble porten Vcc til den eksterne 5V-forsyningen og koble Vo til relémodulen. Hovedårsaken til at vi bruker transistoren som en bryter er at et relé trenger 5V for å fungere, men ESP32 kan bare gi 3,3V. Så vi må gi 5V eksternt til reléet.
Nå vil vi koble relémodulen til transistorene. Forsikre deg om at den første transistoren er koblet til pinnen 34 på ESP-modulen, og den andre transistoren er koblet til pinnen 35 på ESP-modulen. Vi vil bruke begge relémodulene i normalt åpen modus. Koble gassventilen og tennpluggen til henholdsvis den første og andre relémodulens utgangsterminal. Forsikre deg om at du kobler til relémodulens ass vist på bildet nedenfor.
Trinn 4: Arbeide
Hjertet i dette prosjektet er ESP32 som er mikrokontrollerkortet. En gassventil og en tennplugg er koblet til ESP via relémoduler. Gassventilen er opprinnelig lukket. Når den er slått på fra mobilapplikasjonen, er gassventilen slått på. Det samme når det gjelder tennpluggen. Den kan slås av eller på via mobilappen. Denne tennpluggen vil bli koblet til ovnen der gassen slippes ut. Denne tennpluggen vil tenne bålet.
Trinn 5: 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.
- Last ned den nyeste versjonen av Arduino IDE fra Arduino.
- 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.
- Klikk på Fil og deretter på Innstillinger. Kopier følgende lenke i Tilleggsstyrelederens URL. “https://dl.espressif.com/dl/package_esp32_index.json ”
- Nå, 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.
- Nå går du Skisse> Inkluder bibliotek> Administrer biblioteker.
- En meny åpnes. Skriv inn i søkefeltet Arduino JSON.En liste vises. Installere Arduino JSON av Benoit Blanchon.
- Klikk nå på Verktøy.En rullegardinmeny vises. Sett brettet til ESP Dev-modul.
- Klikk på Verktøy-menyen igjen og angi porten du observerte i kontrollpanelet før.
- 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 \ smartHome \ 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 StaticJsonBufferjsonBuffer; ^ I filen inkludert fra C: \ Users \ Pro \ Documents \ Arduino \ biblioteker \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, fra C: \ Users \ Pro \ Desktop \ smartHome \ 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) Bruker 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 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.
Klikk her for å laste ned koden.
Trinn 6: Kode
Koden som er vedlagt er ganske godt kommentert, men noen av delene er fortsatt forklart nedenfor.
1. I starten er to biblioteker inkludert slik at WiFi er aktivert og ESP-kortet kan kobles til brannbase-databasen. Deretter er firebase-verten, autentisering, navnet på din lokale wifi-tilkobling og passordet til den samme wifi-forbindelsen inkludert. Definer også pinnene på ESP-kortet som skal brukes til å koble til eksterne enheter.
#inkludere// inkluderer bibliotek for å bruke WiFi # inkluderer // inkluderer bibliotek for å koble til Firebase #define FIREBASE_HOST "xxxxxxxxxx" // erstatt xxxxxxxxxx av din firebase-vert her navnet på Wifi-forbindelsen vår #definer WIFI_PASSWORD "xxxxxxxxxx" // erstatt xxxxxxxxxx med wifi-passordet ditt #definer ventil 34 // koble gassventil til denne stiften #definer gnist 35 // koble tennplugg til denne stiften
2. ugyldig oppsett () er en funksjon som bare kjører en gang når mikrokontrolleren slås på eller aktiveringsknappen trykkes. I denne funksjonen er overføringshastigheten satt, som i utgangspunktet er kommunikasjonshastigheten i bits per sekund. Etter det er ESP-kortet koblet til Wifi.
ugyldig oppsett () {Serial.begin (115200); // sett baud rate pinMode (ventil, OUTPUT); // sett pin 34 som skal brukes som OUTPUT pinMode (gnist, OUTPUT); // sett pinne 35 som skal brukes som UTGANG // 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); }
3. Ugyldig sløyfe () er funksjonen som går gjentatte ganger i en løkke. I denne sløyfen leses verdiene fra brannbasen og undersøkes at hvis de er null eller en. Hvis verdiene er en, sendes et HØYT signal til pinnen som vil resultere i å slå på relémodulen. Hvis verdien er null, vil et LOw-signal bli sendt til pinnen til ESP, som vil resultere i å slå av reléet.
void loop () {// get value temp1 = Serial.println (Firebase.getFloat ("light")); // få verdien for bytting av gassventilen temp2 = Serial.println (Firebase.getFloat ("AC")); // få verdien for å bytte tennplugg hvis (temp1 == 1) {digitalWrite (ventil, HØY) // slå på relé en} annen hvis (temp1 == 0) {digitalWrite (ventil, LAV) // sving av relé en} annet hvis (temp2 == 1) {digitalWrite (gnist, HØY) // slå på relé to} annet hvis (temp2 == 0) {digitalWrite (gnist, LAV) // slå av relé to} // håndteringsfeil hvis (Firebase.failed ()) {Serial.print ("setting / number failed:"); Serial.println (Firebase.error ()); komme tilbake; } forsinkelse (1000); }
Det var alt for i dag. Nå kan du lage vår egen smarte komfyr hjemme. Fortsett å sjekke nettstedet vårt for mer interessante artikler som disse i fremtiden.