\documentclass[ngerman,table,bibliography=totoc]{schuleit}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}
\usepackage{standalone}
\usepackage{catchfilebetweentags}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare Informatikfachseminare Arnsberg und Hamm}]{hyperref}
\svnid{$Id: raspi_skriptum.tex 1591 2016-10-04 21:05:13Z pieper $}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\usepackage{units}
\usepackage{inconsolata}
\usepackage{todonotes}
\usepackage{subfig}

\usepackage{natbib}
\bibpunct{[}{]}{}{a}{}{,~}
\bibliographystyle{dinat}

\lstset{% 
	breaklines=true, % Zeilenumbrüche
	basicstyle=\ttfamily\small,
	breakatwhitespace=false,
	tabsize=2,
}

\makeatletter
\newcommand*{\lstitem}[1][]{%
	\setbox0\hbox\bgroup
		\patchcmd{\lst@InlineM}{\@empty}{\@empty\egroup\item[\usebox0]\leavevmode\ignorespaces}{}{}%
		\lstinline[#1]%
}
\makeatother

%Überschrift aus den Arbeitsblättern nicht übernehmen
\newcommand{\singleSection}[1]{}

\newcommand{\RasPi}{Raspberry Pi\xspace}

\newcommand{\monatWort}[1]{%
\ifcase #1
 Monat 0 \or Januar \or Februar \or März  \or April \or Mai \or Juni \or Juli %
 \or August \or September \or Oktober \or November \or Dezember \fi}

\begin{document}
	\begin{titlepage}
		\begin{center}
			\begin{Large}
				Skriptum zum
			\end{Large}
		\end{center}

		\begin{center}
			\begin{huge}
				\textbf{\RasPi}
			\end{huge}
		\end{center}

		\begin{center}
			Stand \svnday. \monatWort{\svnmonth}\svnyear 
		\end{center}
		\vfil
		\begin{center}
			\includegraphics[width=0.7\textwidth]{raspi-2b}
		\end{center}
		\vfill
		\footnotesize \RasPi is a trademark of the \RasPi Foundation

		\tableofcontents

	\end{titlepage}
	
\chapter{Vorwort}
	Der \RasPi wurde als Projekt gestartet, um an der Universität Cambridge der sinkenden Zahl von Informatikstudenten und deren immer geringer werden Programmierkenntnissen entgegen zu wirken. Durch seinen günstigen Preis sollte es geringer ins Gewicht fallen, wenn bei Experimenten mit der Hardware auch mal etwas schief geht. Dieser kleine Computer hat aber weltweit Begeisterte gefunden, so dass er seit dem Verkaufsstart 2012 bis Anfang 2015 bereits über fünf Millionen Exemplare verkauft wurden. Im September 2016 wurde der zehn Millionste Raspberry Pi gefeiert.

	Der Name \RasPi stammt zum einen von einer Tradition, Computer nach Früchten zu benennen. So ist hier die Himbeere gewählt worden, die auch stilisiert zum Logo wurde. Das Pi steht eigentlich für Python Interpreter. Python ist eine Programmiersprache, die ursprünglich direkt von diesem Computer ausgeführt werden sollte. Die erste ausgelieferte Version des \RasPi hatte aber ein vollständiges Linux als Betriebssystem, so dass es auch viele andere Programmiersprachen auf dem \RasPi zum Einsatz kommen können.

	Da für viele Möglichkeiten des \RasPi entsprechende Hilfsmittel in Python vorhanden sind, setzt dieses Skriptum darauf. Zuerst geht es aber um die Installation des Systems und seine grundlegende Bedienung. Da besonders unter Linux die Shell, auch als Eingabeaufforderung bekannt, viele Möglichkeiten eröffnet, gibt es auch eine kurze Einführung.

	Der Hauptteil des Skriptums besteht aber aus Möglichkeiten und Projekten, die mit dem \RasPi umgesetzt werden können. Dabei sind viele Elemente direkt aus Arbeits- bzw. Informationsblättern übernommen, die bereits zum Thema erstellt worden sind. Auch weiterführende Elemente und Grundlagen dafür, wie z.\,B. die Farbcodierung von elektrischen Widerständen, sind eingefügt. Da hier eine Vielzahl von Möglichkeiten geboten wird, empfiehlt es sich, eine passende Auswahl zu treffen.

\chapter{Installation des Systems}
	Mittlerweile gibt es verschiedene Systeme, die auf einem \RasPi laufen. Neben dem Standard Raspbian, einem Ableger des Debian Linux-Systems, gibt es unter anderem auch spezielle Versionen von Ubuntu, Windows und einem Mediacenter. Zum Installieren gibt es zwei verschiedene Wege: Entweder man nutzt mit Noobs ein Installationsprogramm, das direkt auf dem \RasPi läuft oder man spielt ein passendes Abbild (Image) auf die SD-Karte.

	\section{Installation eines Abbilds}
		Um ein Abbild auf eine SD-Karte zu spielen benötigt man einen weiteren Rechner und ggf. zusätzliche Programme. Unter Linux lässt sich dieses am einfachsten mit dem Kommandozeilenprogramm \lstinline{dd} machen, dass in der Regel schon installiert ist. Dazu muss man nur wissen, unter welchem Gerätenamen die SD-Karte im Rechner bekannt ist. Sollte die Karte nach dem Einbinden eingehängt (gemountet) worden sein, so hilft z.\,B. ein Aufruf von \lstinline|mount|. Andernfalls kann man auch mit \lstinline{lsblk} sich die Geräte des Rechners ausgeben:
		\begin{lstlisting}[gobble=6]
			johpie@joh:~$ lsblk
			NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
			sda                     8:0    0 465,8G  0 disk  
			|-sda1                  8:1    0  69,9G  0 part  
			| `-md0                 9:0    0  69,9G  0 raid1 /
			|-sda2                  8:2    0   4,7G  0 part  
			| `-cryptswap1 (dm-0) 252:0    0   4,7G  0 crypt [SWAP]
			`-sda3                  8:3    0 391,2G  0 part  
				`-md1                 9:1    0 391,1G  0 raid1 /extra
			sdb                     8:16   0 465,8G  0 disk  
			|-sdb1                  8:17   0  69,9G  0 part  
			| `-md0                 9:0    0  69,9G  0 raid1 /
			|-sdb2                  8:18   0   4,7G  0 part  
			`-sdb3                  8:19   0 391,2G  0 part  
				`-md1                 9:1    0 391,1G  0 raid1 /extra
			sdd                     8:48   1    15G  0 disk  
			|-sdd1                  8:49   1    56M  0 part  
			`-sdd2                  8:50   1     3G  0 part  
			sr0                    11:0    1  1024M  0 rom 
		\end{lstlisting}
	
		Im diesem Fall ist es \lstinline{sdd} mit einer Größe von 16\,GB. In jedem Fall sollte dafür gesorgt werden, dass die Karte nicht im System gemountet ist. Der Aufruf erfolgt für die Datei \lstinline{raspberry-pi.img} mit dem Aufruf:
		\begin{lstlisting}[gobble=6]
			sudo dd if=raspberry-pi.img of=/dev/sdd bs=1M
		\end{lstlisting}
		Anschließend muss man mehrere Minuten warten, bis man wieder die Möglichkeit zur Eingabe bekommt. In dieser Zeit wird das Image auf die SD-Karte geschrieben. In den meisten Fällen ist das Image kleiner als die benutzte SD-Karte. Daher ist es durch den Aufruf von \lstinline{raspi-config} möglich, das Dateisystem auf die komplette SD-Karte zu vergrößern. Die Versionen von Raspbian ab Mai 2016 machen dieses automatisch beim ersten Booten.

	\subsection{Erstellen eines eigenen Abbilds}
		Um vor einigen Experimenten den derzeitigen Stand seinen Systems zu sichern, kann man den kompletten Inhalt der SD-Karte auf z.\,B. eine Festplatte kopieren. Dieses geht, wie auch die Installation eines Abbilds nicht mit dem \RasPi direkt, sondern benötigt einen weiteren Computer. Auch hier hilft das Kommandozeilenprogramm \lstinline{dd}. Analog wie beim Installieren eines Image wird hier davon ausgegangen, dass die Karte unter \lstinline{sdd} liegt und eine Größe von 16\,GB hat. Will man die komplette SD-Karte als Image haben, kann man sie mit folgendem Aufruf bekommen. Hier ist aber zu beachten, dass das Image die gleiche Größe hat, wie die SD-Karte, also im hier angegeben Fall 16\,GB.
		\begin{lstlisting}[gobble=6]
			sudo dd if=/dev/sdd of=name_des_image_jj_mm_tt.img
		\end{lstlisting}

		Wenn man Abbilder verteilen will, damit z.\,B. mehrere \RasPi den gleichen Stand bekommen, will man in der Regel nicht die komplette SD-Karte kopieren, wo der größte Teil des Dateisystems leer ist. Dazu kann man die Angaben von \lstinline{bs} und \lstinline{count} dem Programm \lstinline{dd} mitteilen, entsprechend weniger zu kopieren. Dabei gibt \lstinline{bs} die Größe der Blöcke an und \lstinline{count} die Anzahl der zu kopierenden Blöcke. Im folgenden Fall werden somit nur 3,5\,GB zum Image genommen:
		\begin{lstlisting}[gobble=6]
			sudo dd if=/dev/sdd of=name_des_image_jj_mm_tt.img bs=1M count=3500
		\end{lstlisting}
		Macht man dieses mit einer Partition, die bereits auf die komplette SD-Karte ausgeweitet wurde, so kann es zu Problemen führen. Deshalb sollte man die Partition und das entsprechende Dateisystem darauf wieder verkleinern. Einfacher ist es dafür zu sorgen, dass das Dateisystem nicht auf die komplette SD-Karte ausgeweitet wird. Dazu muss die SD-Karte nach dem Aufspielen des Image und vor dem ersten Booten gemountet werden. In der Bootpartition findet man die Datei \enquote{cmdline.txt}, die die ersten Schritte beim Booten regelt. Hier muss \lstinline|init=/usr/lib/raspi-config/init_resize.sh| am Ende des Aufrufs entfernt werden. 
		
		Es empfiehlt sich in jedem Fall das Datum mit in den Namen des Image mit aufzunehmen. So lässt sich direkt erkennen, wann dieses erzeugt wurde.

	\section{Installation mit Noobs} \label{noobs}
		Die Installation mit Hilfe von Noobs ist sehr einfach. Von der Seite \url{https://www.raspberrypi.org/downloads/} lädt man sich die passende Datei herunter. Dabei kann man zwischen zwei Versionen wählen: Es gibt einmal die große Version, die Raspbian direkt beinhaltet und alle anderen möglichen Systeme über das Netzwerk nachlädt. Die Lite-Version installiert alle Systeme über das Netzwerk. In beiden Fällen wird die Datei einfach mit gewohnten Mitteln an einem Computer auf die SD-Karte kopiert. Anschließend wird die SD-Karte in den \RasPi gesteckt. Nach dem Starten des \RasPi kann man eine Auswahl der oder des Systems treffen und die weitere Installation läuft automatisch ab.

\chapter{Bedienung, Linux Grundlagen}
In diesem Kapitel geht es um den Anschluss des \RasPi, das erste Starten und Grundlegende Elemente zu seiner Bedienung. Dabei wird sowohl auf die auf die Bedienung in der Konsole, also der reinen Text Ein- und Ausgabe, wie auch die graphische Oberfläche eingegangen. Auch werden Grundlagen und der Aufbau der Verzeichnisstruktur erläutert.

\section{Starten des \RasPi}
Bevor der \RasPi gestartet werden kann, muss er erst mit der nötigen Hardware verbunden werden. Dabei ist zu beachten, dass der Anschluss an das Netzteil erst zum Schluss passiert, da der \RasPi direkt versucht zu starten, sobald er mit Strom versorgt wird. Daher muss unbedingt vorher die SD-Karte in den passenden Anschluss unter dem \RasPi platziert werden. Es empfiehlt sich auch, den Bildschirm über den HDMI-Port zuvor anzuschließen und das entsprechende Gerät so umzustellen, dass das Bildsignal des \RasPi direkt verarbeitet wird. Andernfalls wird der \RasPi die Ausgabe über den Videoausgang starten, wenn nicht andere Einstellungen getroffen worden sind.

\subsection{Erste Schritte}
Je nach Einstellung des Systems wird beim Hochfahren des \RasPi entweder eine graphische Oberfläche gestartet oder man landet einer reinen Textumgebung, der Konsole. Werden Zugangsdaten benötigt, so sind diese im Ursprungszustand \enquote{pi} für den Benutzer und \enquote{raspberry} als Passwort. Bei der Eingabe muss man ggf. beachten, dass noch eine englische Tastatur eingestellt ist, bei der im Vergleich zur deutschen Tastatur das z und das y vertauscht sind.

Die erste Tätigkeiten bei einem neuen System sollten darin bestehen, das Dateisystem auf die volle Größe der SD-Karte auszuweiten sowie das Passwort zu ändern und die Länder-/Spracheinstellungen anzupassen. In der Konsole geschieht dieses über den Aufruf von 
\begin{lstlisting}[frame=trBL]
	sudo raspi-config
\end{lstlisting}
bei dem man sich anschließend durch ein Textmenü durcharbeiten muss. Unbekannte Optionen sollten in diesem Fall nicht geändert werden. In der graphischen Oberfläche gibt es auch einen passenden Eintrag im Menü unter Einstellungen.

\subsection{Herunterfahren}
Möchte man den \RasPi herunterfahren, so geht dieses über die entsprechenden Menüeinträge in der graphischen Oberfläche oder über
\begin{lstlisting}[frame=trBL]
	sudo halt -p
\end{lstlisting}
in der Konsole. Der entsprechende Aufruf zum Neustarten wäre:
\begin{lstlisting}[frame=trBL]
	sudo reboot
\end{lstlisting}

Wenn der \RasPi heruntergefahren wurde, so kann man dieses sehen, dass nur noch die Statusleute an ist. Danach kann die Stromversorgung vom \RasPi getrennt werden, damit der komplett aus ist.

\section{Bedienung in der Konsole}
Die Konsole bzw. das Terminal ermöglicht es, Programme und Befehle direkt über die Tastatur an das System abzugeben. Durch viele kleine Hilfsmittel können so komplexe Aufgaben sehr einfach bewältigt werden. Dafür benötigt man aber die Kenntnisse über die wichtigen Befehle und Möglichkeiten.

\begin{figure}[ht]
	\includegraphics[width=\textwidth]{konsole}
	\caption{Konsole auf dem \RasPi}
\end{figure}

Erreichen kann man eine Konsole auf dem \RasPi entweder dadurch, dass sie direkt gestartet wird\footnote{Sie ist die Alternative zum direkten Starten der graphischen Oberfläche.} oder durch den Aufruf mit Hilfe von Strg+Alt+F1 bis F6\footnote{Sollte die graphische Oberfläche gestartet sein, kann man in sie mit Strg+Alt+F7 zurückkehren}. Es lässt sich aber auch in der graphischen Oberfläche mit Hilfe von \enquote{lxterminal} eine Konsole starten.

Die wichtigsten Befehle in der Konsole auf einem Linux-System sind folgende: \\
\begin{tabularx}{\textwidth}{l|X}
	Befehl & Bedeutung \\ \hline \hline
	ls & Zeigt den Inhalt eines Verzeichnisses an. \\ \hline
	cd & Wechselt das Verzeichnis, wobei der Wechselwunsch als Parameter angegeben werden muss. Ein Verzeichnis hoch gelangt man durch die Angabe von \enquote{..} und mit \enquote{/} gelangt man ins Hauptverzeichnis bzw. Wurzelebene genannt. \\ \hline
	man & Zeigt eine Hilfe zu dem angegeben Befehl an. \\ \hline
	cp & Kopiert Dateien. \\ \hline
	mv & Verschiebt Dateien oder Verzeichnisse. \\ \hline
	rm & Löscht Dateien. \\ \hline
	sudo & Führt die direkt mit angegebenen Befehle als root-User\footnote{Als root bezeichnet man in Linux-Systemen den Benutzer mit uneingeschränkten Rechten auf dem System.} aus. \\ \hline 
	mkdir & Erstellt ein Verzeichnis. \\ \hline
	chmod & Ändert die Rechte an Verzeichnissen oder Dateien. \\ \hline
	chown & Ändert den Besitzer von Verzeichnissen oder Dateien. \\ \hline
	grep & Sucht nach Vorkommen einen Zeichenkette in einer Datei. \\ \hline
	cat & Gibt den Inhalt einer Datei an. \\ \hline
	passwd & Ändert Passwörter \\
\end{tabularx}

Kennt man nur den Anfang eines Befehls, so kann man sich durch Drücken der \enquote{Tab-Taste} entsprechende Vorschläge ergänzen lassen. Sie kann aber auch dazu genutzt werden, um bei der Eingabe von z.\,B. Pfadangaben den Rest des Dateinamens zu ergänzen.

\begin{Aufgabe}
	Nutze die oben genannten Befehle und nutze auch die Hilfe \enquote{man} um mehr über sie zu erfahren. Fertige in einer Textdatei auf dem \RasPi eine kleine Übersicht zu den oben genannten Befehlen an. Diese sollte neben dem Namen und einer Beschreibung, die teilweise etwas ausführlicher ist als in der oberen Liste, auch Beispiele für die Anwendung mit genauem Aufruf enthalten.
\end{Aufgabe}

\input{ab_02_software_installieren}

	\subsection{Zusammenfassen von Befehlen in einem Skript}
		Mit Hilfe eines Bash-Skripts mit es möglich mehrere Befehle, die man sonst in der Konsole hintereinander eingegeben hätte, zu einem zusammen  zufassen. Das Skript wird in eine einfache Text-Datei geschrieben, deren erste Zeile lautet: \lstinline|#!/bin/bash|.  Danach folgen die gewünschten Befehle. Außerdem sollte diese Datei das Recht haben, ausgeführt zu werden (+x). Dieses kann durch \lstinline|chmod +x <dateiname>| erreicht werden, so dass anschließend das Skript mit  Hilfe von \lstinline|.\<dateiname>| ausgeführt werden kann.

		Die Stärke der Bash-Skripte ergibt sich daraus, dass in ihnen Variablen, Methoden, Wiederholungsstrukturen und bedingte Anweisungen definiert werden können. Bash-Skripte können deshalb auch als Programmiersprache bezeichnet werden.

	\subsection{Entfernter Zugriff über SSH (Secure Shell)}
		Viele \RasPi werden an Stellen genutzt, an denen sich kein Monitor, Display oder auch Tastatur anschließen lässt. Auch in solchen Fällen gibt es Situationen, in denen man auf den Rechner zugreifen will. Dazu gibt es die Möglichkeit auf dem \RasPi einen SSH-Server laufen zu lassen. Dieses lässt sich über das Konfigurationsprogramm (\lstinline{raspi-config}) einstellen.

		Um den \RasPi erreichen zu können, muss dieser mit einem Netzwerk, über Kabel oder WLAN, verbunden sein. Sinnvoll ist es auch, wenn man z.\,B. über \lstinline|ifconfig| die IP-Adresse des \RasPi kennt. Dann kann man unter Linux sich mit \lstinline|ssh pi@<ip-adrese>| sich mit dem Gerät verbinden und erhält eine Eingabeaufforderung, wie man sie auch direkt auf dem \RasPi hat. Unter Windows muss man andere Programme wie z.\,B. Putty nutzen, um sich mit dem \RasPi verbinden zu können.

		\subsubsection{Kopieren von Dateien über SSH}
			Neben der entfernten Eingabeaufforderung erlaubt es SSH auch, Dateien auf diesem Wege zu übertragen. Unter Linux steht einem dazu \lstinline|scp| zur Verfügung. Bei der Syntax dieses Programms sind aber ein paar Dinge zu beachten: Der Aufbau des Aufrufs ist \lstinline|scp <quelle1> [<quelle2> ...] <ziel>|  und damit ähnlich dem des normalen Kopieren auf einem Dateisystems. Die lokale Datei kann auch genauso wie beim \lstinline|cp| angegeben werden. Die entfernte Datei wird mit mit Hilfe von \lstinline|<user>@<adresse>:<pfad>| angegeben. Mögliche Aufrufe können dann so aussehen:
			\begin{lstlisting}[frame=trBL,gobble=8]
				scp muster.txt muster.jpg pi@192.168.4.24:/home/pi/muster/
				scp pi@192.168.4.24:foo.bar .
			\end{lstlisting}
			Beim ersten Aufruf werden die Dateien \lstinline|muster.txt| und \lstinline|muster.jpg| auf einen \RasPi kopiert und beim zweiten die Datei \lstinline|foo.bar| aus dem Homeverzeichnis in das aktuelle lokale Verzeichnis.

	\subsection{Screenshots in der Konsole}
		Um Bildschirmphotos in einen der sechs Konsolen anfertigen zu können, kann das Programm \lstinline|fbgrap| genutzt werden, dass zuvor durch das Paket \lstinline|fbcat| installiert werden muss. An ein einfaches Foto gelangt mit Hilfe des Aufrufs:
		\begin{lstlisting}[frame=trBL,gobble=6]
			fbgrap bildname.png
		\end{lstlisting}

		Sehr nützlich erweist sich das Programm darin, dass es auch Bilder der anderen Konsolen anfertigen kann. Auch eine Verzögerung lässt sich einstellen. So wird bei folgender Eingabe nach 7 Sekunden auf die Konsole gewechselt, die unter \enquote{Strg+Alt+F2} zu erreichen ist. Anschließend wird von dort das Bildschirmphoto angefertigt.
		\begin{lstlisting}[frame=trBL,gobble=6]
			fbgrap -C 2 -s 7 bildname.png
		\end{lstlisting}

\section{Bedienung in der graphischen Oberfläche}
	Die Bedienung der graphischen Oberfläche verhält sich sehr ähnlich, wie es von anderen Systemen bekannt ist. Auch wenn sich das Aussehen der Oberfläche mit den verschiedenen Versionen leicht verändert hat, sind die Grundstrukturen gleich geblieben.

	\begin{figure}[ht]
		\includegraphics[width=\textwidth]{desktop}
		\caption{Desktop}
	\end{figure}

	Die meisten installierten Programme lassen sich über das Menü erreichen, dass sich in der linken oberen Ecke befindet. Ist der Name des Programms bekannt, kann es auch direkt aufgerufen werden. Das dafür nötige Dialogfenster lässt sich mit Alt+F2 öffnen. Der Aufruf von \lstinline|lxterminal| in diesem Dialog sorgt dafür, dass man eine Konsole geöffnet bekommt.

	\begin{figure}[ht]
		\includegraphics[scale=0.45]{ausfuehren}
		\includegraphics[scale=0.45]{konsole_desktop}
		\caption{Konsole auf dem Desktop}
	\end{figure}

	\subsection{WLAN und Bluetooth}
		\begin{wrapfigure}[7]{r}{6.2cm}
			\vspace{-1cm}
			\includegraphics[width=6cm]{wlan}
			\caption{WLAN-Auswahl}
		\end{wrapfigure}
		In der graphischen Oberfläche sind auch standardmäßig graphische Steuerungselemente für WLAN und Bluetooth integriert, die nur eine sehr einfache Konfiguration zulassen. Das WLAN findet sich unter dem Netzwerksymbol. Mit einem Klick darauf können, sofern ein WLAN-Adapter erkannt wurde, werden die verfügbaren Netze aufgelistete. Wählt man ein verschlüsseltes davon aus, kann man direkt das Passwort dafür eingeben. Ist die Einwahl erfolgreich so wechselt das Symbol mit Anzeige der Empfangsqualität.

		\begin{wrapfigure}[10]{r}{6.2cm}
			\vspace{-0.5cm}
			\includegraphics[width=6cm]{bluetooth_menu}
			\caption{Bluetooth Menu}
		\end{wrapfigure}
		Der Raspberry Pi 3B hat als erstes Modell einen Bluetooth-Adapter dabei und damit schnell die Möglichkeit, eine Verbindung mit anderen Bluetooth-Geräten aufbauen zu können, so dass diese genutzt werden können. Bei den vorherigen Modellen muss ein passender Adapter z.\,B. über USB angeschlossen werden.

		Der Aufbau der Verbindung erfolgt wie bei anderen Geräten auch, indem man nach entsprechenden Geräten sucht. Dieses geht über das Menü, dass sich beim Klicken auf das entsprechende Icon öffnet. Das gewünschte Gerät muss dann ausgewählt werden und ggf. durch einen Code verifiziert werden.

		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.5]{bluetooth_add_device}
			\caption{Hinzufügen eines Bluetooth-Geräts}
		\end{figure}

	\subsection{Browser}\label{sec:browser}
		Standardmäßig ist auf dem Raspberry der Browser Epiphany installiert. Es handelt sich dabei um einen sehr einfachen und schlanken Browser. In einigen Fällen fehlt dem Browser aber bekannte Eigenschaften, so dass einige Seiten nur beschränkt genutzt werden können.
	
		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.5]{browser_orig}
			\caption{Standardbrowser auf dem Raspberry Pi}
		\end{figure}

		Alternativ kann man sich auch den bekannten Browser Firefox installieren. Dieses liegt im Paket \verb|firefox-esr| und das Paket \verb|firefox-esr-l10n-de| beinhaltet die deutschen Sprachelemente. Die Installation von Paketen wird in Abschnitt \ref{sec:software_install} erklärt.

		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.5]{browser_firefox}
			\caption{Firefox auf dem Raspberry Pi}
		\end{figure}

	\subsection{E-Mail}
		Mit Claws Mail ist auf dem Raspberry Pi ein direkt ein einfacher E-Mail-Client installiert. Mit ihm ist es möglich, nach entsprechender Einrichtung, E-Mails mit dem Raspberry Pi zu empfangen und senden, ohne dabei einen Webclient im Browser nutzen zu müssen. Claws Mail arbeitet dabei wesentlich schneller und komfortabler, als ein Webclient. Außerdem ist kann man mithilfe eines einfachen Plugin seine E-Mails verschlüsseln, was in \ref{sec:Verschlüsselung} beschrieben ist.

		\begin{figure}[ht]
			\centering
			\includegraphics[width=0.7\textwidth]{claws_oberflaeche}
			\caption{Oberfläche von Claws-Mails mit geöffnetem \enquote{Spamordner}}
		\end{figure}

		\subsubsection{Einrichtung von Claws Mail}
			Claws-Mail ist im Menü unter Internet zu finden und öffnet beim ersten Mal direkt einen Assistenten zur Einrichtung. Dieser fordert einen auf, in mehreren Schritten allgemeine Angaben zu machen, sowie zum Empfangen und Versenden.

			\begin{figure}[ht]
				\centering
				\subfloat[Allgemeine Angaben]{\includegraphics[scale=0.4]{claws_einrichtung_allgemein}\label{fig:claws_allgemein}}
				\quad
				\subfloat[Empfangen]{\includegraphics[scale=0.4]{claws_einrichtung_imap}\label{fig:claws_imap}}
				\quad
				\subfloat[Senden]{\includegraphics[scale=0.4]{claws_einrichtung_smtp}\label{fig:claws_smtp}}
				\caption{Einrichtung von Claws Mail}
			\end{figure}

			Im ersten Schritt (Abbildung \ref{fig:claws_allgemein}) gibt man seinen Namen und seine E-Mail-Adresse an. Dieses muss die Adresse sein, für die das anschließende Konto eingerichtet wird. 

			Die Angabe des Servers zum Empfangen der E-Mails ist der zweite Schritt (Abbildung \ref{fig:claws_imap}). Hier ist zuerst der Servertyp bzw. das Protokoll auszuwählen. Dabei kann der Abschnitt \ref{sec:pop3_imap} behilflich sein. Die Adresse des Servers bekommt man von seinem Anbieter. Die Adressen der gängigsten Anbieter sind zusätzlich noch in der Tabelle \ref{tab:E-Mail-Server} aufgeführt. Der Benutzername ist in der Regel der gleiche, mit dem man sich auch beim Webclient anmeldet.

			Gibt man bei diesem Schritt das Kennwort mit an, so wird es gespeichert und man muss es nicht bei jedem Abruf von E-Mails mit angeben. Wenn auch andere Personen Zugriff auf den Raspberry Pi haben, sollte man auf diese Angabe verzichten. In jedem Fall sollte eine SSL-Verbindung zum Server verwendet werden. Damit wird die Verbindung verschlüsselt und es gibt nur noch wenige Anbieter, die überhaupt eine unverschlüsselte Verbindung zulassen.

			Der dritte Schritt (Abbildung \ref{fig:claws_smtp}) ist die Angabe des Servers zum Versandt der E-Mails. Hier ist in der Regel die Authentifizierung auszuwählen, da es wie auch bei der Verschlüsselung so gut wie keinen Anbieter gibt, der ohne entsprechende Zugangsdaten E-Mails annimmt. Lässt man die Felder für Benutzername und Kennwort frei, so werden die gleichen Daten wie beim Posteingangsserver genommen.

			Beim ersten Empfang wird man noch damit konfrontiert, dass das Zertifikat des Servers unbekannt ist und gespeichert werden muss. Dieses kann auch nach einiger Zeit wieder kommen, wenn das Zertifikat abläuft und der Anbieter ein neues hinterlegt.

			\begin{figure}[ht]
				\centering
				\includegraphics[scale=0.4]{claws_kontobearbeitung}
				\caption{Änderungen an den E-Mail-Konten\label{fig:claws_aenderung}}
			\end{figure}

			Sollte es beim Empfangen zu Problemen kommen, so kann beim Menüpunkt \enquote{Konfiguration} der Punkt \enquote{Konten bearbeiten} ausgewählt werden (Abbildung \ref{fig:claws_aenderung}). Dort lassen sich alle getroffenen Einstellungen bearbeiten. Wurde IMAP gewählt, so kann sollte nach der Änderung mit der rechten Maustaste auf dem Ordnerbaum das Kontextmenü geöffnet werden und dort der Punkt \enquote{Ordnerbaum erneuern} gewählt werden. An dieser Stelle sei darauf verwiesen, dass einige Anbieter Besonderheiten haben, die zum Teil in \ref{sec:besonderheiten-email} aufgeführt sind.
			
		\subsubsection{Wahl zwischen POP3 und IMAP}\label{sec:pop3_imap}
			Bei fast allen E-Mail Anbietern wird einem die Möglichkeit geboten die E-Mails über das POP3 oder das IMAP Protokoll abzurufen. Der Versandt läuft in beiden Fällen über das SMTP-Protokoll. Da es zwischen den beiden Protokollen zum Abrufen einige Unterschiede gibt, sollen diese hier näher beleuchtet werden.

			\textbf{POP3} ist ein Protokoll, dass nur zum Abholen der E-Mails vom Server gedacht ist. Bei den E-Mail-Clients ist dabei die Standardeinstellung, dass anschließend die Mails auf dem Server gelöscht werden. Ruft man mit mehreren Geräten seine E-Mails ab, sollte man die Einstellung wählen, dass die E-Mails nicht gelöscht werden. In diesem Fall ist es auch so, dass jede neu heruntergeladene E-Mail als neu markiert wird, auch wenn sie bereits von einem anderen Gerät heruntergeladen wurden und dort als gelesen markiert wurden.

			Bei \textbf{IMAP} bleiben die E-Mails eigentlich auf dem Server. Es werden im Client nur lokale Kopien angelegt. Dadurch hat man bei allen verwendeten Clients die gleiche Verzeichnisstruktur, Markierungen sind überall gleich und auch wenn E-Mails gelöscht werden, werden sie bei den anderen Clients entfernt. Über das IMAP Protokoll hat man so die Möglichkeit eine lokale Umgebung zu schaffen, in der man auch offline arbeiten kann, die dem entspricht, was man aus dem Abrufen der E-Mails im Browser kennt. Dieses ist nur ein sogenannter Webclient, der auch auf das IMAP-Protokoll setzt.

			\begin{table}[ht]
				\begin{footnotesize}
					\begin{tabular}{l||l|l|l}
						\textbf{Anbieter} & \textbf{IMAP} & \textbf{POP3} & \textbf{smtp} \\
						\hline
						Googlemail & \verb|imap.gmail.com| & \verb|pop.gmail.com| & \verb|smtp.gmail.com| \\
						GMX & \verb|imap.gmx.net| & \verb|pop.gmx.net| & \verb|mail.gmx.net| \\
						T-Online & \verb|secureimap.t-online.de| & \verb|securepop.t-online.de| & \verb|securesmtp.t-online.de| \\
						Web.de & \verb|imap.web.de| & \verb|pop3.web.de| & \verb|smtp.web.de| \\
					\end{tabular}
				\end{footnotesize}
				\caption{Server gängiger Anbieter\label{tab:E-Mail-Server}}
			\end{table}

		\subsubsection{Besonderheiten bei verschiedenen Mail-Anbietern}\label{sec:besonderheiten-email}
			Bei einigen der größeren E-Mail Anbietern sind noch ein paar Besonderheiten zu beachten, damit der Empfang und Versandt von E-Mails über Claws-Mail funktioniert.
			\begin{description}
				\item[GMX und web.de] In den Einstellungen in der Weboberfläche muss der Zugriff über IMAP/POP3 aktiviert werden. Dabei ist zu beachten, dass die Weboberfläche sich nicht mit dem Standardbrowser des Raspberry Pi öffnen lässt, da man dort direkt wieder abgemeldet wird. Eine Installation und Nutzung des Firefox-Browsers (siehe \ref{sec:browser}) bringt hier Abhilfe.
				\item[GMail] Bei GMail müssen zwei Dinge in der Weboberfläche eingestellt werden: Zum einen muss in den normalen Einstellungen IMAP aktiviert sein. Außerdem stuft GMail das Claws-Mail-Programm als unsichere App ein. Dazu muss in den Einstellungen auf \url{http://www.google.com/settings/security/lesssecureapps} den "`Weniger sichere Apps"' der Zugriff erlaubt werden. Auch hier kann der Aufruf nicht mit dem Standardbrowser erfolgen.
			\end{description}

	\subsection{Screenshots}
		Zur Erstellung von Screenshots in der graphischen Oberfläche ist in der Regel das Programm \lstinline|scrot| bereits installiert. Dieses kann direkt durch das Betätigen der  \enquote{Drucken}-Taste gestartete werden. Stattdessen kann kann es auch in der Konsole aufgerufen werden. Ein Aufruf innerhalb der Oberfläche sieht es so aus:
		\begin{lstlisting}[frame=trBL,gobble=6]
			scrot -cd 6
		\end{lstlisting}
		In beiden Fällen wird ein PNG-Bild im Homeverzeichnis gespeichert. Der Parameter \mbox{\enquote{d 6}} sorgt dafür, dass die Bildaufnahme um 6 Sekunden verzögert stattfindet. Durch die Angabe von \enquote{c} wird dabei zusätzlich der Countdown herunter gezählt, so dass man sieht wie lange man noch Zeit hat das Fenster wie gewünscht zurecht zu rücken. Das Bild hat automatisch das Aufnahmedatum im Namen. Alternativ kann man auch den Wunschnamen für das Bild angeben. 

		Auch das Bildbearbeitungsprogramm \enquote{gimp} bietet entsprechende Möglichkeiten, um Bildschirmphotos zu erstellen. Dort kann es anschließend direkt bearbeitet werden.

\section{Die Verzeichnisstruktur}
	Die Verzeichnisstruktur auf einem \RasPi mit Raspian entspricht der Standardstruktur fast aller Linux Systeme. In ihnen wird alles unterhalb des Hauptzweiges, der mit einem einfachen \lstinline|/| angegeben wird, angeordnet. Es gibt also, im Gegensatz zum Windowssystem keine Verzeichnisbuchstaben. Werden weitere Datenträger dem System hinzugefügt, sind sie entweder unter \lstinline|/mnt/| oder \lstinline|/media/| zu finden. 

	In dieser Verzeichnisstruktur gibt es einige wichtige Verzeichnisse direkt auf Hauptebene. Sie erfüllen dabei bestimmte Aufgaben bzw. haben bestimmte Zuordnungen:
	\begin{description}
		\lstitem{/etc} In diesem Verzeichnis sind alle für das System relevanten Einstellungen bzw. Konfigurationsdateien zu finden.
		\lstitem{/boot} Dieses Verzeichnis enthält alle nötigen Elemente zum Hochfahren des Systems
		\lstitem{/home} In der Regel erhält jeder Benutzer ein eigenes Verzeichnis, sein \enquote{home}. Alle diese Verzeichnisse sind hier zu finden
		\lstitem{/root} Die obere Regel hat auch eine Ausnahme: Das Homeverzeichnis des Administrativen Benutzers, dem \enquote{root} liegt direkt in der untersten Ebene.
		\lstitem{/bin} Hierin findet sich eine Vielzahl von Programmen, die z.\,B. in der Shell direkt aufgerufen werden können.
		\lstitem{/dev} Über dieses Verzeichnis sind alle Geräte und Elemente des Systems zu finden, wie z.\.B. die SD-Karte oder der Arbeitsspeicher.
	\end{description}

	\subsection{Dateinamen}\label{sec:dateinamen}
		Die Namen der Dateien sind auf einem Linuxsystem ähnlich aufgebaut, wie bei anderen Systemen auch. Es ist aber dabei zu beachten, dass der Groß- und Kleinschreibung eine wichtige Bedeutung zukommt. So sind kann es die Dateien \enquote{beispiel.txt} und \enquote{Beispiel.txt} in einem Verzeichnis geben. Bei Windowssystemen wäre dieses nicht möglich. Entsprechend sollte man dieses bei der Wahl eines Dateinamens beachten.

		Bei der Wahl eines Dateinamens sind aber noch andere Dinge zu beachten. Dieses gilt besonders dann, wenn man die Dateien in Skripten einsetzt oder auf ein anderes System transferieren möchte. Daher sollte auf Umlaute wie ä, ö oder ü verzichtet werden. Stattdessen bietet sich die ae, oe oder ue Schreibweise an. Auch Leerzeichen sollten in den Namen von Dateien nicht auftauchen. Besser ist hier die Verwendung eines Unterstrichs oder der Schreibweise namens \enquote{CamelCase} oder im Deutschen \enquote{Binnenmajuskel}. Dabei wird der Dateiname, wenn er aus mehreren Wörtern besteht, zusammengeschrieben und jedes neue Wort mit einem großen Buchstaben begonnen. So ergeben sich wie bei einem Kamel mit seinen Höckern entsprechende Erhebungen. Ein Beispiel wäre \enquote{AnleitungZumRaspberryPi.txt}.

\chapter{Python Programmierung}
	Auf dem \RasPi können Programme ausgeführt werden, die mit verschiedenen Programmiersprachen erstellt wurden. Es bietet sich aber an Python zu nutzen, da es für diese Sprache alle nötigen Bibliotheken gibt, um die verschiedenen Hardwareelemente des \RasPi anzusteuern. Da beim Wechsel von der Version 2.7 auf 3.0 bei Python einige vordefinierte Methoden umbenannt und Dopplungen entfernt wurden, sind einige Programme, die für 2.x geschrieben wurden, nicht mehr lauffähig. Deshalb wird vorerst die Version 2.7 auch weiter gepflegt. Als Neueinsteiger sollte man deshalb auch mit Python 3 arbeiten.

	\section{Grundlagen in Python}
		Um die Grundlagen der Programmiersprache Python zu erlernen gibt es verschiedene Bücher, Kurse und Unterrichtsreihen. An dieser Stelle geht die Empfehlung an ein Onlineangebot der Universität Waterloo, um dessen deutsche Fassung sich die Bundesweite Informatikwettbewerbe (BWINF) gekümmert hat\cite[]{BWINF2015}. Dieses Angebot ist unter der Adresse \url{http://bit.ly/bwinf-kurs} zu erreichen.

		Dieses Angebot des BWINF setzt komplett auf Python 3 und bietet auch die Möglichkeit, nach einer Registrierung, Fragen zu den Aufgaben zu stellen. Bei den Aufgaben gibt es aber auch verschiedene Hilfen und eine automatische Überprüfung, ob das Programm die geforderte Aufgabe erfüllt.

	\section{Programmierumgebung auf der Raspberry Pi}
		Auf dem Raspberry Pi ist Python 2 und Python 3 in der Regel schon vorinstalliert, so dass man sofort damit arbeiten kann. Auch eine integrierte Entwicklungsumgebung (engl. Integrated Development EnvironmentIDE kurz IDE) die man über das Menü aufrufen kann, ist für beide Versionen vorhanden.
		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.5]{python_ide_aufruf}
			\caption{Starten der Python IDE}
		\end{figure}

		Die Entwicklungsumgebung startet mit der sogenannten Python-Shell (siehe Abbildung \ref{fig:python_shell}), in der man Kommandos eingeben kann, so dass sie direkt ausgeführt werden. So lassen sich schnell einzelne Elemente ausführen. 

		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.7]{python_shell}
			\caption{Ausführen in der Python-Shell\label{fig:python_shell}}
		\end{figure}

		Um kleine und größere Programme zu entwickeln reicht die Shell alleine aber nicht aus. Hier sollte der Quelltext in eine Datei geschrieben werden. Einen passenden Editor bekommt man über das Menü der Shell unter dem Punkt \enquote{File}. Dort muss man entweder eine neue Datei erstellen oder eine bestehende öffnen. Dabei sollte man die Regeln für gute Dateinamen beachten (siehe \ref{sec:dateinamen}).

		Das dort abgespeicherte Programm lässt sich dann über den Menüpunkt \enquote{Run} und \enquote{Run Module} (siehe Abbildung \ref{fig:python_start}) starten. Die Ausführung findet in der geöffneten Python-Shell statt.

		\begin{figure}[ht]
			\centering
			\includegraphics[scale=0.7]{python_start_datei}
			\caption{Starten eines Python Programms in der IDE \label{fig:python_start}}
		\end{figure}
		
		\subsection{Python in der Konsole}
			Python lässt sich aber auch ohne IDE direkt in der Konsole ausführen. Ein einfacher Aufruf von \lstinline|python3| öffnet einem die Python-Shell. Dabei ist zu beachten, dass der kürzere Aufruf \lstinline|python| die Shell der Version 2.7 öffnet.
			\begin{figure}[ht]
				\centering
				\includegraphics[width=\textwidth]{python_shell_terminal}
				\caption{Python-Shell in der Konsole}
			\end{figure}

			Hängt man dem Aufruf von Python den Namen einer Pythondatei als Parameter an, so wird diese direkt ausgeführt. Für die Bearbeitung der Datei ist hier einer der gängigen Editoren, wie z.\,B. \lstinline|vi| oder \lstinline|nano| zu nutzen.
			\begin{figure}[ht]
				\centering
				\includegraphics[scale=0.7]{python_start_datei_terminal}
				\caption{Starten eines Python Programms in der Konsole}
			\end{figure}

