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

  • Mandelbrot-Sets mittels Shadern berechnen

    17.05.2019

    Nachdem ich in den letzten verregneten Tagen auf Youtube in den Videos von Numberphile versunken bin, hat mich eines davon angestachelt, mich selbst mit dem Mandelbrotset zu beschäftigen. Als ich dann noch Code fand, der behauptete, das auf einer Graphikkarte mittels Shadern berechnen zu können, war es um mich geschehen...

    Weiterlesen...

Neueste Artikel

  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...
  • bad-certificates Version 2.1.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern hat eine Erweiterung erfahren und verfügt über ein Partnerprojekt - beide sind nunmehr in der Version 2.1.0 freigegeben

    Weiterlesen...
  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    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.