Q: Configuration de la carte de base Pixhawk + Raspberry Pi CM4 : Guide PX4 Ethernet et MAVLink

Updated 4 min read

Réponse rapide

Oui, vous pouvez faire fonctionner PX4 sur Ethernet entre un contrôleur de vol de classe Pixhawk et un ordinateur compagnon Raspberry Pi CM4. Les étapes principales sont les suivantes : définir des adresses IP statiques des deux côtés, confirmer le ping bidirectionnel, configurer les ports UDP netman et MAVLink de PX4, puis vous connecter depuis QGroundControl ou MAVSDK. Si vous suivez l'ordre ci-dessous, la configuration est simple et fiable.

À quoi sert cette configuration

Un ordinateur compagnon CM4 donne à votre avion une puissance de calcul supplémentaire pour des tâches comme la vision, la logique d'autonomie, l'enregistrement et les applications personnalisées, tandis que PX4 sur le contrôleur de vol assure le contrôle en temps réel. Ethernet offre une liaison stable et à large bande passante entre eux par rapport à de nombreuses configurations série.

L'objectif pratique est simple : rendre PX4 et le CM4 visibles sur le même sous-réseau, puis diffuser MAVLink sur UDP. Si cette partie est propre, la plupart des intégrations de niveau supérieur deviennent beaucoup plus faciles à déboguer et à maintenir.

Étape 1 : Câblage physique et plan réseau

Utilisez l'interconnexion Ethernet correcte pour votre carte mère et confirmez l'état de la liaison sur les deux appareils avant de toucher au logiciel. Planifiez d'abord les adresses statiques afin que le dépannage reste prévisible. Un modèle courant est :

Appareil Exemple d'IP Notes
Côté Pixhawk/PX4 192.168.0.4 Configuré dans /fs/microsd/net.cfg
Côté CM4 192.168.0.3 Défini sur eth0
PC de station sol (facultatif) 192.168.0.1 Même sous-réseau si test direct

Si votre liaison ne s'établit pas, réparez d'abord le câblage et l'état de l'interface. Ne sautez pas cette étape, les modifications logicielles ne peuvent pas réparer un mauvais état de liaison physique.

Étape 2 : Configurer le réseau PX4 avec netman

PX4 lit les paramètres Ethernet depuis /fs/microsd/net.cfg. Dans QGroundControl, ouvrez Analyze Tools → MAVLink Console et inspectez la configuration actuelle avec netman show. Si nécessaire, écrivez une configuration propre :

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.4
NETMASK=255.255.255.0
ROUTER=192.168.0.254
DNS=192.168.0.254

Appliquez avec netman update -i eth0. PX4 redémarrera avec les nouveaux paramètres réseau.

Étape 3 : Configurer le CM4 et vérifier la connectivité bidirectionnelle

Sur le CM4, assurez-vous que eth0 est actif et définissez une adresse dans le même sous-réseau. Testez ensuite les deux directions :

CM4 → PX4 : ping 192.168.0.4
PX4 → CM4 (depuis la console MAVLink) : ping 192.168.0.3

Continuez seulement lorsque les deux directions passent avec une faible perte de paquets. C'est le point de contrôle le plus important de tout le processus.

Étape 4 : Publier MAVLink sur Ethernet

Configurez maintenant MAVLink sur PX4 pour le transport UDP. Modèles typiques :

Cas d'utilisation Port UDP Profil
Station sol (QGC) 14550 Jeu de messages GCS
Applications compagnons (MAVSDK/MAVROS) 14540 Embarqué préféré

Pour un test rapide, vous pouvez démarrer un flux vers la cible compagnon et confirmer que les paquets arrivent. Dans les configurations basées sur les paramètres, assurez-vous que les valeurs MAV_2 s'alignent sur vos ports distants et locaux prévus.

Étape 5 : Valider dans QGroundControl et MAVSDK

QGroundControl se découvre souvent automatiquement une fois que la diffusion et les ports sont corrects. Sinon, ajoutez une liaison UDP manuelle à l'IP du contrôleur de vol et au port correct. Sur CM4, un petit script MAVSDK-Python est un test simple de télémétrie et de chemin de commande.

À ce stade, vous disposez d'une base solide pour la logique embarquée, les outils de mission et les flux de travail d'autonomie côté compagnon.

Matériel recommandé et lectures complémentaires

Si vous choisissez des pièces, commencez par Autopilotes / Contrôleurs de vol. Pour des options de contrôleur robustes compatibles PX4, voir CubePilot Cube Orange+ Mini Set et Contrôleur de vol MicoAir743Lite H743. Pour un montage plus propre sur les stacks de classe Pixhawk, la mousse de montage souple double face 3M pour Pixhawk 25x13x5mm (pack de 20) est utile.

Pour une compréhension plus approfondie, ces guides complètent bien cette configuration : Pixhawk 6 vs 6C vs 6X vs Mini, Qu'est-ce que Pixhawk et pourquoi les constructeurs de drones l'utilisent, et Comment configurer ArduPilot sur votre contrôleur de vol.

FAQ

Q : Ai-je besoin du DHCP pour PX4 et Ethernet CM4 ?

R : Non. L'adressage statique est généralement plus facile et plus fiable pour l'intégration en laboratoire et sur le terrain, en particulier lors de la configuration initiale.

Q : Dois-je utiliser le port 14550 ou 14540 ?

R : Utilisez le 14550 principalement pour les flux de travail de la station sol. Utilisez le 14540 pour les consommateurs d'ordinateurs compagnons tels que MAVSDK ou MAVROS.

Q : Quelle est la panne de configuration la plus courante ?

R : Sous-réseau mal adapté ou mauvais port cible. Vérifiez l'état de la liaison, le plan IP et le ping bidirectionnel avant de modifier à nouveau les paramètres MAVLink.