# Fragenstellungen
Degold Tim, Borensky Jan
## Welche Übertragungsreichweiten und Geschwindigkeiten kommen beim CAN-Bus zum Einsatz?
Die maximale Leitungslänge des CAN beträgt rund 40m, über welche Daten mit bis zu $500Kbits^{-1}$ übertragen. Wenn die Leitungslänge deutlich unter 40m liegt, lassen sich sogas Geschwindigkeiten bis zu $1Mbits^{-1}$ erreichen. Es lassen sich durchaus Leitungen verlegen, welche länger als 40m sind, allerdings fallen die Übertragungsraten dadurch stark. Zum Beispiel wird bei einer Länge von 500m nur noch mit $125Kbits^{-1}$ übertragen.
## Wieviele Teilnehmer können dabei miteinander kommunizieren?
Grundsätzlich gibt es kein Limit, es können theoretisch unendlich viele Nodes angeschlossen werden. Technische Limitierungen entstehen aber, da die Datenübertragungsrate weniger wird, je mehr Nodes angeschlossen sind. Andersherum verhält es sich logischerweise, dass weniger Nodes eine höhere Datenübertragungsrate bedeuten.
## Welche Möglichkeiten des einfachen Deployments bieten sich an, wenn verschiedene Services zur Darstellung von Sensordaten miteinander agieren sollen?
Hierfür kann, wie im letzten Semester schon angewendet Docker verwendet werden.
Dazu verwendet man ein `docker-compose.yml`, in dem man die beiden benötigten Services (`grafana`, `influxdb`) festlegt und die entsprechenden Konfigurationen
* Datenbank
* User
* Persistierung
vornimmt.
Hier sieht man ein einfaches Beispiel für so ein `docker-compose.yml`
```docker-compose
version: '2'
services:
influxdb:
image: influxdb:latest
ports:
- '8086:8086'
volumes:
- influxdb-storage:/var/lib/influxdb
environment:
- INFLUXDB_DB=db0
- INFLUXDB_ADMIN_USER=${INFLUXDB_USERNAME}
- INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_PASSWORD}
grafana:
image: grafana/grafana:latest
ports:
- '3000:3000'
volumes:
- grafana-storage:/var/lib/grafana
- ./grafana-provisioning/:/etc/grafana/provisioning
depends_on:
- influxdb
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
```
Für die Verwendung von Heroku ist ein `docker-compose.yml` allerdings nicht zu gebrauchen. Daher müssen hier die Konfigurationen mittels `Dockerfile` und `start.sh` (siehe Protokoll) durchgeführt werden.
## Wie können Grenzwerte definiert werden, die zur Steuerung bzw. Notifikation herangezogen werden?
Grundsätzlich kommt es immer auf die Art der Messdaten an, die erhoben werden.
Entweder es sind Daten, wo es einen bestimmten Grenzwert gibt, der bekannt ist. (Wie hoch sollte die Luftfeuchtigkeit in einem Raum sein? Was ist gesund?)
Oder es sind Daten, wo man selbst einen Grenzwert definiert, der nicht überschritten werden sollte. z.B. Temperaturen bei einem Produktionsprozess