맥에서 라즈베리파이 환경 잡기

growJ.·2022년 8월 9일
2

학교에서 졸업작품으로 무얼할까 생각하던 도중 OpenCV를 이용한 모빌리티 로봇을 만들기로 생각했습니다.
OpenCV는 책으로 공부를 하고 있었고, 문제는 라즈베리파이에서 과연 OpenCV와 Tensorflow를 모두 감당할 수 있는지 궁금하여 라즈베리파이를 구매했습니다.

모빌리티 로봇을 만들기 위해 사용하는 기술

🧷 사용하려는 기술 : OpenCV, Tensorflow
🧷 하드웨어 구성 : 라즈베리파이, 이동체 섀시(섀시란 차량과 같은 이동체의 프레임 완성품을 말합니다.)

제품을 구성하는 기술적 이론은 간단히 다음과 같이 설명할 수 있습니다.

  1. 라즈베리파이에서 카메라를 이용하여 실시간으로 검출한다.
  2. 검출된 객체를 분석하여 모빌리티 이동체의 이동 방향을 결정한다.(이때, 네비게이션 API를 이용하여 최종적으로는 설정한 목적지까지 도달하는 것이 목표입니다.)
  3. 객체의 검출과 이동체의 방향 결정중에 Tensorflow를 이용하여 가장 효과적인 경로를 분석한다.

사실 목표하는 바대로 동작할 것인지는 아직 미지수입니다. 프로젝트가 실패할 수 있지만, 한번 시도해 보려고 합니다.

라즈베리파이를 구매하였다.(중고로...)

라즈베리파이에 대해 공부하기 위해 라즈베리파이를 구매했습니다. OpenCV와 Tensorflow를 돌려야 되고, 카메라를 2개 이상 이용할 것으로 생각하고 있어서 최대한, 높은 성능의 라즈베리파이를 구매하려고 했습니다.
문제는... 환율때문에 너무 가격이 높았고, 라즈베리파이 4B의 8GB 메모리 모델은 무려 22만원 가량을 지출해야 했습니다.
그래서 결국, 중고로 구매했습니다!

MAC에서 라즈베리파이 설정하기

라즈베리파이를 받았는데, 이제 어떻게 사용하지??

라즈베리파이는 일종의 아두이노 + PC라고 생각을 하면 됩니다. 아두이노와 같이 센서, 액추에이터 동작을 위한 GPIO가 있지만, Linux 기반의 라즈비안OS를 탑재하여, PC처럼 동작을 시킬 수 있습니다. 실제로 받으면 USB, 이더넷, microHDMI와 같이 PC에서 볼 수 있는 포트들도 찾아볼 수 있습니다.

문제는, 저는 지금 microHDMI to HDMI 케이블이 없습니다. 3.5인치의 라즈베리파이용 디스플레이도 같이 구매했지만, 이를 사용하기 위해서는 라즈베리파이에 초기 설정을 해줘야 됩니다. 즉, 기계는 있지만 볼 수 있는 환경이 없는 것입니다. 이를 해결하기 위해 고민하던 중, 터미널을 이용해서 SSH로 연결할 수 없을까 하고 생각했습니다.

라즈베리파이OS(라즈비안OS) 설치하기

먼저 라즈베리파이OS 홈페이지에 접속해서 Software > Download for mac OS를 다운받아 실행합니다.

저는 여기서 운영체제는 Raspberry PI OS (64-Bit)를 선택했습니다.
운영체제 선택후, 연결한 라즈베리파이의 microSD카드를 선택한 후 쓰기를 누릅니다.

이렇게 만들게 되면, 이전의 복잡한 과정필요 없이, 라즈베리파이OS가 자동으로 SD카드에 설치됩니다.

자동 Wifi 및 SSH 설정하기

이전에 여러 글을 확인했을 때, "wpa_supplicant.conf"파일과 ssh 파일을 만들면 라즈베리파이에서 SSH 연결이 가능하다는 글을 여럿 확인할 수 있었습니다. 이처럼 설정 했을 때, 초기 아이디가 pi, 비밀번호가 raspberry로 지정된다고 했는데 도저히 되지 않아 Raspberry Pi Imager 프로그램을 살펴보던 중 이곳에서 설정할 수 있음을 확인했습니다.

Raspberry Pi Imager 툴의 아래 설정 버튼을 누르게 되면, SSH와 비밀번호 설정을 할 수 있습니다!

이곳에서 Wifi, 사용자 이름, 패스워드, SSH 사용까지 체크한 뒤에, Raspberry Pi OS를 설치하면 됩니다.

라즈베리파이 연결하기

라즈베리파이에 microSD카드를 꽂은 뒤 약 5분정도 뒤에 부팅이 다 되었다고 생각한다면, 맥의 Terminal에서 다음과 같이 명령어를 입력하여 접속합니다.

ssh 사용자id@라즈베리파이ip (ex : ssh pi@192.168.0.53)

사용자 id는 설정시에 입력한 id를 입력하면 되고, 라즈베리파이의 ip는 공유기 설정창에서 확인하거나, 맥에서 "arp -al" 명령어를 통해 같은 네트워크 내의 장비를 확인합니다. 초기설정의 경우,

ssh 사용자id@raspberrypi

와 같은 명령어로도 접속이 가능할 수 있습니다.
이렇게 접속하게 되면, 아래와 같이 질문 연결을 할 것인지에 대해 질문합니다. 이때, yes를 입력하면 됩니다. 그 후에 설정한 패스워드를 입력하면, 정상적으로 접속되는 것을 볼 수 있습니다.

3.5인치 lcd 디스플레이 연결하기

LCD 디스플레이 드라이버 설치하기

먼저 Git을 통해 LCD 드라이버를 다운받습니다.

sudo git clone https://github.com/goodtft/LCD-show.git

이후, 다운받은 폴더로 이동하여 모델에 맞는 파일을 실행합니다.
저의 경우 3.5인치 디스플레이를 이용하기에 LCD35-show를 이용하였습니다.

cd LCD-show
sudo ./LCD35-show

이 명령어 이후, 드라이버가 설치되다가 라즈베리파이가 재부팅됨을 볼 수 있습니다.

재부팅

재부팅 되길 기다리다가 정상적으로 화면이 출력되면 성공입니다!

이제, OpenCV와 Tensorflow를 공부하면 되겠군요!

profile
그냥 끄적여보는 블로그

0개의 댓글

관련 채용 정보