라벨이 jetson인 게시물 표시

[Jetson] 192.168.55.1 접근 실패(ping, ssh)

이미지
Jetson Nano 192.168.55.1 접근 실패 micro usb 케이블을 통해 노트북과 젯슨 나노를 연결하면 젯슨은 무조건 192.168.55.1 주소를 고정으로 가지며, 케이블 선을 연결한 뒤 ssh 혹은 ping 192.168.55.1을 던지면 젯슨에 접근이 안되는 경우가 발생합니다. 해결 방법 아래와 같이 선을 연결했는지 한번 더 확인합니다. 선 연결이 문제 없으면 젯슨은 192.168.55.1로 자동 설정되고, host pc는 192.168.55.100으로 설정해야 합니다. 즉, 노트북에서 수동 IP 설정을 해야 합니다. IP: 192.168.55.100 서브넷: 255.255.255.0 게이트웨이: 192.168.55.1 DNS: 8.8.8.8 수동 IP 설정하는 방법 맨 우측 하단을 마우스 우클릭하여 "네트워크 및 인터넷 설정" 클릭 네트워크 및 인터넷 창에서 "이더넷" 클릭 네트워크 및 인터넷 > 이더넷 창에서 "IP 할당의 편집" 클릭 IP 설정 편집에서 "수동" 클릭 IP 설정 편집에서 IPv4 "스위치" 클릭 IP주소부터 DNS까지 정보를 입력 후 저장 클릭 위와 같이 설정 후 ping 명령어를 통해 확인하면 제대로 연결되었음을 확인할 수 있습니다. ping이 안된다면? 만약, 위대로 진행했음에도 ping이 안된다면 네트워크 설정 칸을 바꿔서 수동 IP를 설정하세요. 참고 문헌 [1]   https://forums.developer.nvidia.com/t/ip-address-192-168-55-1/184273/5

[Jetson] TKinter, Virtualenv에서 사용하기 ModuleNotFoundError: No module named '_tkinter' 해결 방법

이미지
ModuleNotFoundError: No module named '_tkinter' 해결 방법 tkinter는 간단하게 apt install로 설치 가능합니다. sudo apt-get install python3-tk Copy 다만, venv에서 사용하려고 하면 시스템에 설치된 tkinter 파일을 venv에서 찾지 못해서 에러가 발생합니다. 해결 방법 우선 시스템에 설치된 _tkinter~~.so 파일을 찾습니다. 저는 python3.6 버전이기 때문에 cpython-36m입니다. (python3.8이면 38m 등으로 버전에 맞게 수정) find /usr/lib -name _tkinter.cpython-36m-aarch64-linux-gnu.so Copy 나온 경로를 참고하여 심볼링 링크를 생성합니다. cd 경로 설정 부분에서는 본인의 venv 경로를 {myvenvpath}에, venv name은 {myvenvname}에, python3.x는 본인의 python 버전에 맞춰 입력 ln -s 링크 설정 부분에서는 위 find에서 찾은 전체 경로를 /usr/lib/python3.x/lib-dynload/_tkinter.cpython-3xm-x86_64-linux-gnu.so 부분에 입력 저 같은 경우에는 python3.6으로, 기본 시스템으로 설치된 36m 버전의 _tkinter~.so 파일을 python3.8 lp(lp가 venv 이름)에 연결했습니다. cd ~/{myvenvpath}/{myvenvname}/lib/{python3.x}/site-packages ln -s /usr/lib/{python3.x}/lib-dynload/_tkinter.cpython-{3xm}-x86_64-linux-gnu.so _tkinter.so Copy 심볼링 링크 연결 심볼링 링크 연결 확인 심...

[Jetson] CSI camera Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:751 Failed to create CaptureSession

Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:751 Failed to create CaptureSession Jetson Nano CSI camera를 실행하려하면 위와 같은 에러가 발생한다. CaptureSession 생성을 실패했다는 에러인데, 다른 세션이 동일한 카메라를 잡고 있어서 새로운 세션을 생성할 수 없는 이유이다. 해결 방법 기존에 생성된 모든 세션을 종료하고 nvargus-daemon을 리셋해서 argus framework를 재설정한다. sudo service nvargus-daemon restart Copy 만약 위 방법으로 매번 service restart가 번거롭다면, 기존 세션을 여는 코드에서 try except으로 잡아주면 되는데, 프로세스가 예기치 않게 죽더라도 열어뒀던 세션을 release하도록 처리하면 된다. 참고 문헌 [1]   https://forums.developer.nvidia.com/t/error-generated-gstnvarguscamerasrc-cpp-execute-543-failed-to-create-capturesession/112431/2

[Jetson] Jetson Nano GPIO 권한 부여 (sudo 없이 사용)

