개발환경 구축 RaspberryPi Sejin Oh
개발환경 구축
RaspberryPi 개발환경 구축 RaspberryPi GPIO Pin (코블러, 브레드보드) USB (키보드, 마우스, WIFI모듈) microSD (OS설치) Ethernet (LAN 케이블) POWER HDMI (모니터)
RaspberryPi 개발환경 구축 OS RaspberryPi OS 다운로드 OS 다운로드 http://www.raspberrypi.org
RaspberryPi 개발환경 구축 라즈베리 파이 OS 다운로드 RaspberryPi OS 다운로드 라즈베리 파이 재단에서는 공식 OS로 Raspbian, OpenELEC, RISC OS, Ridora, Arch, RaspBMC를 지원. 라즈베리 파이의 대표적인 OS는 데비안 리눅스 계열의 라즈비안(Raspbian)을 사용. http://www.raspberrypi.org/downloads
RaspberryPi 개발환경 구축 Win32DiskImager 다운로드 Win32DiskImager 다운로드 받은 라즈베리 파이의 OS 이미지 파일을 microSD 메모리 카드에 저장하기 위해 Win32DiskImager 소프트웨어를 이용. http://sourceforge.net/projects/win32diskimager/files/Archive/
RaspberryPi 개발환경 구축 Win32DiskImager로 OS 설치 Win32DiskImager로 Raspbian iso파일을 microSD 메모리에 설치 PC에 microSD 메모리 카드 연결 프로그램의 [Image File]에 다운로드한 라즈비안 img 파일을 선택 [Device]에는 microSD로 설정 [Write] 실행
RaspberryPi 개발환경 구축 하드웨어 준비 하드웨어 준비 OS를 저장한 microSD 메모리 카드를 라즈베리 파이에 삽입 라즈베리 파이와 모니터를 HDMI 케이블로 연결 키보드와 마우스를 라즈베리 파이에 연결 라즈베리 파이와 LAN or WIFI 연결 전원 공급(마지막에 할 것) – 전원 연결 후 자동 부팅
RaspberryPi OS 설치 라즈비안(Raspbian) 설치 라즈비안 설치 전원을 공급하여 부팅을 하면 다음과 같은 설치화면이 나타남 라즈비안(Raspbian)을 클릭하고 설치를 진행
RaspberryPi OS 설치 라즈비안(Raspbian) 설치 라즈비안 설치 진행 화면
RaspberryPi 부팅 부팅과정 부팅 화면
RaspberryPi 부팅 라즈베리 파이 설정 라즈베리 파이 설정 전원을 공급하여 부팅 도중에 Raspi-config 화면이 표시되어 라즈베리 파이를 설정할 수 있는 메뉴가 나타남 시간대 설정, 지역설정, 패스워드, 오버클럭 등… 다양한 설정 가능
RaspberryPi 부팅 라즈비안 로그인 라즈비안 로그인 사용자 ID : pi 패스워드 : raspberry
RaspberryPi 부팅 라즈비안 X윈도우 실행 라즈비안 x윈도우 실행 $ startx
RaspberryPi 업데이트 및 업그레이드 OS 배포 이후 추가된 패키지 및 수정된 사항 반영 터미널을 실행하여 업데이트 및 업그레이드 명령어 실행 패키지 목록 업데이트 패키지 관리 서버로부터 이용 가능한 프로그램 패키지의 목록을 최신 버전으로 업데이트 $ sudo apt-get update
RaspberryPi 업데이트 및 업그레이드 갱신된 패키지 목록 중 새로운 버전으로 설치 업데이트 명령어로 갱신된 패키지 목록 중 컴퓨터에 설치된 프로그램이 업데이트 되었으면 업데이트 명령으로 새로운 버전으로 설치 패키지 업그레이드 $ sudo apt-get upgrade
RaspberryPi 라즈비안 재부팅, 종료 라즈비안 재부팅 라즈비안 재부팅 아래 명령어 중 하나 실행 $ sudo shutdown –r now $ sudo reboot 라즈비안 종료 라즈비안 종료 아래 명령어 중 하나 실행 $ sudo shutdown –h now $ sudo halt $ sudo poweroff
RaspberryPi 기본 설정 라즈베리 파이 설정 라즈베리 파이 설정 라즈베리 파이의 기본 설정은 raspi-config를 실행하여 설정 $ sudo raspi-config
RaspberryPi 기본설정 각 메뉴에 대한 설명 Expand Filesystem 라즈비안을 SD 메모리카드에 담은 후 이미지 파일을 풀 때 사용되는 SD 메모리가 2GB 이상이더라도 2GB~4GB로 제한 SD 메모리카드의 모든 영역을 사용하기 위해서 사용 Expand filesystem 실행하면 스스로 공간 확장을 설정한 후, 재부팅하면 설정 내용이 반영된다. Change User Password 라즈베리 파이의 초기 암호는 raspberrypi 보안 및 편리를 위해서 암호를 바꾸기 위해 사용
RaspberryPi 기본설정 SD 메모리 용량 늘리기 SD 카드의 모든 저장 공간 활용하기 raspi-config 유틸리티에서 expand rootfs의 설정으로 SD 공간을 확장 $ sudo raspi-config expand rootfs 선택 재부팅
RaspberryPi 기본설정 SD 메모리 용량 늘리기 라즈비안에서 SD 메모리 사용량 확인하기 $ df -h
RaspberryPi 기본설정 각 메뉴에 대한 설명 Enable Boot to Desktop 라즈베리 파이를 시작할 때 X윈도우를 구동할 지에 대한 설정 <YES>를 선택하면 시작과 함께 X윈도우가 실행됨 <NO>를 선택하면 콘솔화면에서 명령어 라인에 명령 대기 상태 Internationalisation Options I1 Change Locale 지역을 설정하는 옵션 기본적으로 영국(en_GB.UTF-8 UTF-8)이 설정되어 있음 한국어로 변경을 원할 경우 지역 목록 중에서 ko_KR.UTF-8 UTF-8을 선택 I2 Change Timezone 시간대 설정하는 옵션 국가의 수도명을 찾아 설정(한국 Asia -> Seoul 선택)
RaspberryPi 기본설정 각 메뉴에 대한 설명 Internationalisation Options I3 Change Keyboard Layout 키보드 레이아웃을 변경하는 옵션 기본적으로 Generic 105-key (Intl) PC로 설정되어 있음
RaspberryPi 기본설정 각 메뉴에 대한 설명 Enable Camera 라즈베리 파이 카메라를 사용할 때 설정해주는 옵션 Add to Rastrack 전세계의 라즈베리 파이 사용자 분포를 체크하는 옵션 Overclock 라즈베리 파이는 기본적으로 700MHz의 동작클록으로 CPU를 구동 설정을 통하여 오버클럭이 가능 None – 700MHz Modest – 800MHz Medium – 900MHz High – 950MHz Turbo – 1GHz
RaspberryPi 기본설정 각 메뉴에 대한 설명 Advanced Options A1 Overscan A2 Hostname 구형 TV나 모니터의 경우 해당 디스플레이에 맞도록 설정해주는 기능 A2 Hostname raspberrypi로 기본 설정되어 있는 호스트네임을 변경하는 옵션 A3 Memory Split GPU 메모리 16/32/64/128/256으로 설정할 수 있음 기본설정 64MB A4 SSH SSH(Secure Shell)의 사용 여부를 설정 SSH는 다른 컴퓨터에서 터미널 창으로 원격 접속할 수 있음 A5 Update raspi-config 툴을 최신 버전으로 업데이트하는 명령 About raspi-config raspi-config 툴 설명
유/무선랜 설정 기본 설정 라즈비안의 유/무선 인터넷 환경설정 $ sudo nano /etc/network/interfaces 기본 설정은 유/무선 인터넷 모두 자동으로 IP를 할당받는 DHCP로 설정되어 있음 interfaces 기본 설정 auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
유/무선랜 설정 무선 인터넷 수동 설정 무선 인터넷 수동 설정 $ sudo nano /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp auto wlan0 iface wlan0 inet static wpa-ssid 와이파이식별자 wpa-psk 비밀번호 address 192.168.10.200 netmask 255.255.255.0 gateway 192.168.10.1
무선 인터넷 설정 X윈도우상에서 무선 인터넷 설정 WiFi Config 실행 터미널에서 실행 sudo wpa_gui
무선 인터넷 설정 X윈도우상에서 무선 인터넷 설정 WiFi Config의 Scan을 실행하여 접속할 wifi 선택
무선 인터넷 설정 X윈도우상에서 무선 인터넷 설정 선택된 wifi의 패스워드 설정 및 추가, 접속 확인
IP 고정 설정 무선랜 WPA 설정 무선랜의 공유기 접속은 별도의 파일에 기록되어 있어 wpa_supplicant.conf 파일을 설정해주어야 함 $ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid=“WiFi SSID” psk=“password” proto=wpa key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN }
RaspberryPi 원격접속 원격 접속 방법 RaspberryPi 원격접속 SSH(Secure Shell) XRDP VNC SSH PuTTY 소프트웨어를 이용하요 SSH로 접속가능 콘솔 모드(그래픽 모드 사용할 수 없음) 라즈베리파이에 XRDP를 설치하고 윈도우에서 원격 데스트톱 연결로 접속 가능 그래픽 모드 라즈베리파이에 TightVNC를 설치하고 VNC로 원격 접속 가능
SSH 접속 SSH 원격 접속 SSH(Secure Shell) 원격 접속 시에 메시지를 암호화하여 전송하기 때문에 보안에 있어서도 뛰어난 시스템이다. SSH 원격 접속 라즈베리 파이 설정 기본 설정의 raspi-config에서 SSH의 항목에 Enable로 설정해줘야 SSH를 사용할 수 있음 (초기 값 enable) PuTTY 다운로드 PuTTY 소프트웨어를 다운로드하여 SSH 원격 접속 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
SSH 접속 SSH 원격 접속 SSH 원격 접속 PuTTY를 이용한 SSH 접속 라즈베리파이의 Host Name or IP Address를 PuTTY에서 입력 Connection type은 SSH, Port는 22 ID : pi password : raspberry
XRDP 접속 XRDP 원격 접속 XRDP(Xwindow Remote Desktop Protocol) 설치(라즈베리 파이) $ sudo apt-get install xrdp XRDP로 접속(윈도우) 시작 -> 실행에서 mstsc 명령어로 원격 데스크톱 연결을 실행 라즈베리파이 ip 주소 입력 후 연결
XRDP 접속 XRDP 원격 접속 XRDP 원격 접속 완료
VNC(Virtual Network Computing) 원격 접속 TightVNC를 이용한 원격 접속 설치 방법 $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install tightvncserver 실행 방법 $ tightvncserver tightvncserver를 실행 시키면 비밀번호를 입력 (예: raspberry) 환경 설정 $ vncserver :1 –geometry 1280*1024(해상도입력) –depth 24 1의 의미는 1번 호스트 사용
VNC 접속 VNC 원격 접속 TightVNC를 이용한 원격 접속 tightvnc 동작 포트 확인 $ sudo netstat –tulpn 5901, 6001 포트 실행 중임을 확인
VNC 접속 VNC 원격 접속 윈도우 상에서의 tightvnc 설치 Windows에서 vncserver 다운로드 및 설치 뷰어만 사용하므로 Server는 unavilable http://www.tightvnc.com/ 에서 다운로드 및 설치
VNC 접속 VNC 원격 접속 윈도우 상에서의 tightvnc 접속 New TightVNC Connection Remote Host에 라즈베리파이 IP주소 입력후 접속 IP주소 뒤에 콜론 :1 라고 호스트 넘버를 입력 ex) 192.168.0.100:1
VNC 접속 VNC 원격 접속 윈도우 상에서의 tightvnc 접속 확인 VNC 서버 종료(라즈베리파이) $ sudo vncserver –kill : 1
삼바(SAMBA) 삼바(SAMBA) 삼바란 다른 시스템에서 해당 시스템의 하드디스크와 네트워크 프린터 자원을 공유하도록 환경 설정할 수 있고, 삼바를 통해 파일 시스템과 프린터로 접근을 할 수 있음. 라즈베리 파이에서의 삼바 개발된 소프트웨어 또는 파일을 네트워크를 통하여 접근 라즈베리 파이에서 윈도우/리눅스 시스템으로 접근 윈도우/리눅스 시스템에서 라즈베리 파이로 접근
삼바(SAMBA) 삼바(SAMBA) 설치 apt-get을 이용하여 samba와 samba-common-bin 패키지 설치 $ sudo apt-get install samba samba-common-bin 삼바 사용자 설정 $ sudo smbpasswd –a pi 패스워드 입력(예: raspberry) 삼바 config 설정 $ sudo nano /etc/samba/smb.conf 삼바 데몬 재시작 $ sudo service samba restart 윈도우에서 시작>실행 \\라즈베리파이IP주소 코드 마지막 줄에 작성 [pi] comment = rpi samba server path = /home/pi valid user = pi browseable = yes writable = yes
삼바(SAMBA) 삼바(SAMBA) 접속 확인
라즈베리 파이 활용 QEMU QEMU(Quick EMUlator) 라즈비안 리눅스는 라즈베리 파이에 적합하게 개발되어 ARM 환경에서만 작동한다. x86환경에서는 에뮬레이터를 사용하여 라즈비안을 사용할 수 있다. QEMU 다운로드 http://www.rasplay.org/?page_id=1271 0. RaspberryPi QEMU, R-Pi for windows 클릭
라즈베리 파이 활용 QEMU QEMU 실행 압축해제 후 run실행
Thank you