Archived
1
0
Fork 0
This repository has been archived on 2024-06-28. You can view files and clone it, but cannot push or open issues or pull requests.
VWA/software.tex
2014-11-23 19:47:27 +01:00

49 lines
2.3 KiB
TeX

\chapter{Software}
Die Software, die verwendet wird, teilt sich in (?) Teile auf:
\begin{itemize}
\item Auslesen der Sensoren, Aufbereiten der Daten und allgemeine Steuerung (main.sh)
\item Steuern des Displays
\item Endauswertung
\item Webinterface
\item sonstiges
\end{itemize}
\section{main.sh}
\label{sec:main.sh}
Das wichtigste Programm ist das Bash-Script \textit{main.sh}. Mithilfe eines Bash-Scriptes können Programme automatisiert gestartet und ihre Ausgaben ausgewertet werden.
Die Datei beginnt mit einem \textit{Shebang} (auch \textit{Magic Line}) genannt. Diese Zeile sagt dem Betriebssystem, womit die Datei ausgeführt werden soll.
\codeline{main.sh}{bash}{1}
Die folgenden Zeilen geben allgemeine Einstellungen an und definieren später gebrauchte Variablen. Man kann den Pfad zum Webserver, auf dem das Webinterface liegt, angeben. In Zeile 6 und 7 werden die Zugangsdaten für Pushbullet aus einer anderen Datei ausgelesen. Die Zeilen 8-10 geben die Pins an, an denen die LEDs angeschlossen sind. In Zeile 11-13 wird die grüne LED eingeschaltet, um zu zeigen, dass das Programm läuft.
\code{main.sh}{bash}{2}{13}
Zeile 14 bis 26 kümmern sich um Parameter, die an das Programm übergeben werden. Mit \enquote{-d} kann die letzte Aufzeichnung überschrieben werden und mit \enquote{-h} wird ein kurzer Info-Text angezeigt.
\begin{lstlisting}[language=bash,style=terminal]
lukas@kinderzimmer:~$ main.sh -h
-d csv-Datei leeren
für weitere Informationen siehe http://winkler.kremszeile.at/ oder https://github.com/Findus23/Umweltdatenmessung
\end{lstlisting}
\code{main.sh}{bash}{14}{26}
Alles, was nun folgt, wird unendlich wiederholt, bis das Programm beendet wird.
\code{main.sh}{bash}{27}{28}
In den folgenden drei Zeilen wird die aktuelle Uhrzeit und Datum in drei verschiedenen Formaten für drei verschiedene Zwecke.
\begin{table}[h]
\centering
\begin{tabulary}{\textwidth}{C|C|C}
Code & Beispiel & Verwendung \\
\hline
\hline
\%Y/\%m/\%d\ \%H:\%M:\%S & 2014/11/23 16:47:50 & Format zum Abspeichern in \gls{CSV} \\
\hline
\%d.\%m\ \%H:\%M:\%S & 23.11 16:47:50 & einfach lesbares Format für Display \\
\hline
\%d.\%m.\%y\ \%H:\%M:\%S & 23.11.2014 & einfaches, exaktes Format für Webinterface \\
\end{tabulary}
\caption{Datumsformate}
\end{table}
\code{main.sh}{bash}{29}{31}
\codeline{main.sh}{bash}{32}