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庫的子主題解釋瞭如何使用生成的庫。