Änderungen
Aus Hackerspace Ffm
/* Software / Protokol */
Hier das gemeinsamme Protokoll, das unabhängig von der Übertragungsebene sein sollte. Damit es auch einfach per ESP-Now übertragen werden kann, sollte es kürzer als 250 Byte sein.
{| class="wikitable"
|+ Hackffm Lock Protocol- Anfrage
|-
! Offset !! Länge in Bytes !! Inhalt
| 160 || 70 || Kommando (0-filled)
|}
==== Kommandos ====
Hier die Kommandos. Die meisten Kommandos werden hinterlegte Rechte und gültige Signaturen + Challenges benötigen.
* 'c': Get Challenge. Hierbei wird die Challenge nicht überprüft (sollte aber mit Random gefüllt werden). Je nach Sicherheitskonzept gibt es nur bei hinterlegten Public Keys auch eine Challenge zurück.
* 't': Trigger. Triggert das Lock. Was hierbei passiert ist vom Schloss abhängig. Das ist das Kommando für KeyFobs mit nur einem Button. Einige Schlösser lassen sich damit nur öffnen, andere Öffnen und Schliessen.
==== Antworten ====
Signaturen sind normalerweise nicht nötig. Um ggf. einen bestimmten Anfrager zu unterscheiden wird dessen Public Key zurück gesendet. Bei Broadcasts ist dieser mit 0 gefüllt. Auch werden 4 Bytes für den Antworttyp definiert:
{| class="wikitable"
|+ Hackffm Lock Protocol - Antwort
|-
! Offset !! Länge in Bytes !! Inhalt
|-
| 0 || 32 || Last public key of device that sent command (000.. for unspecific)
|-
| 32 || 4 || 'ANSW' for command answers, 'INFO' for generic infos, 'ERRR' for errors
|-
| 36 || x || Command specific answer
|}
Kommando Antworten, eingeleitet mit 'ANSW':
* 'c' + 32 byte: Nächste zu verwendende Challenge (verfallen nach einigen Sekunden, evtl. können mehrere gültig sein)
* 'tok' : Trigger ausgeführt.
Bei 'INFO' und 'ERRR' werden typischerweise Klartext Antworten gesendet.