Aus Raspberry Pi Geek 12/2021

Sonoff-Komponenten in IO-Broker verwenden

© zavulonya / 123RF.com

Wolkenfrei

Martin Mohr

Sonoff-Geräte sind durch die Firmware in der Kommunikation beschränkt. Mit Tasmota setzen Sie zum Befreiungsschlag an.

Die kostengünstigen Smart-Home-Komponenten von Sonoff schonen zwar das Budget, aber ihre Cloud-basierte Software treibt jedem, der Wert auf Privatsphäre legt, die Sorgenfalten ins Gesicht. Zeit also, um die Hardware in einem Befreiungsschlag mit einer neuen Firmware zu versehen.

Die Grundlage für den Austausch der Firmware von Sonoff-Komponenten bietet das Tasmota-Projekt, das eine freie Firmware für Geräte auf der Basis von ESP32- und ESP82666-Mikrocontrollern bereitstellt. Über 2000 Modelle unterschiedlicher Hersteller unterstützen die Entwickler bereits, die Liste findet sich auf der Homepage [1]. Ob neue Geräte dazukommen, hängt unter anderem von Ihnen ab: Die Tasmota-Entwickler kaufen alle Testgeräte selbst, da kaum ein Hersteller freiwillig Hardware für das Projekt bereitstellt. Daher freut sich das Team immer über eine kleine Spende [2].

Tasmota überschreibt die Originalfirmware des Herstellers komplett, was die Geräte unabhängig von geschlossenen Cloud-Lösungen macht. Allerdings erlischt damit in den meisten Fällen die Garantie und der Anspruch auf Support. Die Kommunikation zwischen der neuen Firmware und IO-Broker erfolgt über das MQTT-Protokoll (siehe Kasten “Nachrichtenprotokoll”).

Nachrichtenprotokoll

Die Abkürzung MQTT steht für Message Queue Telemetry Transport, frei übersetzt etwa “Warteschlangenorientiertes Übertragungsverfahren für entfernte Messeinrichtungen”. Ursprünglich diente das MQTT dazu, die Sensoren an Pipelines auszulesen. Heute kommt es oft im IoT-Bereich zum Einsatz, weil es asynchrone Kommunikation erlaubt. Sender und Empfänger einer Nachricht brauchen also nicht gleichzeitig online zu sein.

In der MQTT-Welt gibt es Broker, Topics, Producer und Consumer. Der Broker agiert als zentrale Komponente, über die alle Nachrichten laufen. Bei den Topics handelt es sich um bestimmte Themenbereiche, an denen sich die Producer (Nachrichtenerzeuger) und Consumer (Nachrichtenempfänger) nach Bedarf anmelden.

Die Topics haben eine hierarchische Baumstruktur, in deren Bezeichnung Schrägstriche die einzelnen Bereiche trennen (Beispiel: Gebäude/Etage/Raum/Sensor/Temperatur). Innerhalb der Topics dürfen Sie mit Wildcards arbeiten. Um etwa in einem Gebäude die Werte aller Temperatursensoren zu ermitteln, verwenden Sie das Topic Gebäude/+/+/Sensor/Temperatur.

MQTT-Bibliotheken gibt es für viele Programmiersprachen und Plattformen. Eine der beliebtesten Implementationen in der Open-Source-Welt heißt Mosquitto [3] und stellt einen Broker sowie einen Client bereit.

IO-Broker vorbereiten

Um in IO-Broker den Adapter für die Sonoff-Komponenten zu installieren, klicken Sie auf den Menüpunkt Adapter und suchen dort mithilfe des Filters nach “Sonoff”. Wie gewohnt installieren Sie den Adapter mit einem Klick auf das kleine Plussymbol. Nach einigen Sekunden ist alles erledigt, es öffnet sich das Fenster für die Konfiguration des Adapters. Um sicherzustellen, dass sich die Geräte später authentifizieren, legen Sie hier einen User und ein Passwort für den Zugriff auf den MQTT-Server fest (Abbildung 1). Ein Klick auf Speichern schließt alle Vorbereitungen auf der Seite von IO-Broker ab.

Abbildung 1: Beim Setup des Sonoff-Adapters legen Sie einen Benutzernamen und ein Passwort fest, mit dem sich die Komponenten später gegenüber dem Server authentifizieren.

Abbildung 1: Beim Setup des Sonoff-Adapters legen Sie einen Benutzernamen und ein Passwort fest, mit dem sich die Komponenten später gegenüber dem Server authentifizieren.

