[CCTVWithAI] (2021.08.08) 개발 일지 | Jetson Nano 언박싱 & 세팅, Ubuntu 설치, Samba 서버 구축

Hotaek Han·2021년 8월 8일
1

CCTVWithAI

목록 보기
23/25
post-thumbnail

Jetson Nano 세팅

Jetson Nano가 주문한지 9일만에 도착했다.

Unboxing, Ubuntu 18.04 설치



뭔가 조립용 pc를 구매한 느낌


충전기는 왔는데 220V로 연결할 선이 오질 않았다. 어이가 없다. 다들 집에 이런거 하나씩 갖고 있나?

그런데 나도 갖고 있었다. 프린터기의 선과 일치하여 그걸 일단 빼왔다. 프린터를 해야할 때 매우 번거로울 것으로 예상된다.


Jetson Nano Case C type이다. 철제라서 생각보다 튼튼하고 묵직했다.


주인공 Jetson Nano
USB, 랜선, HDMI, 충전기 어뎁터 등을 꽂을 수 있는 단자들이 있다.


위에서 본 모습


필요한 주변 기기를 꽂은 모습이다.
무선 마우스와 사진에선 보이지 않지만 무선 키보드도 연결했다. 랜선과 최대 성능을 낼 수 있게 어뎁터를 꽂았다. HDMI 선으로 모니터를 연결하였다.


와! NVIDIA!


일부 사람들이 영어로 설정하는 것을 추천했지만 갑자기 Calculus 생각이 나면서 한국어로 해버렸다. 진짜 앞으로 영어책 사지 말아야하나


컴퓨터 정보를 입력해주고


네온 사인 효과로 빛나는 'ubuntu'가 멋지다. 이걸 보고서야 내가 윈도우가 아닌 다른 운영체제를 사용한다는 것이 체감되면서 약간 설렜다.


켜졌는데 바탕화면이 너무 정신 없어서 바꿨다.




Jetson Nano의 Updater를 사용하여 Ubuntu 18.04를 업데이트해줬다. 나중에 알고보니 Ubuntu는 20.x 이상 출시되었는데 개발자용은 완전히 최신 버전은 사용하지 않는다고 한다. 다른 프로그램과의 호환성이나 미처 발견되지 못한 버그들이 존재할 수 있는 점을 생각해보면 이해가 간다.


인터넷도 약간 느리긴 한데 잘 된다.

Python 업데이트 하기


사진에 대해 설명하면, Python의 버전이 2.7.17과 3.6.9로 설치되어 있는 것을 확인한 사진이다. 경로가 home/Python-3.9.6인 이유는 python3의 버전을 3.9.6으로 업데이트하기 위해 준비한 폴더에서 터미널을 실행하고 있기 때문이다.

마주한 문제점: Python 버전 인식 문제



여기에서 Python3 업데이트하는 과정을 잘 설명해주셔서 보고 따라했는데 여전히 version이 3.6.9라고 출력되는 모습이다.

같은 블로그의 글 중에서 환경 변수를 설정하는 방법에 대해 다루는 글이 있었고, 설명하는대로 터미널에서 환경 변수를 바꿔보았지만 여전히 3.6.9라고 출력이 되었다.

해결한 방법


그러다가 실수로 뭔가 잘못 건들여서 다시 좀 전의 과정 그대로 재설치하게 되었는데, 갑자기 version을 출력해보니 3.9.6이라고 출력되었다.

일단 해결하긴 했는데 어떻게 해결된 건지는 잘 모르겠다. 그냥 재설치 해보는 것도 방법이 될 수 있겠다는 생각이 들었다.

Samba 서버 구축


Python을 설치하고 Ubuntu를 구경하는데, 프로젝트 관련 내용을 저장할 폴더를 우클릭해보니 해당 폴더를 다른 컴퓨터(윈도우)와 공유할 수 있게 해주는 Samba가 존재한다는 사실을 알게 되었다.

보자마자 앞으로 프로젝트에 좋은 기능이 될 것이라는 생각이 들어서 찾아보니, 윈도우와 리눅스 시스템 사이의 데이터 공유를 편리하게 해주는 프로그램이었다.

이 블로그에서 설명하는 것을 보고 따라했다.

