====== MagicMirror & IOT Stack Raspberry Pi im Sternenlabor ====== * Der IOTStack und Sirius Server sind **nur lokal im Sternenlabornetzwerk erreichbar**. * Die Programme sind für Demozwecke und Showcases innerhalb des lokalen Sternenlabor Netzes gedacht. Sie können auch auf externen Servern mit entsprechender Absicherung betrieben werden. * Sirius Server: 192.168.200.10 * Raspi mit IoT Stack IP: 192.168.200.11 * Raspi mit OctiPi: 192.168.200.12 * Passwörter für SSH, VNC, Grafana admin, Portainer admin können bei Ralf erfragt werden. ==== Zugriff URLs ==== * Sirius Server * Magic Mirror: [[http://192.168.200.10:8090/|192.168.200.10:8090]] * Raspi IoT Stack Server * Grafana Dashboard: [[http://192.168.200.11:3000|192.168.200.11:3000]] * Node-Red Dashboard: [[http://192.168.200.11:1880/ui/|192.168.200.11:1880/ui/]] * Portainer Dashboard: [[http://192.168.200.11:9000/#/dashboard|192.168.200.11:9000/#/dashboard]] * Node-Red Konfiguration: [[http://192.168.200.11:1880|192.168.200.11:1880]] * Eclipse Mosquitto (MQTT Broker): [[http://192.168.200.11:1883|192.168.200.11:1883]] * Den Mosquitto MQTT Broker kann man z.B. mit dem [[https://chrome.google.com/webstore/detail/mqttlens/hemojaaeigabkbcookmlgmdigohjobjm| MQTTLens Chrome AddOn]], NodeRed oder anderen [[https://github.com/hobbyquaker/awesome-mqtt#clients|MQTT Clients]] testen. * Influx DB: * Datenbank: sternenlabor * Zugriff von Grafana via http://influxdb:8086, Access Server * DB Tool: [[https://github.com/CymaticLabs/InfluxDBStudio|InfluxDB Studio]] * TasmoAdmin: [[http://192.168.200.11:8088|192.168.200.11:8088]] * RTL_433 to MQTT ===== IOT Docker Stack ===== ==== Basics==== Der IOT Stack besteht aus einer Reihe von Dockern, die all ihre Daten im Verzeichnis ~/IOTstack ablegen. Die Build- , Update- und Backupprozesse sind weitgehend automatisiert. Details findest du auf [[https://github.com/gcgarner/IOTstack]]. ==== E2E Beispiel - Mosquitto, Node-Red, InfluxDB, Grafana ==== * NodeRed + InfluxDB + Grafana * **Wetterstation**: In NodeRed werden alle 10 Minuten die aktuelle Wetterdaten vom DWD für Plauen gelesen und Temperatur, Luftfeuchtigkeit,.. in der InfluxDB gespeichert. Die Daten werden auf dem [[http://192.168.200.11:3000|Dashboard in Grafana]] visualisiert. * **Online Check**: In NodeRed wird jede Minute geprüft, ob der Sternenlabor Router (192.168.200.1) online ist und der Status (0 oder 1) in der InfluxDB gespeichert. Die Daten werden auf dem [[http://192.168.200.11:3000|Dashboard in Grafana]] visualisiert. * **Ping**: In NodeRed wird der Ping zum Hetzner Sternenlabor Server (176.9.52.80) gemessen und in der InfluxDB gespeichert. Die Daten werden auf dem [[http://192.168.200.11:3000|Dashboard in Grafana]] visualisiert. * MQTT + NodeRed + InfluxDB + Grafana * **Raumklima**: Mittles ESP32+BME280 werden auf Basis von [[https://tasmota.github.io/docs/|Tasmota]] die BME280 Messwerte per MQTT an Mosquitto publiziert. In NodeRed werden die MQTT Messages in die InfluxDB gespeichert. Die Daten werden auf dem [[http://192.168.200.11:3000|Dashboard in Grafana]] visualisiert. Temperatur und Luftfeuchte werden ausserdem auf dem NodeRed Dashboard angezeigt. * NodeRed * **LED Steuerung**: In NodeRed werden LEDs zeit- und eventgesteuert ein- und ausgeschaltet. Die LEDs werden mit [[https://github.com/Aircoookie/WLED|WLED LED Steuerung]] gesteuert. Die LEDs sind von Sonnenuntergang bis 23 Uhr und 30 Minuten vor bis nach einer [[https://www.vereinonline.org/sternenlabor/?action=events_kalender|Veranstaltung im Sternenlabor]] an. Über das NodeRed Dashboard können die LEDs manuell an und aus geschaltet oder die Automatik wieder aktiviert werden. ==== IOT Aliases ==== alias iotstack='cd ~/IOTstack && bash ./menu.sh' alias iotstack_up='docker-compose -f ~/IOTstack/docker-compose.yml up -d' alias iotstack_down='docker-compose -f ~/IOTstack/docker-compose.yml down' alias iotstack_start='docker-compose -f ~/IOTstack/docker-compose.yml start' alias iotstack_stop='docker-compose -f ~/IOTstack/docker-compose.yml stop' alias iotstack_update='docker-compose -f ~/IOTstack/docker-compose.yml pull' alias iotstack_build='docker-compose -f ~/IOTstack/docker-compose.yml build' ===== MagicMirror ===== Auf dem Sirius Server läuft [[https://docs.magicmirror.builders/|MagicMirror im Docker im Server Mode]] und ist über [[http://192.168.200.10:8090/|192.168.200.10:8090]] zu erreichen. Die Konfiguration (config, modules) kann auf dem Sirius Server in Ordern ~magic_mirror angepasst werden. Siehe [[https://github.com/bastilimbach/docker-MagicMirror|Doku]]. Auf unserem "realen" MagicMirror läuft ein Raspi Zero als Client mit [[https://github.com/guysoft/FullPageOS|FullPageOS]].