Wie steuern Sie Ihre Klimaanlage mit Ihrem Smartphone anstelle der Fernbedienung?

Wenn wir uns in der modernen Welt umschauen, können wir feststellen, dass alles, was die Elektronik umfasst, in gewissem Maße automatisiert ist. Die neuesten Automatisierungstechniken werden von wenigen Menschen in ihren Häusern übernommen. In dieser modernen Zeit sollten sich die Menschen für die neuesten Automatisierungstechniken entscheiden, um ihr Leben zu erleichtern. Normalerweise drehen wir uns in unseren Häusern um AUF, AUS und stellen Sie die Temperatur manuell in unseren Klimaanlagen ein. Heutzutage können mit einer einzigen Komponente wie einem Relaismodul verschiedene elektronische Parameter eines Hauses gesteuert werden, z. B. das Schalten von Haushaltsgeräten, die Überwachung von Sicherheitsalarmen, die Automatisierung von Garagentoren usw. In diesem Artikel werden wir ein System, mit dem Sie Ihre Klimaanlage mit einer mobilen Anwendung anstelle der Fernbedienung steuern können. Da ein Android-Handy am weitesten verbreitet ist, ist eine Android-Anwendung die beste Option, um unsere Klimaanlage zu steuern.

Wie richte ich alle notwendigen Peripheriegeräte mit ESP32 ein?

Um ein Projekt zu erstellen, muss man wissen, was die grundlegenden Komponenten sind, die man benötigt, um es abzuschließen. Daher ist es ein ausgezeichneter Ansatz, vor Beginn der Arbeiten eine vollständige Liste aller Komponenten zu erstellen, um Zeit zu sparen und zu vermeiden, dass Sie mitten im Projekt stecken bleiben. Eine vollständige Liste aller Komponenten, die leicht auf dem Markt erhältlich sind, finden Sie unten. Nach der Zusammenstellung der Hardwarekomponenten entwickeln wir unsere eigene Android-Anwendung zur Steuerung unserer Klimaanlage:

Schritt 1: Verwendete Komponenten (Hardware)

Schritt 2: Verwendete Komponenten (Software)

Da wir einen drahtlosen Schalter herstellen werden, benötigen wir einen Knopf, um ihn ein- und auszuschalten. Wir möchten diese Schaltfläche mit einem Mobiltelefon bedienen, daher müssen wir eine Anwendung dafür entwickeln. Die bequemste Anwendung ist eine Android-Anwendung und wir müssen diese beiden Software installieren, um eine Verbindung zu dieser Anwendung herzustellen. Beide sind unten aufgeführt:

Schritt 3: Android Studio installieren

Vor der Installation von Android Studio installieren wir zuerst JAVA JDK. Um dies zu installieren, klicken Sie auf das exe Datei die Sie über den obigen Link heruntergeladen haben, und klicken Sie auf Weiter, bis es erfolgreich installiert wurde. Führen Sie nun die folgenden Schritte durch, damit Ihre Eingabeaufforderung Java als externen oder internen Befehl erkennt.

  1. Öffnen Schalttafel und klicke auf System und Sicherheit.
  2. Klicke auf System.
  3. Klicke auf Erweiterte Systemeinstellung und dann klick auf Umgebungsvariablen.
  4. Klicken Sie im Abschnitt Systemvariable auf den Pfad und dann auf Bearbeiten. Eine neue Umgebungsvariable bearbeitenKasten erscheint.
  5. Jetzt geh zu C:\Programme\Java in Ihrem PC. Öffnen Sie den JDK-Ordner, klicken Sie auf den bin-Ordner und kopieren Sie dann den Pfad dieses Ordners.
  6. Gehen Sie nun zum Feld Umgebungsvariable bearbeiten und klicken Sie auf Neu, um eine neue Variable zu erstellen. Fügen Sie den Pfad, den Sie im obigen Schritt kopiert haben, in die neue Variable ein und speichern Sie ihn.
  7. Um zu bestätigen, dass es vollständig installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie ein java-Version.