그러나 나에겐 쉽지 않았다. 그리 어려운 것은 아니었는데 아직 linux가 익숙하지 않았던 탓인 것 같다.

마주한 문제점


우선 vi 에디터와 nano 에디터에 대해서도 잘 몰랐기 때문에, 어떤 글을 보고 nano 에디터를 사용하여 서버에 대한 정보를 입력할 수 있는 smb.conf 파일을 여는 코드를 따라 쳤는데 당연히 nano는 기본적으로 설치되는 프로그램이 아니기 때문에 실행되지 않았다.

그래서 내가 했던 방법은 smb.conf 파일이 저장된 폴더로 직접 가서 열어봤으나, 읽기 전용으로 밖에 열리지 않았다.

나중에 vi로 여는 것은 성공했으나 vi 조작 방법을 몰라서 해매다가 구글링해서 알아냈고, 아래와 같이 서버에 대한 정보를 입력했다.


comment는 해당 폴더에 대한 설명이다. path는 해당 폴더의 ubuntu 상의 위치이고, valid users는 해당 폴더에 접근할 수 있는 사용자를 뜻한다. 여기에서 사용자라는 개념에 또 혼동이 되었는데, 파악한 바로는 ubuntu에 로그온 할 때 사용되는 계정과는 다르게, 보안을 목적으로 계정마다 사용자를 여러 개 만들 수 있는 모양이었다. 문제는 여기에 입력되는 계정은 이미 존재해야 하는 계정인데, 이것을 제대로 짚고 넘어가지 않아 smb.conf 파일을 수정하고도 문제를 겪었다.


이것은 내 윈도우 노트북의 화면인데, jetson nano 주소를 입력하면 위와 같이 공유해놓은 폴더가 나타난다. (이땐 왜 폴더 두 개가 나타나는지 이해하지 못했으나, 위에서 smb.conf 파일에 입력하여 등록한 폴더는 HotaekHan이고, CCTVWithAI는 따로 파일에 입력하지 않았어도 우클릭에서 공유를 설정해 놓았기 때문에 이렇게 두 폴더가 나타나는 것이다. 그것 자체는 문제가 되지 않지만..)


이렇게 미리 설정한 사용자 정보를 입력해도 접근할 수 없었다. 나중에 알고 보니 위에서 말했듯, ubuntu의 계정 정보를 입력하는 것이 아니라, 사용자를 생성하여 등록한 후에 그 정보를 입력해야 접근이 가능했던 것이다.

해결한 방법



ubuntu에서 사용자를 생성하여 등록하니, 바로 윈도우에서 접근이 가능했다.
테스트를 위해 윈도우에서 txt 파일을 생성하고 입력하여 저장해준 뒤에 jetson nano에서 해당 폴더를 들어가보니...


성공적으로 저장이 되었음을 알 수 있었다.

네트워크 등록하기


매번 윈도우에서 jetson nano의 주소를 입력하여 접근하기 번거롭다.

이 블로그 다행히 윈도우에서 제공하는 '네트워크 드라이브 연결' 기능을 사용하면, 위와 같이 네트워크의 위치를 등록해 놓고 편리하게 접근할 수 있다.


이것은 드라이브 연결의 문제는 아니고, jetson nano가 인터넷에 연결되어 있지 않을 때 발생하는 오류이다. jetson nano가 온라인이어야만 접근이 가능한 모양이다.


마치며


우선 개발 환경이 익숙하지 않아서 조금 더 해맸던 것 같다. 터미널에서 비밀번호를 입력하면 원래 보이지 않는데, 왜 갑자기 안되는지 이해하지 못했다거나 한글 타이핑이 되지 않아서 그걸 또 해결해야 했다던가.

글을 써보니 다른 사람의 블로그에서 많이 도움을 받았다는 것을 깨달았다.

그만큼 아직 스스로의 힘만으로 해내기엔 부족하다고 느꼈다. 그렇다고 나중에 구글링을 아예 안하게 되느냐? 그건 절대 아니지만..뭐 오늘도 많은 것을 배웠다고 생각하고 내 지식의 영역을 확장해 나가고 싶다.

그리고 내가 다른 글에서 도움을 받은 것처럼 내 글도 누군가에게 도움이 되길 바란다.

0개의 댓글