Jetson Nano GPIO sudo 없이 사용 방법 sudo pip install Jetson.GPIO를 설치하면 GPIO를 사용할 수 있습니다. 다만, sudo 명령어 없이는 실행이 안되는데 sudo 명령어 없이 사용하는 방법을 알아보겠습니다. GPIO 권한 부여 $USER에 GPIO 권한을 부여합니다. sudo usermod -aG gpio $USER sudo chown root.gpio /dev/gpiochip0 sudo chmod 660 /dev/gpiochip0 sudo chown root.gpio /dev/gpiochip1 sudo chmod 660 /dev/gpiochip1 Copy 참고 문헌 [1]   https://github.com/NVIDIA/jetson-gpio/issues/20 [2]   https://forums.developer.nvidia.com/t/unable-to-get-permissions-for-jetson-gpio/297977/6

[Jetson] Jetson Nano Swap 파일 용량 변경

이미지
Jetson Nano Swap 파일 용량 증가 스왑 메모리는 실제 Ram이 가득 찼는데 더 많은 메모리가 필요할 때 디스크 공간을 이용하여 부족한 메모리를 대체할 수 있는 공간을 의미합니다. 실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 가상 메모리라고도 할 수 있습니다. 다만, 속도면에선 실제 메모리가 아닌 하드디스크를 사용하기에 속도는 현저히 떨어집니다. Swap 용량 변경 용량을 변경하기 전 현재 용량이 어떻게 설정되어 있는지 확인해보겠습니다. jtop Copy 메모리가 4GB이며 swap은 2GB인 것을 확인할 수 있습니다. * zram 권장 메모리 비율은 1:2(Ram 1/2 크기)이니 수정 전에 참고 부탁드립니다. 아래 파일로 들어가서 용량을 변경합니다. sudo vi /etc/systemd/nvzramconfig.sh Copy 1:2 비율을 권장하고 있어 /2가 보이는데요. 해당 부분을 "1로" 수정하면 1:1 비율이되어 용량을 늘릴 수 있습니다. 파일 수정 후 reboot하면 변경된 메모리 용량을 확인할 수 있습니다. sudo reboot Copy 참고 문헌 [1]   https://forums.developer.nvidia.com/t/jetpack-4-2-3-has-a-built-in-2gb-swap-file-we-are-not-able-to-increase-this-to-4-gb/108324 [2]   https://jw910911.tistory.com/122

[Jetson] venv(가상환경)에 OpenCV build(설치) 연결

이미지
venv에 OpenCV build(설치) 혹은 오류 해결 방법 python3.8을 우회 설치하면 OpenCV build 작업이 필요합니다. python3.8 설치는 여기 , OpenCV build는 여기 를 참고하세요. venv에 OpenCV 설치 위 방법으로 OpenCV를 설치하면 아래 명령어를 통해 cpython~~gnu.so 파일 위치를 찾습니다. * 이 파일은 OpenCV python 바인딩 제공 공유라이브러리 파일로 python 인터프리터와 OpenCV C++코드 연결 sudo find / -name "cv2.cpython*" Copy 위 파일을 venv에 있는 lib에 연결해줍니다. 본인이 생성한 virtualenv의 lib 경로로 이동한 뒤, 심볼링 링크를 연결합니다. cd ~/myenv/gstreamer/lib/python3.8/site-packages/ ln -s /usr/lib/python3/dist-packages/cv2/python-3.8/cv2.cpython-38-aarch64-linux-gnu.so cv2.so Copy 제가 테스트한 virtualenv 이름은 gstreamer이고 경로는 ~/myenv/gstreamer입니다. 본인 PC 경로를 "~/myenv/gstreamer" 부분에 입력하세요. 이후엔 위 find 명령으로 나온 gnu.so 파일의 경로를 심볼링 링크로 cv2.so로 연결해줍니다. ll 명령어를 통해 심볼링 링크가 제대로 생성되었는지 확인할 수 있습니다. ll Copy 심볼릭 링크가 제대로 생성되었다면 pip에 opencv가 없지만 cv2가 import됨을 확인할 수 있습니다. pip list | grep cv python import cv2 cv2.__version__ Copy * pip install opencv-python을...

[Jetson] Jetson Nano OpenCV 설치(build) 및 가속 활성화