Nun haben Sie Java JDK erfolgreich auf Ihrem Computer installiert. Lassen Sie uns jetzt Android Studio auf Ihrem Computer installieren. Die Installation dieser Software ist sehr einfach. Sie müssen die heruntergeladene Datei öffnen und auf Weiter klicken, bis Ihre Software vollständig installiert ist.

Schritt 4: Verbindung zu Firebase

Nachdem wir Android Studio installiert haben, starten wir es und erstellen ein neues Projekt, um es mit der Firebase zu verbinden. Führen Sie dazu die folgenden Schritte aus.

  1. Starten Sie Android Studio und erstellen Sie ein neues Projekt, indem Sie auf klicken Leere Aktivität.
  2. Benennen Sie Ihr Projekt nun als computerswitch,wählen Kotlinals Sprache und wählen Sie das minimale API-Level entsprechend Ihrem Mobiltelefon.
  3. Da wir das Internet verwenden werden, um die Pins des Himbeer-Pi zu steuern. Wir werden in unserer App die Berechtigung für den Zugriff auf lokales WLAN festlegen. Gehen Sie dazu zu app > Manifeste > AndroidManifest.xml und fügen Sie den folgenden Befehl hinzu.
  4. Klicken Sie nun auf Nein Werkzeuge.Es erscheint ein Dropdown-Menü, aus dem Sie Feuerbasis.
  5. Auf der rechten Seite des Bildschirms erscheint ein großes Menü, das die Menüs von fast allen Diensten bietet, die Firebase anbietet. Aber im Moment liegt unser Hauptaugenmerk auf Real-Time Database. Klicken Sie also auf Echtzeitdatenbank. Ein Link zu „Daten speichern und abrufen" wird auftauchen. Klicken Sie auf diesen Link.
  6. Verbinden an Mit Firebase verbindenTaste. Sie gelangen zum Standard-Webbrowser. Zuerst werden Sie aufgefordert, sich bei Ihrem Gmail-Konto anzumelden. Dann klicken Sie auf Fügen Sie die Echtzeitdatenbank zu Ihrer App hinzuund akzeptieren Sie die Änderungen.
  7. Gehen Sie nun zur Firebase-Konsole. Dort sehen Sie ein bereits erstelltes Projekt. Das Android-Logo auf dem Symbol dieses Projekts bedeutet, dass es bereits zu einer Android-Anwendung gehört.
  8. Von dem Entwickeln Menü, das auf der linken Seite des Bildschirms angezeigt wird, wählen Sie Datenbank. Ein Knopf von Datenbank erstellen wird rechts angezeigt. Klicken Sie auf diese Schaltfläche.
  9. Es erscheint ein Menü, in dem Sie aufgefordert werden, den Modus Ihrer Datenbank einzustellen. Klicke auf Testmodusund dann klicken Aktivieren.
  10. Jetzt ist ein wirklich wichtiger Schritt, den Sie sich merken sollten, die Änderung der Cloud Firestore zu Echtzeit-Datenbank.Klicken Sie dazu auf die im unteren Bild gezeigte Schaltfläche und ändern Sie die gewünschte Option.
  11. Klicken Sie nun auf die Regeln Registerkarte und ändern Sie die Konfigurationen auf Wahr. Wenn alles fertig ist, klicken Sie auf Veröffentlichen.
  12. Eine Sache, die Sie außer dem Anschließen der Firebase noch tun müssen, ist die Aktualisierung der Datenbankversion. Klicken Sie dazu auf gehe zu docs. Klicken Sie nun auf Führerund wählen Sie Android-Anleitungenaus der auf dem Bildschirm angezeigten Liste. Scrollen Sie nach unten, bis eine Tabelle angezeigt wird. Suchen Sie in dieser Tabelle nach Real-Time Database und finden Sie ihre Version. in meinem Fall ist es 19.1.0.
  13. . Klicke auf Gradle-Skripte,ein Menü auf der linken Seite des Bildschirms. Dann wählen Sie gebaut. Gradle (Modul: App). Suchen Sie nun im Code nach der Version der Echtzeitdatenbank und ersetzen Sie sie durch die neue.
  14. Synchronisieren Sie nun das Projekt, indem Sie auf die Synchronisierungsschaltfläche klicken, die oben auf dem Bildschirm angezeigt wird.

