Daten von BOB extern verwenden / in Grafana anzeigen

Hallo zusammen,

ich habe das Sensor-Kit erhalten. Nach etwas Bastelei läuft dieses nun. Kann ich die Daten auch in meinem Grafana-Dashboard anzeigen lassen? Oder nur in der BOB App?

1 Like

Moin Oliver,
mit dem BOB Sensor kit ist es mit der Vorinstallierten Hiverize/hiveeyes-micropython-firmware nur möglich zur BOB App zu übertragen.

Wenn du zusatzlich zu swarm.hiveeyes.org (Grafana) übertragen möchtest geht das leider nur mit dem hiveeyes/terkin-datalogger. Der aber auch auf dem Sensor-Kit Installiert werden kann.
Leider ist die einstiegsschwelle dort einiges höher, da er z.B. kein Captive Portal (WEB-Interface) besitzt und per Config File konfiguriert werden muß.
Außerdem ist er einiges Komplexer, er unterstützt einige weitere Sensoren und Nodes, was es aber für Einsteiger in der Micropython Programmierung doch etwas verwirrend machen kann.

Falls man aber bereit ist etwas mehr Zeit und auch Einarbeitung in das Thema zu stecken, ist es für jedermann aber durchaus möglich das Sensorkit auch mit dieser Firmware in Betrieb zu bekommen. Programieren braucht man dafür nicht können, es wird wie gesagt alles über ein config File gemacht. Ein Linux oder Mac Betriebssystem wär dabei von Vorteil aber es geht auch problemlos mit einem Win10! Rechner mit WSL und Visual Studio Code oder Atom.

Ich denke hier sind alle bereit Dich und auch andere auf diesem Weg zu unterstützen. Also nur Mut.

Wurde eine etwaige Kompatibilität “zwischen den Systemen” hier eigentlich schon diskutiert?

Da gäbs ja in meinen Augen 2x1,5-2 Ansätze:

  1. low-level: hiverize-firmware sendet zu BOB und auch an nen (anderen?) MQTT-endpoint/broker.
  2. low-level: terkin-firmware sendet zu nem MQTT-endpoint/broker und auch zu BOB.
  3. high-level: BOB stellt Datenbank einer externen Grafana-Instanz zur Verfügung.
  4. high-level: swarm.hiveeyes.org stellt Datenbank (InfluxDB) anderer $Software zur Verfügung.

Wobei ich jetz auch gar nicht mal genau weiss wie zum einen die Daten von hiverize zu BOB fließen (auch per MQTT?) sowie was BOB an Datenbank-Software benutzt.

Bzgl. 4. hab ich zumindest schonmal rausgefunden gehabt wie wa eine unserer InfluxDB-Instanzen auch für ne andere, externe Grafana-Instanz zugreifbar machen. (Aber des, 4., würde ja auch nicht den hier gewünschten Effekt erzielen.)

Wäre zumindest relativ einfach zu implementieren. Dazu müsste dann allerdings auch das Captive Portal um die notwendigen Server, Client usw. Erweitert werden.

Zu 2.
Die Terkin Firmware macht das bereits. Man muß nur seinen Token aus der Bob App angeben und die DS18B20 in der Config Mappen.

Zu 3. Der Bob App selbst hat selbst keine Schnittstelle, die Swarm.hiveeyes.org abgreifen könnte die Datenbank dahinter kann man bestimmt dazu bewegen die Daten auszugeben. Allerdings wüsste ich nicht wie man das Automatisieren könnte. Erstmal müsste sich der Imker bereit erklären das seine Daten auch Öffentlich auf Hiveeyes kommen. Dann müsste man auch noch abklären wo und wie sie auf Grafana zu finden sind.

Zu 4. Wäre auf alle Fälle in der Bob App einiges an Aufwand nötig. Aktuell werden die Daten per Http und Token an hiverize geschickt. In der App kann man sich beliebig? viele dieser Token für seine einzelnen Beuten/Sensorknoten anlegen. Eine Option für andere Datenquellen gibt es dort nicht. Auch holt der Server auch keine Daten Aktiv bei einem Knoten/Server ab sondern wartet auf eingehende Daten.

Eine Diskussion zu Exportmöglichkeiten von hiverize gibt es übrigens Hier


Und Aktueller

1 Like

Danke für die Ausführungen! Mir scheint denn 1. und 2. als weniger stressige Wege, die zumal auch den expliziten Willen des Daten-Emitters zugrunde liegen haben. Und 2. is ja auch schon fertig! Toll :)

BOB / Beep kann leider kein MQTT, sondern füttert eine HTTPS-API, d.h. nur Versand doppeln und Servername austauschen geht leider nicht.

