QGroundControl(QGC) 개발자 가이드

- for masOS (4/9)

by 연화유심

Part 4. Communication Flow & Plugin Architecture (통신 흐름 및 플러그인 아키텍처)

이 파트에서는 macOS 환경에서 QGroundControl(QGC)의 MAVLink 통신 구조와 플러그인 아키텍처를 설명합니다. 외부 메시지 흐름(드론 ↔ QGC)과 내부 아키텍처(LinkManager, MAVLinkProtocol 등)를 모두 다루며, 공식 Developer Guide 내용을 반영했습니다.


1) MAVLink 메시지 흐름 (외부 관점)

드론 → QGC: Telemetry, 센서 데이터, 상태 메시지

QGC → 드론: 모드 변경, 미션 업로드, 제어 명령

QGC의 MAVLink Inspector로 메시지를 확인할 수 있으며, Analyzer로 연결 품질을 분석할 수 있습니다.


2) Communication Flow 상세 (내부 관점)

LinkManager: UDP/Serial 연결 관리, Heartbeat 대기

MAVLinkProtocol: 바이트 스트림 → MAVLink 메시지 변환

MultiVehicleManager: Heartbeat 기반 Vehicle 객체 생성

ParameterLoader: Vehicle 파라미터 요청/로드

MissionManager: 미션 아이템 관리

VehicleComponents: Setup View UI 연결


3) 플러그인 아키텍처

FirmwarePlugin: 펌웨어별 기능 정의

AutoPilotPlugin: 파라미터 로딩 및 UI 연동

QGCCorePlugin: 전체 앱 동작과 UI 커스터마이징 지원


4) macOS 환경 특징

Serial 장치: `/dev/tty.usbmodem*`, `/dev/tty.usbserial*`

장치 드라이버가 필요한 경우 제조사 제공 드라이버 설치 필요

방화벽 차단 시 QGC 연결 불가 → 시스템 환경설정에서 허용 필요

GStreamer 설치(`brew install gstreamer`) 후 영상 스트리밍 활성화

작가의 이전글QGroundControl(QGC) 개발자 가이드