반응형

본 글은 오픈소스 메시지 프로토콜인 Mavlink 에 대해서, 메시지 라우팅 기능을 제공하는 Mavlink Router에 대해서 설치하고 사용하는 방법에 대해서 기술한다.

Mavlink-Touter 설치하기

1. Mavlink-Router 레포지토리 복사해오고 submodule 업데이트하기

sudo apt install git
git clone https://github.com/mavlink-router/mavlink-router.git
cd mavlink-router
git submodule update --init --recursive

 

2. Mavlink-Router 빌드를 위해 필요한 패키지 설치하기

sudo apt install git meson ninja-build pkg-config gcc g++ systemd
sudo pip3 install meson

 

여기서 meson version이 낮다고 한다면, 아래 글을 참고해서 버전을 올리자.
빌드 시스템 meson 버전 업그레이드 하기

에러 메시지는 아래와 같이 나타난다.

$ meson setup build .
The Meson build system
Version: 0.53.2
Source dir: /home/nvidia/mavlink-router
Build dir: /home/nvidia/mavlink-router/build
Build type: native build

meson.build:1:0: ERROR: Meson version is 0.53.2 but project requires >= 0.55

 

3. meson과 ninja 를 이용해서 빌드 and install

meson setup build .
ninja -C build
sudo ninja -C build install

 

 

아래와 같은 오류 메시지가 나온다면 clang-tidy 을 설치하자.

sudo apt install -y clang-tidy

 

 

4. 사용자 임의의 라우팅 구성 설정 파일 만들기

cd [MAVLINK_ROUTER_PATH]
gedit main.conf

 

Mavlink-Router 실행해보기

*.conf 를 통해서 실행할 수도 있고, CLI으로 실행 가능하다.

 

옵션으로 쓸 수 있는 것들을 예시로 보면 다음과 같다.

 

mavlink-routerd -c XXXX.conf # Predefined Routing Set
mavlink-routerd -e [IP_ADDR]:[PORT] -e [IP_ADDR]:[PORT]

 

 

Mavlink-Router 자동 실행 서비스 걸어두기[7]

mavlink-routerd를 실행하면 기본으로 불러오는 구성파일은 /etc/mavlink-router/main.conf 이다.

해당 파일을 구성한 후에 다음을 설정하자.

sudo systemctl enable mavlink-router # 부팅 시 자동 시작 서비스로 등록
sudo systemctl start mavlink-router # 서비스 시작

 

실행되고 있는지 확인하고자 다음을 입력해본다.

sudo systemctl status mavlink-router

 

자동 시작을 취소하거나 끄는 방법은 다음과 같다.

sudo systemctl disable mavlink-router # 부팅 시 자동 실행 리스트에서 제거
sudo systemctl stop mavlink-router # 서비스를 즉시 비활성화

 

Troubleshooting

MavProxy? or Mavlink-Router [4]

 

[1] https://github.com/mavlink-router/mavlink-router

[2] RC Bellergy's Drones, 6. Install and setup mavlink-router (connecting drone to ground station), https://bellergy.com/6-install-and-setup-mavlink-router/

[3] https://velog.io/@yirameon/MAVLink-Router-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0

[4] MAVProxy vs mavlink-router, https://discuss.px4.io/t/mavproxy-vs-mavlink-router/22696/2

[5] Mavlink, Routing, https://mavlink.io/en/guide/routing.html

[6] Mavlink, https://github.com/mavlink-router/mavlink-router

[7] NXP 8MMNAVQ: NavQ Companion Computer, mavlink-router, https://nxp.gitbook.io/8mmnavq/user-guide/mavlink-specific-details/installing-mavlink-router

*** EOF ***

728x90

+ Recent posts