\chapter{Elektrische Schaltungen}
	\section{Elektrische Widerstände}
		\input{ab_05_widerstaende}

	\section{Ansteuerung des GPIO mit Python}
		\input{ab_04_gpio_python_direkt}

		\section{Passiver Infrarotsensor (PIR) als Schalter}
		\input{info_06_gpio_pir.tex}

	\section{Lichtschranke}
		\input{info_05_gpio_lichtschranke.tex}

		\section{Zweizeilendisplay}
		\input{info_01_gpio_display.tex}

	\section{Ansteuerung von Motoren}
		\input{info_02_gpio_motorsteuerung.tex}

	\section{Digitales Thermometer}
		\input{info_03_gpio_digitales_thermometer.tex}

	\section[Analog/Digital-Wandler]{Analog/Digital-Wandler (AD)}
		\input{info_07_ad_wandler.tex}

	\section{Infrarot Fernbedienung}
		\input{info_08_ir_fernbedienung.tex}

% DeviceTree: http://www.forum-raspberrypi.de/Thread-tutorial-geraetetreiber-und-device-tree-dt

% WLAN-Access-Point: https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm
% dazu den wpa_suppli... in der /etc/network/interfaces auskommentieren

\chapter{Software}
	\section{\LaTeX{} auf dem Raspberry Pi}
		\newcommand{\LaTeXOrt}{Skript}
		\input{ab_06_latex.tex}
	
	\section{Verschlüsselung mit GnuPG} \label{sec:Verschlüsselung}
		\todo[inline]{Verschlüsselung von E-Mails}
		
