PX4 시스템 콘솔

시스템 콘솔을 이용하면 시스템, 디버깅 출력, 시스템 부팅 순서를 확인할 수 있습니다. Dronecode probe를 사용하는 것이 가장 편리한 방법이지만, 일반 FTDI 케이블도 이용할 수 있습니다.

시스템 콘솔 vs. 쉘

여러 쉘이 있지만 부팅정보(부팅시 자동실행되는 application)를 출력하는 콘솔이 바로 시스템 콘솔이면 이 콘솔은 1개만 존재합니다.

  • 시스템 콘솔 (첫번째 쉘): 하드웨어 시리얼 포트
  • 부가적인 쉘 : Pixhawk의 USB (예로 Mac OS에서 /dev/tty.usbmodem1)

USB 쉘 : 몇 가지 간단한 명령 수행 혹은 application 테스트 쉘로 충분합니다. Mavlink 쉘을 이용할 수 있으며 아래 내용을 참고합니다. 하드웨어 시리얼 콘솔은 부트 디버깅용으로 필요하거나 USB를 MAVLink를 GCS) 연결하는데 사용해야하는 경우에만 필요합니다.

Snapdragon Flight: 콘솔 연결하기

개발자 키트에는 콘솔에 연결할 수 있는 3핀짜리 브레이크아웃 보드가 들어 있습니다. 동봉된 FTDI 케이블을 헤더에 연결하고 브레이브아웃 보드를 확장 커넥터에 연결합니다.

Pixracer / Pixhawk v3: 콘솔 연결하기

6-pos JST SH 1:1 케이블을 Dronecode probe에 연결하거나 케이블의 개별 핀을 FTDI 케이블에 아래와 같이 연결 :

Pixracer / Pixhawk v3 FTDI
1 +5V (red) N/C
2 UART7 Tx 5 FTDI RX (yellow)
3 UART7 Rx 4 FTDI TX (orange)
4 SWDIO N/C
5 SWCLK N/C
6 GND 1 FTDI GND (black)

Pixhawk v1: 콘솔 연결하기

시스템 콘솔은 Dronecode probe나 an FTDI 케이블을 통해서 접근 가능합니다. 두가지 옵션 모두 아래 섹션에서 설명합니다.

Dronecode Probe를 통해서 연결하기

Dronecode probe에 있는 6-pos DF13 1:1 케이블을 Pixhawk의 SERIAL4/5 포트에 연결합니다.

FTDI 3.3V 케이블을 통해 연결하기

Dronecode probe가 없는 경우 FTDI 3.3V (Digi-Key: 768-1015-ND)도 잘 동작합니다.

Pixhawk 1/2 FTDI
1 +5V (red) N/C
2 S4 Tx N/C
3 S4 Rx N/C
4 S5 Tx 5 FTDI RX (yellow)
5 S5 Rx 4 FTDI TX (orange)
6 GND 1 FTDI GND (black)

커넥터 핀아웃은 아래와 같습니다.

연결을 마치면 아래와 같습니다.

콘솔 열기

콘솔 연결이 완료되면, 여러분이 원하는 기본 시리얼 포트 도구를 사용할 수 있습니다. 기본 도구들은 아래와 같습니다. :

Linux / Mac OS: Screen

Ubuntu에서 screen을 설치합니다. (Mac OS에는 이미 설치되어 있음):

sudo apt-get install screen
  • 시리얼: Pixhawk v1 / Pixracer는 57600 baud 사용
  • 시리얼: Snapdragon Flight는 115200 baud 사용

screen로 연결할때 BAUDRATE baud, 8 data bits, 1 stop bit를 지정합니다. (ls /dev/tty*을 사용해서 USB 장치의 장/탈착 변경을 확인) 일반적으로 Linux에서는 /dev/ttyUSB0/dev/ttyACM0라는 이름을, Mac OS에서는 /dev/tty.usbserial-ABCBD 이름을 사용합니다.

screen /dev/ttyXXX BAUDRATE 8N1

Windows: PuTTY

PuTTY 다운받아 실행합니다.

'serial connection'를 선택하고 포트 파라미터를 다음과 같이 설정 :

  • 57600 baud다
  • 8 data bits
  • 1 stop bit

콘솔에서 시작하기

ls를 입력하면 로컬 파일 시스템을 볼 수 있습니다. free를 입력하면 남은 RAM 용량을 확인할 수 있습니다. 콘솔은 보드에 전원이 들어올때 시스템 부팅 로그를 보여줍니다.

nsh> ls
nsh> free

NuttX기반 시스템 (Pixhawk, Pixracer, ...)에 대해서 nsh 콘솔로도 mavlink로 접근이 가능합니다. 시리얼 링크나 WiFi (UDP/TCP)를 통해 동작합니다. QGC가 실행중이지 아니라는 것을 확인하고, 쉘을 시작합니다.(예로 ./Tools/mavlink_shell.py /dev/ttyACM0) 사용 가능한 파라미터를 볼려면 -h을 사용합니다. 여러분은 먼저 sudo pip install pymavlink pyserial로 관련 프로그램을 설치해야할 수도 있습니다.

Snapdragon DSP 콘솔

usb로 Snapdragon 보드에 연결한 경우, px4 쉘에 접근할 수 있습니다. DSP쪽(QuRT)와 연동은 qshell posix app과 QuRT 컴패니언으로 활성화시킵니다.

USB로 Snapdragon에 연결해서 mini-dm을 열어서 DSP의 출력을 확인합니다. :

${HEXAGON_SDK_ROOT}/tools/debug/mini-dm/Linux_Debug/mini-dm

참고: 대안으로 특별히 Mac에서는 nano-dm을 사용할 수 있습니다.

linaro쪽에서 main app을 실행 :

cd /home/linaro
./px4 px4.config

다음 문법을 이용하면 linaro 쉘에서 DSP로 올라간 모든 app을 사용할 수 있습니다. :

pxh> qshell command [args ...]

예제로 사용가능한 QuRT app 보기 :

pxh> qshell list_tasks

실행한 명령의 출력은 minidm에 표시됩니다.

results matching ""

    No results matching ""