Host:tennis.intern.k4cg.org

Aus k4cg.org
Host:tennis.intern.k4cg.org
Hostname tennis.intern.k4cg.org
IPv4 192.168.5.X
Network 255.255.255.0
Gateway 192.168.5.1
DNS 192.168.5.1
OS Raspberry Pi OS
Location Raum

Generelles

Auf diesem Raspberry läuft ein Brickd und ein Brick-MQTT-Proxy um die Sensordaten von dem Tischtennisschläger ins MQTT zu bringen.

Brickd

Brickd läuft auf dem RaspberryPi und kommuniziert via USB mit den Tickerforge Modulen. Via TCP auf Port 4223 kann man die Daten abfragen. Tinkerforge stellt Bibliotheken für diverse Programmiersprachen bereit und bietet auch eine GUI dafür an.

Die Installation ist am einfachsten über die von Tickerforge bereitgestellten APT Repos. Siehe hier: https://www.tinkerforge.com/de/doc/Software/APT_Repository.html#apt-repository

Brickd MQTT Proxy

Um alle Daten die wir über Brickd automatisch abholen in MQTT zu bekommen gibt es ein Script vom Hersteller Tinkerforge

wget https://raw.githubusercontent.com/Tinkerforge/brick-mqtt-proxy/master/brick-mqtt-proxy.py -O /usr/local/bin/brick-mqtt-proxy.py
chmod +x /usr/local/bin/brick-mqtt-proxy.py

Und dafür dann einen Systemd Service anlegen

# /etc/systemd/system/brickd-mqtt.service
[Unit]
Description=brickd-mqtt Service
After=network.target
Requires=brickd.service

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/brick-mqtt-proxy.py --broker-username xxx --broker-password xxx
Restart=on-abort

[Install]
WantedBy=multi-user.target


Debugging

Wann immer man das gefühl hat das irgendwas falsch geht, einfach auf dem tennis raspberrypi einloggen (user pi) und mit dem Script im Home directory überprüfen ob die Sensordaten auch hier komisch sind.

root@tennis:/home/pi# ./test-sensors.py
Temperature: 12.06 °C
Acceleration: X(0.044) Y(1.003) Z(0.049)
Sound Intensity: 2568
UV Light: 0 µW/cm²