\begin{appendix}
\chapter{Displays}
	\section{Installation des offiziellen \RasPi Displays}
		Seit Mitte 2015 gibt es von der \RasPi Foundation ein Display, dass sich direkt an den Displayport des \RasPi anschließen lässt. Hat man eine aktuelle Version des Systems (siehe \ref{systemupdate}), wird das Display auch direkt angesteuert, so dass die Ausgabe darüber erfolgt. 

		Startet man das System mit Noobs (siehe \ref{noobs}), so wird das Display nicht angesteuert. Hier muss die weitere Installation des Systems zuerst über einen normalen Bildschirm erfolgen.

		Bei der Benutzung einiger Halterungen für das Display kommt es dazu, dass das Bild auf dem Kopf steht. Dieses ist dadurch bedingt, dass in den ersten Versionen der Software das Display entsprechend gedreht war und sich die Hersteller daran angepasst haben. Es wurde aber festgestellt, dass man so aber den falschen Blickwinkel auf das Display hatte und daher wurde die Einstellung geändert. Möchte man diese Verbesserung wieder rückgängig machen um das Gehäuse entsprechend nutzen zu können muss man \lstinline|lcd_rotate=2| in die Datei \lstinline|/boot/config.txt| einfügen (vgl. \cite{RaspberryForumDisplay2015}).

	\section{Installation des Watterott-Displays}
		Um das Display von Watterott \url{http://www.watterott.com/de/RPi-Display-B-Plus} in Betrieb nehmen zu können, muss es entweder über die Adapter oder direkt auf den GPIO aufgesetzt werden. Nach dem Starten des Systems muss ein Skript heruntergeladen werden mit:
		\begin{lstlisting}[frame=trBL,gobble=4]
			wget -N https://github.com/watterott/RPi-Display/raw/master/rpi-display.sh
		\end{lstlisting}
		Die weitere Installation erfolgt dann geführt mit dem Aufruf:
		\begin{lstlisting}[frame=trBL,gobble=4]
			sudo /bin/bash rpi-display.sh 270
		\end{lstlisting}
		Dabei werden zuerst nur die wichtigsten Komponenten für den Kernel installiert, so dass am Ende neu gestartet werden muss, damit die weiteren Funktionen überhaupt durchgeführt werden können. Nach dem Neustart muss das Skript erneut aufgerufen werden. Dabei ist zu beachten, dass man den "`Framebuffer Copy"' nicht installieren sollte, wenn man die Anzeige ausschließlich über das kleine Display haben will. Andernfalls wird dort das Bild des HDMI-Ausgangs in klein dargestellt. Sollte man dennoch in installiert und aktiviert haben, kann man dieses rückgängig machen mit dem folgenden Aufruf. Ggf. ist es dazu nötig erst mit Alt+Strg+F2 in ein anderes Fenster zu wechseln, damit man sich anmelden kann.
		\begin{lstlisting}[frame=trBL,gobble=4]
			sudo update-rc.d fbcp remove
		\end{lstlisting}

		Durch den Aufruf des Skripts kann man auch die Einstellungen ändern, so dass man die Konsole wieder über den HDMI-Ausgang angezeigt bekommt.

\chapter{Windows}
	\section{Lesen und beschreiben der SD-Karte}
	Die SD-Karte mit Raspbian besitzt zwei verschiedene Partitionen, die Boot- und die Systempartition. Während die Bootpartition unter Windows direkt lesbar ist, kommt man an die Daten auf der SD-Karte nicht so einfach dran. Die Systempartition ist im ext4-Format angelegt, dass Windows nicht von Hause aus lesen kann. Es wird dazu ein passender Treiber benötigt. Einen solchen stellt z.\,B. die Firma Paragon bereit, der über ihrer Homepage unter \url{https://www.paragon-software.com/de/home/extfs-windows-pro/index.html} verfügbar ist.
		
\end{appendix}
	
\bibliography{../../zusatz/projekt}
\nocite{WikipediaRaspberryPi}
\nocite{Pieper2014}
\nocite{BWINF2015}
\nocite{Netzmafia2015}

\listoftodos
\todototoc

\end{document}
