Avnav Installation

AvNav Installation

Image ohne Bildschirm (Headless)

Diese Images werden von BlackSea gepflegt (vielen Dank...). Eine Beschreibung findet sich in auf seiner Seite.

Für diese Variante einfach unter Windows/Linux/OSx das image von free-x herunterladen und wie unter http://www.raspberrypi.org/downloads (raw images) beschrieben auf eine SD Karte spielen. Danach kann  man sich einmal auf dem pi einloggen und ggf. ein paar Anpassungen vornehmen. Am einfachsten geht das, wenn man den pi im LAN anschließt und einen router/dhcp-server (z.B. Fritz Box) aktiv hat. Dann holt er sich per DHCP eine IP Adresse. Diese kann man auf dem Router sehen bzw. unter Linux z.B. per ping -b <brodcast-address> herausfinden. Alternativ kann man auch Tastatur + Bildschirm an den Pi direkt anschliessen.

Die Paßworte sind auf Standardwerte gesetzt – also login pi, Paßwort raspberry. Per sudo -i wechselt man in eine root shell. Man sollte  das Paßwort für den user pi ändern (passwd). 

Das Image setzt einen WLAN-accesspoint mit dem internen WLAN des raspberry auf (SSID: avnav).

Das WLAN hat den Adressbereich 192.168.20.0/24. Der pi selbst ist auf 192.168.20.10 erreichbar (ggf. als url im Browser benutzen, wenn die Namensauflösung nicht funktioniert). Auf dem pi läuft ein DHCP server und ein DNS server (dnsmasqd). Die Konfiguration kann angepasst werden in /etc/dnsmasqd.conf. Wenn der pi im LAN angeschlossen ist, versucht er per DHCP eine Adresse zu bekommen, das WLAN wird per NAT an das LAN interface weitergereicht (damit kann man den pi ins Internet bringen - z.B. zum Installieren von Software- und auch per Wlan verbundene Geräte haben dann Internet-Zugriff).
Wenn weitere WLAN sticks gesteckt werden, werden weitere access Points aufgemacht.

Ausnahme: WLAN-Stick wie im Bild - dieser wird zur Verbindung mit einem externen WLAN genutzt. Beim Raspberry 4 ist es der blaue Anschluss auf der Platinen-Seite. Intern heißt das interface dann wlan-av1.

Port 80 ist direkt zum Web server von avnav weitergeleitet (dieser lauscht auf port 8080).
Wenn alles richtig aufgesetzt ist, sollte sich unter der url http://avnav.avnav.de die Einstiegsseite der WebApp öffnen.
Avnav meldet sich per Bonjour - mit einer entsprechenden App (Android, IOS) kann man sehr einfach den Server erreichen, ohne eine Adresse eintippen zu müssen.


In der App gibt es eine Seite, um sich mit einem WLAN zu verbinden (Status-Seite->WLAN) - siehe Beschreibung der App.
Die Verbindung zu einem externen WLAN wird an die angeschlossenen Geräte "durchgereicht".
Mit den Kommandos
sudo systemctl status avnav sudo systemctl start avnav sudo systemctl stop avnav

kann man den Status des servers prüfen, starten und stoppen.

Image mit Bildschirm

Falls man direkt einen Bildschirm an den Pi anschliessen möchte, ist dieses Image das Richtige.
Für 
diese Variante hat Holger (pandel) dankenswerterweise eine eigene Image Linie aufgesetzt. Die tollen Beschreibungen dazu findet man auf seiner AvNav-Touch Seite. Herunterladen kann man die Images von der download Seite.
Natürlich kann man auch hier weitere externe (Display-)Geräte nutzen.

Paket Installation

Dank Holger gibt es jetzt fertige Paket-Repositories, die man in sein debian einbinden kann. Das geht auf dem raspberry pi - aber auch auf jeder anderen Debian Variante (z.B. Ubuntu).
Informationen dazu findet man wieder in seiner Beschreibung.
Für die Installation auf einem anderen raspberry System (nicht avnav-touch) ändert man Schritt 5 der Beschreibung ab zu:
sudo apt-get install avnav avnav-raspi
Der raspberry startet danach avnav automatisch mit dem Nutzer pi.

Für ein anderes debian ändert man Schritt 5 zu:
sudo apt-get install avnav
Danach kann man als jeder Nutzer mit dem Kommando
avnav
den Server starten.
Mit
sudo systemctl enable avnav sudo systemctl start avnav
kann man avnav mit dem Benutzer avnav automatisch beim Systemstart aktivieren.
Alternativ kann man auch die debian Pakete direkt von der download Seite herunterladen:
Nach dem Herunterladen kann man die Pakete mit
sudo dpkg -i avnav_xxxxxxxx_all,deb sudo dpkg -i avnav-raspi_xxxxxxxx_all.deb sudo apt-get -f
installieren (dabei das -raspi... Paket nur auf einem raspberry). Die ersten Kommandos werden typischerweise Fehler erzeugen, das letzte lädt dann die fehlenden Abhängigkeiten.
Wenn man auf einem Raspberry installiert, sollte man das avnav-raspi Paket nur dann installieren, wenn man damit einverstanden ist, das die Netzwerk-Konfiguration so geändert wird, wie AvNav das möchte. Sonst sollte man nur das avnav Paket installieren.
Man kann dann als Nutzer pi avnav einfach von der Kommandozeile starten lassen.
Wenn man es als systemd service laufen lassen möchte, sollte man das Verzeichnis:
/usr/lib/systemd/system/avnav.service.d
anlegen und dort die Datei raspberry.conf hineinkopieren.
Die Zeile 5 in der Datei muss dann noch etwas abgeändert werden, da das dort angegebene Template für die avnav_server.xml nicht existiert.
Also ändern in
ExecStart=/usr/bin/avnav -q -b /home/pi/avnav/data -t /usr/lib/avnav/avnav_template.xml
Danach kann man mit den Kommandos
sudo systemctl daemon-reload
sudo systemctl enable avnav
sudo systemctl start avnv

Avnav als systemdienst starten. Wenn man diese Datei nicht anlegt/kopiert wird avnav nicht mit den Nutzer pi sondern mit dem Nutzer avnav arbeiten.

Wenn man auch die Karten-Konvertierung auf dem Linux Rechner mit einer kleinen GUI machen möchte, muss man zusätz das Paket python-wxgtk3.0 installiert werden. Dann muss man avnav mit

avnav -g
starten.

Windows

Für Windows gibt es einen Installer. Dieser wird nicht bei jeder Release neu ausgeliefert. Die aktuelle Version findet man hier.
Es empfiehlt sicht, den AvNavNetSetup-jjjj-mm-dd-0.exe installer zu verwenden, da dieser die eigentliche Software nachlädt und somit eine Möglichkeit bietet, jeweils die neueste AvNav Version zu installieren (ohne den Installer selbst neu herunterladen zu müssen).
Die Windows Version ist primär auf die Karten-Konvertierung ausgelegt, bietet aber die volle Funktionalität und kann somit auch zur Navigation unter Windows verwendet werden. Wie immer lassen sich weitere Geräte ankoppeln.