Schritt 5: Layout erstellen

Jetzt, da unsere Android-Anwendung mit der Firebase verbunden ist, erstellen wir ein Layout unserer App, das vom Benutzer verwendet wird, um den Computer ein- oder auszuschalten. Um ein Layout zu erstellen, gehen Sie zu app > res > layout > aktivität_main.xml. wo wir ein Layout entwerfen. Kopieren Sie den unten angegebenen Code dort, um eine Textansicht zu erstellen.

        

Das Layout unserer App sieht so aus:

Schritt 6: Erste Schritte mit ESP32

Wenn Sie noch nie an Arduino IDE gearbeitet haben, machen Sie sich keine Sorgen, denn unten wird eine Schritt-für-Schritt-Anleitung zum Einrichten der Arduino IDE gezeigt.

  1. Laden Sie die neueste Version der Arduino IDE von Arduino herunter.
  2. Verbinden Sie Ihr Arduino-Board mit dem PC und öffnen Sie die Systemsteuerung. Klicke auf Hardware und Ton.Jetzt offen Geräte und Drucker und finden Sie den Port, mit dem Ihr Board verbunden ist. In meinem Fall ist es COM14aber es ist bei verschiedenen Computern unterschiedlich.
  3. Klicken Sie auf Datei und dann auf Einstellungen. Kopieren Sie den folgenden Link in die URL des zusätzlichen Board-Managers. “https://dl.espressif.com/dl/package_esp32_index.json”
  4. Um nun ESP32 mit Arduino IDE zu verwenden, müssen wir spezielle Bibliotheken importieren, die es uns ermöglichen, Code auf ESP32 zu brennen und zu verwenden. diese beiden Bibliotheken sind in dem unten angegebenen Link angehängt. Um die Bibliothek einzubinden, 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.
  5. Jetzt geh zu Skizze > Bibliothek einschließen > Bibliotheken verwalten.
  6. Ein Menü wird geöffnet. Geben Sie in die Suchleiste ein Arduino-JSON.Eine Liste wird angezeigt. Installieren Arduino JSON von Benoit Blanchon.
  7. Klicken Sie nun auf die Werkzeuge.Ein Dropdown-Menü wird angezeigt. Stelle das Board auf ESP-Entwicklungsmodul.
  8. Klicken Sie erneut auf das Tool-Menü und stellen Sie den Port ein, den Sie zuvor in der Systemsteuerung beobachtet haben.
  9. Laden Sie nun den Code hoch, der im Link unten angehängt ist, und klicken Sie auf die Schaltfläche zum Hochladen, um den Code auf den ESP32-Mikrocontroller zu brennen.

Wenn Sie den Code jetzt 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 enthalten von C:\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master/IOXhop_FirebaseESP32.h:8:0, von 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 ist eine Klasse von ArduinoJson 5. Bitte besuchen Sie arduinojson.org/upgrade, um zu erfahren, wie Sie Ihr Programm auf ArduinoJson aktualisieren Version 6 StaticJsonBuffer jsonBuffer; ^ In der Datei enthalten von C:\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master/IOXhop_FirebaseESP32.h:8:0, von 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 ist eine Klasse von ArduinoJson 5. Bitte besuchen Sie arduinojson.org/upgrade, um zu erfahren, wie Sie Ihr Programm auf aktualisieren ArduinoJson Version 6 gibt StaticJsonBuffer zurück().parseObject(_data); ^ Für "WiFi.h" wurden mehrere Bibliotheken gefunden Verwendet: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi Nicht verwendet: C:\Program Files ( x86)\Arduino\libraries\WiFi Verwenden der Bibliothek WiFi in Version 1.0 im Ordner: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi Verwenden der Bibliothek IOXhop_FirebaseESP32-master im Ordner: C:\Users\Pro\Documents\Arduino\libraries\IOXhop_FirebaseESP32-master (legacy) Verwendung der Bibliothek HTTPClient in Version 1.2 im Ordner: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\ esp32\1.0.2\libraries\HTTPClient Verwendung der Bibliothek WiFiClientSecure in Version 1.0 im Ordner: C:\Users\Pro\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.2\libraries\WiFiClientSecure Verwendung der Bibliothek ArduinoJson unter Version 6.12.0 im Ordner: C:\Users\Pro\Documents\Arduino\libraries\ArduinoJson exit status 1 Fehler beim Kompilieren für das ESP32-Entwicklungsmodul der Platine.

