Für eine Demo hier klicken

AvNav Beschreibung

AvNav - Navigation per WebApp

Stand 2017/02/28

Ein Hinweis vorweg:

Ich kann keine Garantie für die Funktion der App übernehmen, insbesondere die Nutzung zu Navigationszwecken geschieht auf eigenes Risiko. In jedem Falle empfehle ich einen intensiven Test der Genauigkeit der Darstellung und des verwendeten Kartenmaterials.

Die wesentlichen Fähigkeiten:

  • Darstellung der Kartendaten (blattschnittfrei je Satz), mit den enstprechenden Funktionen (Zoom, move,...)
  • Dartstellung der aktuellen Schiffsposition mit Kurs, Geschwindigkeit (mit Lock der Karte auf Schiffsposition)
  • Darstellung des aktuellen Tracks (der Track wird auch in einer gpx Datei gespeichert)
  • Setzen eines Wegepunktes, Anzeige von Richtung,Entfernung,ETA
  • AIS Anzeige mit Darstellung in der Karte, AIS Target am nächsten zum Schiff, Warnung bei CPA < 500m, CPA,TCPA, AIS Infos
  • Erzeugen von Routen (mit Editiermöglichkeit zu jedem Zeitpunkt), Speichern/Laden/ImportExport von Routen im gpx Format
  • Automatisches Target Handling in der Route inklusive Autopilot-Steuerung
  • Upload/download von Karten zum Raspberry
  • Mehrere Displays an einem Server (connected/dicsonnected mode)
  • Nachtmodus
  • GPS Display (Anzeige ohne Karte)

Im Folgenden beschreibe ich kurz die Bedienung der aktuellen Version, danach einige technische Details.

Die Bedienung

Nach dem Aufruf der Start-Url landet man auf der Einstigesseite.

Im Hauptbereich der Seite befindet sich die Liste der vom Server gefundenen Kartensätze (beim Raspi-Server gemf files unter /data/avnav/charts, in der Android App unter charts im gewählten Verzeichnis). Durch Anklicken gelang man zur Navigationsseite mit dem enstprechenden Kartensatz.

Wie auf allen Seiten befindet sich am rechten Rand eine Button-Leiste. Von hier aus erreich man eine Status-Seite des Servers, Einstellungen, Downloads, das GPS Display und eine Info Seite. Ausserdem kann hier der Nachtmodus aktiviert werden.

Die Navigationsseite


Dieses Bild zeigt einen gesetzten Marker (locked) – das Boot ist auf Kurs.

Buttons
  • Zoom In
  • Zoom Out
  • "Lock" - fixiere Kartenmitte auf Boot
  • Navigation an/aus
  • Nord oben/Kurs oben
  • Routen-Editor
  • Zurück zur Hauptseite









Dies ist die Hauptansicht. In der Mitte befindet sich die Kartenansicht mit der Schiffsposition (roter Pfeil). Die gelben und grünen Dreiecke mit Pfeilspitzen sind empfangene AIS Ziele in der Nähe (10nm) mit ihrem aktuellen Kurs sowie Name oder MMSI. Die organgefarbene Linie zeigt zum aktiven Wegepunkt. Die gepunktete Linie zeigt den Kurs vom Start der Navigation zum Wegepunkt (Sollkurs). Die Karte kann mit den normalen Gesten verschoben oder gezoomt werden, zum zoomen können auch die Buttons +/- auf der rechten Leiste benutzt werden.Wenn (wie im Bild) der Schiff-Button einen grünen Rand hat ("Schiff lock"), ist die Karten-Mitte auf die Schiffsposition fixiert und springt immer wieder dahin zurück.

Um das Schiff kann man bis zu 3 Kreise in entsprechenden Entfernungen einstellen um Abstände zu schätzen (Über settings->Navigation Display, Standard 300m und 1000m).

Links befinden sich (von oben nach unten):

  • Die aktuelle Zoom-Stufe der Karte (wenn auto zoom aktive ist in Klammern die gewünschte)
  • Das nächste AIS Ziel (ggf. rot bei Warnung) oder das ausgewählte AIS Ziel (gelb)
  • Die aktuelle Uhrzeit

Die Darstellung des nächsten AIS Zieles (geringste momentane Entfernung) färbt sich rot, wenn eine CPA von 500m unterschritten wird. Gelb bedeuted, dass nicht das nächste Ziel sondern ein separat ausgewähltes Ziel (siehe unten AIS) angezeigt wird. Ein Klick auf diese Fläche oder ein AIS Ziel auf der Karte führt auf die AIS Info Seite .

Im unteren Bereich der Navigationsseite befindet sich die Anzeige der wichtigsten Navigationsdaten ("Widgets"). Links die Daten des aktuellen Wegepunktes (Marker):

  • Position

  • ETA

  • Kurs

  • Distanz (nm)

Danach folgen die Schiffsdaten:

  • Kurs

  • Geschwindigkeit (kn)

  • Position

  • aktuelle (lokale) Zeit vom GPS

  • GPS Indikator: grün – GPS Daten vorhanden, rot: keine Daten

