Archiv der Kategorie: Allgemein

Google Kalender Termine in Grafana

In einer smashing.io Kachel werden bereits Termine aus dem Google Kalender ausgegeben und nun sollten die Termine auch in einer Grafana Kachel angezeigt werden.

Der Zugriff auf den Kalender über die API wurde bereits im Artikel https://www.itbasic.de/api-zugriff-auf-den-google-kalender/ beschrieben. Das Script wurde angepasst und per Cronjob ausgeführt. Die Werte „Wer;Titel;von;bis“ werden in einer CSV Datei lokal abgelegt.

Damit das Grafana eine CSV als Datenquelle verwenden kann, wurde das Plugin https://grafana.com/grafana/plugins/marcusolsson-csv-datasource/?src=grafana_add_ds&tab=installation installiert. Nach erfolgreicher Installation wurde die CSV Datei als Datenquelle eingerichtet.

Da sich die Datei lokal auf dem Grafana Server befindet, müssen folgende Zeilen in der /etc/grafana/grafana.ini hinterlegt werden. Ohne die Zeilen erhält man die folgende Fehlermeldung im Query: local mode has been disabled by your administrator error

[plugin.marcusolsson-csv-datasource]
allow_local_mode = true

Nach Neustart des Grafana Servers können die Termine aus der Datei ausgegeben werden.

Temperatur und Luftfeuchtigkeit mit WEMOS D1 Mini messen

Kollegen haben mir den Floh ins Ohr gesetzt, man könnte die Temperatur und Luftfeuchtigkeit mit Hilfe eines WEMOS D1 Mini messen und in eine Datenbank schreiben. Die gesammelten Informationen dann mit Hilfe von Grafana ausgeben.

Zunächst die einzelnen Elemente bestellt und zusammengelötet, auf dem Rechner die benötigte Arduino IDE installiert.

In der Arduino IDE unter den Einstellungen / Preferences muss bei Additional boards manager URLs die URL http://arduino.esp8266.com/stable/package_esp8266com_index.json hinterlegt werden.

Zusätzlich das Board unter Tools => Board => Boards manager das Board ESP8266 installieren.

Neben dem Board wird die Bibliothek für „DHT sensor library“ benötigt.

Der Quellcode der benötigt wird um ihn auf den Wemos zu übertragen, findet ihr auf der Seite https://znil.net/index.php/ESP8266_Wemos_D1_Mini_mit_DHT22_Sensor_Beispiel . An den leicht zu findenden Stellen müssen die heimischen WLAN Zugangsdaten hinterlegt werden.

Bevor de Quellcoce übertragen werden kann, müssen folgende Einstellungen gesetzt werden. Die Uploadgeschwindigkeit auf 921600 und unter Tools Board => esp8266 das Board LOLIN (WEMOS) D1 R2 & Mini auswählen.

Dann schauen wir uns mal grafana an

Wer sich sich die alten Artikel auf meinem Blog angeschaut hat, der weiß das meine favorisierte Dashboardlösung das dashing.io ist. Für dashing.io habe ich mittlerweile diverse Abfragen erstellt unter anderem auslesen eines Ticketsystems, Telefonanlage, Patchsysteme.

Der ein oder andere Kollege meinte jedoch, das ich mit auch mal grafana anschauen sollte. Also kleine debian VM aufgesetzt und mit den folgenden Schritten grafana und influxdb installiert.

Folgendes als root Benutzer ausführen um influxdb zu installieren:

wget -q https://repos.influxdata.com/influxdb.key
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | tee /etc/apt/sources.list.d/influxdata.list
apt-get update && sudo apt-get install influxdb
systemctl unmask influxdb.service
systemctl start influxdb

Ebenfalls als root Benutzer ausführen um grafana zu installieren:

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/enterprise/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list
apt-get update
apt-get install grafana-enterprise
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server.service

Im Anschluss was über http://serverip:3000 ein Zugriff auf grafana möglich

Raum-Temperatur auf dem Dashboard

Temperatur und Feuchtigkeit mit dem Wemos D1 Mini werden gemessen und auf dem Dashboard ausgegeben

Ich beschäftige mich aktuell mit dem Wemos D1 Mini und dem messen von Temperaturen sowie dem versenden der Daten. Ursprünglich bin ich auf das Thema gestoßen, da ich auf dem Boot verschiedene Stellen überwachen möchte, wie bspw. die Temperatur im Motorraum. Unter anderem bestellte ich mir dafür den bereits genannten Wemos D1 Mini und dazu unterschiedliche Sensoren wie bspw. den DHT22. Der DHT22 ist ein Temperatur- und Feuchtigkeitssensor. Der Wemos D1 Mini bringt auch gleich einen WLAN-Chip mit.

Um an Bord die gemessenen Werte an den Raspberry zu senden und nicht quer durchs Boot neue Kabel verlegen zu müssen, war die Übertragung mittels WLAN eine charmante Alternative.
Bis hierhin war das eigentlich nur die Vorgeschichte.
Interessant finde ich auch daheim die Temperatur und Feuchtigkeit, um zu erkennen wann wieder gelüftet werden muss. Die Darstellung auf dem Dashboard bot sich dafür an.
Keine Kabel verlegen zu müssen, bis auf für die Stromversorgung ggf. (3.3V oder 5V für den Betrieb werden benötigt), ist zu Hause genauso von Vorteil.

Da ich (aktuell) keinen Bedarf habe eine Historie der Werte zu speichern, kam mir die Idee die Werte direkt mittels API-Aufruf vom Wemos auf dem Dashboard aktualisieren zu lassen.
Das war die perfekte Übung für spätere Projekte an Bord.

Später kommt das ganze in ein Gehäuse.
Der Versuchsaufbau sieht wie folgt aus:

Auf dem Dashboard sieht die Kachel dann so aus:

Das ganze habe ich im Git gepflegt und ihr findet es mit entsprechender Anleitung zum nachbauen hier: https://github.com/janneshecht/Room-temperature

Kartenplotter an Bord mit Raspberry Pi

Das Lob gebührt Andreas Vogel und allen Unterstützern! – http://www.wellenvogel.net/software/avnav/docs/beschreibung.html
Mit dem Projekt AvNav wird der RaspberryPi zum Bordcomputer.
An Bord ist der RaspberryPi die zentrale Einheit wo u.a. Positionsdaten, Geschwindigkeit und Kartendaten zusammenlaufen und mittels WLAN an Endgeräte verteilt werden.
Für die Niederlande und auch Deutschland (und auch noch weitere) lassen sich kostenlos bereitgestellte Kartendaten herunterladen und in AvNav einbinden.
Die Dokumentation ist auf der oben aufgeführte Seite sehr ausführlich.
Im Einsatz ist bei uns die Version „AvNav-Touch“ (fertiges Image) in Verbindung mit dem
RaspberryPi-Touchscreen.

An Bord ist der GPS-Stick „USB GPS Modul Vk-172 Glonass Navigation“ von Amazon im Einsatz, welcher bisher sehr zuverlässig die Position liefert (am Kartentisch unter Deck montiert).
Mit dem eingebauten WLAN des RaspberryPi kam es leider immer wieder zu Verbindungsabbrüchen in Verbindung mit einen Samsung Galaxy Tab A10.1. Von Hermann habe ich noch einen TP-Link TL-WN722N gestellt bekommen, mit dem nun bisher überall an Bord die WLAN-Verbindung zuverlässig bestehen bleibt!

Zum Thema „Installation des originalen Rasperry Pi Touchscreen“ folgt noch ein Beitrag.