ESP8266 based WiFi connected remote control for PC power and reset button with status feedback from power LED. Controllable via Web, HTTP-API and MQTT.

flo f59312df4d 'CHANGELOG.md' ändern %!s(int64=4) %!d(string=hai) anos
Hardware 8846bd29cf initial check in. mostly feature complete. %!s(int64=4) %!d(string=hai) anos
Software 205e6129a3 v0.1.1 - 2020-01-02 %!s(int64=4) %!d(string=hai) anos
CHANGELOG.md f59312df4d 'CHANGELOG.md' ändern %!s(int64=4) %!d(string=hai) anos
README-DE.md 205e6129a3 v0.1.1 - 2020-01-02 %!s(int64=4) %!d(string=hai) anos
README.md 205e6129a3 v0.1.1 - 2020-01-02 %!s(int64=4) %!d(string=hai) anos

README-DE.md

WiFiPCRemote

ESP8266-basierte Fernsteuerung für PCs (Power und Reset-Button) mit Statusanzeige. Steuerbar über Web, HTTP-API und MQTT.

Da ich immer wieder schlechte Erfahrungen mit Wake-on-LAN gemacht habe musste eine zuverlässigere Lösung her, um den PC von unterwegs aufwecken zu können. WoL funktioniert leider meist nur zuverlässig wenn der PC gerade im Sleep-Modus ist - ist er heruntergefahren wird es zum Glücksspiel. Wurde der PC vom Stromnetz getrennt funktioniert WoL meiner Erfahrung bei aktuellerer Hardware überhaupt nicht.

Eine einfache Möglichkeit ist natürlich den PC an eine WiFi-Steckdose anzuschließen und diese bei Bedarf einzuschalten. Das hat aber wieder andere Nachteile - es muss dann im BIOS eingestellt sein, dass der PC immer startet wenn die Stromversorgung unterbrochen war. Dadurch könnte der PC manchmal für längere Zeit unbemerkt laufen ohne gebraucht zu werden. Außerdem könnte es zu Datenverlust führen, wenn der im Sleep-Mode befindliche PC einfach vom Stromnetz getrennt wird.

Ich habe mich daher entschieden, eine "PC Fernsteuerung" auf Basis des ESP8266 zu entwickeln. Die Stromversorgung des Moduls kommt entweder von der +5VSB-Leitung des ATX Netzteils, von einem Standby-Versorgten USB-Port oder auch einem eigenen Steckernetzteil. Die Anbindung an die PC-Hardware ist einfach und besteht nur aus einigen Transistoren und Widerständen.

Das Modul kann entweder direkt ins PC-Gehäuse eingebaut, oder als externes Modul ausgeführt werden. Ich habe mich für letzteres entschieden, um eine stabile WiFi-Verbindung sicherzustellen. Die benötigten Leitungen habe ich über ein Slotblech mit 9-Pol DSUB Stecker (weiblich, um Verwechslung mit RS-232 zu verhindern!) aus dem PC hinausgeführt und das Modul mit einem Kabel mit passendem Stecker versehen.

Funktionen

  • Fernsteuerung eines PC, indem die internen power und/oder reset Eingänge des Motherboards betätigt werden
  • Erkennung des PC-Status (on, sleep, off) über die Power-LED (bei Motherboards, bei denen diese im Sleep-Modus blinkt)
  • Ansteuerung des Power-Switch kurz (Power On/Sleep) und lang (Force Power Off)
  • Ansteuerung des Reset-Switch
  • Ansteuerbar über Web Interface, HTTP-API und MQTT
  • direkte Unterstützung von Home Assistant MQTT switch und sensor devices, so dass Home Assistant einfach als Frontend eingerichtet werden kann
  • WiFi-Einrichtung mit captive portal
  • Konfigurierbar über Web Interface
  • OTA Firmware Update

Anschlüsse

  • Versorgung: Entweder vom ATX-Netzteil (+5VSB Leitung), einem USB-Port mit Standby-Versorgung, oder einem externen Netzteil
  • Motherboard Terminals: POWER switch, RESET switch und POWER-LED