Mavlink- 마이크로 공기 차량 메시지 마샬링 라이브러리.
Mavlink는 드론 및/또는 지상 제어 스테이션 간의 통신을위한 매우 가벼운 헤더 전용 메시지 라이브러리입니다. XML 파일에 정의 된 다른 시스템 ( "방언")에 대한 메시지 세트 사양과 지원되는 언어에 대한 적절한 소스 코드로 변환하는 Python 도구로 구성됩니다. Mavlink 데이터 작업을위한 예와 유틸리티를 제공하는 추가 Python 스크립트가 있습니다.
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 라이브러리 사용에 대한 지침은 C Mavlink 라이브러리 (Mavgen)를 사용하여 다룹니다.
참고 : Mavlink 도구 체인을 설치하면 다른 Ubuntu 플랫폼 및 Windows에 Mavlink를 설치하는 방법에 대해 설명하고 Mavlink 라이브러리를 생성하면 프로젝트가 지원하는 다른 프로그래밍 언어를 위해 Mavlink를 구축하는 방법을 설명합니다. Mavlink 라이브러리 사용의 하위 지역은 생성 된 라이브러리를 사용하는 방법을 설명합니다.