이미지
Jetson Nano OpenCV build 및 가속 활성화 방법 Jetson Nano에서 YOLOv8이상의 버전을 사용하려면 JetPack에 기본으로 깔린 python, opencv, torch 등을 새로 설치해야합니다. python3.8 설치 방법은 여기 , Pytorch 1.11.0 & Torchvision 0.12.0에 대한 설치 방법은 여기 를 참고해주세요. OpenCV build OpenCV 설치에 앞서 python3.8 버전이라 가정하고 진행하겠습니다. JetPack 4.6은 OpenCV 4.1.1이 기본으로 설치되어 있고 OpenCV CUDA 가속 활성화가 안되어있습니다. * jetson_release 명령어 사용은 여기 를 참고하세요. 저는 python3.8을 우회 설치했기 때문에, 3.8 버전에 호환되는 OpenCV 4.7.0을 설치하겠습니다. * 기본으로 설치된 python3.6을 그대로 사용하실 분들은 OpenCV 4.5.0 버전을 사용하세요. https://github.com/Qengineering/Install-OpenCV-Jetson-Nano 에 친절하게도 sh를 실행하면 자동으로 OpenCV를 설치할 수 있도록 공유하고 있습니다. 위 사이트에서 제공하는 OpenCV 버전 중 본인이 다운받으려는 버전을 참고하여 아래 명령어를 수행합니다. 단, 설치를 진행하기 전 해당 사이트를 보면 swap 용량을 2GB -> 4GB로 늘리기를 권장하고 있습니다. swap 용량 늘리기는 여기 를 참고하세요. * 용량을 늘리지 않고 진행해도 설치에 문제는 없고 설치 속도가 조금 느림 wget https://github.com/Qengineering/Install-OpenCV-Jetson-Nano/raw/main/OpenCV-4-10-0.sh sudo chmod 755 ./OpenCV-4-7-0.sh ./OpenCV-4-7-0.sh Co...

[Jetson] Jetson Nano CSI Camera 연결 방법

이미지
Jetson Nano CSI Camera 연결 방법 Jetson Nano 카메라 연결에는 Raspberry Pi 용 카메라가 호환됩니다. 다만 Raspberry Pi V2 camera만 사용 가능하니(V1 지원 X) 카메라 버전을 꼭 확인하세요. 1. 카메라 연결 Jetson Nano에 카메라를 연결하기 위해선 MIPI CSI-2 cameara connectors에 연결해야 합니다. 아래 사진을 통해 카메라 연결 부분을 확인해주세요. 카메라 연결을 하기 위해선 연결 단자 윗부분을 살짝 들어올린 후 연결 하면 되는데, 동영상으로도 자세히 나와 있으니 여기 에서 57s~98s 사이를 참고하세요. 연결을 할 땐 반드시 카메라의 파란색 띠 부분과 파란색 글자 부분이 Jetson Nano 바깥쪽을 향하도록 끼워주세요. 2. 카메라 연동 테스트 카메라가 정상적으로 연결됐다면 Jetson Nano 터미널을 열어 아래 명령어를 입력하세요. ls /dev/video0 Copy 아래와 같이 카메라가 정상적으로 연결되었음을 확인할 수 있습니다. 만약, video0이 존재하지 않는다면 카메라의 파란색 띠 부분이 Jetson Nano 바깥쪽을 향하고 V2 카메라가 맞는지 다시 확인해주세요.(위 1번 재확인) 정상적으로 카메라 연결이 되었다면 카메라 테스트를 진행합니다. Jetson Nano는 GStreamer 인터페이스를 지원하기 때문에 GSreamer 명령어를 통해 스트리밍합니다. * 종료는 Ctrl + C 를 입력하세요. gst-launch-1.0 nvarguscamerasrc sensor_id=0 ! nvoverlaysink Copy 3. Python 연동 테스트 마지막으로 카메라를 python 코드로 실행시키는 방법을 알아보겠습니다. python 코드에서 gstreamer pipeline을 생성하여 실행한 뒤 opencv를 이용해서 읽어오는 ...

OSError: libmpi_cxx.so.40: cannot open shared object file: No such file or directory 에러 해결 방법

이미지
OSError: libmpi_cxx.so.40: cannot open shared object file: No such file or directory 에러 해결 방법 libmpi_cxx.so.40 파일이 없어서 발생한 에러입니다. 1. 해결 방법 apt 필수패키지를 설치하세요. sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev Copy 2. 우회 방법 아래 명령어를 통해 파일이 .20이 출력된다면 잘못된 설치를 하고 있는겁니다. find /usr/lib -name 'libmpi_cxx*' Copy nvidia developer 답변을 보면, .40은 JetPack5에 설치가 된다고 합니다.(.20은 JetPack4에 설치됩니다) 그렇기 때문에 JetPack4 버전에서 pytorch 1.11 이상을 설치하려고 한다면 여기 를 참고해주세요. 우회하여 pytorch 설치가 가능합니다. 참고 문헌 [1]   https://forums.developer.nvidia.com/t/oserror-libmpi-cxx-so-40-cannot-open-shared-object-file-no-such-file-or-directory/275425/5

