Andere Debian-distributies gebruiken¶
Let op
Hat Labs kan geen ondersteuning bieden bij het installeren en gebruiken van besturingssystemen van derden. Onderstaande aanwijzingen worden aangeboden als service aan gebruikers die de HALPI2 met een eigen softwareopstelling willen gebruiken.
De HALPI2 draait moeiteloos elk besturingssysteem dat de Raspberry Pi Compute Module 5 ondersteunt. Om de volledige functionaliteit van de HALPI2-hardware te benutten, inclusief energiebeheer en bewaking, moet het besturingssysteem de HALPI2-daemon (halpid) ondersteunen en is enige configuratie nodig. Op Debian-gebaseerde Linux-distributies zijn die stappen tamelijk eenvoudig. Dit hoofdstuk beschrijft stap voor stap hoe u Ubuntu op de HALPI2 installeert. Voor andere op Debian gebaseerde distributies zijn mogelijk kleine aanpassingen nodig.
Ubuntu biedt een officiële Ubuntu-image voor de Raspberry Pi Compute Module 5, die met de HALPI2 gebruikt kan worden.
Vereisten¶
Zodra de gekozen Ubuntu-image (of een andere op Debian gebaseerde image) op de Pi is geïnstalleerd, zorgt u dat u over de nieuwste software-updates beschikt:
Vervolgens installeert u de volgende pakketten, omdat ze nodig zijn voor het installatieproces:
Hat Labs-repository¶
De kant-en-klare pakketten voor de HALPI2 worden geleverd door Hat Labs en zijn beschikbaar via een apt-repository.
Om deze repository toe te voegen, voert u de volgende opdrachten uit met rootrechten (vanuit sudo bash):
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
Algemene firmware voor de HALPI2¶
De firmware voor de algemene onderdelen op het HALPI2-board configureert u door /boot/firmware/config.txt te bewerken en de volgende regels toe te voegen aan de sectie [all]:
# --- 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
Daarna moet de I2C-interface worden ingeschakeld, zodat de halpid-daemon in de gebruikersruimte met de hardware voor energiebeheer kan communiceren.
Dat doet u door een bestand /etc/modules-load.d/i2c-dev.conf aan te maken met:
CAN-bus (NMEA 2000) instellen¶
Met de volgende opdracht schakelt u de CAN-bus voor NMEA 2000-communicatie op de HALPI2 in:
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
Zodra het systeem opnieuw is opgestart, controleert u met een van de volgende opdrachten of de CAN-interface beschikbaar is:
HALPI2-daemon¶
De HALPI2-daemon bewaakt en bestuurt het carrierboard van de HALPI2 en levert het opdrachtregelgereedschap halpi.
Installeer het pakket halpid uit de Hat Labs-repository:
De HALPI2-daemon hoort nu te draaien en de opdracht halpi beschikbaar te zijn. De status van de daemon controleert u met:
Firmware van de HALPI2 installeren¶
Nu de opdracht halpi beschikbaar is, kunt u het pakket halpi2-firmware installeren, dat de nieuwste firmware naar het HALPI2-board flasht:
De firmware kan handmatig worden geflasht met:
Signal K-server instellen¶
De Signal K-server is een populaire keuze voor het beheer van maritieme gegevens en kan zowel NMEA 2000- als NMEA 0183-gegevensbronnen aan. De Signal K-server kan met npm worden geïnstalleerd. De volgende opdrachten installeren de Signal K-server en starten de eerste configuratie:
Daarna benadert u de Signal K-server vanuit een browser op de poort die u hebt ingesteld.
Signal K-verbinding voor NMEA 2000¶
Om een NMEA 2000-verbinding met de CAN-interface van de HALPI in te stellen, hebt u een Signal K-beheerdersaccount nodig en gaat u in het menu naar Server > Data Connections.
Daar klikt u op de knop +Add en maakt u een verbinding aan met de volgende eigenschappen:
Data Type: NMEA2000
Enabled: Yes
ID: "HALPI2N2K"
NMEA 2000 Source: Canbus (canboatjs)
Interface: can0
Start opnieuw op en controleer op het dashboard of er gegevens binnenkomen.
Signal K-verbinding voor NMEA 0183¶
Om een NMEA 0183-verbinding met de CAN-interface van de HALPI in te stellen, hebt u een Signal K-beheerdersaccount nodig en gaat u in het menu naar Server > Data Connections.
Daar klikt u op de knop +Add en maakt u een verbinding aan met ten minste de volgende eigenschappen:
Data Type: NMEA0183
Enabled: Yes
ID: "HALPI2N0183"
NMEA 0183 Source: Serial
Serial Port: /dev/ttyAMA4
Baud Rate: 4800 | 34800
Start opnieuw op en controleer op het dashboard of er gegevens binnenkomen.