FabFire Tools
FabFire Adapter
Der FabFire Adapter übersetzt MQTT Nachrichten von der FabReader-Hardware in die API.
Hier geht's zum GitLab Repository: https://gitlab.com/fabinfra/fabaccess/fabfire_adapter
Installation
Projekt auschecken:
cd /opt/fabinfra/adapters/
git clone https://gitlab.com/fabinfra/fabaccess/fabfire_adapter.git --recursive
cd fabfire_adapter/
git checkout rebuild #wir verwenden den aktuelleren rebuild Branch
Weg 1: Eine einfache, native Installation ohne Overhead ist mit der virtuellen Python3-Umgebung möglich:
python3 -m venv env
. env/bin/activate
pip3 install -r requirements.txt
Weg 2: Alternative mit dem Dockerfile und Podman:
podman build -f Dockerfile -t fabinfra/fabfire_adapter
Konfiguration
Im Unterverzeichnis config/config.toml
werden alle FabReader eingepflegt, die angebunden werden sollen.
Server-Verbindung
In der Sektion [mqtt]
geben wir die Verbindung zum MQTT-Server an. Parameter sind:
hostname
(Pflicht)port
(Pflicht)username
(optional)password
(optional)
Hinweis: aktuell kann keine MQTTS-Verbindung definiert werden. Siehe https://gitlab.com/fabinfra/fabaccess/fabfire_adapter/-/issues/3
Reader-Verbindungen
In der Sektion [reader]
geben wir dann die Details der FabReader ein, diese sind:
[readers.<Reader-Name>]
als Untersektion, eingerückt mit Tabulator - je Reader wird eine neue Sektion eröffnet (siehe Beispiel)id
- die FabReader IDmachine
- die URN der Maschine, die der FabReader kontrollieren soll
Eine Beispielkonfiguration, wie sie auch auf unserem Raspberry Pi 3 Demo Server vorzufinden ist:
[mqtt]
hostname = "127.0.0.1"
port = 1883
username = "fabinfra101"
password = "fablocal"
[bffhd]
hostname = "127.0.0.1"
port = 59661
[readers]
[readers.zam-raum1-ecke1-lamp]
id = "00001"
machine = "urn:fabaccess:resource:zam-raum1-ecke1-lamp"
[readers.zam-raum1-ecke2-arrow]
id = "00002"
machine = "urn:fabaccess:resource:zam-raum1-ecke2-arrow"
Benutzung
Der FabFire Adapter kann manuell wie folgt gestartet werden:
/opt/fabinfra/adapters/fabfire_adapter/env/bin/python3 main.py
Oder mit Podman:
podman run localhost/fabinfra/fabfire_adapter:latest
Ein erfolgreicher Log Output sollte so aussehen:
INFO:root:Registered handler for reader 00001
INFO:root:Registered handler for reader 00002
INFO:root:Initialization done
fabreader/0001/startOTA
fabreader/0001/cancelOTA
fabreader/0001/requestOTA
fabreader/0001/startOTA
fabreader/0001/cancelOTA
Der Adapter muss in Betrieb bleiben, damit die Leser funktionieren. Deshalb installieren wir diesen als systemd
Service:
FabFire Provisioning Tool
Das FabFire Provisioning Tool dient zur Bereitstellung neuer Karten für das FabAccess-Kartensystem.
Unterstützt werden nur DESFire EV2 Karten!
Hier geht's zum GitLab Repository: https://gitlab.com/fabinfra/fabaccess/FabFire-Provisioning-Tool