===== WIFI-Setup ===== Mit neueren Betriebssystemen beim Raspberry Pi geht das einrichten jeweils anders. Entweder es ist in der Datei /etc/wpa_supplicant/wpa_supplicant.conf vorhanden, oder es geht mittels NetworkManager. nmcli device wifi list # Zeigt verfügbare Netzwerke nmcli connection show # Zeigt gespeicherte Verbindungen nmcli connection show # Details zu einer bestimmten Verbindung Verbindungen stehen in /etc/NetworkManager/system-connections/ Eine neue Verbindung einrichten: sudo nmcli connection add type wifi ifname wlan0 con-name "TheArkMobil" ssid "TheArkMobil" sudo nmcli connection modify "TheArkMobil" wifi-sec.key-mgmt wpa-psk sudo nmcli connection modify "TheArkMobil" wifi-sec.psk "geheim1234" sudo nmcli connection modify "TheArkMobil" connection.autoconnect no # sudo nmcli connection up "TheArkMobil" Jetzt ist der Rechner mit dem Hotspot verbunden. Aber über welche IP kann ich ihn nun erreichen? Das ist nicht so einfach. Fing hat mir nicht geholfen, da es zwar meine WLAN-Adressen ausgibt, aber nicht die mit dem Hotspot verbundenen Geräte und die dazugehörige IP. In den Einstellungen habe ich nur den Hostnamen und die MAC-Adresse gefunden. Eine Lösung ist, bei Verbindungswechsel einen URL-Aufruf zu meinem Rechner zu machen, der dann die IP in eine Datei schreibt. nano /home/pi/post_ip.sh #!/bin/bash # Aktuelle IP-Adresse abrufen IP=$(hostname -I | awk '{print $1}') # URL, an die die IP-Adresse gesendet werden soll (z. B. eine Web-API) WEBHOOK_URL="https://varlet.*.*/ip_report.php" # IP per curl an den Webserver senden curl -X POST -d "ip=$IP" $WEBHOOK_URL chmod +x /home/pi/post_ip.sh sudo nano /etc/NetworkManager/dispatcher.d/99-post-ip #!/bin/bash IFACE=$1 STATUS=$2 # Nur ausführen, wenn WLAN aktiv wurde if [[ "$IFACE" == "wlan0" && "$STATUS" == "up" ]]; then sleep 5 # etwas warten, damit DHCP abgeschlossen ist /home/pi/post_ip.sh fi sudo chmod +x /etc/NetworkManager/dispatcher.d/99-post-ip Beispiel in der Datei: 192.168.237.34. Der Aufruf mit "http://192.168.237.34/" ging dann vom Smartphone. Zusatzinfo zum Webserver. Nachdem es ein Webserver mit homebrew ist, findet man die Logfiles wie folgt ps -ef |grep httpd /usr/local/opt/httpd/bin/httpd -V -D DEFAULT_ERRORLOG="logs/error_log" -D SERVER_CONFIG_FILE="/usr/local/etc/httpd/httpd.conf" ServerRoot "/usr/local/opt/httpd" ErrorLog "/usr/local/var/log/httpd/error_log" Am Server: sudo nano /Library/WebServer/Documents/ip_report.php