Andere Debian-basierte Distributionen verwenden¶
Hinweis
Hat Labs kann keinen Support für die Installation und Nutzung von Betriebssystemen Dritter leisten. Die folgenden Anleitungen sind ein Entgegenkommen an Anwender, die den HALPI2 mit einer eigenen Softwarezusammenstellung betreiben möchten.
Der HALPI2 läuft mit jedem Betriebssystem, das das Raspberry Pi Compute Module 5 unterstützt. Damit der volle Funktionsumfang der HALPI2-Hardware einschließlich Energieverwaltung und Überwachung zur Verfügung steht, muss das Betriebssystem den HALPI2-Daemon (halpid) unterstützen; außerdem sind einige Einstellungen nötig. Auf Debian-basierten Linux-Distributionen sind diese Schritte recht unkompliziert. Dieser Abschnitt beschreibt die Installation von Ubuntu auf dem HALPI2 Schritt für Schritt. Für andere Debian-basierte Distributionen können kleinere Anpassungen erforderlich sein.
Von Ubuntu gibt es ein offizielles Ubuntu-Image für das Raspberry Pi Compute Module 5, das sich mit dem HALPI2 verwenden lässt.
Voraussetzungen¶
Sobald das gewählte Ubuntu-Image (oder ein anderes Debian-basiertes Image) auf dem Pi installiert ist, bringen Sie die Software auf den neuesten Stand:
Installieren Sie anschließend die folgenden Pakete, die für die Installation benötigt werden:
Hat-Labs-Paketquelle¶
Die vorkompilierten Pakete für den HALPI2 stammen von Hat Labs und stehen in einer apt-Paketquelle bereit. Zum Hinzufügen dieser Paketquelle führen Sie die folgenden Befehle mit Root-Rechten aus (aus sudo bash heraus):
sudo bash
curl -fsSL https://apt.hatlabs.fi/hat-labs-apt-key.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/hatlabs.gpg
cat > /etc/apt/sources.list.d/hatlabs.sources << EOF
Types: deb
URIs: https://apt.hatlabs.fi/
Suites: stable
Components: main
Signed-By: /etc/apt/trusted.gpg.d/hatlabs.gpg
EOF
apt update
exit
Gemeinsame Firmware des HALPI2¶
Die Firmware der gemeinsamen Komponenten auf der HALPI2-Platine wird konfiguriert, indem Sie /boot/firmware/config.txt bearbeiten und die folgenden Zeilen im Abschnitt [all] ergänzen:
# --- HALPI2 / Raspberry Pi 5 IO setup ---
# Use antenna path #2 for Wi-Fi/BT
dtparam=ant2
# Enable SPI0 and relocate CS1 to GPIO6 (BCM6) for the CAN controller.
dtoverlay=spi0-2cs,cs1_pin=6
# Attach a Microchip MCP2517FD/2518FD CAN-FD controller to SPI0 Chip-Select 1.
# - spi0-1 : controller is on SPI0, CS1 (wired to GPIO6 by the overlay above)
# - interrupt=26 : MCP251xFD INT pin wired to GPIO26
# - oscillator=40000000 : external crystal is 40 MHz
# Produces a SocketCAN interface (e.g. can0).
dtoverlay=mcp251xfd,spi0-1,interrupt=26,oscillator=40000000
# Enable PL011 UART4. Creates /dev/ttyAMA4 for NMEA 0183 communication.
dtoverlay=uart4-pi5
Anschließend muss die I2C-Schnittstelle aktiviert werden, damit der im Benutzerbereich laufende Daemon halpid mit der Hardware der Energieverwaltung kommunizieren kann. Legen Sie dazu die Datei /etc/modules-load.d/i2c-dev.conf an:
Einrichtung des CAN-Busses (NMEA 2000)¶
Der folgende Befehl aktiviert den CAN-Bus für die NMEA-2000-Kommunikation auf dem HALPI2:
sudo bash
apt install can-utils
cat > /etc/systemd/network/80-can.network << EOF
[Match]
Name=can*
[CAN]
BitRate=250000
RestartSec=100ms
EOF
chmod 644 /etc/systemd/network/80-can.network
echo 'SUBSYSTEM=="net", KERNEL=="can*", ACTION=="add|change", ATTR{tx_queue_len}="1000"' > /etc/udev/rules.d/80-can.rules
chmod 644 /etc/udev/rules.d/80-can.rules
systemctl enable systemd-networkd
reboot
Nach dem Neustart können Sie mit einem der folgenden Befehle prüfen, ob die CAN-Schnittstelle verfügbar ist:
HALPI2-Daemon¶
Der HALPI2-Daemon überwacht und steuert die Trägerplatine des HALPI2 und stellt das Kommandozeilenwerkzeug halpi bereit. Installieren Sie das Paket halpid aus der Hat-Labs-Paketquelle:
Der HALPI2-Daemon sollte nun laufen und der Befehl halpi verfügbar sein. Den Status des Daemons prüfen Sie mit:
Installation der HALPI2-Firmware¶
Da der Befehl halpi nun verfügbar ist, lässt sich das Paket halpi2-firmware installieren, das die neueste Firmware auf die HALPI2-Platine flasht:
Die Firmware kann auch von Hand geflasht werden:
Einrichtung des Signal-K-Servers¶
Der Signal-K-Server ist eine verbreitete Wahl für die Verwaltung von Schiffsdaten und kann sowohl NMEA-2000- als auch NMEA-0183-Datenquellen einbinden. Er lässt sich mit npm installieren. Die folgenden Befehle installieren den Server und starten die Ersteinrichtung:
Anschließend erreichen Sie den Signal-K-Server im Browser über den von Ihnen konfigurierten Port.
NMEA-2000-Verbindung in Signal K¶
Für eine NMEA-2000-Verbindung zur CAN-Schnittstelle des HALPI benötigen Sie ein Signal-K-Administratorkonto. Rufen Sie im Menü Server > Data Connections auf, klicken Sie auf +Add und legen Sie eine Verbindung mit den folgenden Eigenschaften an:
Data Type: NMEA2000
Enabled: Yes
ID: "HALPI2N2K"
NMEA 2000 Source: Canbus (canboatjs)
Interface: can0
Starten Sie neu und prüfen Sie im Dashboard, ob Daten eintreffen.
NMEA-0183-Verbindung in Signal K¶
Auch für eine NMEA-0183-Verbindung benötigen Sie ein Signal-K-Administratorkonto. Rufen Sie im Menü Server > Data Connections auf, klicken Sie auf +Add und legen Sie eine Verbindung mit mindestens den folgenden Eigenschaften an:
Data Type: NMEA0183
Enabled: Yes
ID: "HALPI2N0183"
NMEA 0183 Source: Serial
Serial Port: /dev/ttyAMA4
Baud Rate: 4800 | 34800
Starten Sie neu und prüfen Sie im Dashboard, ob Daten eintreffen.