안경잡이개발자

728x90
반응형

  라즈베리파이(Raspberry Pi) Zero W가성비가 매우 뛰어난 소형 보드로 유명합니다. 저는 현재 참여하고 있는 프로젝트에서 라즈베리파이를 사용해야 해서 이 모델을 골라 사용하고 있습니다. Raspberry Pi Zero W는 다음과 같이 생겼습니다. SD 카드에 라즈베리파이 운영체제(OS)를 설치한 뒤에 라즈베리파이에 꽂아서 부팅하면 됩니다.

 

 

※ 스펙(Specification) 소개 ※

  ▶ 802.11 b/g/n wireless LAN: 와이파이(Wi-Fi)를 사용할 수 있습니다.
  ▶ 블루투스(Bluetooth)
  ▶ 1GHz, single-core CPU: 다른 소형 보드와 비교했을 때, 가격 대비 괜찮은 성능의 CPU가 탑재되어 있습니다.
  ▶ 512MB RAM: 간단한 웹 서버를 올릴 수도 있는 크기의 메모리(RAM)입니다. 
  ▶ USB OTG: USB 디바이스 기능을 지원합니다. (라즈베리파이를 이용한 마우스, 키보드 개발 등이 가능)
  ▶ Micro USB Power: 충전 목적의 포트입니다. 다만 전원용 USB의 전압(voltage)은 반드시 5-5.25V 사이가 되어야 합니다.  일반적인 USB 충전기의 경우 5V 전압이므로, 그냥 편의점에서 파는 마이크로 USB를 꽂아 쓰면 됩니다.
  ▶ CSI Camera Connector: CSI 포트가 존재하므로 라즈베리파이 카메라 모듈을 사용할 수 있습니다. IoT 사물 인식 기기, CCTV 기기 등을 개발할 때 효과적으로 사용됩니다.

 

※ 라즈베리파이의 일반적인 사용 형태 ※

 

  참고로 Raspberry Pi Zero W의 경우 헤드리스(headless) 서버 설정이 가능하기 때문에, 사실 Mini HDMI 케이블을 구매하지 않아도 간단히 서버로 사용이 가능합니다. 아마 단순히 라즈베리파이를 간단한 서버용으로 사용하시는 분들은 다음과 같은 형태로 사용하실 겁니다. SD카드에 우분투(Ubuntu)를 구워 넣고, 마이크로 USB로 전원을 공급하고 있는 모습입니다. 라즈베리파이 OS의 경우에 SSH 접속을 지원하기 때문에, SSH를 열어 놓고 외부에서 접속해 사용하는 방식으로 편하게 사용할 수 있습니다.

 

 

※ Raspberry Pi Zero W 구매 방법 ※

 

  Raspberry Pi Zero W는 Amazon이나 Canakit과 같은 사이트를 통해 구매할 수 있습니다. 또한 일반적인 경우 보드(Board)만 구매하는 경우에는 1개씩만 구매할 수 있도록 하는 경우가 많습니다. 사실 10달러($)에 이 정도의 보드를 살 수 있다는 것 자체가 매우 좋은 조건이긴 합니다.

 

 

  참고로 스타터 키트(Starter Kit)의 경우 다음과 같은 구성을 가지고 있습니다. 확인해 보시면 Mini HDMI 어댑터(adapter)와 USB OTG 케이블(cable)을 가지고 있습니다. 이걸로 모니터와 마우스를 연결할 수 있기 때문에, 헤드리스(headless) 서버가 아니라 하나의 고유한 컴퓨터처럼 라즈베리 파이를 이용하고 싶으신 분들은 스타터 키트를 구매하시는 것이 편할 수 있습니다.

 

 

※ 라즈비안(Raspbian) OS 설치하기 ※

 

  라즈베리파이는 기본적으로 SD 카드를 꽂을 공간을 가지고 있습니다. 따라서 SD 카드에 운영체제(OS)를 설치하면 됩니다. 가장 대표적인 운영체제로 라즈비안(Raspbian) OS를 설치할 수 있습니다.

 

▶ 라즈비안(Raspbian) 운영체제 설치 경로https://www.raspberrypi.org/downloads/raspbian/

 

Download Raspberry Pi OS for Raspberry Pi

