Direkt zum Hauptinhalt

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 ID
  • machine - 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

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