diff --git a/figures/dygraphs.png b/figures/dygraphs.png index 5415c76..49d3782 100644 Binary files a/figures/dygraphs.png and b/figures/dygraphs.png differ diff --git a/figures/dygraphs_ipad.png b/figures/dygraphs_ipad.png index 25836b9..4e91c71 100644 Binary files a/figures/dygraphs_ipad.png and b/figures/dygraphs_ipad.png differ diff --git a/glossar.tex b/glossar.tex index 200a580..87a602f 100644 --- a/glossar.tex +++ b/glossar.tex @@ -93,3 +93,9 @@ name=Github, description={\emph{ist ein webbasierter Hosting-Dienst für Software-Entwicklungsprojekte}\footcite{wiki:github}} } + +\newglossaryentry{Python} +{ + name=Python, + description={ist eine 1991 entwickelte Programmiersprache, deren Fokus auf Programmlesbarkeit liegt.\footcite{python}\footcite{python_manual}{}} +} diff --git a/main.pdf b/main.pdf index 9824cdb..a180ea8 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/praesentationen.tex b/praesentationen.tex index 9b76bc8..adbdcbc 100644 --- a/praesentationen.tex +++ b/praesentationen.tex @@ -10,5 +10,5 @@ geschrieben und eingereicht. Ein Monat später erfuhr ich, dass ich im Finale bin\footnote{\href{http://blog.ocg.at/2014/05/ccw14-finale/}{blog.ocg.at/2014/05/ccw14-finale/}} und daher am 17. Juni 2014 mein Projekt vor einer Jury präsentieren darf. Nach einem langen Tag mit vielen Präsentationen erfuhr ich am Nachmittag: Ich habe den ersten Preis in der Sekundarstufe II erreicht.\footnote{\href{http://blog.ocg.at/2014/06/ccw14-final/}{blog.ocg.at/2014/06/ccw14-final/}} Anschließend schrieb ich im Sommer einen Artikel für das OCG Journal.\footnote{\href{http://www.ocg.at/sites/ocg.at/files/medien/pdfs/OCG-Journal1403.pdf}{OCG Journal 3/2014: Seite 33 (www.ocg.at/sites/ocg.at/files/medien/pdfs/OCG-Journal1403.pdf)}} -Am 6. Oktober 2014 präsentierte ich mein Projekt der Arbeitsgruppe \textit{Bildung, Wissenschaft und Forschung} am \textsf{IKT-Konvent}.\footnote{\href{http://www.internetoffensive.at/3-ikt-konvent}{www.internetoffensive.at/3-ikt-konvent}} +Am 6. Oktober 2014 durfte ich mein Projekt der Arbeitsgruppe \textit{Bildung, Wissenschaft und Forschung} am \textsf{3. IKT-Konvent} präsentieren.\footnote{\href{http://www.internetoffensive.at/3-ikt-konvent}{www.internetoffensive.at/3-ikt-konvent}} \includepdf[pages={1},draft]{figures/Urkunde.pdf} diff --git a/references-biblatex.bib b/references-biblatex.bib index 4ebb3f8..f20d563 100644 --- a/references-biblatex.bib +++ b/references-biblatex.bib @@ -140,6 +140,16 @@ Timestamp = {2014.11.23} } +@Online{python, + Title = {What is Python? Executive Summary}, + Author = {{Python Software Foundation}}, + Url = {https://www.python.org/doc/essays/blurb/}, + Urldate = {2015-01-02}, + + Owner = {lukas}, + Timestamp = {2015.01.02} +} + @Online{aboutraspberry, Title = {The Making of Pi}, Author = {{Raspberry Pi Foundation}}, @@ -149,6 +159,17 @@ Urldate = {2014-07-04} } +@Online{python_manual, + Title = {Python Reference Manual}, + Author = {Guido van Rossum}, + Date = {1997-12-31}, + Url = {http://svn.python.org/projects/python/tags/release15/Doc/ref/ref.ps}, + Urldate = {2015-01-02}, + + Owner = {lukas}, + Timestamp = {2015.01.02} +} + @Online{schnatterente, Title = {Raspberry Pi: 32 Zeichen Hitachi HD44780 Display}, Author = {Schnatterente.net}, diff --git a/software.tex b/software.tex index 44ebf30..a177b5c 100644 --- a/software.tex +++ b/software.tex @@ -99,7 +99,7 @@ Einer der wichtigsten Teile des Projektes ist die grafische Auswertung. Diese ka \label{fig:display_neu} \end{figure} -Auf der Webseite des Raspberry Pi können die aktuellen Messwerte angezeigt und grafisch veranschaulicht werden. Hierzu wird alle 5 Sekunden mithilfe von \gls{Javascript} die Datei \emph{text\_ws.txt} nachgeladen und ausgewertet. Zusätzlich zur Anzeige der Zahlenwerte werden die Messungen mithilfe von Balken und Farbverläufen angezeigt. Für ältere Browser gibt es auch eine einfache tabellarische Ansicht\footnote{\href{http://winkler.kremszeile.at/aktuell_einfach.html}{winkler.kremszeile.at/aktuell\_einfach.html}} +Auf der Webseite des Raspberry Pi können die aktuellen Messwerte angezeigt und grafisch eranschaulicht werden. Hierzu wird alle 5 Sekunden mithilfe von \gls{Javascript} die Datei \emph{text\_ws.txt} nachgeladen und ausgewertet. Zusätzlich zur Anzeige der Zahlenwerte werden die Messungen mithilfe von Balken und Farbverläufen angezeigt. Für ältere Browser gibt es auch eine einfache tabellarische Ansicht\footnote{\href{http://winkler.kremszeile.at/aktuell_einfach.html}{winkler.kremszeile.at/aktuell\_einfach.html}} \subsubsection{Wetterrater} \label{subsubsec:Wetterrater} @@ -145,26 +145,43 @@ Aufgrund von diesen Werten wird dann eine Grafik (siehe Abbildung \ref{fig:wette \subsection{Diagramme} \label{subsec:Diagramme} + +\begin{figure}[h] + \centering + \makebox[\textwidth][c]{\includegraphics[width=1.35\textwidth]{figures/dygraphs_ipad.png}} + \caption{Webinterface auf einem Tablet (eigenes Werk)} + \label{fig:dygraphs_tablet} +\end{figure} + \begin{figure}[h] \centering \includegraphics[width=\textwidth]{figures/dygraphs.png} - \caption{Diagramm (eigenes Werk)} + \caption{Webinterface (von \href{http://winkler.kremszeile.at/dygraphs_außen.html}{winkler.kremszeile.at/dygraphs\_außen.html})} \label{fig:dygraphs} \end{figure} Damit auch die vergangenen Messergebnisse angesehen werden können, werden diese im Webinterface auf einer eigenen Seite als Diagramm dargestellt. Diese werden mithilfe von \emph{dygraphs}\footcite{dygraphs}, einer \gls{Javascript}-Bibliothek für interaktive Diagramme, erstellt.\footnote{\href{http://winkler.kremszeile.at/dygraphs_au\%C3\%9Fen.html}{winkler.kremszeile.at/dygraphs\_außen.html}} -Hierzu lädt der Webbrowser die komplette Aufzeichnung in Form der Datei \emph{dygraphs.csv} (siehe Datei \ref{file:dygraphs.csv}) nach. Daraus wird ein Diagramm über den gesamten Zeitraum der Messung erstellt. Im Gegensatz zu anderen Darstellungen kann hier jedoch einfach hineingezoomt werden. So können einfach einzelne Wochen oder Tage betrachtet werden. Da das Diagramm mit allen 10 Messkurven auf einmal überladen wäre, können einzelne Kurven aktiviert und deaktiviert werden. Zusätzlich kann ein Faktor eingegeben werden, um den die Kurven automatisch geglättet werden sollen. Mit einem Tastendruck kann man auch auf die letzten 24 Stunden oder 7 Tage zoomen oder in einem Kalender den Zeitraum auswählen. Es gibt auch ein Auswahlmenü, um den gewünschten Datensatz auszuwählen. Das Diagramm ist auch darauf angepasst, auch mit Tablets bzw. Touchscreens bedient zu werden. +Hierzu lädt der Webbrowser die komplette Aufzeichnung in Form der Datei \emph{dygraphs.csv} (siehe Datei \ref{file:dygraphs.csv}) nach. Daraus wird ein Diagramm über den gesamten Zeitraum der Messung erstellt. Im Gegensatz zu anderen Darstellungen kann hier jedoch einfach hineingezoomt werden. So können einfach einzelne Wochen oder Tage betrachtet werden. Da das Diagramm mit allen 10 Messkurven auf einmal überladen wäre, können einzelne Kurven aktiviert und deaktiviert werden. Zusätzlich kann ein Faktor eingegeben werden, um den die Kurven automatisch geglättet werden sollen. Mit einem Tastendruck kann man auch auf die letzten 24 Stunden oder 7 Tage zoomen oder in einem Kalender den Zeitraum auswählen. Es gibt auch ein Auswahlmenü, um den gewünschten Datensatz auszuwählen. Das Diagramm ist auch darauf angepasst, auch mit Tablets bzw. Touchscreens bedient zu werden. Auf Youtube gibt es ein Video, wo man die Verwendung in Aktion sehen kann: \href{https://www.youtube.com/watch?v=1bv6CEXuN5c}{www.youtube.com/watch?v=1bv6CEXuN5c} -\begin{figure} - \centering - \makebox[\textwidth][c]{\includegraphics[width=1.35\textwidth]{figures/dygraphs_ipad.png}} - \caption{Diagramm am Tablet (eigenes Werk)} - \label{fig:dygraphs_tablet} -\end{figure} \section{Endauswertung} \label{sec:Endauswertung} +Unabhängig vom Webinterface habe ich ein zweites Programm in \gls{Python} geschrieben. Dieses kann die fertige \emph{dygraphs.csv} (siehe Datei \ref{file:dygraphs.csv}) einlesen und verschiedene mathematischen Auswertungen über einen beliebigen Zeitraum erstellen. + +Zunächst wird die Datei in zwei Dateien aufgespalten. Die eine enthält nur die erste Spalte mit den Zeitstempeln jeder Messung, die andere die Messergebnisse. Da schon wenige Messfehler (zum Beispiel einmalig \SI{6}{\degreeCelsius} bei \SI{20}{\degreeCelsius} Außentemperatur) den Mittelwert (und die Standardabweichung) stark verändern, wird zunächst nach Ausreißern gesucht. Hierzu für jeden Messwert überprüft, ob er um mehr als \SI{10}{\degreeCelsius} von dem vorherigen \emph{und} dem folgenden abweicht. Wenn dem so ist, wird eine Meldung ausgegeben: + +\code{ausgabe.txt}{,morekeywords={Spalte,Zeile}}{5}{8} + +Als nächstes kann man den Zeitraum angeben, für den die Auswertung erstellt werden soll. Hierbei wird überprüft, ob das eingegebene Datum gültig ist. Das Programm testet dann, welche Zeilen der Eingabedatei in diesem Zeitraum liegen. + +\code{ausgabe.txt}{}{22}{28} + +Nun werden für jede Spalte bzw. für jeden Sensor der Mittelwert, das Minimum, das Maximum und die Standardabweichung berechnet und ausgegeben: + +\code{ausgabe.txt}{}{29}{59} + + \section{diverses} \label{sec:diverses}