Hardware
- Raspberry Pi
- USB Datenkabel
- ESP 8266 D1 Mini
- DHT 11 Temperatur Sensor
ESP Software
Arduino Code ist hier im Git.
Die Boardinformationen für den ESP8266 müssen in Arduino IDE hinzuzufügen werden, dafür die Einstellungen öffnen (File -> Preferences) und die URL http://arduino.esp8266.com/stable/package_esp8266com_index.json
in das Feld Additional Board Manager URLs kopieren.
Anschließend unter Tools -> Board: -> Boards Manager... nach esp8266
suchen und das Paket installieren.
Abhängigkeiten (Sketch -> Include Library -> Manage Libraries...) :
- DHT Sensor Library by Adafruit
Installation
Die folgende Anleitung geht davon aus man sieht den Desktop des Respberry Pis.
- Terminal öffnen und in den home Ordner wechseln. Man kann das Projekt auch woanders ablegen, aber dann müssen später die Pfade in der Datei
usbMqtt.service
geändert werden. -
git clone https://git.rwth-aachen.de/leander.schulten/dht-esp-raspberry-pi-mqtt.git
odergit clone git@git.rwth-aachen.de:leander.schulten/dht-esp-raspberry-pi-mqtt.git
(Wenn man den Zugriff auf das RWTH gitlab noch nicht eingerichtet hat, siehe hier Punkt 4) cd dht-esp-raspberry-pi-mqtt
-
nano usb_mqtt.py
and change line 6MQTT_TOPIC = "test"
to somethink likeMQTT_TOPIC = "<your name>/<room name>"
- Abhängigkeiten installieren:
pip3 install paho-mqtt
pip3 install pyserial
- Wenn man aktuell nicht im Order
/home/pi/dht-esp-raspberry-pi-mqtt
ist (kann man mitpwd
prüfen), dann müssen die Pfade inusbMqtt.service
angepasst werden (ExecStart
undWorkingDirectory
) -
sudo cp usbMqtt.service /etc/systemd/system/
Den systemd service in das richtige Verzeichnis schieben -
sudo systemctl enable usbMqtt
start the service when boot -
sudo systemctl start usbMqtt
start the service - Check with
systemctl status usbMqtt
andjournalctl -e -u usbMqtt
if everthing works
You can start the service with: systemctl start usbMqtt
You can stop the service with: systemctl stop usbMqtt
Check the status of the service with: systemctl status usbMqtt
You can restart the service with: systemctl restart usbMqtt
You can view the output of the server with: journalctl -e -u usbMqtt
You can view the live output of the server with: journalctl -f -u usbMqtt
MQTT & Zabbix & Grafana
Die Werte werden an MQTT gesendet (topics stehen im Python Quelltext). Wie hier beschrieben werden die Daten dann an Zabbix gesendet. Dort muss ein Host, Items und Triggers erstellt werden. In Grafana muss ein Dashboard erstellt werden.