본 글은 오픈소스 메시지 프로토콜인 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/
[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 ***
'SW' 카테고리의 다른 글
CMake 바이너리 혹은 소스 설치 방법 (0) | 2024.07.08 |
---|---|
빌드 시스템 meson 버전 업그레이드 하기 (0) | 2024.07.05 |
[MOT] SORT 논문 리뷰 (0) | 2024.06.30 |
ROS2 Offboard으로 고정익 제어해보기 (0) | 2024.06.29 |
ROS2 Offboard으로 멀티로터 제어해보기 (0) | 2024.06.19 |