[Jetson] Jetson Nano Pytorch 1.11.0, Torchvision 0.12.0 설치 방법

이미지
Jetson Nano Pytorch 1.11.0 & Torchvision 0.12.0 설치 방법 Jetson Nano에서 YOLOv8을 동작하기 위해선 python3.8 이상의 버전이 필요합니다. Nano에 호환되는 JetPack 4.6.1에는 python3.6이 설치되었기 때문에 여기 를 참고해서 3.8를 설치합니다. 설치를 진행하기 앞서 venv를 활성화했다고 가정하고 진행하겠습니다.(위 첨부된 url에 자세히 기재되어있음) Pytorch 1.11.0 & Torchvision 0.12.0 설치 설치를 진행하기 앞서 필요한 필수 패키지를 설치합니다. sudo apt update sudo apt install -y libopenmpi-dev libomp-dev libopenblas-dev libblas-dev libeigen3-dev libcublas-dev Copy python 패키지를 설치합니다. pip install -U pip wheel gdown Copy pre-built된 pytorch와 torchvision을 다운받아 설치합니다. gdown https://drive.google.com/uc?id=1hs9HM0XJ2LPFghcn7ZMOs5qu5HexPXwM gdown https://drive.google.com/uc?id=1m0d8ruUY8RvCP9eVjZw4Nc8LAwM8yuGV python -m pip install torch-*.whl torchvision-*.whl Copy yolo를 사용하기 위해서 ultralytics 패키지를 설치합니다. pip install ultralytics Copy 이후 yolo를 실행하면 GPU를 이용해서 정상적으로 동작함을 확인할 수 있습니다. jtop 명령어를 통해서 GPU 사용량 확인 가능합니다. 참고 문헌 [1] ...

[Jetson] Jetson Nano Python3.8 설치 방법

이미지
Jetson Nano Python3.8 설치 방법 Jetson Nano는 JetPack 4.6까지 지원하며, 4.6버전은 python 3.6을 지원합니다. yolov8을 사용하기 위해선 python 3.8 이상 버전이 필요하기 때문에 3.8 설치를 진행하겠습니다. Jetson Nano OS 설치가 필요한 분들은 여기 를 참고하세요. Python3.8 설치 설치를 진행하기 앞서 apt update와 upgrade를 진행합니다. sudo apt update sudo apt upgrade Copy apt upgrade 중, E: Sub-process /usr/bin/dpkg returned an error code (1)가 발생하면 여기 를 참고하세요. update & upgrade를 완료하면 필요한 패키지를 설치합니다. sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev libffi-dev libc6-dev Copy python 3.8 소스코드를 다운받고 압축 해제를 진행합니다. wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz tar -xf Python-3.8.12.tar.xz cd Python-3.8.12 Copy python 3.8를 build 합니다. ./configure --enable-optimizations make -j4 Copy 마지막 컴파일을 진행합니다. sudo make altinstall python3.8 --version Copy 설치가 완...

[Jetson] jetson nano OS 설치 방법(MAC version)

이미지
Jetson Nano OS 설치 설치를 진행하기 전 아래 준비 물품이 필요합니다. MicroSD card 32GB 이상이 필요합니다. MicroSD 카드리더기(SD카드를 컴퓨터와 연결하는 목적) 1. Jetson Nano IMG 다운 Nvidia Developer 사이트에서 Jetson Nano IMG 파일을 다운받습니다. https://developer.nvidia.com/embedded/downloads * 링크로 연결이 안되는 경우 url을 인터넷 창에 복사/붙여넣기해서 접속하면 됩니다. 여러 리스트 중에 Jetson Nano Developer Kit SD Card Image(4.6.1 JetPack)를 다운받습니다. * 본인이 Jetson Nano 가 아닌 다른 디바이스라면 해당 디바이스에 맞는 SD Card Image를 다운받아야 합니다. 다운로드가 완료되면 파일을 압축해제 합니다.(sd-blob-b01.img 파일이 생성) 2. MicroSD Card 포맷 SD Card 포맷을 위해 SD Card Formatter를 다운받습니다.(포맷이 필요없는 분은 3번으로 넘어가세요) 아래 url은 mac용 다운 url입니다. 윈도우 버전 다운은 여기 로 이동하세요. https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-mac-download/ 맨 밑으로 화면을 내려 Accept을 클릭하여 다운로드를 진행합니다. 다운받은 파일을 이용해서 설치를 진행합니다 설치를 완료하면 SD Card 리더기를 이용해서 컴퓨터와 연결합니다. SD Card 방향은 사진을 잘 참고해서 넣어주세요. SD Card를 컴퓨터와 ...