Archived
1
0
Fork 0

Fehler ausgebessert

This commit is contained in:
Findus23 2015-02-09 19:28:00 +01:00
parent 589a79b135
commit 80f2e7565a
8 changed files with 20 additions and 15 deletions

View file

@ -1,5 +1,5 @@
\chapter{Einleitung}
Im letzten Jahr habe ich mich damit beschäftigt, wie man mithilfe eines Raspberry Pi Umweltdaten messen, aufzeichnen und auswerten kann. Hierzu verwende ich mehrere Sensoren, die die Lufttemperatur (sowohl im Klassenraum, als auch außen), Luftfeuchtigkeit, Luftdruck und die relative Luftqualität. Diese Daten werden als \gls{CSV} gespeichert und können grafisch und rechnerisch ausgewertet werden.
Im letzten Jahr habe ich mich damit beschäftigt, wie man mithilfe eines \emph{Rasp\-berry~Pi} Umweltdaten messen, aufzeichnen und auswerten kann. Hierzu verwende ich mehrere Sensoren, die die Lufttemperatur (sowohl im Klassenraum, als auch außen), Luftfeuchtigkeit, Luftdruck und die relative Luftqualität messen. Diese Daten werden als \gls{CSV} gespeichert und können grafisch und rechnerisch ausgewertet werden.
Die grafische Auswertung läuft über ein Webinterface, das innerhalb der Schule aufrufbar ist. Von außerhalb ist eine regelmäßig aktualisierte Kopie unter \href{http://winkler.kremszeile.at/}{winkler.kremszeile.at} erreichbar. Auf dieser Seite können neben allgemeinen Informationen über das Projekt und Links zu weiteren Informationen\footnote{siehe Anhang \ref{anhang:weitere_informationen}} die aktuellen Messwerte als Balken-Diagramm, welches sich selbst aktualisiert, und die komplette Aufzeichnung als interaktives Diagramm dargestellt werden.

View file

@ -8,7 +8,9 @@ Ich habe im letzten Jahr zunächst durch das Projekt und anschließend durch das
\label{fig:Github}
\end{figure}
Eine andere Erkenntnis aus dem Projekt ist, dass aus einer kleinen Idee ein ziemlich umfangreiches Projekt werden kann, welches sogar einen Preis gewinnt. (siehe Anhang \ref{anhang:präsentationen}) Angefangen hat alles am Beginn des Schuljahres 2013/14, als wir Ideen für ein \emph{Raspberry Pi}-Projekt recherchieren sollten. Ich hatte in den Ferien schon mit einem experimentiert und kam auf die Idee eine \emph{Wetterstation} zu bauen. Eine Woche später war das erste Programm fertig, welches Zufallszahlen, Prozessortemperatur und -auslastung mithilfe von Gnuplot als Diagramm anzeigt.\footnote{hier kann es noch gesehen werden: \href{https://gist.github.com/Findus23/d1187031f875b76a69e8}{gist.github.com/Findus23/d1187031f875b76a69e8} (\emph{csv2gnuplot.sh} ist nicht von mir)}
Eine andere Erkenntnis aus dem Projekt ist, dass aus einer kleinen Idee ein ziemlich umfangreiches Projekt werden kann, welches sogar einen Preis gewinnen kann. (siehe Anhang \ref{anhang:präsentationen})
Angefangen hat alles am Beginn des Schuljahres 2013/14, als wir Ideen für ein \emph{Raspberry Pi}-Projekt recherchieren sollten. Ich hatte in den Ferien schon mit einem solchen experimentiert und kam auf die Idee eine \emph{Wetterstation} zu bauen. Eine Woche später war das erste Programm fertig, welches Zufallszahlen, Prozessortemperatur und -auslastung mithilfe von Gnuplot als Diagramm anzeigt.\footnote{hier kann es noch gesehen werden: \href{https://gist.github.com/Findus23/d1187031f875b76a69e8}{gist.github.com/Findus23/d1187031f875b76a69e8} (\emph{csv2gnuplot.sh} ist nicht von mir)}
Durch das Schreiben dieser VWA und den Präsentationen (Anhang \ref{anhang:präsentationen})
habe ich gelernt technische Details so weit wie möglich allgemeinverständlich zu erklären und versuche bei den Präsentationen diese kurz zu fassen.

View file

@ -20,7 +20,7 @@ Ursprünglich war der Raspberry Pi als günstiger Computer gedacht, um britische
\footcite{aboutraspberry}$^,$
\footcite[Geschichte]{wiki:raspberry}
Inzwischen wurden 3,8 Millionen Stück verkauft (Stand Oktober 2014\footcite{verkauf}) und 6 verschiedene Modelle entwickelt. (Bis Februar 2015)
Aufgrund des günstigen Preises\footnote{je nach Modell zwischen 30 und \SI{40}{\text{\texteuro}}}, der leichten Erweiterbarkeit und der guten Softwareunterstützung ist der \emph{Raspberry Pi} bei Bastlern sehr beliebt. Inzwischen wurden 3,8 Millionen Stück verkauft (Stand Oktober 2014\footcite{verkauf}) und 6 verschiedene Modelle entwickelt. (Bis Februar 2015)
\subsection{Technische Daten}
\label{subsec:Technische Daten}
@ -39,7 +39,7 @@ Zur Messung der Umweltdaten werden folgende Sensoren verwendet:
\item Luftfeuchtesensor \emph{DHT22} (\ref{subsec:Luftfeuchtigkeit})
\item Luftdrucksensor \emph{BMP085} (\ref{subsec:Luftdruck})
\item Luftqualitätssensor \emph{VOLTCRAFT CO-20} (\ref{subsec:Luftqualitat})
\item\gls{CPU}-Temperatur des Raspberry Pi
\item\gls{CPU}-Temperatur des \emph{Raspberry Pi}
\end{itemize}
\subsection{Temperatur}
\label{subsec:Temperatur}
@ -53,7 +53,7 @@ Mithilfe von 4 Sensoren des Typs \emph{DS18B20} werden die Innentemperatur, die
\label{fig:temp_pin}
\end{figure}
Der Sensor wird mithilfe von einem \gls{1-Wire}-\gls{Bus} ausgelesen. Hierbei benötigt man (außer für die Stromversorgung mit \SI{5}{\gls{Volt}} nur ein Kabel, auf dem die Daten übertragen werden.\footcite{1-wire} Zusätzlich wird ein \SI{4.7}{\kilo\glslink{Ohm}{\ohm}} Widerstand zwischen dem Pin für Daten und dem Pin für \SI[retain-explicit-plus]{+5}{\glslink{Volt}{\volt}} benötigt. (siehe Abbildung \ref{fig:temp_pin})
Der Sensor wird mithilfe von einem \gls{1-Wire}-\gls{Bus} ausgelesen. Hierbei benötigt man (außer für die Stromversorgung mit \SI{5}{\gls{Volt}}) nur ein Kabel, auf dem die Daten übertragen werden.\footcite{1-wire} Zusätzlich wird ein \SI{4.7}{\kilo\glslink{Ohm}{\ohm}} Widerstand zwischen dem Pin für Daten und dem Pin für \SI[retain-explicit-plus]{+5}{\glslink{Volt}{\volt}} benötigt. (siehe Abbildung \ref{fig:temp_pin})
Ein weiterer Vorteil von 1-Wire ist, dass nahezu beliebig viele Sensoren auf einem Datenkabel parallel geschaltet werden können.
Die Messdaten des \emph{DS18B20} können auf dem Raspberry Pi sehr einfach ausgelesen werden, weil dies von einem Linux-\gls{Kernelmodul} erledigt wird. Um die Temperatur zu erhalten, muss nur eine \gls{Geraetedatei} ausgelesen werden, welche das Messergebnis in tausendstel Grad Celsius enthält. (Siehe Abbildung \ref{fig:temp_screenshot})
@ -125,6 +125,9 @@ Da jedoch fix angelötete Kabel unflexibel sind, bin ich auf ein Display von \em
\section{Anschluss}
\label{sec:Anschluss}
Anfangs wurde sämtliche Hardware auf einem \gls{Steckbrett} aufgesteckt und mit einzelnen Kabeln verbunden. Dies ist sehr praktisch für schnelle Versuche und häufige Änderungen, ist aber sehr unstabil und nicht transportabel.
\begin{figure}[h]
\begin{minipage}[b]{0.45\textwidth}
\centering
@ -147,7 +150,6 @@ Da jedoch fix angelötete Kabel unflexibel sind, bin ich auf ein Display von \em
\caption{neue Sensoren auf dem \gls{Steckbrett}}
\end{minipage}
\end{figure}
Anfangs wurde sämtliche Hardware auf einem \gls{Steckbrett} aufgesteckt und mit einzelnen Kabeln verbunden. Dies ist sehr praktisch für schnelle Versuche und häufige Änderungen, ist aber sehr unstabil und nicht transportabel.
Daher wurden alle Sensoren auf \glspl{Streifenplatine} gelötet, welche mit Steckverbindungen und Kabeln miteinander verbunden werden.
@ -174,7 +176,7 @@ Daher wurden alle Sensoren auf \glspl{Streifenplatine} gelötet, welche mit Stec
\end{minipage}
\end{figure}
Die komplette Hardware ist nun in einer Holzbox, mit einer Öffnung für das Display und 3 \glspl{LED} auf der Vorderseite. Eine grüne \gls{LED} signalisiert, dass die Aufzeichnung gerade läuft. Eine gelbe \gls{LED} leuchtet kurz auf, wenn gerade eine Messung aufgrund eines Fehlers wiederholt wird. Und eine rote \gls{LED} zeigt, dass die Aufzeichnung gerade gestoppt ist. Zusätzlich gibt es am rechten Rand eine Öffnung für die USB-Anschlüsse und zwei Steckverbindungen für die Außensensoren. Am linken Rand ist eine kleiner Spalt für die Stromversorgung.
Die komplette Hardware ist nun in einer Holzbox, mit einer Öffnung für das Display und 3 \glspl{LED} auf der Vorderseite. Eine grüne \gls{LED} signalisiert, dass die Aufzeichnung gerade läuft. Eine gelbe \gls{LED} leuchtet kurz auf, wenn gerade eine Messung aufgrund eines Fehlers wiederholt wird. Und eine rote \gls{LED} zeigt, dass die Aufzeichnung gerade gestoppt ist. Zusätzlich gibt es am rechten Rand eine Öffnung für die USB-Anschlüsse und zwei Steckverbindungen für die Außensensoren. Am linken Rand ist ein kleiner Spalt für die Stromversorgung.
\begin{figure}[h]
\centering

BIN
main.pdf

Binary file not shown.

View file

@ -128,14 +128,14 @@
\newcommand{\mygrade}{Master of Science} %% title you are getting with this work like ``Master of ...''
\newcommand{\mystudy}{8A} %% your study like ``Arts''
\newcommand{\myuniversity}{Graz University of Technology} %% your university/school
\newcommand{\myinstitute}{BRG Rechte Kremszeile} %% affiliation
\newcommand{\myinstitute}{BRG Kremszeile} %% affiliation
\newcommand{\myinstitutehead}{Univ.-Prof.\,Dipl-Ing.\,Dr.techn.~Some One} %% head of institute
\newcommand{\mysupervisor}{MMag. Matthias Kittel} %% your supervisor
\newcommand{\myevaluator}{Prof.~Some Genius} %% your evaluator
\newcommand{\myhomestreet}{Rechte Kremszeile 54} %% your home street (with house number)
\newcommand{\myhometown}{Krems an der Donau} %% your home town
\newcommand{\myhomepostalnumber}{3500} %% your postal number of home town
\newcommand{\mysubmissionmonth}{Januar} %% month you are handing in
\newcommand{\mysubmissionmonth}{Februar} %% month you are handing in
\newcommand{\mysubmissionyear}{2015} %% year you are handing in
\newcommand{\mysubmissiontown}{\myhometown} %% town of handing in (or \myhometown)

View file

@ -4,7 +4,7 @@
Während ich am Projekt arbeitete, hatte ich mehrmals die Möglichkeit es anderen vorzustellen.
So konnte ich zum Beispiel am 23. April 2014 bei den \textsf{EDU|days}\footnote{\href{http://www.edudays.at/index.php/programm2014}{www.edudays.at/index.php/programm2014}} den \emph{Raspberry Pi -- Anfänger/innen Workshop} von meinem Klassenvorstand \emph{MMag. Rene Schwarzinger} begleiten und dort den aktuellen Zwischenstand präsentieren.
Nach dem Workshop sprach mich \emph{Dr. Johann Stockinger} an und fragte mich, ob ich beim \textsf{computer creative wettbewerb}\footnote{\href{http://www.ocg.at/de/computer-creative-wettbewerb}{www.ocg.at/de/computer-creative-wettbewerb}}
Nach dem Workshop sprach mich \emph{Dr. Johann Stockinger} an und fragte mich, ob ich beim \textsf{computer creative wettbewerb}\footnote{\href{http://www.ocg.at/de/computer-creative-wettbewerb}{www.ocg.at/de/computer-creative-wettbewerb}} der \emph{OCG} (Österreichische Computer Gesellschaft)
teilnehmen möchte. Noch in derselben Woche habe ich einen kurzen Text über mein Projekt\footnote{\href{https://github.com/Findus23/Umweltdatenmessung/blob/master/Dokumentationen/OCG Wettbewerb.pdf?raw=true}{https://github.com/Findus23/Umweltdatenmessung/blob/master/Dokumentationen/OCG Wettbewerb.pdf?raw=true}}
geschrieben und eingereicht.

View file

@ -16,10 +16,10 @@ Das wichtigste Programm ist das \gls{Bash}-Script \textit{main.sh}. Mithilfe ein
\subsection{Allgemeines}
\label{subsec:main.sh/allgemeines}
Zunächst werden die \gls{gpio}-Pins angegeben, an denen die \gls{LED}s angeschlossen sind. In den Zeilen 11-13 wird nun die grüne \gls{LED} eingeschaltet, um zu zeigen, dass das Programm läuft.
Zunächst werden die \gls{gpio}-Pins angegeben, an denen die \gls{LED}s angeschlossen sind. In den Zeilen 11-13 wird nun die grüne \gls{LED} eingeschaltet, um zu zeigen, dass das Programm ordnungsgemäß läuft.
\code{main.sh}{bash}{8}{13}
Nun startet das eigentliche Programm. Alles, was nun folgt wird wiederholt, bis die Aufzeichnung beendet wird.
Nun startet das eigentliche Programm. Alles, was nun folgt, wird wiederholt, bis die Aufzeichnung beendet wird.
\code{main.sh}{bash}{27}{28}
In den folgenden drei Zeilen wird der aktuelle Zeitpunkt in drei verschiedenen Formaten für drei verschiedene Zwecke gespeichert.
\begin{table}[h]
@ -42,7 +42,7 @@ In den folgenden drei Zeilen wird der aktuelle Zeitpunkt in drei verschiedenen F
\subsection{Messung}
\label{subsec:main.sh/messung}
Als erstes werden die Sensoren ausgelesen. Am einfachsten kann mit dem im Raspberry Pi integrierten Thermometer die \gls{CPU}-Temperatur ausgelesen werden. Hierzu müssen nur die Zeichen 6-9 (weil die gesamte Ausgabe \emph{temp=45.5'C} lautet) aus einer \gls{Geraetedatei} gelesen werden:
Als erstes werden die Sensoren ausgelesen. Am einfachsten kann der im \emph{Raspberry Pi} integrierten Thermometer für die \gls{CPU}-Temperatur ausgelesen werden. Hierzu müssen nur die Zeichen 6-9 (weil die gesamte Ausgabe \emph{temp=45.5'C} lautet) aus einer \gls{Geraetedatei} gelesen werden:
\codeline{main.sh}{bash}{32}
Nur wenig aufwändiger ist das Auslesen der Temperatursensoren (\emph{DS18B20}, siehe \ref{subsec:Temperatur}).
@ -166,7 +166,7 @@ Aufgrund von diesen Werten wird dann eine Grafik (siehe Abbildung \ref{fig:wette
\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\#dygraph8A.csv}{winkler.kremszeile.at/dygraphs\_außen.html\#dygraph8A.csv}}
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 auch einzelne Wochen oder Tage betrachtet werden. Da das Diagramm mit allen 10 Messkurven auf einmal überladen wäre, sind die Kurven einzeln deaktivierbar. 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 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 ist dieses Diagramm nicht statisch, sondern es kann einfach hineingezoomt werden. So können auch einzelne Wochen oder Tage betrachtet werden. Da das Diagramm mit allen 10 Messkurven auf einmal überladen wäre, sind die Kurven einzeln deaktivierbar. 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 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}
\section{Endauswertung}

View file

@ -18,7 +18,8 @@
\vfill
Vorwissenschaftliche Arbeit verfasst von\\[5mm]
Vorwissenschaftliche Arbeit\\[3mm]
verfasst von\\[3mm]
{\Large\bfseries\myauthor}\\[5mm]
Klasse \mystudy\\[40mm]