Je nach Breite des Bildschirms und den Einstellungen für die Schriftgröße der "Widgets" werden bis zu 2 Reihen an Daten angezeigt (unter Settings einstellbar). Daten, die nicht mehr auf den Bildschirm passen, werden unterdrückt.

Für die Schiffsposition, Kurs und Geschwindigkeit kann eine Mittelwertbildung eingestellt werden (Settings->Navigation). Wenn diese eingestellt ist, sind die Bezeichner rot.

Ein Klick auf die linke Seite (Wegepunkt) zentriert auf den Wegepunkt und zeigt einige zusätzliche Wegepunkt-Buttons.

Ein Klick auf die rechte Seite der Leiste führt zur GPS-Datenanzeige.

Eine typische Bedienfolge:

Waypoint setzen (simples Wegepunkt-Routing):

unlock Boot->unlock Marker->Karte verschieben bis Marker auf gewünschter Pos (Zoom nutzen)->lock Marker->lock Boot

Wenn man einen Wegepunkt aktiv hat (Marker Button grün) und die Karte nicht auf das Schiff "gelockt" ist (Schiffsbutton nicht grün), wird beim Bewegen der Karte ein Kreuz im Zentrum gezeigt und links erscheint eine Anzeig des aktuellen Abstandes vom Marker bzw. Schiff zum Kartenmittelpunkt. Damit kann man einfache Peilungen machen - Mittelpunkt auf Peilziel verschieben und Peilung ablesen.

Die Anzeige verschwindet nach 45s automatisch, wenn die Karte nicht bewegt wird, alternativ durch Klick auf die Daten.


Die Routingseite

Buttons
  • Zoom In
  • Zoom Out
  • Neuen Punkt einfügen
  • Markierten Punkt löschen
  • Markierten Punkt auf Kartenmitte
  • Starte Route ab dem markierten Punkt
  • Invertiere die Route
  • Zurück zur Navigationsseite









Auf der Routing Seite kann man eine Route bearbeiten bzw. editieren. Aufgerufen wird sie durch den Route Editor Button.

