Skip to content
This repository has been archived by the owner on Oct 5, 2023. It is now read-only.

Latest commit

 

History

History
44 lines (34 loc) · 2.63 KB

README.md

File metadata and controls

44 lines (34 loc) · 2.63 KB

Server

Unter dem Server werden alle Dienste zusammengefasst, die auf dem Server ausgeführt werden. Dies kann ein lokaler Server, z.B. ein weiterer Raspberry PI sein, oder ein Server in einem Rechenzentrum sein.

Getting started

Alle Dienste können mit dem folgenden Befehl gestartet werden.

docker compose up

Über die API kann der OCR-Prozess durchgeführt werden.

IMG_BASE64=$(base64 example.png -w 0)
# With save
curl -X POST http://localhost:5002/ocr/save -H 'Content-Type: application/json' -d '{"client_name": "raspberrypi_keller", "img_base64": "'$IMG_BASE64'"}'
# Without save, just the result
curl -X POST http://localhost:5002/ocr -H 'Content-Type: application/json' -d '{"client_name": "raspberrypi_keller", "img_base64": "'$IMG_BASE64'"}'

Kein Docker installiert? Anleitung zum Installieren von Docker auf Raspberry OS

Webservice

Klicke hier um zur README des Webservices zu kommen.

InfluxDB

InfluxDB ist eine Open-Source-Datenbank, die speziell für die Verarbeitung von Zeitreihendaten entwickelt wurde. Sie wurde ursprünglich von InfluxData entwickelt und ist darauf ausgerichtet, große Mengen an Zeitreihendaten effizient zu speichern, abzurufen und zu analysieren. Zeitreihendaten sind Datenpunkte, die mit einem Zeitstempel versehen sind und in regelmäßigen Abständen erfasst werden, wie z.B. Sensordaten, Messungen oder Leistungsindikatoren.

Da wir ausschließlich Sensordaten und keine anderen Daten speichern, haben wir uns für diese Datenbank entschieden. Zusätzlich wird InfluxDB von Grafana standardmäßig als Datenquelle unterstützt.

Grafana

Grafana ist eine Open-Source-Plattform für die Visualisierung und Analyse von Daten. Sie ermöglicht es, Daten aus verschiedenen Quellen zu erfassen, zu verarbeiten und in ansprechenden Dashboards darzustellen. Grafana bietet eine intuitive Benutzeroberfläche, mit der Benutzer ihre Daten in Form von Diagrammen, Grafiken, Tabellen und anderen visuellen Elementen präsentieren können.

Innerhalb von Grafana lassen sich Daten unter anderem aus den folgenden Datenquellen auswerten bzw. visualisieren:

  • MySQL / PostgresQL / MS SQL Server
  • Prometheus (Monitoring)
  • Elasticsearch

Docker

Alle Dienste werden isoliert als Docker-Container gestartet. Das Image des Webservices wird über ein eigenes Dockerfile gebaut. Alle anderen Dienste (Grafana und InfluxDB) verwenden die offiziellen Images der Anbieter. Die Einstellungen befinden sich dafür in der Datei docker-compose.yml.

Docker Images:

  • htwberlin/mdwvzaehlerstaende-server-ws
  • grafana/grafana:10.0.1
  • influxdb:2.7.1