본문 바로가기

관련 기술/SBC(싱글보드컴퓨터)

Jetson Nano 동작시키기

728x90

Jetson Nano를 사용하려면 전원 입력부터 OS설치까지 완료해야 합니다.

먼저 Jetson Nano의 하드웨어 구성을 살펴보도록 하죠.

아래는 이번에 제가 구매한 Jetson Nano-B01 버전의 이미지입니다.

자료출처: NVIDIA Developer 사이트(https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkithttps://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit)

라즈베리파이와 마찬가지로 Jetson Nano도 저장장치로 MicroSD 카드를 사용합니다.

Jetson Nano의 OS는 NVIDIA에서 공식적으로 만들어서 제공하는 Ubuntu 18.04를 기반으로 한 이미지를 사용합니다.

해당 이미지는 다운로드 시 약 6.5GB, 압축 해제 시 약 13.7GB를 차지하고 있습니다.

그래서 사용할 MicroSD 카드는 최소 32GB의 용량을 권장하고 있습니다.

저는 그냥 64GB 짜리로 구매했습니다.(요즘에는 가격도 싸고...해서..)

 

OS 이미지의 다운로드는 https://developer.nvidia.com/embedded/downloads 에서 하실 수 있습니다.

다운로드를 마친 후, 압축을 풀고 OS 이미지를 MicroSD Card에 옮기면 되는데 적당한 프로그램을 이용해서 작업하시면 됩니다.

제가 사용해 보았던 프로그램은 다음의 두 가지입니다.

Win32 Disk Imager의 경우, 설치한 다음 바로 실행해서 이미지 파일을 전송하면 됩니다.

Balena Etcher를 사용할 경우에는 SD Card Formatter ( https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ )와 같은 도구로 MicroSD 카드를 먼저 포맷하고 작업하셔야 합니다.

Balena Etcher는 불행히도 사용화면을 캡쳐해 두지 않았네요...

 

OS 이미지를 MicroSD 카드에 전송하고 나면 이제 Jetson Nano에 카드를 장착해야겠죠.

그런데 장작하려고 Jetson Nano를 살펴보면 어디에 꽂아야 하는지 잘 보이지 않습니다.

한참을 빙글빙글 돌려가며 슬롯을 찾았습니다...

Jetson Nano 모듈과 캐리어기 결합되는 틈 사이에... 모듈의 아랫면에 위치해 있더군요.

MicroSD 카드를 장착하는 슬롯을 찾기가 어렵다.

아.. 여기서 한 가지..

사실 Jetson Nano의 본체는 이렇게 생겼습니다.

출처: Jetson Nano NVIDIA Developer (https://developer.nvidia.com/embedded/jetson-nano)

우리가 구매한 것은 Jetson Nano Developer Kit 입니다.

Jetson Nano의 본체와 개발용 캐리어가 결합된 형태죠.

 

이제 Jetson Nano에 OS 이미지가 담긴 MicroSD 카드를 장착했으니 전원을 넣어봐야겠죠.

그런데 구매했던 전원 어댑터의 케이블을 Jetson Nano의 전원부(Jetson Nano 하드웨어 구성에서 8번)에 꽂고 전원스위치를 올려봐도 켜지지 않습니다.

여기저기 둘러보고 껐다켰다를 반복해봐도 전원이 들어오지 않네요.

 

그런데 살펴보다 보니 Jetson Nano의 보드 위에 점퍼 핀 하나가 하나의 핀에만 꽂혀있습니다.

즉 아무런 동작을 하지 않고 Open 되어있더군요.

회로를 살펴보니 J48이라고 적혀있습니다.

 

그래서 인터넷을 Jetson Nano, J48 등으로 검색해보니 해당 점퍼 핀을 연결해 주어야 전원 어댑터를 사용할 수 있다고 하네요.

기본 설정은 USB 파워 입력 포트(Jetson Nano 하드웨어 구성에서 3번)로 설정되어 있었습니다.

해당 핀을 연결해주면 이제 전원 어댑터를 통해 전원이 입력됩니다.

J48 점퍼 핀을 연결해야 전원 어댑터를 사용할수 있다.

이제 전원이 잘 들어오고 있네요.

전원이 들어오면 USB 파워 입력포트 위에 초록색 LED가 켜진다.

Jetson Nano에 모니터와 마우스, 키보드를 연결하고...

전원을 넣으면 NVIDIA 로고가 나타나면서 Jetson Nano가 동작하기 시작합니다.

이후는 일반적인 Ubuntu 설치와 동일하다.

Jetson Nano가 켜진 후에 Ubuntu 18,04를 설치하는 화면이 나타나고 대부분 기본 설정을 유지한 채, 순서대로 진행하시면 됩니다.

위의 사진에서는 언어부분에서 한국어를 선택하고 설치했는데 여러가지 재 설정을 하면서 다시 설치할 때에는 그냥 영어를 기본으로 설치했습니다.

한국어로 설치하게 되면 홈 디렉토리의 각종 디렉토리 명이 한글로 만들어지거든요.

"다운로드", "문서" 등과 같이...

간혹 프로그래밍 시에 한글코드가 문제가 되는 경우가 있어서 저는 그냥 영어를 기반으로 OS를 설치하고 이후에 한글 입력팩을 설치하는 방법을 선호합니다.

 

이렇게 설치가 끝나고 나면 정상적으로 부팅이 이루이지는 것을 확인할 수 있습니다.

좀 이상한 NVIDIA 로고가 화면에 박혀있다.

이제 음성인식을 위한 사운드 카드와 영상처리를 위한 CSI 카메라를 설치해야합니다.

라즈베리파이는 사운드 모듈이 내장되어 있어서 아무런 문제가 없는데 Jetson Nano는 사운드 모듈이 포함되어 있지 않습니다.

여러가지 방법을 사용할 수 있지만 가장 쉬운 방법은 USB 사운드카드를 사서 꽂아 쓰는 방법이겠죠.

가격도 저렴해서 이 방법을 선택했습니다.

제대로 동작하는지 확인하기 위해서 제어판으로 들어가보죠.

제어판에서 사운드 설정을 선택하시면 사운드 출력(스피커)과 사운드 입력(마이크)의 설정 및 동작상태를 확인할 수 있습니다.

자, 그럼 마지막으로 CSI 카메라를 설치해야 합니다.

 

일단 Jetson Nano를 끄세요.

 

먼저 CSI 카메라 모듈에 케이블을 결합합니다.

케이블에서 파란색으로 코팅된 면이 위를 향하도록 카메라 모듈과 결합합니다.

커넥터가 망가지기 쉬우므로 주의해야 한다.

다음으로 Jetson Nano 본체의 CSI 카메라 커넥터에 케이블을 결합합니다.

케이블에서 파란색으로 코팅된 면이 Jetson Nano 본체의 바깥쪽을 향하도록 결합합니다.

역시 커넥터의 파손에 주의해야 한다.

설치가 끝나면 다시 Jetson Nano를 켜 봅니다.

그런데 제어판에서 카메라를 설정하려고 하면 그런 디바이스는 없다면서 인식을 하지 않습니다.

OS에 처음부터 설치되어 있는 NVIDIA의 도구를 사용해봐도 카메라는 인식하지 않네요.

 

그 이유는... CSI 카메라는 GStream을 통해서 파이프라인을 생성한 후에 인식할 수 있다고 합니다.

그럼 파이프라인을 생성해 주어야 겠죠.

다음의 명령으로 파이프라인을 생성할 수 있습니다.

전체 화면을 사용하는 명령입니다.

~$ gst-launch-1.0 nvarguscamerasrc ! nvoverlaysink

그런데 전체화면을 카메라가 다 잡아먹고 있으니 뭔가 할 수 가 없습니다.

화면 크기 등 여러가지 옵션을 설정해 주어야 사용에 문제가 없어 보이네요.

저는 도중에 중단시키는 방법을 몰라서 일단 Jetson Nano를 끄고 다시 켰습니다. ㅠㅠ

 

이번에는 옵션을 지정해서 파이프라인을 생성하도록 합니다.

~$ gst-launch-1.0 nvarguscamerasrc sensor_mode=0 ! 
     'video/x-raw(memory:NVMM), width=3820, height=2464, framerate=21/1, format=NV12' ! 
     nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=616' ! nvvidconv ! 
     nvegltransform ! nveglglessink -e

길지만.. 한 줄로 다 이어지는 명령입니다.

 

자 이제 카메라가 잘 동작하는 것을 확인할 수 있습니다.

자....

 

이것으로 Jetson Nano를 동작시키고 필요한 주변 장치들의 설치가 완료되었습니다.

다음 글에서는 Python 개발환경을 구축하도록 하겠습니다.

 

 

 

 

728x90
반응형