(WS19-01)Wetterballon Entwicklung

Aus Verteilte Systeme - Wiki
Version vom 13. Dezember 2019, 00:34 Uhr von Mfell001 (Diskussion | Beiträge) (Implementierung)

Wechseln zu: Navigation, Suche

Formalia

C-Styleguide

Für die Entwicklung wurde sich auf einen gemeinsamen Styleguide geeinigt. Weiterer Text folgt.

Der Guide kann hier eingesehen werden: C-Styleguide

CSV

Die Sensordaten werden im zur einfacheren Auswertung im CSV-Format gespeichert. Nährere Informationen gibt es hier:

CSV-Format

Doxygen

...Cooler Text kommt noch... Infos zu Doxygen hier: Doxygen

Implementierung

Als Implementierungssprache standen Python und C zur Auswahl. Unsere Wahl fiel auf C, da damit alle Gruppenmitglieder schon erste Erfahrungen sammeln konnten. Einen Styleguide haben wir unter nachfolgendem Link angeführt, um die [1] Zur Ansteuerung der über I2C angeschlossenen Sensoren standen uns die Schnittstellen i2c-dev, wiringPi und die Registermanipulation mittels der bcm2835-Bibliothek zur Auswahl. Um die passende Methode zu finden, haben wir uns mit allen Varianten beschäftigt und die Vor- und Nachteile wie folgt zusammengefasst.

i2c-dev:
+ einfache Verwendung
- adapter_nr muss ermittelt werden
- Umweg über Filesystem -> schlechtere Performance

WiringPi:
+ sehr einfache Verwendung
o bis auf Setup, zu unflexible Funktionen (Alternative: Verwendung von write und read)
- Umweg über Filesystem -> schlechtere Performance

Low Level (Registermanipulation):
+ potentiell beste Performance
+ maximale Kontrolle
+ Unabhängigkeit von I2C-Bibliotheken -> bessere Portabilität bei identischem Prozessor aber unterschiedlichen OSs
o root-only
- komplexer -> fehleranfälliger, zeitraubender, aber es gibt eine gute Vorlage zur Implementierung

Nach der Abwägung der Vor- und Nachteile haben wir uns für eine Implementierung mittels der bcm2835-Bibliothek entschieden, da uns die bessere Performance den größten Vorteil bei der Erfüllung der Anforderungen bietet, auch wenn darunter die Benutzerfreundlichkeit leidet.