Eine Idee von mir war noch: “BOB sendet statt an bee-observer.org an eine putsreq-Instanz wie wir es von TTN aus auch machen, von dort wird der Datensatz dann weitergeleitet”. Leider kennt PutsReq aber nur eine Weiterleitungsadresse, d.h. man könnte es so zwar an Grafana schicken aber nicht auch zusätzlich an den BOB-Server. Das ist etwas Schade, dass PutsReq das Design-bedingt nicht kann.

Hallo,
gerne möchte ich die Daten extern verwenden. Allerdings nicht über einen manuellen CSV Export, sondern entweder indem das Board die Daten zusätzlich an eine von mir bereitgestellte API liefert oder, dass ich die Daten über eine API abfrage.

Hat sich dazu in der Zwischenzeit etwas getan?
Bzw.: Kann ich denn Terkin problemlos parallel auf dem BOB installieren und weiterhin werden die Daten an Beep geschickt?

Ich blicke bei den verschiedenen Lösungen noch nicht so durch. Ich habe eine Waage im Rahmen des BOB Projektes ausgeliehen. Ich denke, ich bin da etwas unflexibler bzgl. der Software, die darauf läuft.
Und daher bin ich auch etwas frustriert. Denn wenn schon ein label wie “Citizen Science” dran steht, dann gehören die Daten ja eigentlich in die Öffentlichkeit.
Kann mir da jemand erklären, wie die Abgrenzung BOB und hiverize ist und welche Möglichkeiten ich bei BOB habe?

Danke
Christoph

1 Like

Hallo Christoph, erst einmal Willkommen bei Hiveeyes! Schön, dass du hierher gefunden hast!

BOB und hiverize ist eigentlich identisch, vielleicht meinst du aber hiveeyes, das ist dann etwas anders. :-)

Von hiveeyes / @Andreas, damals auch über das BOB-Projekt gefördert, gibt es eine alternative, flexiblere Softwarelösung für den FiPy, den Terkin-Datalogger, siehe

Diese Software ist in einigen Aspekte flexibler als die aktuelle BOB-Software, kann z.B. an mehrere Endpunkte Daten liefern oder auch Daten per LoRa senden.

Der große Nachteil ist allerdings, dass es noch keine grafische Oberfläche für die Konfiguration gibt. Die Zuordnung der DS18B20-IDs einfach per drag’n’drop zu machen oder andere Konfigurationen sind bei Terkin bisher nur über eine Konfigurationsdatei möglich.

Ich finde es prima wenn du schreibst

Das ist genau auch unsere Philosophie bei hiveeyes, allerdings bedeutet das auch, dass Imkerinnen und imker dann ihre Daten “hergeben” müssen. Vor dem BOB-Projekt hatten wir in workshops auch danach gefragt und Imker:innen ware sehr sensibel und wollten definitv nicht, dass z.B. Ortsdaten public sind oder der Nachbarimker mal schauen kann, ob man auch die AS-Behandlung “richtig” und zur korrekten Zeit gemacht hat.

Hier waren wir – vor allem mit @wtf Hilfe – zu offiziellem Projektende dabei uns Lösungen für die Zukunft zu überlegen wie wir einerseits den Bedarf nach dem Schutz eigener Daten respektieren können, aber auch für Leute wie dich, @christophk, die Möglichkeit schaffen können Daten zu teilen.

Ich sehe momentan zwei Möglichkeiten:

  • hiveeyes Terkin Datalogger verwenden und Daten an mehrere endpoints direkt vom node aus verschicken
  • einen Teil des BOB-Datenbestandes – nämlich nur von den Imkern, die das möchten – in eine eigene DB periodisch exportieren, die dann public abgefragt werden kann

Zu erstem Punkt: Statt der BOB-Software die Terkin-Software installieren und damit parallel an zwei Instanzen Daten schicken, an den BOB-Server und z.B. an den hiveeyes-Server:

Das ist allerdings mit etwas Arbeit verbunden, ich hatte auch schon mal eine Doku unter Übertragung einer BOB-Konfigurations-Datei auf hiveeyes / Terkin angefangen wie man die BOB-Konfigurationsdaten auf die Terkin-settings-Date übertragen kann, das ist machbar, man braucht aber ggf. etwas Frustrationstoleranz wenn es auf den ersten Versuch hin nicht gleich funktioniert, auch muss man dafür mit Atom o.ä. die Software neu auf den FiPy aufspielen.

2 Likes

Das werde ich mir mal anschauen.

Ich logge meine Messdaten auf der SD-Karte in einem Textfile und kann sie dann mit Filezilla ( FTP ) auf meinen PC ziehen und dann mit gnuplot anzeigen.