WLAN Keypad: Unterschied zwischen den Versionen

Aus Maschinendeck Wiki
Zur Navigation springen Zur Suche springen
>Mogwai
Keine Bearbeitungszusammenfassung
>Mogwai
Zeile 94: Zeile 94:


{| class="wikitable"
{| class="wikitable"
!Parameter (case sensitiv) !! Wert
! Parameter (case sensitiv)  
! Funktion
! Wertebereich
|-
|-
mqttServer || IP Addresse des MQTT Servers
| mqttServer || IP Addresse des MQTT Servers || IPv4 als String
|-
|-
mqttPort || Portnummer des MQTT Servers
| mqttPort || Portnummer des MQTT Servers || 0-65535
|-
|-
mqttUser || MQTT Username
| mqttUser || MQTT Username || String
|-
|-
mqttPassword || MQTT Passwort
| mqttPassword || MQTT Passwort || String
|-
|-
mqttPubTopic || MQTT Topic an das die Tastendaten geschickt wird
| mqttPubTopic || MQTT Topic an das die Tastendaten geschickt wird || String
|-
|-
keypadDebounceTime || Debounce Zeit für Tastenerkennung
| keypadDebounceTime || Debounce Zeit für Tastenerkennung || Numerisch in Millisekunden
|-
|-
keypadRepeatDelay || Wartezeit für erste Tastenwiederholung
| keypadRepeatDelay || Wartezeit für erste Tastenwiederholung || Numerisch in Millisekunden
|-
|-
keypadRepeatInterval || Wiederholungsintervall bei Tastenwiederholung
| keypadRepeatInterval || Wiederholungsintervall bei Tastenwiederholung || Numerisch in Millisekunden
|-
|-
keypadRepeatMask || Maske der Tastencodes, für die eine Tastenwiederholung durchgeführt wird (siehe Tastencodes)
| keypadRepeatMask || Maske der Tastencodes, für die eine Tastenwiederholung durchgeführt wird (siehe Tastencodes) || Numerisch 16-bit
|}
|}

Version vom 20. Februar 2020, 12:32 Uhr

WLAN Keypad
Weshalb Senden von Tasteneingaben an einen MQTT Server
Was hardware, software
Wer User:Mogwai
Status läuft


Ziel ist das Senden von Tasten Eingaben per WLAN an einen MQTT Server zur Weiterverarbeitung (z.B. Steuerung von Raumfunktionen oder Lichteffekten)


Hardware

  • ESP8266
  • Alte Kassensystem Keypads aus dem Maschinendeck (Type FM015700C)

Pinbelegung Keypad

Pin Funktion Tasten
0 Gehäuse Schließkontakt Kette Alle Schließkontakte (3x)
1 Zeile 1 1, 2, 3, Cancel
2 Zeile 2 4, 5, 6, Clear
3 Gehäuse Schließkontakt Kette Alle Schließkontakte (3x)
4 Zeile 3 7, 8, 9, Enter
5 Zeile 0 PfeilHoch, Select, PfeilRunter, 0
6 Spalte 0 PfeilHoch, 1, 4, 7
7 Spalte 1 2, 5, 8, 0
8 Spalte 2 Select, 3, 6, 9
9 Spalte 3 PfeilRunter, Cancel, Clear, Enter

Tastencodes Keypad

Tastencode Taste Zeichenzuordnung
0x0000 PfeilHoch u
0x0001 0 0
0x0002 Select s
0x0004 PfeilRunter d
0x0008 1 1
0x0010 2 2
0x0020 3 3
0x0040 Cancel x
0x0080 4 4
0x0100 5 5
0x0200 6 6
0x0400 Clear c
0x0800 7 7
0x1000 8 8
0x2000 9 9
0x4000 Enter e


Geplante Funktionen

  • Senden der gedrückten Taste per MQTT
  • Zusammenfassen mehrerer Zeichen als Zeichenkette und senden dieser Kette nach Drücken der "Enter" Taste
  • Konfiguration per JSON String im SPIFFS des ESP


Konfiguration

Die Konfiguration erfolgt per JSON String in der Deit config.txt im SPIFFS des ESP8266.

Parameter (case sensitiv) Funktion Wertebereich
mqttServer IP Addresse des MQTT Servers IPv4 als String
mqttPort Portnummer des MQTT Servers 0-65535
mqttUser MQTT Username String
mqttPassword MQTT Passwort String
mqttPubTopic MQTT Topic an das die Tastendaten geschickt wird String
keypadDebounceTime Debounce Zeit für Tastenerkennung Numerisch in Millisekunden
keypadRepeatDelay Wartezeit für erste Tastenwiederholung Numerisch in Millisekunden
keypadRepeatInterval Wiederholungsintervall bei Tastenwiederholung Numerisch in Millisekunden
keypadRepeatMask Maske der Tastencodes, für die eine Tastenwiederholung durchgeführt wird (siehe Tastencodes) Numerisch 16-bit