Sie müssen sich keine Sorgen machen, da wir diese Fehler mit einigen einfachen Schritten beseitigen können. Diese Fehler treten auf, weil die neue Version von Arduino JSON eine andere Klasse anstelle von hat StaticJsonBuffer.Dies ist eigentlich die Klasse von JSON 5. Wir können diesen Fehler also einfach beseitigen, indem wir die Version von Arduino JSON unserer Arduino IDE herunterstufen. Geh einfach zu Skizze > Bibliothek einschließen > Bibliotheken verwalten.Suchen nachArduino JSON von Benoit Blanchondie Sie bereits installiert haben. Deinstallieren Sie es zuerst und setzen Sie dann seine Version auf 5.13.5. Nachdem wir nun eine alte Version von Arduino JSON eingestellt haben, installieren Sie sie erneut und kompilieren Sie den Code neu. Dieses Mal wird Ihr Code erfolgreich kompiliert.

Schritt 7: Den Code verstehen

Der Code dieses Projekts ist sehr einfach und wird im Folgenden kurz erklärt. Außerdem kann der Code mit den notwendigen Bibliotheken auch von Hier heruntergeladen werden.

1. Zu Beginn müssen wir zwei Bibliotheken einschließen, die verwendet werden, um unseren Code mit der Firebase-Datenbank zu verbinden, und die zweite, um den IR-Sensor mit unserem Mikrocontroller zu verwenden. Dann werden wir den Host und die Authentifizierung unserer Firebase hinzufügen, denn danach ist unser ESP32 könnte unsere finden Datenbank. Dann geben wir die SSID und das Passwort unserer lokalen Internetverbindung an. Dann müssen wir ein Objekt erstellen, damit wir Daten aus unserer Cloud pushen und abrufen können. Dann definieren wir den Pin, an den unser Sensor angeschlossen wird, und erstellen auch ein Objekt zur Verarbeitung der vom IR-Sensor kommenden Daten.

#einschließen #einschließen  #einschließen   #define FIREBASE_HOST "coma-patient.firebaseio.com" #define FIREBASE_AUTH "UrzlDZXMBNRhNdc5i73DRW10KFEuw8ZPEAN9lmdf" #define WIFI_SSID "PRO" #define WIFI_PASSWORD "abcdefgh" FirebaseData firebaseData; int RECV_PIN = 19; IRrecv irrecv(RECV_PIN); decode_results-Ergebnisse;

2. Void-Setup (), ist die Schleife, die ausgeführt wird, wenn die Freigabetaste gedrückt oder der Mikrocontroller eingeschaltet wird. Hier starten wir den Empfänger unseres IR-Sensors und schreiben den Code, um unseren Mikrocontroller mit der lokalen Internetverbindung zu verbinden.

