mavlink
1.0.0
Mavlink-微型航空车消息编组库。
Mavlink是一个非常轻巧的仅标题消息库,用于无人机和/或地面控制站之间的通信。它主要由XML文件中定义的不同系统(“方言”)的消息集规范以及将其转换为支持语言的适当源代码的Python工具。还有其他Python脚本提供用于使用Mavlink数据的示例和实用程序。
Tip Mavlink非常适合通信带宽非常有限的应用。其在C中的参考实现对有限的RAM和闪存的资源受限系统进行了高度优化。它经过现场证实并部署在许多产品中,这些产品是不同制造商组件之间的互操作性接口。
要在Ubuntu LTS 20.04或22.04上安装最小的Mavlink环境,请在终端上输入以下内容:
# 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
然后,您可以从/mavlink
目录中构建message_definitions/v1.0/common.xml
mavlink2 c-library,如下所示:
python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml
要在CMAKE中包括标题,请在本地安装它们,例如,在目录install
中:
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0
cmake --build build --target install
然后使用find_package
在CMakeLists.txt
中获得依赖性:
find_package(MAVLink REQUIRED)
add_executable(my_program my_program.c)
target_link_libraries(my_program PRIVATE MAVLink::mavlink)
并将本地安装目录传递给cmake(适应您的目录结构):
cd ../my_program
cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install
有关完整的示例,请检查示例/c。
注意:即使我们在cmake中使用target_link_libraries
,它实际上并没有“链接”到mavlink,因为它只是一个仅限标题库。
然后使用C Mavlink库(Mavgen)介绍使用C库的说明。
注意:安装Mavlink工具链说明了如何在其他Ubuntu平台和Windows上安装Mavlink,同时生成Mavlink库解释了如何为项目支持的其他编程语言构建Mavlink。使用Mavlink库的子主题解释了如何使用生成的库。