Inhaltsverzeichnis:

Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Gunook
Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Gunook

Video: Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Gunook

Video: Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Gunook
Video: How to hack ESP8266 Lights 2024, November
Anonim
Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Hardware- und Software-Hack Smart Devices, Tuya und Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

In diesem Instructable zeige ich Ihnen, wie ich mehrere Smart-Geräte mit meiner eigenen Firmware geflasht habe, damit ich sie per MQTT über mein Openhab-Setup steuern kann.

Ich werde neue Geräte hinzufügen, wenn ich sie gehackt habe.

Natürlich gibt es andere softwarebasierte Methoden, um benutzerdefinierte Firmware zu flashen, wie zum Beispiel die Tuya-Konvertierung, aber ich möchte gerne verstehen, wie das Gerät funktioniert und was "unter der Haube" steckt.

Code wird mit Arduino IDE geschrieben und geflasht.

Ich steuere meine Geräte über Openhab und Google Home (über Openhab), wenn du mehr wissen möchtest oder die.items-Datei etc. benötigst, lass es mich gerne in den Kommentaren wissen.

Sicherheit zuerst

Seien Sie vorsichtig, da wir an netzspannungsbetriebenen Geräten arbeiten. Trennen Sie die Geräte von der Stromversorgung, bevor Sie daran arbeiten.

Wenn Sie Zweifel haben, ob das Gerät nach der Modifikation sicher ist, entsorgen Sie es bitte.

Lieferungen

Für die meisten Hacks benötigen Sie einen FDTI-Programmierer, der an einen Computer mit Arduino IDE angeschlossen ist, einige Überbrückungsdrähte, einen Lötkolben, einige Widerstände und ESP8266- oder ESP8285-Module.

Schritt 1: Tuya LED RGBW Smart Bulb

Tuya LED RGBW Smart Bulb
Tuya LED RGBW Smart Bulb
Tuya LED RGBW Smart Bulb
Tuya LED RGBW Smart Bulb
Tuya LED RGBW Smart Bulb
Tuya LED RGBW Smart Bulb

Einführung

Ich habe diese Lampe bei Aliexpress gekauft. Es funktioniert gut mit der Smart Life App, aber ich wollte es über MQTT von Openhab steuern. Ich habe bereits meine eigene Sonoff B1-Firmware erstellt, also habe ich versucht, diese Lampe mit dieser Firmware zu flashen.

Blinken

Sie öffnen die Leuchte durch vorsichtiges Entfernen der Kunststoffkappe, von Hand mit Gewalt oder durch das Drehen eines Schraubendrehers zwischen Metall und Kunststoff. Sie können den nackten ESP8266-Chip sehen.

Die benötigten Anschlüsse werden über kleine Pads auf der Platine freigelegt (3v3, GND, RX, TX und IO0 (GPIO0))

Ich legte zuerst etwas Lötmittel auf die Pads und lötete die Drähte und lötete sie dann zusammen. Ich benutzte einen Kabelbinder und etwas Heißkleber, um die Drähte an der Lampe zu befestigen.

GPIO0 wird benötigt, um den ESP8266 in den Programmiermodus zu bringen. Verbinden Sie es mit Masse, wenn Sie den ESP8266 mit Strom versorgen. Sie können den ESP8266 mit einem FTDI-Programmierer mit Strom versorgen und flashen.

Firmware

Die Firmware basiert auf meiner Sonoff B1-Firmware, ist jedoch modifiziert, da der Sonoff B1 MY9231-LED-Treiber verwendet, die vom ESP8285-Chip angesteuert werden und bei dieser Tuya Smart-Lampe die 4 Kanäle (RGBW) von Mosfets angesteuert werden, die direkt über PWM-Signale geschaltet werden vom ESP8266.

Der grüne Kanal ist mit GPIO12 verbunden, der rote mit GPIO14, der blaue mit GPIO13 und der weiße Kanal mit GPIO4. Im Code sehen Sie das als: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

Der komplette Code ist auf meinem Github.

Schritt 2: Generische warmweiße LED-Lampen - Teil 1

Generische warmweiße LED-Lampen - Teil 1
Generische warmweiße LED-Lampen - Teil 1
Generische warmweiße LED-Lampen - Teil 1
Generische warmweiße LED-Lampen - Teil 1
Generische warmweiße LED-Lampen - Teil 1
Generische warmweiße LED-Lampen - Teil 1

Einführung

