Smart-Home am Beispiel der Präsenzerkennung im Raum Projektarbeit Lennart Heimbs, Johannes Krug, Sebastian Dohle und Kevin Holzschuh bei Prof. Oliver Hofmann SS2019
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3_network.tex 3.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. \section{Netzwerkkonfiguration des Raspberry Pi}
  2. Die Netzwerkkonfiguration des Projektes birgt zwei Herausforderungen:
  3. \begin{enumerate}
  4. \item Erreichbarkeit der gewonnenen Daten, beziehungsweise Steuerung der Aktoren über das Hochschulnetzwerk
  5. \item Kommunikation der selbstgebauten Sensoren mit der Gateway über WLAN
  6. \end{enumerate}
  7. 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.
  8. Die statische IP-Adresse wird eingestellt, indem die Datei \inline{/etc/dhcpcd.conf} folgender Abschnitt für den LAN-Adapter eingefügt wird:
  9. \label{staticIP}
  10. \lstinputlisting[firstline=1, lastline=16]{code/dhcpcd.tex}
  11. 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.
  12. 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.
  13. Als Lösung wurde die Funktionalität des Raspberry Pis genutzt, als WLAN-Accesspoint zu dienen.
  14. 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.
  15. \subsection{Raspberry Pi als Accesspoint}
  16. Realisiert wird der Accesspiont durch das Softwarepaket \textit{hostapd}, welches durch folgendes Kommando installiert wird:
  17. \begin{lstlisting}[language=bash]
  18. sudo apt install hostapd
  19. \end{lstlisting}
  20. Danach wird hostapd für die Konfigurationsphase deaktiviert:
  21. \begin{lstlisting}
  22. sudo systemctl stop hostapd
  23. \end{lstlisting}
  24. \subsection{Raspberry Pi als Server}
  25. 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:
  26. \lstinputlisting[firstline=18, lastline=29]{code/dhcpcd.tex}
  27. Um die Änderungen zu übernehmen wird der dhcp daemon neu gestartet:
  28. \begin{lstlisting}
  29. sudo service dhcpcd restart
  30. \end{lstlisting}
  31. \subsection{DHCP Server Konfigurieren}
  32. Damit die Verbindung des ESP8266 mit dem Raspberry Pi unkompliziert abläuft wird ein DHCP Server eingerichtet.
  33. Dazu wird folgende Konfiguration in die Datei \inline{/etc/dnsmasq.conf} geschrieben:
  34. \begin{lstlisting}
  35. interface=wlan0
  36. dhcp-range=192.168.252.2,192.168.252.20,255.255.255.0,24h
  37. \end{lstlisting}
  38. Somit werden IP-Adressen für die Microkontroller automatisch vergeben.\\
  39. Anschließend startet man den DHCP Server erneut: \inline{sudo systemctl reload dnsmasq}.
  40. \subsection{Accesspoint Konfigurieren}
  41. Zur Konfiguraiton des Accesspoints wird die Datei \inline{/etc/hostapd/hostapd.conf} beschrieben.\\
  42. Wichtig dabei ist eine geeignete SSID und ein geeignetes Passwort für das Netzwerk.
  43. \lstinputlisting{code/hostapd.tex}
  44. Erkennbar ist die SSID \inline{smartroom} und das Passwort \inline{smarthome}.
  45. Anschließend muss der Accesspoint Software noch die Konfigurationsdatei in der Datei\\
  46. \inline{/etc/default/hostapd} bekannt gemacht werden:
  47. \begin{lstlisting}
  48. DAEMON_CONF="/etc/hostapd/hostapd.conf"
  49. \end{lstlisting}
  50. \subsection{Starten des Accesspoints}
  51. Nun muss nur der Accesspoint gestartet werden und die Netzwerkkonfiguration ist abgeschlossen.
  52. \begin{lstlisting}
  53. sudo systemctl unmask hostapd
  54. sudo systemctl enable hostapd
  55. sudo systemctl start hostapd
  56. \end{lstlisting}