Zu jeder Zeit gibt es einen aktiven Wegepunkt (rot dargestellt, links in der Anzeige grau unterlegt. Die meisten Aktionen bezihen sich auf diesen Wegepunkt. Er kann durch Anklicken links oder durch anklicken auf der Karte geändert werden.

Wenn man die momentan aktive Route bearbeitet, wird das durch einen roten Rahmen links um die Routen-Info angezeigt. Falls eine andere Route bearbeitet wird, ist dieser grün.

Wenn man den Editor verlässt, geht die Anzeige zur aktiven Route zurück.

Auf der linken Seite werden die Wegepunkte der aktuellen Route angezeigt. Dazu jeweils die Kurse und Distanzen für die Abschnitte. Im oberen Teil die Gesamtlänge der Route sowie die Gesamtstrecke sowie die ETA. Durch Anklicken kann man einen Wegepunkt aktivieren.

Durch nochmaligen Klick auf einen links bereits markierten Punkt wird eine Eingabemaske aufgerufen, in der man den Wegepunkt bearbeiten kann.

Ein Klick auf das Route Info Feld (links oben) führt zur Routen-Seite. Hier kann man den Namen der Route ändern oder alle Wegepunkte löschen.

Buttons
  • Änderungen übernehmen
  • Starte Navigation zum ausgewählten Punkt
  • Route invertieren
  • Alle Punkte löschen
  • Route hochladen oder herunterladen
  • Zurück (Änderungen verwerfen!)









Hier kann man alle Punkte bearbeiten oder den Namen der Route ändern (klick auf den Namen).

Über den Hochladen/Herunterladen Button kommt man zur "Download" Seite.

Hier kann man Routen löschen, herunterladen, Routen vom Tablet auf den Raspberry laden oder eine Route unter einem neuen Namen speichern. Routen mit dem Stecker-Symbol sind auf dem Raspberry vorhanden (und können nur geändert werden, wenn man im connected mode ist).

route download
Buttons
  • Hochladen
  • Zurück











Bei den angezeigten Routen gibt es jeweils einen Button zum Herunterladen und zum Löschen.

Navigations Seite (Route)

Wenn eine Route aktiv ist, ändert sich das Navigationsdisplay und enthält die noch zurückzulegende Strecke sowie die ETA (links ).

Der nächste Wegepunkt der Route wird der aktive.

In diesem Modus erfolgt eine automatische Weiterschaltung zum nächsten Wegepunkt, wenn die folgenden Bedingungen erfüllt sind:

  • Das Boot befindet sich im "Fangbereich" (default 200m - settings->route->approach)
  • Die Entfernung zum Wegepunkt wird größer
Die Anzeige der Routen-Parameter wird rot und zeigt den Kurs zum nächsten WP an, wenn das Boot im "Fangbereich" ist:

Falls keine automatische Weiterschaltung erfolgt (z.B. weil man nicht dicht genug am WP ist), kann man auf den Wegepunkt klicken und mit den dann sichtbaren Wegepunkt Buttons weiterschalten.Danach ggf. Boot wieder locken.

Die AIS Info Seite

ais info
Buttons
  • Zeige wieder nächstes Ziel
  • Zentriere Karte auf dieses Ziel
  • Liste aller AIS Ziele
  • Zurück









Die AIS Übersicht

Mit einem Klick auf die AIS Info (oder auf ein AIS Target in der Karte) gelangt man zur AIS Übersicht:


Auf dieser Seite sieht man alle empfangenen AIS Ziele im Umkreis von ca. 10nm zur Bootsposition (sortiert nach CPA). Mit Klick auf eine Zeile springt man zurück zur Karten-Anzeige mit dem gewählten AIS Ziel im Zentrum. Das gewählte Ziel erscheint auch im AIS Info Fenster (dieses färbt sich gelb). Ein Klick auf den grünen Pfeil schaltet wieder in den „Normalmodus“ - d.h. Anzeige des nächsten AIS Zieles.

Mit dem zurück Button geht es unverändert zur Karten-Anzeige zurück.

Die GPS Seite

Über den Button (000) auf der Start-Seite oder einen Klick auf die Position (rechts unten) auf der Navi-Seite gelangt man zu einer Anzeige der GPS-Daten ohne Karte.



Ein Klick auf die Anzeige des nächsten AIS-Zieles (rechts unten) führt zur AIS-Seite, ein Klick auf jede andere Stelle oder den Cancel-Button zurück zur Seite von der man kam.

Die Settings Seite


Über den Button von der Startseite erreicht man die Einstellungs-Seite. Hier können verschiedene Parameter der Applikation eingestellt werden. Diese werden im Browser gespeichert, beziehen sich also auf das jeweilige Gerät.
Allgemein führt ein Klick auf zum Rücksetzen auf Standard-Werte (einzelne Einstellung oder alle), Cancel verläßt die Seite und verwirft alle Änderungen.


Die Status Seite

Von der Startseite kann man noch eine Status-Seite erreichen – hier werden interne Status-Infos des Servers angezeigt.
Buttons
  • Zurück
  • Android Settings (nur Android)
  • WLAN (nur Raspberry)
  • QR Codes (Android im external browser mode, raspberry)









Wichtig ist hier insbesondere der Status der „Serial reader“ - dieser zeigt, ob sie NMEA Daten empfangen.

Unter Android kann man von hier aus auch die Android Einstellungen erreichen.

Mit dem QR-Code Button kommt man zu einer Seite, auf der die Adressen des Web-Servers angezeigt werden.

qr codes
Durch scannen dieser Codes mit einem anderen Tablet kann man leicht auf den gleichen Server (raspberry) zugreifen. Typisch wird es der 2. angezeigt code sein, den man benutzen muss (der erste ist nur lokal auf dem Gerät).

Über den WLAN-Button gelangt man zur WLAN Seite (nicht auf Android).


Falls der 2. WLAN Adapter konfiguriert ist, werden verfügbare WLANs gescannt und angezeigt.
Zum Verbinden auf das gewünschte WLAN klicken.


Im moment kann nur eine Verbindung zu WPA verschlüsselten (und freien) WLANs hergestellt werden.

Die Download/Upload Seite

Von der Startseite kommt man mit dem Download Button zur Download-/Upload Seite. Auf dieser Seite kann man Tracks, Routen und Karten herunterladen oder auf den Raspberry hochladen und sie dort auch löschen.

Hochladen/Löschen funktioneren nur im connected Mode.

Der Nachtmodus

Um im Dunkeln nicht zu blenden, kann man auf einen Nachtmodus umstellen (button auf der Startseite).



Connected Mode

Der Button auf der Startseite schaltet den connected mode. Wenn er aktiv ist (default) wird das Setzen eines Wegepunktes oder das Aktivieren einer Route zum Server übertragen, so dass das auf allen angeschlossenen Geräten aktiv wird.
Wenn vom non-connected zum connected mode gewechselt wird, werden die Daten vom Server übernommen (Wegepunkt und Route).


Lizenzen und verwendete Libraries

Diese Software: MIT Licence

The MIT License (MIT)

Copyright (c) 2013-2017 Andreas Vogel http://www.wellenvogel.de

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Es werden eine ganze Reihe von OpenSource Libraries verwendet - diese sind im Detail auf der Info Seite in der App aufgeführt.



Technische Infos

Die WebApp besteht aus einem HTML Gerüst (avnav_viewer.html) sowie den eingebundenen JavaScript Bibliotheken und einem JavaScript Anteil (avnav_min.js). Die Darstellung ist weitgehend von der eigentlichen Funktion entkoppelt und wird per css (unter Nutzung von less) gesteuert. Man kann die Darstellung in der HTMl Datei und in avnav_viewer.less weitgehend anpassen.

Die Kommunikation erfolgt durch einfache GET/POST requests zur url http://avnav/viewer/avnav_navi.php, dann folgen Parameter, die den request beschreiben. Die Antworten vom server sind json kodiert.

Die wichtigsten requests sind:

  • gps: Abfrage der Positionsdaten

  • ais: Abfrage der AIS Daten

  • track: Abfrage des aktuellen Tracks

Diese Requests werden periodisch wiederholt (polling).