본문 바로가기
활동 일지/캡스톤디자인프로젝트

[캡스톤디자인프로젝트 | 스타트] 라즈베리파이 & 카메라 모듈 개발 환경 설정

by seoyamin 2022. 11. 22.

졸업 프로젝트를 하며 처음으로 라즈베리 파이를 접하고, 개발을 위한 환경을 세팅해봤다.

하드웨어를 본격적으로 다룬 경험은 처음이라 겁도 많이 먹었었는데, 

하나하나씩 공부하며 따라하니까 무사히 세팅을 마칠 수 있었다.

(중간에 안돼서 열받은 기억도 많지만...결국 되면 다 미화됨ㅋㅋ)

 

기억 증발 전에 그 과정을 후다닥 기록해보고자 한다.

[참고 자료] https://www.youtube.com/watch?v=rEOxUx23A8U&t=417s

 

목차
1. 기기 세팅
2. Raspberrypi OS 세팅
3. VNC Viewer 설정
4. 카메라 모듈 연결

 

1.  기기 세팅

준비물 |  라즈베리파이 CPU, 카메라 모듈

 

우리 팀의 경우, 라즈베리 파이 키트 & 카메라 모듈을 구입했다. 처음에 뭐가 엄청 많아서 당황했었다.

초기 세팅에 핵심적으로 필요한 것은 CPU, 카메라 모듈뿐이다.

그러나 고가의 파이님을 안전하게 모시기 위해 방열판 스티커를 붙여드리고,

CPU를 케이스로 감싸드리는게 마음과 계좌 안정에 도움이 된다.

기기 세팅은 이게 끝이다. 

 

와플 모양 황동색 스티커가 방열판이며, 총 4개 들어있다.

 

 

2.  Raspberrypi OS 세팅

준비물 |  micro SD Card, SD카드 usb 리더기

 

이제 라즈베리파이 OS를 SD카드에 구워야 한다.

즉, 우리의 PC에서 windows를 통해 SD카드에 라즈베리파이용 OS를 다운받은 후,

이 SD카드를 라즈베리 파이 기기에 부착하면 거기서 라즈베리파이용 OS가 돌아가게 되는 것이다.

 

 

2-1. 개인 PC에 SD카드 연결 

SD카드 리더기를 통해 노트북에 연결해준다.

 

2-2. Raspberry Pi Imager 설치

https://www.raspberrypi.com/software/  사이트에 접속하여, 본인의 운영체제에 맞는 raspberry pi imager를 설치해준다. 나는 windows용을 설치하였다. 

 

 

설치를 완료하고 나면, 아래와 같은 창이 뜬다.

여기서 라즈베리 파이 os 관련 설정을 하고, SD카드를 구울 수 있다.

 

 

가운데 [저장소 선택]을 누른 후, 1에서 삽입한 SD카드를 선택한다. 

 

제일 왼쪽 [운영체제 선택]에서는 기본 버전 32-bits OS를 선택했다.

 

이제 라즈베리 파이 관련 고급 설정을 해줄 것이다. 

우측 하단의 [톱니바퀴]를 누르면 아래와 같은 창이 뜬다.

 

(1) 이미지 사용자 정의 옵션

'항상 사용'으로 선택한다. 

 

(2) host name 설정

직관적으로 구분할 수 있게 'raspberrypi'로 설정해준다. 

 

(3) SSH 설정

'비밀번호 인증 사용'을 선택하고, 사용자 이름과 비밀번호를 설정해준다.

(통상적으로 사용자 이름에는 'pi'를 많이 사용한다고 한다.)

 

 

(4) 무선 LAN 설정

라즈베리파이 화면을 보기 위해서는 원래 모니터를 hdmi로 연결해야 한다.

그러나, 나는 모니터 없이 Virtual Viewer를 이용해서 노트북에 바로 라즈베리 파이 화면을 띄우는 방법을 이용했다. 

이를 위해서는 라즈베리파이와 내 노트북이 동일한 ip를 사용해야 한다. 

이때 무선랜을 설정하는 방법은 다양하다. 현재 PC와 동일한 ip의 와이파이를 사용해도 된다. 

 

하지만 나는 매번 다른 PC wifi 환경에 연결되더라도 라즈베리파이 기기와 잘 연결되기를 희망했으므로, 

라즈베리 파이를 하나의 wifi에만 직접 연결되게 세팅하지 않고, 노트북의 핫스팟에 연결되게 설정했다. 

(이러면 노트북을 어디로 가져가든, 노트북이 와이파이에 연결되면, 핫스팟 탯줄로 라즈베리파이가 연결되는 것이다.)

 

(4)-1. 내 PC 네트워크 속성 설정

노트북에서 설정>네트워크 및 인터넷 > 모바일 핫스팟  에 가면, 내 PC의 네트워크 속성을 설정할 수 있다. 

[편집]을 눌러서 내 PC 네트워크의 이름과 암호를 설정해준다. 

