\section{Netzwerkkonfiguration des Raspberry Pi} Die Netzwerkkonfiguration des Projektes birgt zwei Herausforderungen: \begin{enumerate} \item Erreichbarkeit der gewonnenen Daten, beziehungsweise Steuerung der Aktoren über das Hochschulnetzwerk \item Kommunikation der selbstgebauten Sensoren mit der Gateway über WLAN \end{enumerate} Die Erreichbarkeit der Daten wird sichergestellt, indem der Raspberry Pi dauerhaft über LAN an das Hochschulnetz angeschlossen ist. Zudem benötigt er eine bekannte statische IP-Adresse um auf die Daten zugreifen zu können. Die statische IP-Adresse wird eingestellt, indem die Datei \inline{/etc/dhcpcd.conf} folgender Abschnitt für den LAN-Adapter eingefügt wird: \label{staticIP} \lstinputlisting[firstline=1, lastline=16]{code/dhcpcd.tex} Um die später beschriebenen selbstgebauten Sensoren über WLAN mit dem Gateway kommunizieren zu lassen, wurde zunächst versucht, das Hochschulnetzwerk \textit{Eduroam} zu werenden. Da dieses jedoch die Sicherheitskonfiguration WPA2 Enterprise nutzt und dieses auf dem benutzten Mikrocontroller \textit{ESP8266} nicht unterstützt wird, muss ein alternatives WLAN-Netzwerk genutzt werden. Als Lösung wurde die Funktionalität des Raspberry Pis genutzt, als WLAN-Accesspoint zu dienen. Der Raspberry Pi, der per LAN mit dem Hochschulnetzwerk verbunden ist, spannt somit ein unabhängiges, lokales WLAN-Netzwerk auf, welches die WPA2-PSK Verschlüsselung benutzt, die auch von dem ESP8266 unterstützt wird. \subsection{Raspberry Pi als Accesspoint} Realisiert wird der Accesspiont durch das Softwarepaket \textit{hostapd}, welches durch folgendes Kommando installiert wird: \begin{lstlisting}[language=bash] sudo apt install hostapd \end{lstlisting} Danach wird hostapd für die Konfigurationsphase deaktiviert: \begin{lstlisting} sudo systemctl stop hostapd \end{lstlisting} \subsection{Raspberry Pi als Server} Da das Netzwerk als Server agieren soll, wird dem Raspberry Pi eine statische IP-Adresse zugewiesen. Dazu wird in der Datei \inline{/etc/dhcpcd.conf} der WLAN-Adapter \inline{wlan0} folgendermaßen konfiguriert: \lstinputlisting[firstline=18, lastline=29]{code/dhcpcd.tex} Um die Änderungen zu übernehmen wird der dhcp daemon neu gestartet: \begin{lstlisting} sudo service dhcpcd restart \end{lstlisting} \subsection{DHCP Server Konfigurieren} Damit die Verbindung des ESP8266 mit dem Raspberry Pi unkompliziert abläuft wird ein DHCP Server eingerichtet. Dazu wird folgende Konfiguration in die Datei \inline{/etc/dnsmasq.conf} geschrieben: \begin{lstlisting} interface=wlan0 dhcp-range=192.168.252.2,192.168.252.20,255.255.255.0,24h \end{lstlisting} Somit werden IP-Adressen für die Microkontroller automatisch vergeben.\\ Anschließend startet man den DHCP Server erneut: \inline{sudo systemctl reload dnsmasq}. \subsection{Accesspoint Konfigurieren} Zur Konfiguraiton des Accesspoints wird die Datei \inline{/etc/hostapd/hostapd.conf} beschrieben.\\ Wichtig dabei ist eine geeignete SSID und ein geeignetes Passwort für das Netzwerk. \lstinputlisting{code/hostapd.tex} Erkennbar ist die SSID \inline{smartroom} und das Passwort \inline{smarthome}. Anschließend muss der Accesspoint Software noch die Konfigurationsdatei in der Datei\\ \inline{/etc/default/hostapd} bekannt gemacht werden: \begin{lstlisting} DAEMON_CONF="/etc/hostapd/hostapd.conf" \end{lstlisting} \subsection{Starten des Accesspoints} Nun muss nur der Accesspoint gestartet werden und die Netzwerkkonfiguration ist abgeschlossen. \begin{lstlisting} sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo systemctl start hostapd \end{lstlisting}