Raspberry Pi OS (previously called Raspbian) is the Foundation's official supported operating system. Install it with NOOBS or download the image below.

www.raspberrypi.org

 

  다음과 같이 최소한의 정보만 담은 Lite 버전으로 OS를 설치하여 사용할 수 있습니다. [Download ZIP] 버튼을 눌러  다운로드를 진행합니다. 대개 3분~5분 정도면 다운로드가 완료되며, 압축된 파일은 500MB가 안 되지만 실제 이미지(image) 파일은 2GB 정도입니다.

 

 

※ SD 카드에 라즈비안(Raspbian) OS 굽기 ※

 

  라즈비안(Raspbian)을 OS에 굽기 위해서는 플래시(Flash) 프로그램을 사용할 수 있습니다.

 

  ▶ Etcher 설치 경로: www.balena.io/etcher/

 

  자신의 운영체제에 맞는 설치 프로그램을 받아서 설치를 진행하시면 됩니다. 저는 다음과 같이 윈도우(Windows) 운영체제에 맞는 프로그램을 설치했습니다.

 

 

  이어서 설치를 진행하시면 됩니다.

 

 

  이후에 Etcher 프로그램을 이용하여 라즈베리파이 이미지 파일을 선택하고, 플래시(flash)를 진행하면 됩니다. 이를 위해 SD 카드 어댑터(adapter)를 이용하여 PC에 SD 카드를 연결해야 합니다. 일반적인 컴퓨터나 노트북은 SD 카드 어댑터를 이용해 SD 카드를 연결하게 되어 있습니다.

 

 

  Etcher 프로그램을 실행하여 [Flash from file]을 눌러 라즈베리파이 이미지를 선택합니다.

 

 

  그리고 [Selected target] 버튼을 눌러 SD 카드를 선택하고 플래시(flash) 버튼을 누릅니다.

 

 

  플래시(flash) 작업이 완료되면 SD 카드에 라즈베리파이 OS가 설치가 완료됩니다.

 

 

  이제 완료되면 부트 폴더를 확인할 수 있습니다. 윈도우(Windows) 운영체제에서는 부트 폴더가 자동으로 마운트 되며, 용량이 256MB라고 나오네요. 이제 이러한 부트 폴더에 환경 설정 파일을 넣어서 라즈베리파이가 특정 환경에 맞게 부팅되도록 만들 수 있습니다.

 

 

※ 헤드리스(headless) 서버로 사용하기 ※

 

  Mini HDMI 케이블과 USB OTG 케이블을 가지고 있으신 분들은 직접 모니터와 키보드를 연결하여 사용할 수 있습니다. 다만 그러한 케이블이 없다면 SSH로 라즈베리파이에 접속하여 사용할 수 있습니다. 라즈베리파이에 SSH로 접속하기 위해서는 가장 먼저 boot 폴더에 ssh라는 이름의 파일을 만들어 주어야 합니다. 이로써 라즈베리파이가 부팅될 때 SSH 포트가 열리게 됩니다.

 

 

  또한 라즈베리파이 Zero W가 와이파이(Wi-Fi)를 사용할 수 있도록 하기 위해 와이파이 정보를 기재할 필요가 있습니다. 이를 위해 wpa_supplicant.conf 파일을 생성한 뒤에 메모장으로 열어 내용을 기입합시다. 윈도우(Windows) 운영체제의 경우 단순히 워드패드메모장으로 열어 쓰시면 됩니다.

 

 

  바로 다음의 형식에 맞게 와이파이(Wi-Fi) 정보를 기입하시면 됩니다. 참고로 netsh 명령어를 이용하면 현재 내 컴퓨터나 노트북에 저장되어 있는 와이파이 비밀번호 정보를 알아낼 수 있습니다.

 