밴드는 2.4GHz로 설정해줬다. 

 

(4)-2. 라즈베리파이 무선랜 설정

다시 라즈베리파이 고급 옵션 설정으로 돌아와서, (4)-1에서 설정한 내 PC의 네트워크 이름과 암호를 입력해준다. 무선랜 국가는 GB으로 설정해야 네트워크가 잘 터진다고 해서 GB으로 했다. 

 

(5) 로케일 시간 설정

Asia/Seoul로 설정하고, us는 그대로 둔다.

 

이제, 저장 후 [쓰기]를 누르면 SD카드에 OS가 다운받아진다.

 

 

다운이 완료되면, SD카드를 꺼내서 라즈베리파이 기기에 삽입하고, 전원을 연결한다.

처음에는 초록+빨강 불빛이 반짝거리다가 빨간색 불만 들어오면 로딩이 완료된 것이다.

 

조금 기다려보면 핫스팟으로 라즈베리파이 기기가 pc에 연결된 것을 확인할 수 있다.

 

 

3. VNC Viewer 설정

준비물 |   PuTTy

 

3-1. VNC Viewer 설치

https://vnc-viewer.softonic.kr/  해당 사이트에서 VNC Viewer를 설치해준다.

 

 

3-2. PuTTy로 라즈베리파이 접속

hostname에 'raspberrypi'를 입력하고 나머지 세팅은 다 그대로 둔 채

[Open] 버튼을 누르면 라즈베리파이에 접속할 수 있다. 

 

그런데, 내 경우에는 자꾸 접속이 되지 않아서 hostname 자리에 바로 라즈베리파이 ip 주소를 입력했더니 잘 접속되었다. (라즈베리파이 OS는 노트북에서 설정>네트워크 및 인터넷 > 모바일 핫스팟 > 속성 > 연결된 장치 에서 확인할 수 있다!)

Saved Sessions에 해당 ip 이름을 'raspberrypi'로 설정하고 [Save] 해두면 매번 ip주소 칠 필요 없다!

 

아까 설정해둔 SSH 사용자 id, pw를 입력하고 들어가면 된다. 

 

 

3-3. PuTTy에서 VNC Viewer 설정

(1)  config 파일 설정하기

PuTTy 터미널창에 아래 명령어를 입력해서 config.txt 파일을 열어준다.

sudo nano /boot/config.txt

 

 

이후, hdmi_force_hotplug 설정 문장의 주석을 제거해준다. 

원래 라즈베리파이는 hdmi (모니터용)를 연결하지 않으면 켜지지가 않는데, 그 설정을 해결하기 위함이다.

주석을 삭제한 후 ctrl + x, shift + y, enter를 눌러서 변경사항을 저장하고 파일을 닫는다.

before
after

 

(2)  raspi-config 설정하기

PuTTy 터미널창에 아래 명령어를 입력한다. 

sudo raspi-config

 

 

3. Interface Options > I3. VNC 설정에서 VNC 서버를 enabled 해준다.

 

 

2. Display Options에서 VNC 화면과 관련된 설정을 해준다. 

나는 D5 VNC Resolution, 1920 X 1080 을 선택하였다. 

 

 

설정을 완료했으면 raspi-config를 finish 해준다. 

 

이후에 reboot now? 질문에 <Yes>를 선택해서 라즈베리파이를 리부팅해준다.

 

 

3-4.  VNC Viewer 접속

hostname인 raspberrypi 혹은 라즈베리파이 ip 주소를 입력하면 VNC Viewer로 접속할 수 있다.

Authentificatino 화면에서 이전에 설정한 username과 pw를 입력해준다.

 

 

그 결과, VNC Viwer로 라즈베리 파이에 접속할 수 있게 된다!

 

 

4. 카메라 모듈 연결

4-1. 카메라 권한 허용하기

라즈베리 파이 config에서 카메라를 허용해줘야 한다. 이를 위해서 raspi-config를 열고, 설정을 해줄 것이다. 

우선 라즈베리 파이 터미널을 열고 sudo  raspi-config 명령어로 설정 파일을 열어준다.

sudo  raspi-config

 

 

3. Interface Options > I1. Legacy Camera 를 enabled 해준다.

 

 

(라즈베리파이를 한번 reboot 해준다)

 

 

4-2. 카메라 연결 확인하기

터미널에서 vcgencmd get_camera 명령어를 입력했을때 supported, detected 기기값이 모두 1이면 카메라 모듈이 잘 연결된 상태임을 의미한다. 

vcgencmd get_camera

 

 

 

4-3. 카메라로 사진 파일 생성해보기

테스트를 위해 hello.jpg라는 사진 파일 하나를 생성해보자!

raspistill -o hello.jpg

 

 

잠시 후, 파일에 들어가 보면 hello.jpg 사진 파일이 잘 생성된 것을 확인할 수 있다 !

카메라 모듈 연결 성공!