Utiliser d'autres distributions basées sur Debian¶
Note
Hat Labs ne peut pas assurer l'assistance pour l'installation et l'utilisation de systèmes d'exploitation tiers. Les instructions ci-dessous sont fournies à titre de service aux utilisateurs souhaitant faire fonctionner le HALPI2 avec une configuration logicielle personnalisée.
Le HALPI2 fonctionne avec n'importe quel système d'exploitation prenant en charge le Raspberry Pi Compute Module 5. Pour bénéficier de toutes les fonctions du matériel HALPI2, y compris la gestion et la surveillance de l'alimentation, le système doit prendre en charge le démon HALPI2 (halpid) et quelques réglages sont nécessaires. Ces étapes sont assez simples sur les distributions Linux basées sur Debian. Cette section détaille l'installation d'Ubuntu sur le HALPI2. Les instructions peuvent demander de légers ajustements pour d'autres distributions basées sur Debian.
Ubuntu propose une image Ubuntu officielle pour le Raspberry Pi Compute Module 5, utilisable avec le HALPI2.
Prérequis¶
Une fois l'image Ubuntu (ou toute autre image basée sur Debian) installée sur le Pi, assurez-vous que les mises à jour logicielles sont à jour :
Installez ensuite les paquets suivants, nécessaires à la procédure d'installation :
Dépôt Hat Labs¶
Les paquets précompilés pour le HALPI2 sont fournis par Hat Labs et disponibles dans un dépôt apt. Pour ajouter ce dépôt, exécutez les commandes suivantes avec les privilèges root (depuis 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
Firmware commun du HALPI2¶
Le firmware des périphériques communs de la carte HALPI2 se configure en modifiant /boot/firmware/config.txt et en ajoutant les lignes suivantes dans la section [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
L'interface I2C doit ensuite être activée pour que le démon halpid, qui s'exécute en espace utilisateur, puisse dialoguer avec le matériel de gestion de l'alimentation. Créez pour cela le fichier /etc/modules-load.d/i2c-dev.conf :
Configuration du bus CAN (NMEA 2000)¶
La commande suivante active le bus CAN pour les communications NMEA 2000 sur le 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
Une fois le système redémarré, vous pouvez vérifier la disponibilité de l'interface CAN avec l'une ou l'autre de ces commandes :
Démon HALPI2¶
Le démon HALPI2 surveille et pilote la carte porteuse du HALPI2 et fournit l'outil en ligne de commande halpi. Installez le paquet halpid depuis le dépôt Hat Labs :
Le démon HALPI2 devrait maintenant être en cours d'exécution et la commande halpi disponible. Vous pouvez vérifier l'état du démon avec :
Installation du firmware du HALPI2¶
Maintenant que la commande halpi est disponible, vous pouvez installer le paquet halpi2-firmware, qui flashe le firmware le plus récent sur la carte HALPI2 :
Le firmware peut aussi être flashé manuellement :
Configuration du serveur Signal K¶
Le serveur Signal K est un choix répandu pour la gestion des données de navigation ; il sait exploiter aussi bien les sources NMEA 2000 que NMEA 0183. Il s'installe avec npm. Les commandes suivantes installent le serveur et lancent la configuration initiale :
Vous pouvez ensuite accéder au serveur Signal K depuis un navigateur, sur le port que vous avez configuré.
Connexion NMEA 2000 dans Signal K¶
Créer une connexion NMEA 2000 vers l'interface CAN du HALPI nécessite un compte administrateur Signal K. Dans le menu, allez dans Server > Data Connections, cliquez sur +Add et créez une connexion avec les propriétés suivantes :
Data Type: NMEA2000
Enabled: Yes
ID: "HALPI2N2K"
NMEA 2000 Source: Canbus (canboatjs)
Interface: can0
Redémarrez, puis vérifiez sur le tableau de bord que des données arrivent.
Connexion NMEA 0183 dans Signal K¶
Créer une connexion NMEA 0183 nécessite également un compte administrateur Signal K. Dans le menu, allez dans Server > Data Connections, cliquez sur +Add et créez une connexion avec au moins les propriétés suivantes :
Data Type: NMEA0183
Enabled: Yes
ID: "HALPI2N0183"
NMEA 0183 Source: Serial
Serial Port: /dev/ttyAMA4
Baud Rate: 4800 | 34800
Redémarrez, puis vérifiez sur le tableau de bord que des données arrivent.