설명
MAVSDK는 MAVLink에 고급 API를 제공하는 라이브러리 세트입니다. 목표는 다음과 같습니다:
- 동기(차단) API 호출과 콜백을 사용한 비동기 API 호출을 모두 지원하는 간단한 API로 사용하기 쉽습니다.
- 빠르고 가볍습니다.
- 크로스 플랫폼(Linux, macOS, Windows, iOS, Android).
- 확장 가능합니다(MavlinkPassthrough 플러그인 사용).
- MAVLink 표준/정의를 완벽하게 준수합니다.
여러 프로그래밍 언어를 지원하기 위해 MAVSDK는 다양한 프로그래밍 언어를 사용하는 클라이언트가 연결할 수 있도록 C++로 gRPC 서버를 구현합니다. API는 proto IDL(proto 파일)에 의해 정의됩니다. 이 아키텍처를 사용하면 클라이언트를 관용적 패턴으로 구현할 수 있으므로 최종 사용자가 기대하는 도구 및 구문을 사용할 수 있습니다. 예를 들어 Python 라이브러리는 pip
사용하여 PyPi에서 설치할 수 있습니다.
MAVSDK C++ 부분은 다음으로 구성됩니다:
- 기본 MAVLink 통신을 구현하는 핵심 라이브러리입니다.
- 특정 기능에 특정한 MAVLink 통신을 구현하는 플러그인 라이브러리입니다.
- 언어 클라이언트용 gRPC 서버를 구현하는 mavsdk_server.
레포
- MAVSDK - C++ 코어의 소스 코드가 포함된 저장소입니다.
- MAVSDK-Proto - 언어 클라이언트와 mavsdk_server 사이에서 gRPC에 의해 사용되는 proto 파일로 지정된 API에 대한 공통 인터페이스 정의입니다.
- MAVSDK-Python - Python용 MAVSDK 클라이언트(Pypi 2019에서 처음 출시됨).
- MAVSDK-Swift - Swift용 MAVSDK 클라이언트(프로덕션에 사용됨, 2018년 처음 출시됨).
- MAVSDK-Java - Java용 MAVSDK 클라이언트(2019년 MavenCentral에서 처음 출시됨).
- MAVSDK-JavaScript - JavaScript의 MAVSDK 클라이언트(개념 증명, 2019).
- MAVSDK-Rust - Rust용 MAVSDK 클라이언트(개념 증명, 2019).
- MAVSDK-CSharp - CSharp용 MAVSDK 클라이언트(개념 증명, 2019).
- 문서 - MAVSDK 문서 소스.
문서
C++ 라이브러리 사용 방법에 대한 지침은 MAVSDK 문서에서 찾을 수 있습니다(다른 프로그래밍 언어에 대한 링크는 문서 사이드바에서 찾을 수 있습니다).
빠른 링크:
- 시작하기
- C++ API 개요
- API 참조
- 라이브러리 설치
- 도서관 건축
- 예
- FAQ
특허
이 프로젝트는 허용적인 BSD 3 조항에 따라 라이센스가 부여되었습니다. LICENSE.md를 참조하세요.
유지
이 프로젝트는 자원봉사자들에 의해 유지됩니다:
- Julian Oes (후원, 컨설팅).
- 조나스 보테린
유지 관리는 어떤 회사에서도 후원하지 않지만 문서 및 포럼 호스팅은 Dronecode Foundation에서 제공합니다.
지원 및 문제
질문이 있는 경우 포럼에 질문해 보세요.
문제가 발생했거나, 버그를 발견했거나, 기능을 요청하고 싶다면 문제를 생성하세요. 중요하거나 긴급한 경우 유지관리 담당자에게 후원하여 문제를 할 일 목록에 올리도록 하세요.
개인 지원이 필요한 경우 유료 컨설팅을 고려해보세요.
(여기에 나열되려면 풀 요청을 작성하세요.)