Eigene Firmware für Sonoff S20

02.12.2018

Nachdem ich nach meinen diversen Erfahrungen mit dem Arduino auch mal andere Projekte erforschen wollte, habe ich mich durch Artikel in zurückliegenden Ausgaben der c't inspirieren lassen und Projekte mit dem ESP8266 ausprobiert - zuerst der Umbau einer WLAN-fähigen Steckdose...

Produkte unter der Marke Sonoff sind bei Bastlern und Makern sehr beliebt - besonders da viele einen ESP8266 oder ähnliches enthalten und das Aufspielen eigener Software auf diese Systeme sehr einfach ist. Da ich mich schon immer darüber erregt hatte, wie teuer Netzwerk-schaltbare Steckdosen sind, habe ich mir eine WLAN-Steckdose gekauft: Die wird zwischen die normale Steckdose und einen Verbraucher geschaltet. Per App kann ich dann den Verbraucher vom Strom trennen/mit dem Strom verbinden ohne mich in seiner Nähe befinden zu müssen.

Auf der Packung meiner bei Amazon (geht noch billiger - aber ich habe mich über die relativ geringe Lieferdauer von 8 Tagen sehr gefreut - da bezahl ich auch mal die drei Euro mehr) georderten prangten auch Ankündigungen wie IFTTT, Amazon Alexa, Google Assistant oder nest - ich schloss mich da einem Zitat aus der c't an: "Wir gaben der Original-Firmware keine Chance!"

Also - aufgeschraubt das Ding, Arduino-IDE runtergeladen und Beispielfirmware drauf geladen. Zusammenschrauben und ausprobieren. Enttäuschung verarbeiten: Der Knopf hatte jegliche Funktion verloren. SSID und Passwort fürs WLAN mussten hart in die Firmware einprogrammiert werden. Das geht doch anders!?

Also fix das Repository geklont und losgelegt mit einer Internet-Recherche - siehe da: WPS funktioniert... Nach einer weiteren Runde Hacken hatte ich meine Firmware fertig und in einem neu eingerichteten Repository abgelegt: Die Steckdose sucht nun nach Einstecken nach dem zuletzt verbundenen WLAN - findet sie es nicht oder kann sie sich nicht damit verbinden, blinkt sie aufgeregt, was den Nutzer dazu veranlassen sollte, am Access Point PushButton-WPS zu aktivieren. Sobald er dies getan hat, muss er durch Drücken des Knopfes an der Steckdose den WPS-Prozess dort noch in Gang setzen. Ist dies erfolgreich, ist die Steckdose betriebsbereit und der angeschlossene Verbraucher zunächst deaktiviert (sichtbar durch das grüne Dauerleuchten. Nun kann man die Steckdose am Schalter aus- und einschalten und alternativ per WLAN über die rudimentäre Weboberfläche.

Aktualisierung vom 2. Dezember 2018

Die Implementierung einer Zeitsteuerung in der Steckdose wurde wieder fallengelassen - schließlich läuft ein Raspi bei mir Tag und Nacht - und damit habe ich einen fähigen Linux-Server, auf dem so nützliche Dinge wie at und cron zur Verfügung stehen. Daher habe ich entschieden, die Steckdose per wget ( curl ginge natürlich auch) zu steuern und mich in der vorweihnachtlichen Zeit lieber ein wenig zurückzulehnen... (Wem will ich was vormachen? Ich werde die Zeit natürlich für andere Dinge nutzen!)

Artikel, die hierher verlinken

Max7119 NTP Uhr

01.03.2020

Nach meinen Erfolgen mit E-Paper und WLAN-Steckdosen dachte ich mir, dass es an der Zeit sei, etwas neues auszuprobieren...

Sonoff S20 und MQTT

07.03.2019

Wie bereits verschiedentlich beschrieben habe ich noch einmal an meiner eigenen Firmware für WLAN.Steckdosen weitergeschraubt

E-Paper Türschild mit ESP8266

08.09.2018

Nach meinen ersten Versuchen, das E-Paper-Display mit einem Raspi anzusteuern habe ich nunmehr den Schritt gewagt und - durch die ersten Erfolge mit der WLAN-Steckdose unvorsichtig geworden - erste Versuche mit der Ansteuerung durch einen ESP gemacht.

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.