Firmware flashen

Wir zeigen hier anhand des DIY-Moduls Sonoff Basic [4], wie leicht sich die Firmware flashen lässt. Wollen Sie eine andere Hardware aufspielen, werfen Sie bitte einen Blick in die Liste der Geräte [1]. Hier finden sich detaillierte Anleitungen, was genau zu tun ist.

Die DIY-Module von Sonoff sind von Haus aus dazu gedacht, eine eigene Firmware aufzuspielen. Der vom Hersteller vorgesehene Weg erscheint allerdings unnötig kompliziert. Daher beschreiben wir das Modul direkt mit den ESP8266-eigenen Mechanismen. Um die Verbindung zwischen dem PC und dem ESP8266 herzustellen, benötigen Sie einen USB-Seriell-Adapter wie den FT232RL, den Sie beispielsweise bei Amazon [5] erhalten. Es braucht nicht genau dieser Adapter zu sein, es gibt viele baugleiche FT232-Adapter im Handel. Mit etwas Glück haben Sie bereits einen passenden aus einem anderen Projekt in Ihrer Bastelkiste.

Stellen Sie den Adapter auf 3,3 Volt ein. Während des Flashens bezieht der Sonoff Basic über den Adapter seine Spannung. Bei einer Adaptereinstellung von 5 Volt zerstören Sie die Sonoff-Hardware unwiederbringlich.

Haben Sie das Sonoff-Modul geöffnet, sehen Sie einen vierpoligen Anschluss (Abbildung 2). Achten Sie in diesem Schritt unbedingt darauf, die Hardware nicht mit dem normalen Stromnetz zu verbinden (siehe Kasten “Warnung”). Den vierpoligen Anschluss koppeln Sie nun entsprechend den Angaben in Tabelle “Pin-Belegung” mit dem USB-Seriell-Adapter.

Abbildung 2: Im DIY-Modul Sonoff Basic finden Sie einen Programmieranschluss, der sich für die Kommunikation mit einem Rechner eignet (Pin 1, links).

Abbildung 2: Im DIY-Modul Sonoff Basic finden Sie einen Programmieranschluss, der sich für die Kommunikation mit einem Rechner eignet (Pin 1, links).

Warnung

Bevor Sie mit der Arbeit beginnen, eine kurze Warnung: Sie arbeiten hier an mit dem Stromnetz verbundenen Geräten. Das sollten Sie nur tun, wenn Sie eine Ausbildung in einem entsprechenden Beruf haben. Im Zweifel fragen Sie einen Elektriker, der Ihnen sicher gern mit Rat und Tat zur Seite steht.

Sonoff

FT232

Funktion Sonoff

1

VCC

3,3 Volt

2

TX

RXD

3

TXD

RX

4

GND

GND

Achten Sie darauf, dass Sie TX mit RXD und DX mit TXD verbinden. Nur so klappt die Kommunikation (Abbildung 3). Der Pin 1 des Anschlusses befindet sich links und ist mit einem Dreieck auf der Platine markiert.

Abbildung 3: Haben Sie die Kabel mit dem Sonoff Basic verbunden, stellen Sie über den USB-Seriell-Adapter die Kommunikation mit dem PC her.

Abbildung 3: Haben Sie die Kabel mit dem Sonoff Basic verbunden, stellen Sie über den USB-Seriell-Adapter die Kommunikation mit dem PC her.

Als Nächstes benötigen Sie ein Werkzeug, um die neue Firmware auf den ESP8266 zu spielen. Der Hersteller des ESP8266 stellt hierfür das passende Werkzeug Esptool kostenlos auf Github bereit [6]. Die Firmware finden Sie auf der Tasmota-Homepage [7]. Im Test fiel die Wahl auf die deutsche Version tasmota-DE.bin.

Um den ESP8266 zu flashen, trennen Sie zunächst die Verbindung zum USB-Anschluss, um den Controller spannungsfrei zu machen. Dann drücken Sie den Button des Sonoff Basic und halten ihn bis zum Abschluss des Flash-Vorgangs gedrückt. Es empfiehlt sich also, alle weiteren Schritte erst vorzubereiten.

Anschließend stellen Sie die Verbindung über USB wieder her; das versetzt den ESP8266 in den Upload-Modus. Jetzt starten Sie auf dem PC mit dem Esptool den Vorgang. Die Kommandos für eine Installation der Firmware von einem Ubuntu-Rechner aus finden Sie in Listing 1.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben