2018년 5월 1일 화요일

라즈베리파이 다루기

라즈베리파이(raspberrypi.org)는 2012년 1월 영국의 라즈베리 파이 재단에서 교육 목적으로 제작 발표한 싱글 보드 컴퓨터다. 지금까지도 가장 성공한 오픈소스 하드웨어 중 하나로 꼽히며 적은 비용으로 꽤 괜찮은 개인 사용 목적의 머신을 구성할 수 있다는 장점이 있다.

한창 인기있었을 때의 RPi2 버전에서 최근엔 RPi3 B+ 까지 출시된 상태다. 하드웨어는 계속 업그레이드 되고 있음에도 가격은 35$를 유지하는 점이 매력적이다. RPi3 부터는 64비트를 지원하며 블루투스, 무선랜이 내장되어 있어 키보드와 마우스, 그리고 라즈비안이 설치된 micro SD 카드만 있으면 일반적인 PC처럼 바로 사용할 수 있다.

라즈베리파이와 자주 비교되는 하드웨어는 비글보드, 인텔 갈릴레오, 엔비디아 젯슨 등이 있지만 개인 DIY 목적에선 라즈베리파이가 가장 나은 선택이 될것으로 보인다. HW 특성이나 비교 관련해서 자세한 내용은 나무위키를 참조할 것. 커뮤니티는 oroca.org가 괜찮아 보인다.
https://namu.wiki/w/%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%20%ED%8C%8C%EC%9D%B4(%EC%BB%B4%ED%93%A8%ED%84%B0)

라즈베리 파이 동작에 필요한 것들.


1. 키보드와 마우스
2. 라즈베리파이를 지원하는 운영체제가 담긴 micro SD 카드
3. 전원 (스마트폰 충전기)
4. HDMI 케이블


라즈베리 파이 주요 지원 운영체제


1. 라즈비안 - 추천. 데비안 리눅스 기반으로 LXDE 데스크탑 환경, 개발 도구까지 포함되어 있어 편리하다. (*LXDE: Lightweight X11 Desktop Environment, 경량 X 윈도우 GUI 환경)
2. 우분투 리눅스
3. 윈도 10 IoT
4. OSMC, OpenELEC
5. RISC OS


라즈비안 설치


1. raspberrypi.org/downloads에서 배포판 이미지를 다운로드 한다.
2. Win32DiskImager를 이용해 micro SD 카드에 설치한다.
3. micro SD 카드를 라즈베리파이 보드에 삽입하고, 전원을 연결한다.
- 초기 접속 계정은 pi/raspberry 이다.


초기 환경설정


1. 터미널에서 sudo raspi-config를 실행하거나, GUI에서 preferences > rasiberry pi configuration 경로를 통해 설정 화면으로 진입할 수 있다.
2. 언어 설정(Change Locale) ko_KR_EUC-KR, ko_KR.UTF-8을 추가한다.
3. 시간 설정(Change Timezone) Asia/Seoul을 지정한다.
4. 키보드 설정(Change Keyboard Layout) 최근 버전에 Korean 배치가 있으니 Korean을 지정한다. 없으면 Generic 105-key로.
5. Interfacing Options에서 SSH와 VNC를 활성화 시킨다. VNC는 GUI 리모트 접속에 대한 설정을 의미한다. VNCViewer 클라이언트를 이용하면 윈도우에서 라즈베리파이로 원격 접속이 가능하다.


한글 설정


1. sudo apt-get update # 최신 정보와 sync를 맞추기 위함.
2. sudo apt-get upgrade # 최신 정보로 실제 업그레이드 수행.
3. sudo apt-get install ibus ibus-hangul # 한글 입력기 설치
4. sudo apt-get install fonts-unfonts-core # 폰트 설치


네트워크 설정


RPi3에선 무선랜을 지원하므로 그냥 우상단의 네트워크 아이콘을 클릭해서 무선 네트워크에 접속하면 된다.
* ifconfig - 유선 설정 / iwconfig - 무선 설정
설정 파일은 /etc/network/interfaces에 있다.


라즈베리파이 GPIO


1. GPIO: 일반적인 용도로 사용 가능한 디지털 입출력 핀. 하드웨어 제어를 위한 신호를 생성하거나 하드웨어에서 들어오는 신호를 받아들이기 위해 사용한다. 터미널에서 gpio readall 명령어를 입력하면 라즈베리파이의 GPIO 핀맵을 확인할 수 있다.
2. 주의점: 라즈베리파이는 내부 3.3V 전원으로 동작되므로 GPIO 핀들도 3.3V 정도로 동작한다. (5V 신호를 사용하고 싶으면 레벨 컨버터가 필요하다.) GPIO 출력인 경우 가능하면 핀 당 3mA 이하, 총합 50mA 이하로 전류 공급을 제한하는 것이 안전하다.
3. GPIO 제어: 간단하게는 파일을 통해 접근하는 방식인 sysfs를 이용할 수 있다. 프로그래밍(응용) 레벨에선 RPi.GPIO 또는 WiringPI 모듈이 주로 쓰인다. 복잡도, 편의 측면에서 파이썬이 나은 선택으로 보인다. 아래와 같이 간단하고 직관적인 인터페이스를 제공하고 있다.

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN_NO, GPIO.OUT)
GPIO.output(PIN_NO, 0)
GPIO.output(PIN_NO, 1)
GPIO.cleanup(PIN_NO)

댓글 없음:

댓글 쓰기