MAVLINK - Message de micro-véhicule aérien Bibliothèque de maréchalage.
MavLink est une bibliothèque de messages en tête très légère pour la communication entre les drones et / ou les stations de contrôle du sol. Il se compose principalement de spécifications de l'ensemble de messages pour différents systèmes ("dialectes") définis dans des fichiers XML et des outils Python qui les convertissent en code source approprié pour les langues prises en charge. Il existe des scripts Python supplémentaires fournissant des exemples et des utilitaires pour travailler avec les données MavLink.
Tip Mavlink est très bien adapté aux applications avec une bande passante de communication très limitée. Son implémentation de référence en C est hautement optimisée pour les systèmes liés aux ressources avec une mémoire RAM et Flash limitée. Il est prouvé sur le terrain et déployé dans de nombreux produits où il sert d'interface d'interopérabilité entre les composants de différents fabricants.
Pour installer l'environnement MavLink minimal sur Ubuntu LTS 20.04 ou 22.04, entrez ce qui suit sur un terminal:
# Dependencies
sudo apt install python3-pip
# Clone mavlink into the directory of your choice
git clone https://github.com/mavlink/mavlink.git --recursive
cd mavlink
python3 -m pip install -r pymavlink/requirements.txt
Vous pouvez ensuite construire la bibliothèque C MavLink2 pour message_definitions/v1.0/common.xml
du répertoire /mavlink
comme indiqué:
python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml
Pour inclure les en-têtes dans CMake, installez-les localement, par exemple dans l' install
du répertoire:
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0
cmake --build build --target install
Utilisez ensuite find_package
pour obtenir la dépendance dans CMakeLists.txt
:
find_package(MAVLink REQUIRED)
add_executable(my_program my_program.c)
target_link_libraries(my_program PRIVATE MAVLink::mavlink)
Et passer le répertoire d'installation local à CMake (adapter à votre structure de répertoire):
cd ../my_program
cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install
Pour un exemple complet, vérifiez des exemples / c.
Remarque: Même si nous utilisons target_link_libraries
dans CMake, il ne "lie" pas vraiment MavLink car c'est juste une bibliothèque d'en-tête uniquement.
Les instructions pour l'utilisation des bibliothèques C sont ensuite couvertes par l'utilisation des bibliothèques C MavLink (Mavgen).
Remarque: L'installation de la chaîne d'outils Mavlink explique comment installer MavLink sur d'autres plates-formes et fenêtres Ubuntu, tandis que la génération de bibliothèques MavLink explique comment créer MavLink pour les autres langages de programmation pris en charge par le projet. Les sous-suivantes de l'utilisation des bibliothèques MavLink expliquent comment utiliser les bibliothèques générées.