Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
Ferngesteuerter Relais-Controller mit Blynk
Dieses Projekt zielt darauf ab, einen ferngesteuerten Relais-Controller zu entwickeln, der über einen virtuellen Schalter in der Blynk-App bedient werden kann. Wenn der Schalter eingeschaltet wird, wird der mit dem Relais verbundene digitale Pin auf HIGH gesetzt. Wird der Schalter ausgeschaltet, wird der Pin auf LOW gesetzt. Dies ermöglicht eine einfache Fernsteuerung des Relais und fungiert effektiv als Fernschalter.
1. Schaltkreis aufbauen
Warnung
Das folgende Beispiel zeigt, wie ein Relais zur Steuerung eines LED-Moduls verwendet wird. Obwohl Sie das Relais in realen Anwendungen auch an andere Geräte anschließen können, ist bei der Arbeit mit HOCHSPANNUNG-Wechselstrom äußerste Vorsicht geboten. Unsachgemäße oder fehlerhafte Verwendung kann zu schweren Verletzungen oder sogar zum Tod führen. Dies ist daher nur für Personen gedacht, die mit HOCHSPANNUNG vertraut sind und darüber Bescheid wissen. Sicherheit hat immer Vorrang.
Bemerkung
Das ESP8266-Modul benötigt einen hohen Strom, um eine stabile Betriebsumgebung zu gewährleisten. Stellen Sie daher sicher, dass die 9V-Batterie angeschlossen ist.
2. Blynk konfigurieren
Bemerkung
Wenn Sie noch nicht mit Blynk vertraut sind, wird dringend empfohlen, zunächst diese beiden Tutorials zu lesen. Einführung in Blynk ist ein Einsteigerleitfaden für Blynk, der auch die Konfiguration des ESP8266 und die Registrierung bei Blynk umfasst. Und Flammenwarnsystem mit Blynk ist ein einfaches Beispiel, jedoch werden die Schritte darin ausführlicher beschrieben.
2.1 Vorlage erstellen
Zuerst müssen wir eine Vorlage in Blynk erstellen. Erstellen Sie eine „Ferngesteuertes Relais“-Vorlage.
2.2 Datenströme
Erstellen Sie Datastreams vom Typ Virtual Pin auf der Datastreams-Seite, um Daten vom esp8266 und uno r4 Board zu empfangen.
Erstellen Sie den virtuellen Pin V0 gemäß dem folgenden Diagramm:
Benennen Sie den Virtual Pin V0 in Switch status um. Setzen Sie den DATA TYPE auf Integer und MIN und MAX auf 0 und 1. Setzen Sie die UNITS auf None.
2.3 Web-Dashboard
Das Web-Dashboard muss ebenfalls konfiguriert werden, um mit dem ferngesteuerten Relais zu interagieren.
Konfigurieren Sie das Web-Dashboard entsprechend dem folgenden Diagramm. Stellen Sie sicher, dass jedes Widget an seinen entsprechenden virtuellen Pin gebunden ist.
3. Den Code ausführen
Öffnen Sie die Datei
06-Remote_relay_controller.inounter dem Pfadultimate-sensor-kit\iot_project\wifi\06-Remote_relay_controller, oder kopieren Sie diesen Code in die Arduino IDE.Legen Sie ein Blynk-Gerät mit der Vorlage „Ferngesteuertes Relais“ an. Ersetzen Sie dann die Werte für
BLYNK_TEMPLATE_ID,BLYNK_TEMPLATE_NAMEundBLYNK_AUTH_TOKENdurch Ihre eigenen.#define BLYNK_TEMPLATE_ID "TMPxxxxxxx" #define BLYNK_TEMPLATE_NAME "Remote relay" #define BLYNK_AUTH_TOKEN "xxxxxxxxxxxxx"
Geben Sie auch die
ssidund dasPasswortdes verwendeten WLANs ein.char ssid[] = "Ihre_ssid"; char pass[] = "Ihr_Passwort";
Nach Auswahl des korrekten Boards und Ports klicken Sie auf die Schaltfläche Hochladen.
Öffnen Sie den seriellen Monitor (Baudrate auf 115200 einstellen) und warten Sie auf eine Meldung, die eine erfolgreiche Verbindung anzeigt.
Bemerkung
Sollte die Meldung
ESP is not respondingerscheinen, befolgen Sie diese Schritte.Stellen Sie sicher, dass die 9V-Batterie angeschlossen ist.
Setzen Sie das ESP8266-Modul zurück, indem Sie den Pin RST für 1 Sekunde mit GND verbinden, dann ziehen Sie den Stecker.
Drücken Sie die Reset-Taste auf dem R4-Board.
Manchmal müssen Sie die oben genannten Schritte 3-5 Mal wiederholen. Bitte haben Sie Geduld.
4. Code-Erklärung
Einrichten der Blynk-Zugangsdaten:
Dieser Abschnitt enthält spezifische Einstellungen für die Blynk-App, wie zum Beispiel die Template-ID, den Gerätenamen und den Authentifizierungstoken.
#define BLYNK_TEMPLATE_ID "TMPLxxxxxxxx" #define BLYNK_TEMPLATE_NAME "Remote relay" #define BLYNK_AUTH_TOKEN "xxxxxxxxxxx"
Einbindung der erforderlichen Bibliotheken:
Hier binden wir die für das Projekt erforderlichen Bibliotheken ein. Diese ermöglichen die Kommunikation unseres Arduino über WiFi und die Interaktion mit der Blynk-App.
#define BLYNK_PRINT Serial #include <ESP8266_Lib.h> #include <BlynkSimpleShieldEsp8266.h> #include <SoftwareSerial.h>
Konfiguration von WiFi und seriellen Einstellungen:
Die SSID und das Passwort für das WiFi werden festgelegt. Darüber hinaus werden die Pins für die Software-Serienkommunikation mit dem ESP01 definiert.
ESP8266_BAUDlegt die Baudrate für das ESP8266-Modul fest.char ssid[] = "Ihre_ssid"; char pass[] = "Ihr_Passwort"; SoftwareSerial EspSerial(2, 3); // RX, TX #define ESP8266_BAUD 115200 ESP8266 wifi(&EspSerial);
Definition des Relais-Pins:
Wir definieren den digitalen Pin des Arduino, der zur Steuerung des Relais dient. Zudem initialisieren wir eine Variable
switchStatus, um den Zustand unseres virtuellen Schalters in der Blynk-App zu speichern.const int RelayPin = 6; int switchStatus = 0;
Die Funktion setup():
In dieser Funktion initialisieren wir den Relais-Pin als Ausgang, starten die serielle Kommunikation für Debugging-Zwecke und stellen die Verbindung zu Blynk mit den angegebenen WiFi-Zugangsdaten her.
void setup() { pinMode(RelayPin, OUTPUT); Serial.begin(115200); EspSerial.begin(ESP8266_BAUD); delay(10); Blynk.config(wifi, BLYNK_AUTH_TOKEN); Blynk.connectWiFi(ssid, pass); }
Die Funktion loop():
Sie führt kontinuierlich zwei essenzielle Funktionen aus, um die Verbindung zu Blynk aufrechtzuerhalten und Ereignisse (wie Änderungen an virtuellen Pins) zu verarbeiten.
void loop() { Blynk.run(); timer.run(); }
Steuerung des virtuellen Pins in Blynk:
Hier lesen wir den Status des virtuellen Pins V0 aus der Blynk-App aus und steuern das Relais entsprechend. Ist der Schalter in der App aktiviert (d.h., V0 ist 1), wird der Relais-Pin auf HIGH gesetzt; ist er deaktiviert, wird er auf LOW gesetzt.
Jedes Mal, wenn der Wert eines virtuellen Pins auf dem BLYNK-Server ändert, wird
BLYNK_WRITE()ausgelöst. Weitere Details unter Blynk - BLYNK_WRITE() .
// This function is called every time the Virtual Pin 0 state changes BLYNK_WRITE(V0) { switchStatus = param.asInt(); // Set incoming value from pin V0 to a variable if (switchStatus == 1) { Serial.println("The switch on Blynk has been turned on."); digitalWrite(RelayPin, HIGH); } else { Serial.println("The switch on Blynk has been turned off."); digitalWrite(RelayPin, LOW); } }