Archived
1
0
Fork 0

Glossar verbessert

This commit is contained in:
Findus23 2015-01-04 20:26:34 +01:00
parent 20f3feb4fe
commit d6ae639fd2
5 changed files with 47 additions and 17 deletions

BIN
figures/Urkunde.pdf Normal file

Binary file not shown.

View file

@ -4,7 +4,12 @@
description={\textit{Comma-separated values}\newline Hierbei werden Messungen in einer Textdatei durch Zeilenumbrüche und einzelne Werte durch Beistriche getrennt}
}
\newacronym{cpu}{CPU}{Central Processing Unit}
\newglossaryentry{CPU}
{
name=CPU,
description={\textit{Central Processing Unit}\newline
der Hauptprozessor}
}
\newglossaryentry{Ampere}
{
@ -15,7 +20,7 @@
\newglossaryentry{Hertz}
{
name=Hertz,
description={die SI-Basiseinheit für die Frequenz\newline Sie gibt die Wiederholungen pro Sekunden an (hier: Schwingungen pro Sekunde}
description={die SI-Basiseinheit für die Frequenz\newline Sie gibt die Wiederholungen pro Sekunden an (hier: Wechsel zwischen \emph{Strom} und \emph{kein Strom} in der \gls{CPU} pro Sekunde}
}
\newglossaryentry{Volt}
@ -27,13 +32,13 @@
\newglossaryentry{gpio}
{
name=GPIO,
description={General Purpose Input/Output\newline Kontakte, die Softwareseitig für verschiedene Zwecke angesteuert werden können\newline \zB: Auslesen von Sensoren, Ansteuern von Displays}
description={\emph{General Purpose Input/Output}\newline Kontakte auf der Platine, die softwareseitig für verschiedene Zwecke angesteuert werden können\newline \zB: Auslesen von Sensoren, Ansteuern von Displays}
}
\newglossaryentry{Kernelmodul}
{
name=Kernelmodul,
description={ein Programm, welches in das Betriebssystem geladen werden kann und oft zur Unterstützung von Hardware verwendet wird}
description={ein Programm, welches in das Betriebssystem geladen werden kann und oft zur Kommunikation mit Hardware verwendet wird}
}
\newglossaryentry{1-Wire}
@ -46,7 +51,7 @@
\newglossaryentry{Ohm}
{
sort=Ohm,
description={\textit{Ohm ist die abgeleitete SI-Einheit des elektrischen Widerstands}\footcite{wiki_ohm}},
description={Das Ohm \emph{ist die abgeleitete SI-Einheit des elektrischen Widerstands}\footcite{wiki:ohm}},
name={\ensuremath{\Omega}}
}
@ -66,7 +71,7 @@
\newglossaryentry{Bus}
{
name=Datenbus,
description={\textit{ein System zur Datenübertragung zwischen mehreren Teilnehmern über einen gemeinsamen Übertragungsweg, bei dem die Teilnehmer nicht an der Datenübertragung zwischen anderen Teilnehmern beteiligt sind.}\footcite{wiki:bus}}
description={\emph{System zur Datenübertragung zwischen mehreren Teilnehmern über einen gemeinsamen Übertragungsweg, bei dem die Teilnehmer nicht an der Datenübertragung zwischen anderen Teilnehmern beteiligt sind.}\footcite{wiki:bus}}
}
\newglossaryentry{I2C}
{
@ -99,3 +104,28 @@
name=Python,
description={ist eine 1991 entwickelte Programmiersprache, deren Fokus auf Programmlesbarkeit liegt.\footcite{python}\footcite{python_manual}{}}
}
\newglossaryentry{Bash}
{
name=Bash,
description={\textit{Bourne-again shell}\newline ist die heute unter Linux am häufigsten verwendete \gls{Shell}}
}
\newglossaryentry{Shell}
{
name=Shell,
description={ist eine Schnittstelle, über die der Benutzer Kommandos an den Computer schicken kann}
}
\newglossaryentry{Einplatinencomputer}
{
name=Einplatinencomputer,
description={ein vollständiges Computersystem, welches auf einer einzelnen Platine zusammengefasst ist}
}
\newglossaryentry{a}
{
name=Einplatinencomputer,
description={ein vollständiges Computersystem, welches auf einer einzelnen Platine zusammengefasst ist}
}

View file

@ -4,7 +4,7 @@
\todo{Einleitung}
\section{Der Raspberry Pi}
\label{sec:Raspberry}
Der \emph{Raspberry Pi} ist ein Einplatinencomputer, der 2012 von der \emph{Raspberry Pi Foundation} auf den Markt gebracht wurde.
Der \emph{Raspberry Pi} ist ein \gls{Einplatinencomputer}, der 2012 von der \emph{Raspberry Pi Foundation} auf den Markt gebracht wurde.
\begin{figure}[h]
\centering
@ -24,7 +24,7 @@ Inzwischen wurden 3,8 Millionen Stück verkauft (Stand Oktober 2014\footcite{ver
\subsection{Technische Daten}
\label{subsec:Technische Daten}
Die Technik in einem Raspberry Pi ist vergleichbar mit der eines Smartphones. Der Raspberry Pi hat eine \acrshort{cpu} mit \SI{700}{\glslink{Hertz}{\mega\hertz}}, welche auf bis zu \SI{1}{\glslink{Hertz}{\giga\hertz}} übertaktbar ist, und je nach Modell \SI{256}{} oder \SI{512}{\mega\byte} Arbeitsspeicher. Als Speicher für das Betriebssystem (verschiedene Linux-Distributionen stehen zur Auswahl) wird eine SD-Karte bzw. eine microSD-Karte verwendet.
Die Technik in einem Raspberry Pi ist vergleichbar mit der eines Smartphones. Der Raspberry Pi hat eine \gls{CPU} mit \SI{700}{\glslink{Hertz}{\mega\hertz}}, welche auf bis zu \SI{1}{\glslink{Hertz}{\giga\hertz}} übertaktbar ist, und je nach Modell \SI{256}{} oder \SI{512}{\mega\byte} Arbeitsspeicher. Als Speicher für das Betriebssystem (verschiedene Linux-Distributionen stehen zur Auswahl) wird eine SD-Karte bzw. eine microSD-Karte verwendet.
Zur Stromversorgung genügt ein normales Handyladegerät mit Micro-USB-Anschluss und mindestens \SI{1}{\gls{Ampere}} Stromstärke, denn der Raspberry Pi verbaucht nur \SI{3.5}{Watt}\footcite{strom} (Modell B).
@ -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 Abb. \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 virtuelle Datei ausgelesen werden, welche das Messergebnis in tausendstel Grad Celsius enthält. (Siehe Abbildung \ref{fig:temp_screenshot})
@ -78,7 +78,7 @@ Wie der \emph{DS18B20} (\ref{subsec:Temperatur}) benötigt der Luftfeuchtigkeits
\label{fig:steckbrett}
\end{figure}
Die Daten des Sensors werden von einem \gls{C}-Programm von Adafruit ausgelesen.
Die Daten des Sensors werden von einem \gls{C}-Programm von \emph{Adafruit} ausgelesen.
\footcite[Software Install]{DHT}
\subsection{Luftdruck}
@ -86,11 +86,11 @@ Die Daten des Sensors werden von einem \gls{C}-Programm von Adafruit ausgelesen.
Der \emph{BMP085} ist der präziseste Sensor. Er wird zum Messen des Luftdruckes und der Außentemperatur verwendet und hat dabei eine Genauigkeit von \SI{\pm 1.0}{\hecto\glslink{Pascal}{\pascal}} und \SI{0.5}{\degreeCelsius} bei \SI{25}{\degreeCelsius}\footcite[6]{BMP085}
Die Messdaten überträgt der Sensor über einen \gls{I2C}-\glslink{Bus}{Bus}. Dabei werden (zusätzlich zur Stromversorgung) \textbf{zwei} Kabel zur Datenübertragung benötigt.
Die Messdaten überträgt der Sensor über einen \gls{I2C}-\glslink{Bus}{Bus}. Dabei werden (zusätzlich zur Stromversorgung) \emph{zwei} Kabel zur Datenübertragung benötigt.
Über eines (in Abbildung \ref{fig:steckbrett} gelb) schickt der Raspberry Pi dem Sensor die Taktfrequenz, in der er die Daten übertragen soll, und im anderen (grün) werden die eigentlichen Daten übertragen.
\footcite[Hooking Everything Up]{bmp058_adafruit}
Auch hier werden die Daten von einem Programm von Adafruit ausgelesen. \footcite[Using the Adafruit BMP Python Library (Updated)]{bmp058_adafruit}
Auch hier werden die Daten von einem Programm von \emph{Adafruit} ausgelesen. \footcite[Using the Adafruit BMP Python Library (Updated)]{bmp058_adafruit}
\subsection{Luftqualität}
\label{subsec:Luftqualitat}

BIN
main.pdf

Binary file not shown.

View file

@ -11,7 +11,7 @@ Die Software, die verwendet wird, teilt sich in (?\todo{Anzahl hinzufügen}) Tei
\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. Dieses Bash- Script kümmert sich um die Aufzeichnung und Speicherung der Daten und die Steuerung der anderen Programme.
Das wichtigste Programm ist das \gls{Bash}-Script \textit{main.sh}. Mithilfe eines solchen können Programme gesteuert und ihre Ausgaben verarbeitet werden. Dieses Script kümmert sich um die Aufzeichnung und Speicherung der Daten und die Steuerung der anderen Programme.
\subsection{Allgemeines}
\label{subsec:main.sh/allgemeines}
@ -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 \acrshort{cpu}-Temperatur ausgelesen werden:
Als erstes werden die Sensoren ausgelesen. Am einfachsten kann mit dem im Raspberry Pi integrierten Thermometer die \gls{CPU}-Temperatur ausgelesen werden:
\codeline{main.sh}{bash}{32}
Nur wenig aufwändiger sind die Temperatursensoren (\emph{DS18B20}, siehe \ref{subsec:Temperatur}). Da die Sensoren manchmal ungültige Werte zurückgeben, wird nach der ersten Messung überprüft, ob dies der Fall ist (Zeile 34) und die Messung solange wiederholt, bis eine gültige Messung erfolgt.
@ -92,7 +92,7 @@ Einer der wichtigsten Teile des Projektes ist die grafische Auswertung. Diese ka
\subsection{Livedaten}
\label{subsec:Livedaten}
\begin{figure}[h]
\begin{figure}
\centering
\includegraphics[width=\textwidth]{figures/aktuell.png}
\caption{Livedaten (Screenshot von \href{http://winkler.kremszeile.at/aktuell.html}{winkler.kremszeile.at/aktuell.html})}
@ -107,7 +107,7 @@ Auf der Webseite des Raspberry Pi können die aktuellen Messwerte angezeigt und
Um die Daten auch anders zu nutzen habe ich einen \emph{Wetter-Rater} programmiert. Dieser versucht auf Basis von einfachen Berechnungen und Schätzungen das aktuelle Wetter zu \enquote{erraten}. So wird zum Beispiel die aktuelle Außentemperatur mit der nach Jahreszeit und Tageszeit zu erwartenden Temperatur verglichen, um Rückschlüsse auf den Bewölkungsgrad zu ziehen oder aufgrund der Luftfeuchtigkeit ermittelt, ob es Niederschlag gibt.
Hierzu wird zum Beispiel die Temperaturschwankung über einen Tag als Cosinusfunktion mit einer Schwankung von \SI{5}{\degreeCelsius} angenommen.
$$ \textit{Temperaturerwartung} = -5 \cdot \cos\left(\frac{\text{Stunde}\cdot 2 \cdot \pi }{24}\right) + \textit{Mittlere Temperatur des Tages}; $$
$$ \textit{Temperaturerwartung} = -5 \cdot \cos\left(\frac{\text{Stunde}\cdot 2 \cdot \pi }{24}\right) + \textit{Mittlere Temp. des Tages}; $$
\begin{figure}[h]
\centering
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=0.3cm,y=0.5cm]
@ -136,7 +136,7 @@ Der Wetter-Rater gibt drei Werte aus:
\end{itemize}
Aufgrund von diesen Werten wird dann eine Grafik (siehe Abbildung \ref{fig:wettericons}) ausgewählt, welche dann angezeigt wird.
\begin{figure}[htb]
\begin{figure}
\centering
\includegraphics[width=\textwidth]{figures/wettericons.png}
\caption{Wettericons (eigenes Werk)}