Erstellen eines drahtlosen Ein-/Aus-Schalters für Ihren PC
EIN Clever Systeme zur Steuerung von Beleuchtung, Entertainment-Systemen und anderen Geräten lassen sich einfach zu Hause gestalten und sind zudem das am schnellsten wachsende Konzept der modernen Welt. Smart Home Systems ist ein Konzept, bei dem alle Elektrogeräte oder Geräte mit einer einzigen Fernbedienung gesteuert werden. Heutzutage kann eine einzelne Komponente wie ein Relaismodul verwendet werden, um verschiedene elektronische Parameter eines Hauses zu steuern, z. B. das Schalten von Haushaltsgeräten, die Überwachung von Sicherheitsalarmen, die Automatisierung von Garagentoren usw. In diesem Projekt wird unser Persönlicher Computer wird von einem gesteuert Android-Anwendung. In diesen Systemen ist die Fernbedienung meistens eine mobile Anwendung. Da ein Android-Handy unter den Menschen am häufigsten vorkommt, ist ein Android-Anwendung ist die beste Option, um unseren PC zu steuern.
Wie erstelle ich einen drahtlosen Switch für Ihren PC auf einem Mobiltelefon?
Schritt 1: Sammeln der Komponenten
Um ein Projekt zu erstellen, muss man wissen, was die grundlegenden Komponenten sind, die man benötigt, um es abzuschließen. Ein hervorragender Ansatz vor Beginn der Arbeiten besteht darin, eine vollständige Liste aller Komponenten zu erstellen, um Zeit zu sparen und die Möglichkeit zu vermeiden, mitten im Projekt hängen zu bleiben. Eine vollständige Liste aller Komponenten, die auf dem Markt leicht verfügbar sind, finden Sie unten:
Schritt 2: Zu installierende Software
Da wir einen drahtlosen Schalter herstellen werden, benötigen wir einen Knopf, um ihn ein- und auszuschalten. Wir möchten ein Mobiltelefon verwenden, um diese Taste zu bedienen, daher müssen wir eine Anwendung dafür entwickeln. Die bequemste Anwendung ist eine Android-Anwendung. Wir müssen zwei Software installieren, um diese Anwendung zu verwenden. Beide sind unten aufgeführt:
Schritt 3: Installieren von Android Studio
Vor der Installation von Android Studio installieren wir zuerst JAVA JDK. Um dies zu installieren, klicken Sie auf exe Datei dass Sie von dem 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.
- Öffnen Schalttafel und klicken Sie auf System und Sicherheit.
- Klicke auf System.
- Klicke auf Erweiterte Systemeinstellung und dann auf klicken Umgebungsvariablen.
- Klicken Sie im Abschnitt Systemvariable auf den Pfad und dann auf Bearbeiten. Eine neue Umgebungsvariable bearbeitenDas Feld wird angezeigt.
- Jetzt geh zu C: \ Programme \ Java in Ihrem PC. Öffnen Sie den JDK-Ordner, klicken Sie auf den Ordner bin und kopieren Sie den Pfad dieses Ordners.
- 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.
- Um zu bestätigen, ob es vollständig installiert ist, öffnen Sie die Eingabeaufforderung und geben Sie ein Java-Version.
Jetzt, da Sie Java JDK erfolgreich auf Ihrem Computer installiert haben. 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 computerSwitc,wählen KotlinWählen Sie als Sprache die Mindest-API-Stufe entsprechend Ihrem Mobiltelefon aus.
3. Da wir das Internet nutzen werden, um die Stifte des Himbeer-Pi zu kontrollieren. Wir werden in unserer App die Erlaubnis festlegen, auf lokales WLAN zuzugreifen. Gehen Sie dazu zu App> Manifeste> AndroidManifest.xml und fügen Sie den folgenden Befehl hinzu.
3. Klicken Sie nun auf n Werkzeuge.Ein Dropdown-Menü wird angezeigt, aus dem Sie auswählen können Feuerbasis.
4. Auf der rechten Seite des Bildschirms wird ein großes Menü angezeigt, das das Menü für fast alle von Firebase bereitgestellten Dienste enthält. Im Moment liegt unser Hauptaugenmerk jedoch auf der Echtzeitdatenbank. Klicken Sie also auf Echtzeitdatenbank. Ein Link zu “Daten speichern und abrufen" wird auftauchen. Klicken Sie auf diesen Link.
5. Verbinden Sie sich mit Stellen Sie eine Verbindung zu Firebase herTaste. Sie gelangen zum Standard-Webbrowser. Zunächst werden Sie aufgefordert, sich bei Ihrem Google Mail-Konto anzumelden. Dann klicken Sie auf Fügen Sie Ihrer App die Echtzeitdatenbank hinzuund akzeptieren Sie die Änderungen.
6. Gehen Sie jetzt 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.
7. Von der Entwickeln Wählen Sie das Menü, das auf der linken Seite des Bildschirms angezeigt wird Datenbank. Ein Knopf von Datenbank erstellen wird rechts angezeigt. Klicken Sie auf diese Schaltfläche.
8. Ein Menü wird angezeigt, in dem Sie aufgefordert werden, den Modus Ihrer Datenbank festzulegen. Klicke auf Testmodusund dann klicken Aktivieren.
9. Nun ist es ein wirklich wichtiger Schritt, sich daran zu erinnern, das zu ändern Cloud Firestore zu Echtzeitdatenbank.Klicken Sie dazu auf die im Bild unten gezeigte Schaltfläche und ändern Sie die gewünschte Option.
10. Klicken Sie nun auf Regeln Registerkarte und ändern Sie die Konfigurationen in Wahr. Wenn alles erledigt ist, klicken Sie auf Veröffentlichen.
11. Eine andere Sache, die Sie tun müssen, als die Firebase zu verbinden, ist das Aktualisieren der Datenbankversion. Klicken Sie dazu auf gehe zu docs. Klicken Sie nun auf Führerund wählen Sie Android-Anleitungenaus der Liste, die auf dem Bildschirm angezeigt wird. Scrollen Sie nach unten, bis eine Tabelle angezeigt wird. Suchen Sie in dieser Tabelle nach einer Echtzeitdatenbank und suchen Sie deren Version. in meinem Fall ist es 19.1.0
12. Klicken Sie 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.
13. Synchronisieren Sie nun das Projekt, indem Sie auf die Schaltfläche zum Synchronisieren oben auf dem Bildschirm klicken.
Schritt 5: Layout erstellen
Jetzt, da unsere Android-Anwendung mit der Firebase verbunden ist, können wir ein Layout unserer App erstellen, das vom Benutzer zum Ein- und Ausschalten des Computers verwendet wird. Um ein Layout zu erstellen, gehen Sie zu app> res> layout> activity_main.xml. wo wir ein Layout entwerfen. Kopieren Sie den unten angegebenen Code, um eine Textansicht zu erstellen.
Das Layout unserer App sieht folgendermaßen aus:
Schritt 6: Backend-Codierung in Kotlin
Nachdem wir das Frontend der Anwendung erstellt haben, gehen wir einen Schritt weiter und schreiben den Backend-Code, um ihn mit der Firebase zu verbinden. Wir haben einen Kippschalter angeschlossen, der im ausgeschalteten Zustand eine 0 an die Firebase-Datenbank und im eingeschalteten Zustand eine 1 an die Firebase-Datenbank sendet.
Klicken Sie nun in der linken Ecke auf app> java> com.example.computerswitch> main_activity,und fügen Sie dort den folgenden Code in Ihre Klasse ein. Wenn ein Fehler in der Bibliothek auftritt, drücken Sie ALT + ENTER um diese Bibliothek automatisch einzuschließen.
var database = FirebaseDatabase.getInstance () var myRef = database.reference intern lateinit var btnSwitch: Überschreibungsspaß wechseln onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitchI(R.id.switch2) als Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ("switch"). SetValue ("1")} else {myRef.child ("switch"). SetValue (" 0 ")}}}
In der folgenden Abbildung sehen Sie, dass beim Einschalten des Schalters „1“ in die Firebase-Datenbank hochgeladen wird. Ebenso wird hier eine „0“ ersetzt, wenn der Schalter ausgeschaltet wird.
Schritt 7: Erste Schritte mit Arduino
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 der 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 COM14, aber es ist in 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 Skizze> 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 Code hoch, der im untenstehenden Link angehängt ist, und klicken Sie auf die Schaltfläche zum Hochladen, um den Code auf die ESP32-Mikrocontroller.
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. 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 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 8: Zusammenbau der Schaltung
Jetzt, da unsere App fertig und voll funktionsfähig ist, wollen wir sehen, wie wir die Schaltung mit dem Computer verbinden.
- Nehmen Sie zunächst eine Telefonzentrale und schließen Sie alle Stecker des Computersystems an, d. H. Monitor, Drucker, CPU, Netzteil usw.
- Nehmen Sie nun den Verbindungsschalter dieser Platine und schneiden Sie zwischen den Drähten, sodass zwei Drähte, schwarz und rot, von innen sichtbar sind.
- Nehmen Sie den roten Draht heraus und schneiden Sie ihn von der Mitte ab. Verbinden Sie ein Ende des Kabels mit dem NO-Punkt des Relaismoduls und das andere Ende mit dem COM-Punkt des Relaispunkts. (Mach nichts mit dem schwarzen Draht)
- Befestigen Sie nun das ESP32 im Steckbrett und versorgen Sie es mit einer 5-V-Batterie. Verbinden Sie den Vcc und die Masse des Relaismoduls im Steckbrett mit den positiven und negativen Anschlüssen der Batterie.
- Nehmen Sie die folgende Konfiguration mit dem Transistor auf dem Steckbrett vor.
Schritt 9: Code
Der Code ist ziemlich einfach, wird aber im Folgenden kurz erläutert.
1. Zum Start sind zwei Bibliotheken enthalten, damit Firebase mit ESP32 verwendet werden kann.
#einschließen#einschließen
2. Anschließend werden Informationen zu Ihrer Firebase-Datenbank und der WLAN-Verbindung angegeben und der ESP-Pin deklariert, der mit dem Relaismodul verwendet wird.
#define FIREBASE_HOST "xxxxx" // ersetzen Sie es durch Ihren Firebase-Host #define FIREBASE_AUTH "xxxxx" // ersetzen Sie es durch Ihre Firebase-Authentifizierung #define WIFI_SSID "xxxxx" // ersetzen Sie dies durch Ihre WIFI-SSID #define WIFI_PASSWORD "xxxxx" // Ersetzen Sie es durch Ihr WLAN-Passwort. int swi = 34; // Pin34 des ESP mit Relaismodul verbinden
3. void setup ()ist eine Funktion, die nur einmal ausgeführt wird, wenn der Stromkreis eingeschaltet oder die Enable-Taste gedrückt wird. Hier wird der Code geschrieben, um die ESP-Karte mit dem WIFI zu verbinden. Der Pin des ESP, der mit dem Relaismodul verwendet wird, wird hier ebenfalls als OUTPUT deklariert.
void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // Verbindung zu WiFi 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); }}
4. Leere Schleife () ist eine Funktion, die wiederholt in einer Schleife ausgeführt wird. Hier wird der Wert aus der Firebase gelesen. Wenn dieser Wert gleich "1" ist, wird das HIGH-Signal an das Relaismodul gesendet und der Computer wird eingeschaltet. Wenn dieser Wert „0“ ist, wird der Computer ausgeschaltet.
void loop () {// Wert lesen if (Firebase.getFloat ("switch") == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // Fehler behandeln if (Firebase.failed ()) {Serial.print ("Einstellung / Nummer fehlgeschlagen:"); Serial.println (Firebase.error ()); Rückkehr; } delay (1000); }}