88 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Multifunktionsdisplay (MFD) virtuell: OBP60v
 | 
						|
 | 
						|
Hinweis: Dieses Programm dient in erster Linie dazu die GUI der "echten"
 | 
						|
OBP60-Hardware zu designen. Eine eigenständige Nutzung ist selbstverständlich
 | 
						|
"auf eigene Gefahr" hin möglich.
 | 
						|
 | 
						|
Für Informationen zum OBP60 in Hardware siehe:
 | 
						|
  - https://open-boat-projects.org/de/diy-multifunktionsdisplay-obp-60/
 | 
						|
  - https://obp60-v2-docu.readthedocs.io/de/latest/
 | 
						|
 | 
						|
Fehlermeldungen und Patches gerne an thomas@hoogi.de senden.
 | 
						|
 | 
						|
Basishardware
 | 
						|
- Raspberry Pi 4 / 4GB
 | 
						|
 | 
						|
Zusatzhardware:
 | 
						|
- NMEA2000 Interface
 | 
						|
  - PiCAN-M (hiermit wird entwickelt)
 | 
						|
  oder
 | 
						|
  - Waveshare RS485 CAN HAT (getestet)
 | 
						|
- BME280-Sensor über I2C
 | 
						|
- RTC mit DS3231 über I2C
 | 
						|
- GPS über USB/seriell angeschlossen
 | 
						|
 | 
						|
Zusatzsoftware:
 | 
						|
- OpenCPN
 | 
						|
 | 
						|
Abhängigkeiten
 | 
						|
- python3-can für das N2K-Interface
 | 
						|
- python3-astral für Sonnenauf- und -untergang
 | 
						|
- python3-heapdict
 | 
						|
- python3-setproctitle
 | 
						|
 | 
						|
Für GPS und/oder NMEA0183
 | 
						|
- python3-serial
 | 
						|
- python3-nmea2
 | 
						|
  Achtung: in Debian ist Version 1.15, die aktuelle Version 1.19 hat
 | 
						|
  weitere Satzarten implementiert. Allerdings ist dort auch kein AIS
 | 
						|
  vorhanden.
 | 
						|
 | 
						|
Für BME280
 | 
						|
- python3-smbus2
 | 
						|
- python3-bme280
 | 
						|
 | 
						|
Für den Tracker
 | 
						|
- python3-paho-mqtt
 | 
						|
 | 
						|
Die Konfiguration des virtuellen Geräts erfolgt über die Datei "obp60.conf".
 | 
						|
Die Einstellungen sollten vor dem ersten Start überprüft und ggf. angepaßt
 | 
						|
werden.
 | 
						|
 | 
						|
Es gibt zwei Darstellungsmodi: Standard und Vollbild
 | 
						|
Der Standardmodus sollte im Design möglichst nahme am Original OBP60 liegen.
 | 
						|
Es ist ein Fenster was immer im Vordergrund liegt, sich jedoch auf dem
 | 
						|
Bildschirm positionieren läßt.
 | 
						|
Der Vollbildmodus ist für das Display des OBP60P gedacht und setzt eine
 | 
						|
physische Bildschirmauflösung von 800x600 Pixeln voraus.
 | 
						|
Der Modus kann vor dem Programmstart in der Konfigurationsdatei obp60.conf
 | 
						|
eingestellt werden:
 | 
						|
  [system]
 | 
						|
  guistyle = default | fullscreen
 | 
						|
 | 
						|
Zur Steuerung des Geräts sind 6 Tasten vorhanden. Numeriert von 1 bis 6 von
 | 
						|
links nach rechts bzw. von oben nach unten im Vollbildmodus.
 | 
						|
Die Tasten können angeklickt werden und führen dann direkt
 | 
						|
eine von der jeweiligen Seite abhängige Funktion aus.
 | 
						|
Die jeweilige Funktion wird durch ein Symbol oberhalb der Taste dargestellt.
 | 
						|
Die Tasten 3 und 4 sind für die Seitennavigation vorgesehen: zurück und vor.
 | 
						|
Sie können jedoch von einer Seite bei Bedarf übersteuert werden.
 | 
						|
 | 
						|
Wischgesten werden simuliert, indem die Maustaste auf einer Tastenfläche
 | 
						|
gedrückt und auf einer anderen Taste losgelassen wird.
 | 
						|
 | 
						|
Folgende Wischfunktionen sind implementiert:
 | 
						|
  1. Programmende durch die Wischfunktion "2" -> "1"
 | 
						|
  2. Tastensperre an: "6" -> "1"
 | 
						|
  3. Tastensperre aus: "1" -> "6"
 | 
						|
  4. Systemseite: "4" -> "5"
 | 
						|
 | 
						|
Routen und Wegepunkte können von OpenCPN empfangen werden. Dazu muß eine
 | 
						|
passende serielle Schnittstelle für den NMEA0183-Ausgang definiert werden.
 | 
						|
Im System kann diese in der Datei rc.local aktiviert werden:
 | 
						|
  # Create virtual serial connection
 | 
						|
  socat pty,rawer,echo=0,group-late=dialout,mode=0660,link=/dev/ttyV0 \
 | 
						|
        pty,rawer,echo=0,group-late=dialout,mode=0660,link=/dev/ttyV1 &
 | 
						|
OpenCPN sendet dann Datensätze über ttyV0 und dieses Programm
 | 
						|
empfängt sie über ttyV1.
 |