First version - rotary not working.
This commit is contained in:
27
SPEC.md
Normal file
27
SPEC.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Tasmota remote pulse timer trigger
|
||||
Das Programm für einen ESP8266 soll den PulseTimer einer Tasmota Steckdose triggern.
|
||||
Die Hardware hat einen Rotary Encoder sowie ein OLED Display.
|
||||
Mit dem Rotary Encoder (RT) stellt man eine Zeit im Bereich von 2s bis 10s mit einer Auflösung von 100ms.
|
||||
Über den RT soll der Wert pro Tick um 100ms angepasst werden können.
|
||||
Mit Druck auf den Taster des RT soll zunächst der PulseTimer eingestellt und dann getriggert werden.
|
||||
Die Einstellungen für die SSID und das Passwort sollen aus einer separaten config.h Datei ausgelesen werden.
|
||||
Dort soll auch die IP Adresse der Tasmota Steckdose eingestellt werden. Zudem dort noch den Initialwert für den Timer hinterlegen.
|
||||
Der Project soll mittels PlatformIO und Arduino Framework umgesetzt werden. Das SSD1309 OLED wird mit der Arduino-Library U8g2 angesteuert.
|
||||
|
||||
## Umsetzung
|
||||
Die Tasmota Steckdose wird per HTTP angesprochen. Beim Druck auf den Taster sendet das Programm:
|
||||
1. `PulseTime1 <wert>` mit `<wert>` in 100ms-Schritten. Der erlaubte Bereich 2s bis 10s entspricht damit `20` bis `100`.
|
||||
2. `Power1 ON`, um den zuvor gesetzten PulseTimer auszulösen.
|
||||
|
||||
Die Datei `include/config.h` enthält:
|
||||
- `WIFI_SSID`
|
||||
- `WIFI_PASSWORD`
|
||||
- `TASMOTA_HOST`
|
||||
- `INITIAL_TIMER_MS`
|
||||
|
||||
Als Vorlage liegt `include/config.example.h` bei.
|
||||
|
||||
## Hardware
|
||||
Board D1 Mini mit ESP8266.
|
||||
OLED über I2C an den GPIOs 4 und 5. Rotary Encoder mit A und B an GPIO 14 und 16 und der Taster an 12.
|
||||
OLED hat einen SSD1309 Controller mit 128x64 Pixel.
|
||||
Reference in New Issue
Block a user