Steuern Ihres Ofens von Ihrem Smartphone aus über WLAN
Wenn wir uns in der modernen Welt umschauen, können wir sehen, dass alles, was Elektronik beinhaltet, bis zu einem gewissen Grad automatisiert ist. Hausautomationssysteme oder Smart Homes sind heutzutage weit verbreitet. Durch die Verwendung dieser Systeme können verschiedene Haushaltsgeräte mithilfe einer mobilen Anwendung automatisiert werden. Die meisten dieser Systeme enthalten jedoch nichts, was Ihren Gasherd automatisiert. In diesem Artikel werden wir ein System entwickeln, mit dem Sie Ihren Gasherd mithilfe einer mobilen Anwendung steuern können. Diese Anwendung wird verwendet, um das Gasventil vom Hauptventil aus zu öffnen oder zu schließen und die Zündkerze zu entzünden, um das Feuer zu erzeugen.
Wie automatisiere ich Gasherd durch Ihr Handy?
Nachdem wir nun die Zusammenfassung des Projekts kennen, lassen Sie uns vorwärts gehen und verschiedene Informationen sammeln, um mit der Arbeit zu beginnen. Wir werden zuerst eine Liste der Komponenten erstellen und dann alle Komponenten zu einem funktionierenden System zusammensetzen.
Schritt 1: Sammeln der Komponenten
Wenn wir vor dem Starten eines Projekts die Angst vermeiden möchten, mitten im Projekt hängen zu bleiben, sollten wir eine vollständige Liste aller Komponenten haben, die wir während der Arbeit am Projekt benötigen. Dies ist ein ausgezeichneter Ansatz, der viel Zeit und Mühe spart. Eine vollständige Liste aller in diesem Projekt verwendeten Komponenten finden Sie unten. Alle diese Komponenten sind auf dem Markt leicht erhältlich.
Schritt 2: Entwickeln einer Android-Anwendung
Da wir diesen Ofen mit einer Android-Anwendung steuern wollen, müssen wir ihn zuerst entwickeln. Zuvor haben wir mehrere entwickelt Android-Anwendungen. Zuvor haben wir eine gemachtAnwendung das besteht nur aus einer Taste. Mit dieser Schaltfläche werden Daten in die Datenbank gesendet. Wenn ‘1’ Wird in die Datenbank eingefügt, wird das Relais eingeschaltet und wenn ‘0’ Wird in die Datenbank eingefügt, wird das Relais ausgeschaltet.
Wir werden in diesem Antrag eine kleine Änderung vornehmen. Wenn Sie das gleiche Verfahren befolgen, mit dem die erste Schaltfläche erstellt und mit der Feuerbasis verbunden wurde, wird eine weitere Schaltfläche erstellt, die mit der Feuerbasis verbunden wird.
Ein Knopf wird verwendet, um das Gasventil zu öffnen und zu schließen, und der zweite Knopf wird verwendet, um einen Funken zu erzeugen, der für das verantwortlich ist Zündung.
Schritt 3: Erstellen der Schaltung
Da wir jetzt den Hauptschwerpunkt dieses Projekts kennen, lassen Sie uns alle Komponenten zusammenbauen, um eine endgültige Schaltung zu bilden.
Nehmen Sie ein Steckbrett und setzen Sie das ein ESP32-Karte drin. Nehmen Sie sowohl Transistoren als auch Widerstände und setzen Sie sie so in das Steckbrett ein, dass der Transistor als Schalter verwendet werden kann. Befolgen Sie die nachstehende Konfiguration, damit Sie beim Umschalten keine Fehler machen.
Schließen Sie in der obigen Abbildung die Vin Port zu den Stiften der ESP32Verbinden Sie den Port Vcc mit der externen 5-V-Versorgung und Vo mit dem Relaismodul. Der Hauptgrund, warum wir den Transistor als Schalter verwenden, ist, dass ein Relais 5 V benötigt, um zu arbeiten, aber der ESP32 kann nur 3,3 V liefern. Wir müssen also 5 V außerhalb des Relais bereitstellen.
Jetzt verbinden wir das Relaismodul mit den Transistoren. Stellen Sie sicher, dass der erste Transistor an Pin 34 des ESP-Moduls und der zweite Transistor an Pin 35 des ESP-Moduls angeschlossen ist. Wir werden beide Relaismodule im normalerweise offenen Modus verwenden. Schließen Sie das Gasventil und die Zündkerze an die Ausgangsklemme des ersten bzw. zweiten Relaismoduls an. Stellen Sie sicher, dass Sie das in der folgenden Abbildung gezeigte Relaismodul anschließen.
Schritt 4: Arbeiten
Das Herzstück dieses Projekts ist das ESP32, die Mikrocontroller-Karte. Ein Gasventil und eine Zündkerze sind über Relaismodule mit dem ESP verbunden. Das Gasventil ist zunächst geschlossen. Beim Einschalten über die mobile Anwendung wird das Gasventil eingeschaltet. Gleiches gilt für die Zündkerze. Es kann über die mobile App ein- oder ausgeschaltet werden. Diese Zündkerze wird an den Ofen angeschlossen, an dem das Gas freigesetzt wird. Diese Zündkerze entzündet das Feuer.
Schritt 5: Erste Schritte mit ESP32
Wenn Sie zuvor noch nicht an der Arduino IDE gearbeitet haben, machen Sie sich keine Sorgen, da unten eine schrittweise Anleitung zum Einrichten der Arduino IDE aufgeführt ist.
- Laden Sie die neueste Version von Arduino IDE von Arduino herunter.
- Schließen Sie Ihr Arduino-Board an den PC an und öffnen Sie die Systemsteuerung. Klicke auf Hardware und Sound.Jetzt offen Geräte und Drucker und suchen Sie den Port, an den Ihre Karte angeschlossen ist. In meinem Fall ist es COM14aber es ist bei verschiedenen Computern unterschiedlich.
- Klicken Sie auf Datei und dann auf Einstellungen. Kopieren Sie den folgenden Link in die Zusätzliche Board Manager-URL. „https://dl.espressif.com/dl/package_esp32_index.json ”
- Um ESP32 mit Arduino IDE zu verwenden, müssen wir spezielle Bibliotheken importieren, mit denen wir Code auf ESP32 brennen und verwenden können. Diese beiden Bibliotheken sind unter dem unten angegebenen Link angehängt. Um die Bibliothek einzuschließen, gehe zu Sketch > Bibliothek einschließen > ZIP-Bibliothek hinzufügen. Ein Feld wird angezeigt. Suchen Sie den ZIP-Ordner auf Ihrem Computer und klicken Sie auf OK, um die Ordner einzuschließen.
- Nun gehe Skizze> Bibliothek einschließen> Bibliotheken verwalten.
- Ein Menü wird geöffnet. Geben Sie in die Suchleiste ein Arduino JSON.Eine Liste wird angezeigt. Installieren Arduino JSON von Benoit Blanchon.
- Klicken Sie nun auf die Werkzeuge.Ein Dropdown-Menü wird angezeigt. Stellen Sie die Platine auf ESP Dev Module.
- Klicken Sie erneut auf das Menü Tool und stellen Sie den Port ein, den Sie zuvor in der Systemsteuerung beobachtet haben.
- Laden Sie nun den im obigen Link angehängten Code hoch und klicken Sie auf die Schaltfläche zum Hochladen, um den Code auf dem ESP32-Mikrocontroller zu brennen.
Wenn Sie nun den Code hochladen, kann ein Fehler auftreten. Dies ist der häufigste Fehler, der auftreten kann, wenn Sie eine neue Version der Arduino IDE und des Arduino JSON verwenden. Im Folgenden sind die Fehler aufgeführt, die möglicherweise auf dem Bildschirm angezeigt werden.
In der Datei aus C: \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 aus C: \ Benutzer \ Pro \ Desktop \ smartHome \ code \ code.ino: 2: C. : \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: Fehler: StaticJsonBuffer ist eine Klasse von ArduinoJson 5. Weitere Informationen zum Aktualisieren Ihres Programms auf ArduinoJson finden Sie unter arduinojson.org/upgrade Version 6 StaticJsonBufferjsonBuffer; ^ In der Datei aus C: \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 aus C: \ Benutzer \ Pro \ Desktop \ smartHome \ code \ code.ino: 2: C: \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: Fehler: StaticJsonBuffer ist eine Klasse von ArduinoJson 5. Weitere Informationen zum Aktualisieren Ihres Programms finden Sie unter arduinojson.org/upgrade ArduinoJson Version 6 gibt StaticJsonBuffer zurück () .parseObject (_data); ^ Für "WiFi.h" wurden mehrere Bibliotheken gefunden. Verwendet: C: \ Benutzer \ Pro \ AppData \ Local \ Arduino15 \ Pakete \ esp32 \ Hardware \ esp32 \ 1.0.2 \ Bibliotheken \ WiFi Nicht verwendet: C: \ Programme ( x86) \ Arduino \ library \ WiFi Verwenden von Library WiFi in Version 1.0 im Ordner: C: \ Users \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ library \ WiFi Verwenden der Bibliothek IOXhop_FirebaseESP32-master im Ordner: C: \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ IOXhop_FirebaseESP32-master (Legacy) Verwenden der Bibliothek HTTPClient in Version 1.2 im Ordner: C: \ Benutzer \ Pro \ AppData \ Local \ Arduino15 \ packages \ esp32 \ hardware \ esp32 \ 1.0.2 \ Bibliotheken \ HTTPClient Verwenden der Bibliothek WiFiClientSecure in Version 1.0 im Ordner: C: \ Benutzer \ Pro \ AppData \ Local \ Arduino15 \ Pakete \ esp32 \ Hardware \ esp32 \ 1.0.2 \ Bibliotheken \ WiFiClientSecure Verwenden der Bibliothek ArduinoJson unter Version 6.12.0 im Ordner: C: \ Benutzer \ Pro \ Dokumente \ Arduino \ Bibliotheken \ ArduinoJson-Exit-Status 1 Fehler beim Kompilieren für das Board ESP32 Dev Module.
Es gibt keinen Grund zur Sorge, da wir diese Fehler durch Befolgen einiger einfacher Schritte beseitigen können. Diese Fehler treten auf, weil die neue Version von Arduino JSON stattdessen eine andere Klasse hat StaticJsonBuffer.Dies ist die Klasse von JSON 5. Wir können diesen Fehler also einfach beseitigen, indem wir die Version von Arduino JSON unserer Arduino IDE herunterstufen. Einfach gehen zu Skizze> Bibliothek einschließen> Bibliotheken verwalten.Suchen nachArduino JSON von Benoit Blanchondass Sie zuvor installiert haben. Deinstallieren Sie es zuerst und setzen Sie dann seine Version auf 5.13.5. Nachdem wir eine alte Version von Arduino JSON festgelegt haben, installieren Sie sie erneut und kompilieren Sie den Code neu. Dieses Mal wird Ihr Code erfolgreich kompiliert.
Klicken Sie hier, um den Code herunterzuladen.
Schritt 6: Code
Der angehängte Code ist ziemlich gut kommentiert, aber dennoch werden einige seiner Teile unten erklärt.
1. Zu Beginn sind zwei Bibliotheken enthalten, damit WLAN aktiviert ist und die ESP-Karte mit der Firebase-Datenbank verbunden werden kann. Dann sind der Firebase-Host, die Authentifizierung, der Name Ihrer lokalen WLAN-Verbindung und das Kennwort derselben WLAN-Verbindung enthalten. Definieren Sie außerdem die Pins auf der ESP-Karte, die zum Anschließen der externen Geräte verwendet werden.
#einschließen// Bibliothek einschließen, um WiFi #include zu verwenden // Bibliothek einschließen, um eine Verbindung zu Firebase herzustellen #define FIREBASE_HOST "xxxxxxxxxx" // xxxxxxxxxx durch Ihren Firebase-Host hier ersetzen #define FIREBASE_AUTH "xxxxxxxxxxx" // xxxxxxxxxxx durch Ihre Firebase-Authentifizierung ersetzen hier Name unserer Wifi-Verbindung #define WIFI_PASSWORD "xxxxxxxxxx" // Ersetze xxxxxxxxxx durch dein Wifi-Passwort #define ventil 34 // verbinde das Gasventil mit diesem Pin #define spark 35 // verbinde die Zündkerze mit diesem Pin
2. void setup () ist eine Funktion, die nur einmal ausgeführt wird, wenn der Mikrocontroller eingeschaltet oder die Aktivierungstaste gedrückt wird. In dieser Funktion wird die Baudrate eingestellt, die im Grunde die Kommunikationsgeschwindigkeit in Bit pro Sekunde ist. Danach wird die ESP-Karte mit dem Wifi verbunden.
void setup () {Serial.begin (115200); // Baudrate einstellen pinMode (Ventil, AUSGANG); // setze Pin 34 als OUTPUT PinMode (Spark, OUTPUT); // Pin 35 so einstellen, dass er als OUTPUT verwendet wird // Verbindung zu WLAN herstellen. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ( "verbinden"); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ("."); Verzögerung (500); } Serial.println (); Serial.print ("verbunden:"); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }}
3. Leere Schleife () ist die Funktion, die wiederholt in einer Schleife ausgeführt wird. In dieser Schleife werden die Werte aus der Feuerbasis gelesen und geprüft, ob sie Null oder Eins sind. Wenn die Werte eins sind, wird ein HIGH-Signal an den Pin gesendet, das zum Einschalten des Relaismoduls führt. Wenn der Wert Null ist, wird ein LOw-Signal an den Pin des ESP gesendet, wodurch das Relais ausgeschaltet wird.
void loop () {// Wert abrufen temp1 = Serial.println (Firebase.getFloat ("light")); // erhalte den Wert für das Umschalten des Gasventils temp2 = Serial.println (Firebase.getFloat ("AC")); // erhalte den Wert für das Schalten der Zündkerze, wenn (temp1 == 1) {digitalWrite (Ventil, HIGH) // Relais eins einschalten} sonst wenn (temp1 == 0) {digitalWrite (Ventil, LOW) // drehen Relais eins ausschalten} sonst wenn (temp2 == 1) {digitalWrite (Funke, HOCH) // Relais zwei einschalten} sonst wenn (temp2 == 0) {digitalWrite (Funke, NIEDRIG) // Relais zwei ausschalten} // Fehler behandeln if (Firebase.failed ()) {Serial.print ("Einstellung / Nummer fehlgeschlagen:"); Serial.println (Firebase.error ()); Rückkehr; } delay (1000); }}
Das ist alles für heute. Jetzt können Sie unseren eigenen intelligenten Herd zu Hause herstellen. Suchen Sie in Zukunft auf unserer Website nach weiteren interessanten Artikeln wie diesen.