MAVLink
보이기
MAVLink 또는 Micro Air Vehicle Link는 소형 무인 장치들 및 자체내의 서로 다른 내부 컴포넌트과 통신하기 위한 프로토콜로 안정된 데이타 교환을 제공하는 메시징이다. 헤더 전용 메시지 마샬링 라이브러리로 설계되었다. MAVLink는 LGPL 라이센스하에 로렌즈 마이어(Lorenz Meier)에 의해 2009년초에 처음으로 공개되었다.[1][2]
MAVLink는 2009년 로렌츠 마이어(Lorenz Meier)가 처음 릴리즈하였고 지금은 많은 컨트리뷰터들이 활동하고 있으며 버전 2가 나왔다. C/C++ 참조 구현은 제한된 RAM과 플래쉬 메모리의 리소스 제약이 있는 시스템에 최적화되어 있다. 제조사가 다른 컴포넌트들끼리 서로 호환이 가능하도록 인터페이스를 제공하는 다양한 제품이 출시되어 필드검증을 받았다.
패킷
[편집]- 6개의 헤더와 2개의 체크섬 그리고 데이타를 갖는 1개의 필드로 구성된다.
필드 명(Field name) | 고유 순서(Index) - 바이트(Bytes) | 목적 및 기능 |
---|---|---|
헤더1(Start-of-frame) | 0 | 시작점을 가리키는 헤더(0xFE) |
헤더2(Payload-length) | 1 | 페이로드 길이값 (n) |
헤더3(Packet sequence) | 2 | 총 패킷에서 해당하는 순서값 |
헤더4(System ID) | 3 | 발신자 시스템의 고유 ID |
헤더5(Component ID) | 4 | 해당 컴포넌트 고유 ID |
헤더6(Message ID) | 5 | 페이로드(payload) 정의 ID |
데이타(Payload) | 6 (n+6) | 메세지 ID에서 참조되는 실질적인 데이타 값들 (없을수있다) |
체크섬1 CRC | (n+7) | 메세지 무결성 검사 |
체크섬2 CRC | (n+8) | 네트워크 무결성 검사 |