MAVLink 드론 통신 메시징 프로토콜

MAVLink는 드론과 통신하기 위한 매우 가벼운 메시징 프로토콜입니다.
MAVLink 드론 통신 메시징 프로토콜

MAVLink는 드론(및 온보드 드론 구성 요소 간)과 통신하기 위한 매우 가벼운 메시징 프로토콜입니다 2009년 초에 Lorenz Meier가 처음 발표하였습니다.


  • MAVLink는 modern hybrid publish-subscribe and point-to-point design pattern을 따릅니다. 데이터 스트림은 토픽으로 전송/게시되는 반면 미션 프로토콜이나 매개변수 프로토콜과 같은 구성 하위 프로토콜은 재전송이 있는 지점 간입니다.

  • 메시지는 XML 파일 내에서 정의됩니다. 각 XML 파일은 특정 MAVLink 시스템에서 지원하는 메시지 세트를 정의하며, 이를 "dialect"이라고도 합니다. 대부분의 지상 제어 스테이션과 자동 조종 장치에서 구현하는 참조 메시지 세트는 common.xml에 정의되어 있습니다(대부분 dialect은 이 정의를 기반으로 구축됨).

  • Code generators는 이러한 XML 메시지 정의에서 특정 프로그래밍 언어에 대한 소프트웨어 라이브러리를 생성하며, 이를 드론, 지상 제어 스테이션 및 기타 MAVLink 시스템에서 통신하는 데 사용할 수 있습니다. 생성된 라이브러리는 일반적으로 MIT 라이선스가 적용되므로 폐쇄 소스 애플리케이션의 소스 코드를 게시하지 않고도 모든 폐쇄 소스 애플리케이션에서 제한 없이 사용할 수 있습니다.

  • C참조 구현은 제한된 RAM과 플래시 메모리를 사용하는 리소스 제약 시스템에 최적화된 헤더 전용 라이브러리입니다. 현장에서 검증되었으며 다양한 제조업체의 구성 요소 간 상호 운용성 인터페이스 역할을 하는 많은 제품에 배포되었습니다.

주요 기능

  • 효율적입니다. MAVLink 1은 시작 신호 및 패킷 손실 감지를 포함하여 패킷당 오버헤드가 8바이트에 불과합니다. MAVLink 2는 오버헤드가 14바이트에 불과하지만 훨씬 더 안전하고 확장 가능한 프로토콜입니다. MAVLink는 추가 프레이밍이 필요하지 않으므로 통신 대역폭이 매우 제한된 애플리케이션에 매우 적합합니다.

  • 안정적입니다. MAVLink는 2009년부터 다양하고 까다로운 통신 채널(높은 지연/노이즈)을 통해 여러 차량, 지상국(및 기타 노드) 간에 통신하는 데 사용되었습니다. 패킷 손실, 손상을 감지하고 패킷을 인증하는 방법을 제공합니다.

  • 다양한 프로그래밍 언어를 사용할 수 있으며, 수많은 마이크로컨트롤러/운영 체제(ARM7, ATMega, dsPic, STM32 및 Windows, Linux, MacOS, Android 및 iOS 포함)에서 실행됩니다.

  • 네트워크에서 최대 255개의 동시 시스템(차량, 지상국 등)을 허용합니다. 오프보드 및 온보드 통신(예: GCS와 드론 간, 드론 자동 조종 장치와 MAVLink 지원 드론 카메라 간)을 모두 지원합니다.

https://mavlink.io/ko/about/implementations.html
https://github.com/moayyad57/dronize-exploit

Share article

All about Drone