Archived
1
0
Fork 0

Hardware: Luftfeuchte und Luftdruck

* Glossar ausgelagert
* siunitx statt units
* Ebenda bei mehreren Zitaten
This commit is contained in:
Findus23 2014-10-25 12:26:08 +02:00
parent a2a4445122
commit e19b974d51
8 changed files with 130 additions and 48 deletions

View file

@ -1,10 +1,3 @@
% Glossareinträge
\newglossaryentry{CSV}
{
name=CSV-Datei,
description={\textit{Comma-separated values}\newline Hierbei werden Messungen in einer Textdatei durch Zeilenumbrüche und einzelne Werte durch Beistriche getrennt}
}
% Ende Glossareinträge
\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 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.

BIN
figures/steckbrett.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

44
glossar.tex Normal file
View file

@ -0,0 +1,44 @@
\newglossaryentry{CSV}
{
name=CSV-Datei,
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{Ampere}
{
name=Ampere,
description={die SI-Basiseinheit der elektrischen Stromstärke}
}
\newglossaryentry{Volt}
{
name=Volt,
description={die SI-Basiseinheit der elektrischen Spannung}
}
\newglossaryentry{gpio}
{
name=GPIO,
description={General Purpose Input/Output\newline Kontakte, die Softwareseitig für verschiedene Zwecke angesteuert werden können\newline z.B.: 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}
}
\newglossaryentry{C}
{
name=C,
description={C ist eine sehr weit verbreitete Programmiersprache\newline Hier wird sie oft zum Auslesen der Sensoren verwendet, da sie sehr schnell ausgeführt wird}
}
\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}}
}\newglossaryentry{I2C}
{
name=I\textsuperscript{2}C,
description={\textit{Inter-Integrated Circuit} (auf Deutsch gesprochen: \textit{I-Quadrat-C})\newline ein sehr weit verbreiteter \gls{Bus}}
}

View file