Void setup () { Serial.begin (115200); pinMode (RECV_PIN,EINGANG); irrecv.enableIRIn(); // Starten Sie den Empfänger // Verbinden Sie sich mit dem WLAN. WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.println("verbinden"); Während (WiFi.status () != WL_CONNECTED) { Serial.print ( "."); Verzögerung (500); } Serial.println(); Serial.print("verbunden:"); Serial.println (WiFi.localIP()); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); Firebase.enableClassicRequest(firebaseData, true); }

3. Leere Schleife () ist eine Funktion, die wiederholt in einer Schleife ausgeführt wird. Hier überprüft dieser Code, ob die Werte vom Sensor stammen.

Void Schleife () { wenn (irrecv.decode (& Ergebnisse)) { Serial.println (Ergebnisse.Wert, HEX); dump(&Ergebnisse); irrecv.resume(); // Den nächsten Wert empfangen } delay(500); }

4. Leere Dump()ist eine Funktion, die verwendet wird, um zuerst das Modell der Fernbedienung zu identifizieren, die das Signal an den Sensor sendet. es gibt auch die decode_results-Struktur aus.

void dump (decode_results *results) { int count = results->rawlen; if (results->decode_type == UNKNOWN) { Serial.print ( "Unbekannte Kodierung: "); aufrechtzuerhalten. Sonst wenn (Ergebnisse-> decode_type == NEC) { Serial.print ( "Dekodierter NEC: "); aufrechtzuerhalten. Sonst wenn (Ergebnisse-> decode_type == SONY) { Serial.print ( "Dekodiert SONY:"); aufrechtzuerhalten. Sonst wenn (Ergebnisse-> decode_type == RC5) { Serial.print ( "Dekodierter RC5: "); aufrechtzuerhalten. Sonst if (Ergebnisse-> decode_type == RC6) { Serial.print ( "Dekodierter RC6: "); } zu else if (results->decode_type == PANASONIC) {Serial.print ("Dekodierte PANASONIC - Adresse:"); Serial.print (Ergebnisse-> panasonicAddress, HEX); Serial.print("Wert:"); aufrechtzuerhalten. Sonst if (Ergebnisse-> decode_type == JVC) { Serial.print ( "Dekodierte JVC: "); } Serial.print (Ergebnisse-> Wert, HEX); Serial.print (" ("); Serial.print (Ergebnisse-> Bits, DEC); Serial.println ("Bits)"); Serial.print ( "Raw ("); Serial.print (count, DEC); Serial.print ("): "); for (int i = 0; i  Rawbuf [i] * USECPERTICK, DEC); aufrechtzuerhalten. Sonst {Serial.print (-(int) results-> rawbuf [i] * USECPERTICK, DEC); } Serial.print ( " "); } Serial.println(""); }

Schritt 8: Vorbereiten der Hardware

Nachdem wir den Code in den ESP32 gebrannt haben, müssen wir die Hardware vorbereiten und an der Wand oder an einem anderen geeigneten Ort in der Nähe der Klimaanlage befestigen. Befestigen Sie die Komponenten auf dem Steckbrett, indem Sie dem oben gezeigten Diagramm folgen. Nach dem Zusammenbau der Schaltung das ESP-Modul mit dem Android-Ladegerät einschalten. Es ist besser, das Gehäuse der Hardware zu Hause zu gestalten oder die Hardware einfach in das Raspberry-Pi-Gehäuse zu stecken.

Schritt 9: Giving Letzter Schliff

Nach dem Zusammenbau der Hardware werden wir diese testen. Verbinden Sie das Android-Ladegerät mit dem ESP32 und schalten Sie es ein und stellen Sie sicher, dass Ihr Telefon über eine gute Signalstärke Ihrer lokalen Internetverbindung verfügt. Öffnen Sie Ihre Anwendung und drücken Sie die Taste, Sie werden sehen, dass Sie Ihre Klimaanlage jetzt mit Ihrer mobilen Anwendung steuern können.

Das war alles für heute, ich hoffe, Sie hatten Spaß beim Lesen dieses Artikels und vergessen Sie nicht, Ihre Erfahrungen zu teilen, nachdem Sie Ihren eigenen Prototyp zur Steuerung Ihrer Klimaanlage zu Hause gebaut haben!

Facebook Twitter Google Plus Pinterest