country=US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="SSID"
    psk="비밀번호"
    key_mgmt=WPA-PSK
}

 

  결과적으로 컴퓨터에서 SD 카드를 제거한 뒤에 라즈베리파이에 꽂아서 부팅하시면 됩니다. 파워(power) 케이블을 연결하면 자동으로 부팅이 진행됩니다. 이후에 SSH로 접속하여 사용하면 됩니다. 접속하고자 하는 컴퓨터와 라즈베리파이를 동일 아이피 대역에 둔 뒤에 Advanced IP Scanner와 같은 프로그램을 이용해 라즈베리파이의 IP 주소를 찾아서 접속하면 됩니다. Putty나 XShell 같은 프로그램을 이용해 접속하면 됩니다. 예를 들어 라즈베리파이의 IP 주소가 192.168.43.78로 나온다면 다음과 같이 입력하여 접속할 수 있습니다.

 

 

  기본 설정 그대로 이용할 때 SSH 접속 시 아이디pi이며, 비밀번호raspberry입니다.

 

 

  참고로 WiFi 관련 설정 파일은 SSH 접속 이후에 /etc/wpa_supplicant/wpa_supplicant.conf 파일에서 확인할 수 있습니다. 또한 실제 IP 주소는 ifconfig wlan0 커맨드를 입력해 확인하실 수 있습니다.

 

※ 로컬 SSH로 Raspberry Pi 접속하기 ※

 

  기본적으로 마찬가지로 boot 폴더에 ssh라는 이름의 파일을 생성해 준 뒤에, Raspberry Pi에 SD 카드를 꽂습니다. 그리고 Raspberry Pi 데이터 케이블을 PC에 연결합니다. putty와 같은 유틸리티를 활용하여 pi@raspberrypi.local에 접속합니다.

 

 

  접속이 된다면 성공입니다.

 

※ Serial Gadget을 이용해 Raspberry Pi 접속하기 ※

 

  소정의 이유로 현재 와이파이를 사용할 수 없는 상황일 수 있습니다. 혹은 무선 네트워크의 속도가 너무 느려서 접속이 어려울 수도 있습니다. 이럴 때는 USB OTG 기능을 이용하여 Raspberry Pi에 접속할 수 있습니다. 마찬가지로 SD 카드를 호스트 PC에 연결합니다. 그리고 /boot/config.txt 파일의 마지막 줄에 다음을 추가합니다.

 

dtoverlay=dwc2

 

  이후에 cmdline.txt를 열어서 rootwait 다음 부분에 한 칸(space bar)을 띄고 다음과 같이 작성합니다. g_serial 모듈을 로드(load) 함으로써 Serial 가젯(gadget)을 활성화할 수 있습니다.

 

modules-load=dwc2,g_serial

 

  cmdline.txt의 예시는 다음과 같습니다. 대략 다음과 같이 작성되었는지 확인합니다. 참고로 아래 커맨드는 사용하고 있는 장치마다 조금씩 다를 수 있으며, 필자의 경우 단순히 rootwait 다음에 모듈을 로드하는 내용만 추가했습니다.

 

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_serial quiet init=/usr/lib/raspi-config/init_resize.sh

 

  이제 라즈베리파이를 실행하면 호스트(host) PC에 연결했을 때 정상적으로 COM 포트로 인식하는 것을 알 수 있습니다. 이후에 systemctl 명령어를 이용해 Serial 포트 기능을 활성화해 준 뒤에, 재부팅하고 호스트(host) PC에서 Raspberry Pi에 USB 시리얼로 접속하면 됩니다.

 

※ Raspberry Pi 고정 IP 이용하기 ※

 

  초기 세팅이 끝나고 나면 고정 IP를 이용하는 것이 편합니다. 이를 위해 Raspbery Pi에 접속하여 가장 먼저 DHCPCD가 동작하고 있는지 서비스(service) 상태를 확인합니다.

 

sudo service dhcpcd status

 

  정상적으로 동작하고 있다면, /etc/dhcpcd.conf 파일을 수정합니다. 가장 아랫줄에 다음과 같은 내용을 추가하면 됩니다. 필자의 경우 무선 네트워크를 사용하므로 wlan0으로 설정했습니다.

 

interface wlan0

static ip_address=192.168.0.177/24
static routers=192.168.0.1
static domain_name_servers=8.8.8.8

 

  이때 네트워크 환경에 따라서 domain_name_server를 자신의 회사/학교에서 제공하는 IP로 설정해야 할 필요가 있습니다. 필자의 경우 8.8.8.8만 설정했을 때 네트워크가 정상적으로 동작하지 않았습니다. 아무튼 설정 이후에는 재부팅하여 ifconfig를 입력하여 정상적으로 IP가 변경되었는지 확인합니다.

728x90
반응형

Comment +1