Ich habe diese LED-Lampen von Aliexpress Blue / White Box und Black Box gekauft. Gesteuert werden sollen sie über die Magic home Smart Home App und die Techlife pro App. Ich habe diese Apps nicht ausprobiert, da ich die LED-Lampen über MQTT von Openhab steuern wollte. Da ich die Firmware für die RGBW-Lampen bereits hatte, habe ich diese nicht mit vier (RGBW) Kanälen, sondern nur mit einem Kanal verwendet.

Blinken

Sie öffnen die Lampe, indem Sie die Plastikkappe vorsichtig entfernen. Ich fand heraus, dass die Kappe ein wenig mit dem Metall verklebt war, also brauchte ich Kraft von einem Schraubendreher zwischen dem Metall und dem Kunststoff.

Ich hatte erwartet, einen ESP8266- oder ESP8285-Chip zu sehen, aber es war ein Broadlink-Modul. Das Modul sah einem ESP12-Modul sehr ähnlich, aber ich fand heraus, dass die Pinbelegung völlig anders war. Beim Entfernen der Metallabdeckung fand ich heraus, dass es sich um einen RDA 5981AM-Chip handelte.

Meine Lösung, diesen Chip durch ein ESP zu ersetzen, wird im nächsten Schritt gezeigt.

Schritt 3: Generische warmweiße LED-Lampen - Teil 2

Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2
Generische warmweiße LED-Lampen - Teil 2

Die Module werden über 3 Pins mit dem Sockel der Lampe verbunden, siehe erstes Bild:

  • 3V3 (3,3V)
  • GND (Masse)
  • PWM (Pulsweitenmodulation)

Über den PWM-Pin wird die Helligkeit der Lampe über ein PWM-Signal eingestellt, das von 0 (Lampe ist aus) bis 100 (Lampe ist komplett an) und jedem Wert dazwischen variieren kann. Weitere Informationen zu PWM-Signalen finden Sie auf dieser Website.

Da ESP8266- und ESP8285-Module mit 3,3 V laufen und problemlos ein PWM-Signal erzeugen können, habe ich die Broadlink-Module auf ESP8266- oder ESP8285-Module geändert, die ich herumgelegt hatte.

Die ESP-01S (ESP8266) Module werden über einen separaten Programmierer geflasht, siehe Schritt 3 dieser Anleitung. Ich habe Buchsenleistenstifte mit einem Pull-Up-Widerstand zwischen 3V3 und EN (Enable) an die Lampe gelötet. Dies war mein erstes Experiment, später wechselte ich zu den ESP8285-Modulen.

Die Module ESP-M1, ESP-M3 und ESP-01F (ESP8285) werden durch Lötdrähte an die benötigten Anschlüsse (3V3, GND, RX, TX und GPIO0) geflasht (siehe Schritt 1, das Blinken der Tuya Smart Lampe). einen Pull-Up-Widerstand zwischen 3V3 und EN gelötet (enable).

Beim ESP-M3-Modul verwende ich GPIO4, um das PWM-Signal zu generieren. Zuerst habe ich GPIO2 verwendet, aber wenn die LED-Glühbirne ausgeschaltet ist, führt die niedrige GPIO2 dazu, dass die On-Board-LED aufleuchtet, was ein unerwünschtes blaues Leuchten in der LED-Glühbirne verursacht.

Fügen Sie etwas Kaptonband hinzu, um die Isolierung zwischen dem Modul und den Lampensockelanschlüssen zu verbessern.

Bearbeiten: Ich habe herausgefunden, dass das ESP-01F-Modul nicht zuverlässig startet, wahrscheinlich aufgrund von Strominstabilität beim Einschalten. Ich habe dies gelöst, indem ich einen 10 uF Tantalkondensator zwischen GND und VCC hinzugefügt habe. Bemerkenswert ist, dass ein keramischer 10 uF-Kondensator nicht funktionierte.

Schritt 4: Generische warmweiße LED-Lampen - Teil 3

Generische warmweiße LED-Lampen - Teil 3
Generische warmweiße LED-Lampen - Teil 3

Firmware

Der Code ist auf meinem Github.

Die Firmware enthält ein Webinterface zur Steuerung der LEDbulb und bietet auch die Möglichkeit, die Firmware-OTA per Webupdate zu aktualisieren

Schritt 5: Sonoff oder BSD33 Smart Plug - Teil 1

Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1
Sonoff oder BSD33 Smart Plug - Teil 1

