SONOFF-Tutorial: Ein Wi-Fi Smart Switch für 5 $
In dieser Anleitung erfahren Sie, wie Sie dem SONOFF-Gerät von Itead nur 5 $ . Verglichen mit den $ erhältlichen WLAN-Steckdosen ist der SONOFF eine hervorragende Alternative für Smart-Home- und sogar industrielle IoT Projekte in größerem Umfang. Darüber hinaus basiert er auf dem beliebten ESP8266-WLAN-Chip und ist somit mit der Arduino-Umgebung und anderen Ressourcen wie unseren ESP-Bibliotheken bei Ubidots .
Das SONOFF-Gerät wird mit eigener Firmware und mobiler App geliefert, aber wir sind der Meinung, dass sein Hauptvorteil in seiner kompakten Bauform und dem niedrigen Preis liegt. Deshalb haben wir uns entschieden, es etwas zu modifizieren und sein volles Potenzial auszuschöpfen!
Überblick
Vorsicht! Bedienen Sie das SONOFF-Gerät nicht, solange es an das 110/240-V-Wechselstromnetz angeschlossen ist
Das SONOFF-Gerät enthält ein Relais, einen ESP8266-WLAN-Chip und die notwendige Schaltung, um es über das Stromnetz einer Steckdose mit Strom zu versorgen. Es ist zudem in einer ansprechenden Verpackung erhältlich, wodurch es deutlich professioneller wirkt als ein durchschnittliches Heimwerkerprojekt.
Anforderungen
Aufstellen
- Zerlegen Sie das SONOFF-Gerät, um an die TTL-Pinbelegung zu gelangen, die wir zum Programmieren des integrierten ESP8266 benötigen. Sie müssen vier Pins verlöten; diese sind in der Abbildung unten dargestellt.
- Verbinden Sie die UARTbee-Pins gemäß dieser Pinbelegung mit den SONOFF-Pins:
| UARTbee | SONOFF |
|---|---|
| VC | CVCC |
| TX | RX |
| RX | TX |
| GND | GND |
Öffnen Sie die Arduino IDE, klicken Sie auf Dateien -> Einstellungen und geben Sie diese URL ein, um auf die ESP8266-Bibliotheken für Arduino zugreifen zu können:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
in das „Zusätzliche Board-Manager-URLs“ . Dieses Feld unterstützt mehrere URLs, die durch Kommas getrennt werden, falls Sie bereits andere URLs eingegeben haben.
- Öffnen Sie den Boardverwalter über „Werkzeuge“ → „Board“ und installieren Sie die ESP8266-Plattform. Wählen Sie nach der Installation „Werkzeuge“ → „Board“
- Laden Sie die Ubidots ESPMQTT-Bibliothek hier .
- Klicken Sie nun auf Sketch -> Bibliothek einbinden -> .ZIP-Bibliothek hinzufügen.
- Wählen Sie die .ZIP-Datei von Ubidots ESPMQTT aus und klicken Sie dann auf „Akzeptieren“ oder „Auswählen“ .
- Schließen Sie die Arduino IDE und öffnen Sie sie erneut.
Erstellen Sie eine Ubidots Variable
- Ubidots Konto.
- Gehen Sie zu Quellen und klicken Sie auf das orangefarbene Plus-Symbol .
- Legen Sie den Namen der Datenquelle fest und aktivieren Sie das Kontrollkästchen „Bezeichnung“
4. Erstellen Sie eine neue Variable für das Relais und überprüfen Sie die Bezeichnung
Erstellen Sie ein Schaltflächen-Widget
Um das SONOFF-Gerät zu steuern, müssen Sie nun in Ihrem Ubidots -Konto ein Button-Widget erstellen. Dieses Widget setzt Ihre RELAY-Variable entweder auf „1“ oder „0“
- Gehen Sie zum Dashboard und klicken Sie auf das orangefarbene Plus-Symbol .
- Klicken Sie auf Steuerung -> Umschalten und wählen Sie die zuvor erstellte Datenquelle und die zu steuernde Variable aus.
Programmierung Ihres SONOFF
Hier ist der Code zum Ein- und Ausschalten des SONOFF-Geräts. Vergessen Sie nicht, den Platzhalter TOKEN durch Ihren Ubidots-Konto-Token zu ersetzen. Ersetzen Sie WIFISSID und PASSWORD durch Ihre WLAN-Zugangsdaten.
Um den Code in den SONOFF hochzuladen, müssen Sie Folgendes tun:
- Schließen Sie den UARTbee an den USB-Anschluss Ihres PCs an.
- Drücken Sie die Taste von SONOFF und trennen Sie gleichzeitig das USB-Kabel.
- Während Sie den Knopf weiterhin gedrückt halten, schließen Sie das USB-Kabel wieder an.
Diese Schritte dienen dazu, den SONOFF in den Programmiermodus zu versetzen.
Wenn Sie bereit sind, laden Sie den Code aus der Arduino IDE hoch:
/**************************************** * Bibliotheken einbinden ****************************************/ #include "UbidotsESPMQTT.h" /**************************************** * Konstanten definieren ****************************************/ #define TOKEN "..." // Ihr Ubidots -Token #define WIFINAME "..." // Ihre SSID #define WIFIPASS "..." // Ihr WLAN-Passwort #define MQTTCLIENTNAME "..." // Ihr MQTT-Clientname. Dieser muss eindeutig sein. Wir empfehlen daher die Wahl eines zufälligen ASCII-Namens. #define RELAY 12 #define LED 13 Ubidots client(TOKEN, MQTTCLIENTNAME); /**************************************** * Hilfsfunktionen ****************************************/ void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Nachricht angekommen ["); Serial.print(topic); Serial.print("] "); for (int i=0;i <length;i++) { Serial.print((char)payload[i]); } Serial.println(); if ((char)payload[0] == '1') { digitalWrite(RELAY, HIGH); //On relay digitalWrite(LED, LOW); //On led } if ((char)payload[0] == '0') { digitalWrite(RELAY, LOW); //Off relay digitalWrite(LED, HIGH); //Off led } } /**************************************** * Main Functions ****************************************/ void setup() { // put your setup code here, to run once: Serial.begin(115200); client.wifiConnection(WIFINAME, WIFIPASS); pinMode(RELAY, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); client.begin(callback); client.ubidotsSubscribe("relay","sonoff"); // Datenquelle und Variablenbezeichnungen einfügen } client.loop(); }
Schließen Sie Ihren Smart Switch an und steuern Sie Ihre Geräte
Jetzt wird es Zeit, die Dinge „smart“ zu machen, indem Sie Ihren SONOFF hinzufügen; steuern Sie Ihre Beleuchtung, öffnen oder schließen Sie Ihr Garagentor usw.
Noch einen Schritt weiter…
Ubidots ist ein Cloud-Service, der es Tausenden von Ingenieuren weltweit ermöglicht IoT Projekte im Bildungsbereich und in Unternehmen zu realisieren. Erfahren Sie mehr darüber, wie Ubidots unsere Funktionen ansehen oder uns eine Nachricht hinterlassen.