@ -1,30 +1,3 @@
% Glossareinträge
\newacronym{cpu}{CPU}{Central Processing Unit}
\newglossaryentry{Ampere}
{
name=Ampere,
description={die SI-Basiseinheit der elektrischen Stromstärke}
}
\newglossaryentry{Volt}
{
name=Volt,
description={die SI-Basiseinheit der elektrischen Spannung}
}
\newglossaryentry{gpio}
{
name=GPIO,
description={General Purpose Input/Output\newline Kontakte, die Softwareseitig für verschiedene Zwecke angesteuert werden können\newline z.B.: 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}
}
% Ende Glossareinträge
\chapter{Hardware}
Die Hardware besteht aus einem Raspberry Pi, \todo{genauere Beschreibung}
@ -37,11 +10,11 @@ Die Hardware besteht aus einem Raspberry Pi, \todo{genauere Beschreibung}
\vspace{-50pt}
\end{wrapfigure}
\footnotetext{\cite{rasp_bild}}
Der \textit{Raspberry Pi} ist ein Einplatinencomputer, der 2012 von der \textit{Raspberry Pi Foundation} auf den Markt gebracht wurde.
Der \textit{Raspberry Pi} ist ein Einplatinencomputer, der 2012 von der \textit{Raspberry Pi Foundation} auf den Markt gebracht wurde.
\subsection{Geschichte}
Ursprünglich war er als günstiger Computer gedacht, um britischen Jugendlichen das Programmieren näher zu bringen. An der \textit{University of Cambridge} stellte man fest, dass die Vorkenntnisse von Studienanfängern immer geringer wurden, weil sie -- sowohl privat als auch in der Schule -- sich immer weniger mit der Funktionsweise von Computern und Programmen beschäftigen. Daher wollte man einen Computer entwickeln, mit dem die Jugendlichen experimentieren können.
\footcite{aboutraspberry}$^,$\todo{absolut geschummelt}
\footcite{wiki:raspi_geschichte}
\footcite[Geschichte]{wiki:raspberry}
\subsection{Technische Daten}
Die Technik in einem Raspberry Pi ist vergleichbar mit der eines Smartphones. Der Raspberry Pi hat eine \acrshort{cpu} mit 700 MHz, welche auf bis zu 1 GHz übertaktbar ist, und je nach Modell 256 oder 512 MB Arbeitsspeicher. Als Speichermedium für das Betriebssystem (verschiedene Linux-Distributionen stehen zur Auswahl) wird eine SD-Karte bzw. eine microSD-Karte verwendet.
@ -51,6 +24,8 @@ Zur Stromversorgung genügt ein normales Handy-Ladegerät mit Micro-USB-Anschlus
Zum Anschließen anderer Hardware gibt es zwei USB-Anschlüsse und 26 \gls{gpio}-Pins.
\section{Sensoren}
\label{sec:Sensoren}
Zur Messung der Werte werden folgende Sensoren verwendet:
\begin{itemize}
\item 4 Temperatursensoren \textit{DS18B20}
@ -60,6 +35,8 @@ Zur Messung der Werte werden folgende Sensoren verwendet:
\item CPU-Temperatur des Raspberry Pi
\end{itemize}
\subsection{Temperatur}
\label{subsec:Temperatur}
%\begin{figure}
% \centering
% \includegraphics[width=0.4\textwidth]{figures/temp_sensor.jpg}
@ -68,12 +45,12 @@ Zur Messung der Werte werden folgende Sensoren verwendet:
%\end{figure}
Mithilfe der Temperatursensoren werden die Innentemperatur, die Gehäusetemperatur und die Bodentemperatur (Außen) gemessen. Der hat eine Messgenauigkeit von $\pm 0.5\degree C$ und einen Messbereich von $-10\degree C$ bis $+85\degree C$. \footcite[20]{temp}
Mithilfe der Temperatur"-sensoren werden die Innen"-temperatur, die Gehäuse"-temperatur und die Bodentemperatur (Außen) gemessen. Der hat eine Messgenauigkeit von \SI{\pm 0.5}{\degreeCelsius} und einen Messbereich von \SI{-10}{\degreeCelsius} bis \SI{+85}{\degreeCelsius}. \footcite[20]{temp}
Der Sensor wird mithilfe von einem 1-Wire-Bus ausgelesen. Hierbei benötigt man (außer für die Stromversorgung mit 5 \gls{Volt}) nur ein Kabel, auf dem die Daten übertragen werden.\footcite{1-wire}
Ein weiterer Vorteil von 1-Wire ist, dass nahezu beliebig viele Sensoren parallel geschaltet werden können.
Ein weiterer Vorteil von 1-Wire ist, dass nahezu beliebig viele Sensoren parallel geschaltet werden können. (Abb. \ref{fig:temp_pin})
Die Messdaten des \textit{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 man nur eine virtuelle Datei auslesen, welche das Messergebnis in tausendstel Grad Celsius enthält. (Siehe Abbildung \ref{fig:temp_screenshot})
Die Messdaten des \textit{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 auslesen werden, welche das Messergebnis in tausendstel Grad Celsius enthält. (Siehe Abbildung \ref{fig:temp_screenshot})
\begin{figure}
\centering
\includegraphics[width=0.4\textwidth]{figures/temp_pin.png}
@ -86,4 +63,33 @@ Die Messdaten des \textit{DS18B20} können auf dem Raspberry Pi sehr einfach aus
\caption{Die erste erfolgreiche Messung (eigenes Werk)}
\label{fig:temp_screenshot}
\end{figure}
\subsection{Luftfeuchtigkeit}
\subsection{Luftfeuchtigkeit}
\label{subsec:Luftfeuchtigkeit}
Zum Messen der Luftfeuchtigkeit der Außenluft wird der \textit{DHT22} verwendet. Dieser kann auch die Temperatur messen.
Wie der \textit{DS18B20} (\ref{subsec:Temperatur}) benötigt der Luftfeuchtigkeitssensor zusätzlich zur Stromversorgung nur ein Kabel zur Datenübertragung. Es können jedoch nicht mehrere Sensoren parallel geschaltet werden. \footcite[Wiring]{DHT}
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{figures/steckbrett.png}
\caption{Anschlussskitze von \textit{DS18B20} (\ref{subsec:Temperatur}; Mitte), \textit{DHT22} (\ref{subsec:Luftfeuchtigkeit}; Links) und \textit{BMP085} (\ref{subsec:Luftdruck}; Rechts) (eigenes Werk)}
\label{fig:steckbrett}
\end{figure}
Die Daten des Sensors werden von einem \gls{C} Programm von Adafruit ausgelesen.
\footcite[Software Install]{DHT}
\subsection{Luftdruck}
\label{subsec:Luftdruck}
Der \textit{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\pascal} und \SI{0.5}{\degreeCelsius} bei \SI{25}{\degreeCelsius}\footcite[6]{BMP085}
Die Messdaten überträgt der Sensor über einen \gls{I2C}-Bus. Dabei werden (zusätzlich zur Stromversorgung) \textbf{zwei} Kabel zur Stromversorgung benötigt. (siehe Abbildung \ref{fig:steckbrett})
Zum einen ist das das gelbe Kabel, über welches der Raspberry Pi dem Sensor die Taktfrequenz schickt, in dem er die Daten übertragen soll, und das grüne Kabel, über das die eigentlichen Daten übertragen werden.
\footcite[Hooking Everything Up]{bmp058_adafruit}
Auch dies wird von einem Programm von Adafruit übernommen. \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

@ -57,7 +57,7 @@
%% See babel documentation for further details.
%% BibLaTeX-settings: (see biblatex reference for further description)
\newcommand{\mybiblatexstyle}{authoryear}
\newcommand{\mybiblatexstyle}{authoryear-ibid}
%% e.g., "alphabetic", "authoryear", ...
%% The biblatex style which is being used for referencing. See
%% biblatex documentation for further details and more values.
@ -166,10 +166,12 @@
%% ========================================================================
%% ... it's OK to put here your own usepackage commands ...
\usepackage{siunitx}
\usepackage{wrapfig} % Bildumlauf
\usepackage[toc,nopostdot]{glossaries}
\usepackage{gensymb}
\glsenablehyper
\input{glossar.tex}
\makeglossaries

View file

@ -2,6 +2,28 @@
% Encoding: ISO8859_1
@Online{bmp058_adafruit,
Title = {Using the BMP085/180 with Raspberry Pi or Beaglebone Black},
Author = {{Adafruit User KEVIN TOWNSEND}},
Url = {https://learn.adafruit.com/using-the-bmp085-with-raspberry-pi?view=all},
Year = {2013},
Urldate = {2014-25-10},
Owner = {lukas},
Timestamp = {2014.10.25}
}
@Online{DHT,
Title = {DHT Humidity Sensing on Raspberry Pi or Beaglebone Black with GDocs Logging},
Author = {{Adafruit User LADY ADA}},
Url = {https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging?view=all},
Year = {2013},
Urldate = {2014-25-10},
Owner = {lukas},
Timestamp = {2014.10.25}
}
@Online{rasp_bild,
Title = {Rev. 2 des Raspberry Pi Model B - made in UK},
Author = {Philipp Bohk},
@ -12,6 +34,18 @@
File = {:home/lukas/VWA/figures/raspberry.jpg:JPG image}
}
@Online{BMP085,
Title = {BMP085 Digital pressure Sensor - Data Sheet},
Author = {{Bosch Sensortec}},
Date = {2009-15-10},
Url = {https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf},
Year = {2009},
Urldate = {2014-25-10},
Owner = {lukas},
Timestamp = {2014.10.17}
}
@Online{strom,
Title = {RPi Hardware - Power},
Author = {elinux},
@ -50,16 +84,19 @@
Urldate = {2014-04-07}
}
@Online{wiki:GPIO,
Title = {Raspberry Pi (GPIO) --- Wikipedia{,} Die freie Enzyklopädie},
@Online{wiki:bus,
Title = {Bus--- Wikipedia{,} Die freie Enzyklopädie},
Author = {Wikipedia},
Url = {http://de.wikipedia.org/w/index.php?title=Raspberry_Pi&oldid=134104012#GPIO},
Url = {http://de.wikipedia.org/w/index.php?title=Bus_(Datenverarbeitung)&oldid=134938136},
Year = {2014},
Urldate = {2014-04-07}
Urldate = {2014-04-07},
Owner = {lukas},
Timestamp = {2014.10.25}
}
@Online{wiki:raspi_geschichte,
Title = {Raspberry Pi (Geschichte) --- Wikipedia{,} Die freie Enzyklopädie},
@Online{wiki:raspberry,
Title = {Raspberry Pi--- Wikipedia{,} Die freie Enzyklopädie},
Author = {Wikipedia},
Url = {http://de.wikipedia.org/w/index.php?title=Raspberry_Pi&oldid=134104012#Idee},
Year = {2014},

View file

@ -679,7 +679,7 @@ hyperref=true, %% using hyperref-package references
%doc% units%%
%doc% }}]
%doc% For setting correctly typesetted units and nice fractions with \verb+\unit[42]{m}+ and \verb+\unitfrac[100]{km}{h}+.
\usepackage{units}
%\usepackage{units} % Ich verwende stattdessen siunitx
%doc% \end{enumerate}