Einführung

Ich habe diesen WiFi Smart Plug von Aliexpress gekauft. Es funktioniert gut mit der Smart Life App, aber ich wollte es über MQTT von Openhab steuern. Ich habe bereits meine eigene Sonoff-Firmware für intelligente Stecker und Steckdosen erstellt, also habe ich versucht, diese Lampe mit dieser Firmware zu flashen.

Ich habe diese Firmware auch verwendet, um meine Sonof S20 und Sonoff S26 Smart Plugs und Sonoff Basic und Sonoff Basic R3 Smart Switches zu flashen. Das Öffnen und Hardware-Anschließen von Sonoff-Geräten zum Flashen ist für Tasmota im Wiki von Tasmota beschrieben, daher wird dies hier nicht beschrieben.

Öffnen der Steckdose

Der Smart Plug wird zusammengeklebt. Zum Öffnen stecken Sie einen Schraubendreher in die Aussparung an der Erde und wenden etwas Kraft an, indem Sie die andere Seite der Steckdose als Drehpunkt verwenden (Hinweis von netpokin in diesem Thema). Auf diese Weise sollten Sie in der Lage sein, es herauszudrücken, ohne die Steckdose zu beschädigen.

Auf den Bildern sehen Sie das Innere des Steckers. Es besteht aus einer Hauptplatine mit dem Relais einer kleineren Platine, auf der der ESP8266-Chip und der Speicher montiert sind. Die Platinen werden über zugängliche Lötverbindungen verbunden.

Schritt 6: Sonoff oder BSD33 Smart Plug - Teil 2

Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2
Sonoff oder BSD33 Smart Plug - Teil 2

Blinken

Ich habe die Lötverbindungen nachgebaut. Siehe das Bild für die Beschreibung der Anschlüsse. Ich habe herausgefunden, dass:

  • GPIO2 ist mit der LED (in der Taste des Steckers) verbunden.
  • GPIO13 ist mit der Taste selbst verbunden.
  • GPIO15 ist mit dem Mosfet verbunden, der das Hauptrelais schaltet.

Sie können den ESP8266 mit einem FTDI-Programmierer mit Strom versorgen und flashen. Verbinden Sie weibliche Dupont-Kabel mit den folgenden Anschlüssen: (VCC (3.3V), GND, RX, TX und GPIO0)

GPIO0 wird benötigt, um den ESP8266 in den Programmiermodus zu bringen. Verbinden Sie es mit Masse, wenn Sie den ESP8266 mit Strom versorgen.

Auf meinem FTDI-Programmierer habe ich einen 470uF-Kondensator zwischen Masse und VCC hinzugefügt. In einem anderen Projekt habe ich herausgefunden, dass dies die Stabilität erhöht.

Der FTDI-Programmierer hat einige andere unbenutzte GND- und VCC-Pins, mit denen Sie GPIO0 mit GND verbinden können.

Schritt 7: Sonoff oder BSD33 Smart Plug - Teil 3

Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3
Sonoff oder BSD33 Smart Plug - Teil 3

Firmware

Meine Firmware ist auf meinem Github.

Hauptteile der Firmware

  • Verbindung zu WiFi und MQTT-Server
  • Manuelle Umschaltung online und offline (beim Start)
  • Wird das Relais manuell geschaltet, wenn das Gerät offline ist, sendet es beim Wiederverbinden den Zustand über MQTT
  • Der Relaiszustand wird im RTC-Speicher gespeichert (siehe dieses Video zum RTC-Speicher des ESP8266)
  • Webinterface zur Steuerung des Switches und Zugriff auf das Webupdate für OTA
  • Die Firmware ist für diesen BSD33 Smartplug geeignet, aber auch für Sonoff Geräte: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Openhab-Integrationen

Ich benutze diesen Stecker, um die Leistung meiner Kaffeemaschine zu steuern. Über Openhab und Google Home kann ich es per Sprache steuern.

Ich habe einen Timer implementiert, der meine Kaffeemaschine nach einer voreingestellten Zeit ausschaltet, siehe das Bild meiner Openhab-Sitemap. Die voreingestellte Zeit wird in NodeRed injiziert, mit unterschiedlichen voreingestellten Zeiten an Wochentagen und Wochenendtagen.

Beispiele für die Elemente, Regeln und Sitemap-Dateien finden Sie auf meinem Github.

Empfohlen: