Softbox Raspberry pi education kit development environment setting
이글은 라즈베리 파이에 입문하여 처음 사용하려는 사용자를 위해 작성하였다.
보통 개발을 하든, 무엇인가 하려고 할때 환경을 구축하는것은 까다롭고 힘든 일이다. 그 과정이 단순하고, 쉬울 경우 작업 속도와 성과는 잘 나올 수 있다. 처음 라즈베리 파이를 구입하여 개발환경을 구축하기까지 약간은 번거롭고 힘이 든 과정을 알기 쉽게 설명하려 한다. 문의사항이나 잘 안되는 것은 언제든 답글에 남겨주기 바란다. This article was written for users who want to start using raspberry pi.
It is difficult and difficult to build an environment when you are usually developing or trying to do something. If the process is simple and easy, the speed and performance of the work can be good. I will try to explain the process of purchasing raspberry pie for the first time and building a development environment. If you have any questions or comments, please leave them in a reply.
3. 3
라즈베리 파이는 영국의 라즈베리 파이 재단이 학교에서 기초 컴퓨터 과학 교
육을 증진시키기 위해 만든 싱글 보드 컴퓨터.
라즈베리 파이는 그래픽 성능이 뛰어나면서도 저렴한 가격
초기 Model A, 현재 Model A+, Model B+, Model B
Raspberry Pi
Raspberry Pi 1 Model A라즈베리파이 재단 로고 Raspberry Pi compute Module
Raspberry Pi 1 Model A+ Raspberry Pi 2 Model B Raspberry Pi 2 Model B+
4. Raspberry Pi 3 B+ Raspberry Pi 3 B Raspberry Pi 2 Raspberry Pi B+ Raspberry Pi A+
Ethernet Port
Gigabit Ethernet over
USB 2.0 (max.
throughput 300Mbps)
Yes Yes Yes No
GPIO 40 pin 40 pin 40 pin 40 pin 40 pin
GPU Videocore IV Videocore IV Videocore IV Videocore IV Videocore IV
Max Power Dr
aw/voltage
2.5A @ 5V 2.5A @ 5V 1.8A @ 5V 1.8A @ 5V 1.8A @ 5V
Processor Chi
pset
Broadcom BCM2837B0,
Cortex-A53 64Bit SoC at
1.4GHz
Broadcom BCM283
7 64Bit Quad Core
Processor powered
Single Board Comp
uter running at 1.2G
Hz
Broadcom BCM2
837 64Bit Quad C
ore Processor po
wered Single Boa
rd Computer runn
ing at 900MHz
Broadcom BCM2
835 32Bit SoC fu
ll HD multimedia
applications proc
essor
Broadcom BCM
2835 32Bit SoC
full HD multimed
ia applications pr
ocessor
Processor Sp
eed
QUAD Core @1.4 GHz
QUAD Core @1.2
GHz
QUAD Core @90
0 MHz
Single Core @70
0 MHz
Single Core @7
00 MHz
RAM 1GB LPDDR2 SD RAM
1GB SDRAM @ 40
0 MHz
1GB SDRAM @
400 MHz
512 MB SDRAM
@ 400 MHz
256 MB SDRAM
@ 400 MHz
Storage MicroSD MicroSD MicroSD MicroSD MicroSD
USB 2.0 4x USB Ports 4x USB Ports 4x USB Ports 4x USB Ports 1x USB Port
WiFi
Dual-band 2.4GHz and 5
GHz IEEE 802.11.b/g/n/ac
wireless LAN
Built-in No No No
Bluetooth LE Bluetooth 4.2/BLE Built-in No No No
Comparison Chart
5. 5
Arduino vs RaspberryPi
Micro Controller
No
Micro Computer
Yes
성격
리눅스
C
C, C++, Java, Python,
NodeJS, Ruby ...
개발 언어
No Yes카메라
Limit Yes무선환경
6.
7. 7
Raspberry PiB+구성
40 Pin GPIO Header
Broadcom BCM2835 & 512MB RAM
4 USB Ports
10/100 Base T
Ethernet Socket
DSI Display Connector
Micro SD Card Slot
5V Micro USB
HDMI Monitor
CSI Camera Connector
3.5mm jack
Audio/composite video
8. 40 Pin GPIO Header
Broadcom BCM2835 & 512MB RAM
4 USB Ports
10/100 Base T
Ethernet Socket
DSI Display Connector
Micro SD Card Slot
5V Micro USB
HDMI Monitor
CSI Camera Connector
3.5mm jack
Audio/composite video
라즈베리파이용 카메라
모듈을 연결하는데 이용
(후면) OS 설치 및
저장소로 사용 하는
Micro SD 카드
외부 장치를 연결하거나 센서 및
외부 H/W 를 제어하는데 사용
USB 장치 (키보드,
마우스, 무선랜 등)
를 연결
Raspberry PiB+연결
8
9. Raspberry PiB+사양
제품사양(Model B+)
Product Name Raspberry Pi Model B+
Chip Broadcom BCM2835 SoC
Core architecture ARM11
CPU 700 MHz Low Power ARM1176JZFS Applications Processor
GPU
Dual Core VideoCore IV® Multimedia Co-Processor Provides Open GL ES 2.0, hardware
-accelerated OpenVG, and 1080p30 H.264 high-profile decode Capable of 1Gpixel/s, 1.
5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure
Memory 512MB SDRAM
Operating System Boots from Micro SD card, running a version of the Linux operating system
Dimensions 85 x 56 x 17mm
Power Micro USB socket 5V, 2A
Ethernet 10/100 BaseT Ethernet socket
Video Output HDMI (rev 1.3 & 1.4) Composite RCA (PAL and NTSC)
Audio Output 3.5mm jack, HDMI
USB 4 x USB 2.0 Connector
GPIO Connector
40-pin 2.54 mm (100 mil) expansion header: 2x20 strip Providing 27 GPIO pins as well
as +3.3 V, +5 V and GND supply lines
Camera Connector 15-pin MIPI Camera Serial Interface (CSI-2)
Display Connector
Display Serial Interface (DSI) 15 way flat flex cable connector with two data lanes and a
clock lane
Memory Card Slot SDIO
9
11. Why Rasbian
11
Raspbian
• Raspbian 은 Debian Linux 계열임
• 가장 인기있는 ubuntu linux 도 debian linux 계열
• 패키지 지원 및 관련 라이브러리들이 풍부함
• 라즈베리파이 OS 중 가장 많이 활용되고 있음
• 관련 블로그, 학습서, 고객지원이 가장 많은 OS 임
Raspbian Download
• http://downloads.raspberrypi.org/raspbian_latest
기타 OS 다운로드
• http://www.raspberrypi.org/downloads/
12. 12
개발환경
1. 운영체제(OS) : Rasbian – Debian Wheezy 리눅스 환경 2015-01-31 릴리즈
2. Window 환경에서 개발하기 편리함 – Putty, SAMBA 설치
3. RASBMC(멀티미디어), SNAPPY UBUNTU CORE, RISC OS 등 환경 다양
4. 이클립스(안드로이드 앱 개발환경)에서 개발 가능
5. 센서/액츄에이터 제어 firmware 개발
6. 서버설치 – Apache, PHP, MySQL, FTP – Web 프로그래밍
7. 지원언어 : C, C++, JAVA, Python, Java Script, Node.js 모든 개발 환경 가능
8. 안드로이드 App – 라즈베리 파이 연동 프로그램 개발
9. 다양한 Dongle 지원으로 IoT 개념 이해 – Ethernet , Wi-Fi, Bluetooth, BLE…
13. MicroSDCard
13
Micro SD 카드 준비
• Rasbian 이미지 크기가 2GB 정도이나, 설치 및 테스트를 위해 최소
8GB 이상의 Micro SD 카드를 준비 할 것을 권장
• Class 4가 저렴한 가격에 형성되어 있으나, 쓰기 및 읽기 성능을 위
해 Class 10 혹은 UHS-I 스펙의 Micro SD 카드를 이용할 것을 권장.
• Raspbian 설치 후 반드시 Expand Filesystem 을 할것 (기본 설정 참고)
• MicroSD 카드를 Notebook 혹은 Desktop 의 리더기를 통해 읽고 쓰기
위 해서는 반드시 SD Card Adaptor 가 포함되어야 함
Class 최소성능 일반적인 용도
Class 2 2 MB/s SD 영상 기록
Class 4 4 MB/s HD 영상 기록
Class 6 6 MB/s Full HD 영상 기록
Class 10 10 MB/s 연속적인 HD 이미지 기록
UHS-1 10 MB/s 실시간 방송
UHS-3 30 MB/s Ultra HD 영상 기록
16. SD카드에쓰기–Image백업
win32diskimager 를 실행해서 SD카드에 다운받은 라즈비안을 담습니다.
라즈비안 img 파일을 선택해주고 현재 SD카드가 연결되어 있는 드라이브를
확인해준 후에 write 버튼을 눌러 SD카드에 라즈비안 운영체제를 넣어줍니다.
소요시간은 5분 내외입니다.
원래 용량이 얼마였건간에 56MB로 줄어듭니다.
이 것은 나중에 설정으로 변경이 가능하니 신경을 안 써도 됩니다. 백업은 반대로 저장될 폴더 이름과 이미지 파일
이름을 입력하고 Read 클릭하면 저장됨.
16
17. 17
개발환경 구축방법- 라즈베리 파이의 IP 주소를 얻는 과정
1.
2.
Ethernet Cable
3.
PC/NoteBook
HDMI Monitor
PC/Notebook유무선공유기
4.
PC/Notebook
UART(RS-232) to USB보드
USB 키보드/마우스
5. 라즈베리파이를 공유기로 설정한다. ~~ 끝~
22. 22
LanCable직접연결 - 노트북 연결
1. 무선 네트워크 연결 아이콘을 마우스 반대편 클릭 –> 속성
2. LAN 케이블을 라즈베리 파이와 PC 로 직접 연결한다.
공유탭에서 “다른 네트워크 사용자가 이 컴퓨터의
인터넷 연결을 통해 연결할 수 있도록 허용”을
체크하고 확인 클릭
PC 재부팅
윈도 PC가 정상적으로 인터넷을 공유할 수 있도록
재부팅한다.
23. 23
LanCable직접연결 - 노트북 연결
SSH (또는 VNC) 접속
PuTTY 또는 VNC Viewer를 실행하고 라즈베리 파이에 접속
PC의 명령 프롬프트 실행하고 아래 명령어 입력
>arp -a
여기에선 192.168.137.22가
라즈베리 파이 IP주소
24. 24
LanCable직접연결 - PC연결
자동 개인 IP 주소 지정(APIA) 범위의
IP 주소를 확인
여기에선 169.254.74.67 의 다음 번호
169.254.74.68 을
라즈베리 파이 IP주소로 한다.
25. 25
LanCable직접연결 - PC연결
SD 카드를 PC 에서 읽어 cmdline.txt 수정
“cmdline.txt ” 파일을 열어
가장 마지막 라인에 IP 주소를
추가한다.
rootwait 다음에 아래의 IP
정보( 169.254.x.1 ~ 254 )를
수동으로 추가합니다.
ip=169.254.74.68
저장후 SD 카드를 라즈베리
파이에 넣고 부팅 후 확인
26. 26
네트워크연결 -> 로컬영역 연결 -> 속성창에서 Internet Protocol Version4(TCP/IPv4) 선택
마지막 방법
“cmdline.txt ” 파일을 열어 가장 마지막 라인에 IP 주소를 추가한다.
rootwait 다음에 특수문자 지우고 ip=192.168.137.3 이나 ip=192.168.137.4 를 수동으로
추가합니다.
라즈베리 파이의 SD 카드를 PC의 USB 포트에 연결하여 cmdline.txt 파일 수정
28. UART부팅과접속(HDMI지원모니터가없을경우)
HDMI 지원 모니터가 없을 경우 UART(RS232) 를 이용하여 로그인 및 접속하여 라즈베리 파이의
아이피 주소를 획득한 후 테스트 한다.
1. 구글에서 cp2104 검색
2. CP2104 Mini Evaluation Kit | Silicon Labs 으로 이동
3. Software Downloads
4. CP210x VCP Drivers Drivers for Windows and Mac and Linux
5. Download for Windows XP/Server 2003/Vista/7/8/8.1 (v6.7) 다운로드 후 설치
28
30. UART부팅과접속
6. usb to UART 보드 연결
7. 제어판 – 장치관리자에서 COM 포트 확인
8. 부팅 후 로그인
Raspberrypi login : pi
Password : raspberry 화면에 보이지 않는다
9. $ifconfig 명령어로 아이피 주소 적어둔다.
라즈베리 파이 IP 주소 :
30
31. Network 확인
31
유/ 무선네트워크 연결 확인
$ ifconfig
eth0
유선 네트워크 정보
wlan0
무선 네트워크 정보
기본적으로 우선이나 무선 하나만 연결한다.
32. 터미널접속(Putty) -터미널접속
알아낸 ip주소를 Host Name에 적고 SSH를 선택한 후 Open을 눌러서 접속합니다.
32
Putty는 SSH, Telnet 등의 원격 접속을 위한 Opensource S/W 이다.
다운로드 주소
http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
2. Open 을 눌러주면, 라즈베리파이에 접속된다.
3. login id ( 기본 : pi ) 와
password ( 기본 : raspberry)를 입력한다.
Password 는 화면에 보이지 않는다.
1. 접속할 라즈베리파이의 IP를 확인하고, 입력해 준다.
(SSH 접속은 22 포트 활용)
33. Raspberry Pi 기본정보
33
프로그램 패키지 목록 업데이트
$ sudo apt-get update
설치된 프로그램 중 버전 업 된 프로그램 업데이트
$ sudo apt-get upgrade
OS버전 확인하기
$ cat /proc/version
CPU버전 확인하기
$ cat /proc/cpuinfo
SD 카드 용량 확인
$df –a 혹은 $df -h
그래픽 인터페이스 (x-window) 실행
$ startx
34. Command Form What it does
sudo apt-get update sudo apt-get update 패키지 목록 업데이트
sudo apt-get upgrade sudo apt-get upgrade 프로그램 업데이트
sudo Sudo 명령어 Super User
cat /proc/version cat /proc/version OS버전 확인하기
cat /proc/cpuinfo cat /proc/cpuinfo CPU버전 확인하기
df –a 혹은 $df -h df –a 혹은 $df -h SD 카드 용량 확인
startx startx Linux GUI (x-window)
실행
Raspberry Pi 기본정보
35. Linux기본명령어
Command Form What it does
date date 현재 년 월 일 시 출력
pwd pwd 현재 작업 위치 출력(/home/pi)
cd cd FolderName 정해진 폴더로 이동
cd .. cd .. 바로 직전 상위 폴더로 이동
cd cd 루트 폴더로 이동(/home/pi)
ls 혹은 ls –l ls, ls -l 파일 목록 출력
mkdir mkdir 폴더이름 폴더를 생성
echo “hello” >
file.txt
다이렉션 myfile.txt 파일 생성
cp cp file1 file2 파일 복사
mv mv file3 file4 파일 이름 변경
rm rm file5 file6 파일 삭제
rm 폴더 rm 폴더 폴더 삭제
rm -r rm -r 파일삭제 폴더삭제
clear clear 화면 clear
36. 36
나노에디터(nanoeditor)사용법
실행
nano 파일이름.c
화살표 키를 눌러 편집할 곳으로 이동하여 편집.
저장
Ctrl+O
끝내기
Ctrl+X 하면, 정말로 끝낼 것인지를 묻는 화면에서 Y 를 누르고 저장하려는
파일명을 확인한 후에 엔터 를 누르고 빠져나옴.
자르기와 붙이기
한줄 자르기 : Ctrl+k
붙이기 : Ctrl+u
여러줄 자르기 : Ctrl+^ 를 누르고 화살표로 블럭을 설정한 후에 Ctrl+k
찾기
Ctrl+w
37. 정적(static) IP설정1
37
현재 네트웤 설정을 확인하기 위해 /etc/network/interfaces 내용을 확인한다.
$sudo nano /etc/network/interfaces 명령
pi@raspberrypi ~ $ more /etc/network/interfaces
auto lo
iface lo inet loopback
### eth0
iface eth0 inet dhcp
### wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet dhcp
#iface default inet static
#address 192.168.1.15
#netmask 255.255.255.0
#gateway 192.168.1.0
끝내기
Ctrl+X 하면,
Y 를 누르고
엔터.
38. 정적(static) IP설정2
38
아래 내용과 같은 수정하고 ctrl –x 누르면 저장하냐고 물어오면 y 누르고
같은 파일 이름이므로 enter 를 입력하고 빠져 나온다. 리부팅 후 적용된다.
pi@raspberrypi ~ $ more /etc/network/interfaces
auto lo
iface lo inet loopback
### eth0
#iface eth0 inet dhcp
### wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet dhcp
iface default inet static
address 192.168.1.15 할당받은 IP 주소
netmask 255.255.255.0
gateway 192.168.1.0
40. 무선랜 설정–GUI 상태에서
아래의 명령어를 실행하여 라즈베리파이의 네트워크를 확인한다.
$ifconfig
$startx 를 실행하여 GUI 화면에서 Wi-Fi 설정 유틸리티 실행
[Scan] 실행
[PSK] 필드에 비밀번호를 입력하고 [connect] 하면 네트워크에 연결된다.
40
출처:raspberry Pi Cookbook
41. /etc/network/interfaces 파일설정
아래의 파일을 편집하여 무선 네트워크 설정을 수정합니다.
$sudo nano /etc/network/interfaces
41
auto wlan0
iface wlan0 inet static
address 원.하.는.주소
netmask 255.255.255.0
gateway 공.유.기.주소
wpa-ssid “SSID이름"
wpa-psk “비밀번호"
예)
ssid : huins_edu
비밀번호 : huind12345
42. Rasbian 기본명령어
42
그래픽 인터페이스 (x-window) 실행
$ startx
프로그램 패키지 목록 업데이트
$ sudo apt-get update
설치된 프로그램 중 버전 업 된 프로그램 업데이트
$ sudo apt-get upgrade
OS버전 확인하기
$ cat /proc/version
CPU버전 확인하기
$ cat /proc/cpuinfo
43. Rasbian 기본명령어
43
펌웨어 확인
$ vcgencmd version
펌웨어 업데이트
$ sudo rpi-update
OS 재부팅
재 부팅을 위해 다음 두가지 명령 중 하나를 선택하여 사용 가능
$ sudo reboot
$ sudo shutdown –r now
OS 종료
종료를 위해 다음 두가지 명령 중 하나를 선택하여 사용 가능
$ sudo halt
$ sudo shutdown –h now
45. Rasbian 기본설정
45
Expand File System
Raspbian 이 설치된 SD 카드의 파일 시스템을 확장하는 기능. 기본 배포판의
메모리를 4GB만 활용. 4GB 이상의 SD 카드를 이용하는 경우 반드시 설정.
Change User Password
라즈베리파이 초기 암호는 raspberry 이고, CirculOS 의 초기 암호는 1234
임. 보안을 위해 사용자 암호를 변경하고자 하는 경우 사용.
Enable Boot to Desktop/Scratch
초기 부팅 시에 윈도우 환경 (X Window), Scratch 교육환경, Console 모드
로 부팅할지 여부 선택. 메이커 구성을 위해서는 Console 로 시작해야 함.
Internationalisation Options
Change Locale – 지역 설정 옵션. 한국어 변환이 가능하지만, 기본 설정 권장
Change Timezone – 시간대를 설정하는 옵션. Asia 에서 Seoul 을 설정.
Change Keyboard Layout – 키보드 구성 변경 옵션. 변경이 필요 없음.
46. Rasbian 기본설정
46
Enable Camera
라즈베리파이에 카메라를 연결한 경우 사용을 위해 활성화 하는 옵션. 설치
시
Enable 로 변경해야 함
Add to rastrack
전 세계 라즈베리파이 이용자 분포 확인을 위한 옵션. 이름, 메일, 지역을 입
력 하면 Rastrack (www.rastrack.co.uk) 사이트에 등록됨
Advanced Option
라즈베리파이의 고급 사용자 설정 화면. 뒷 부분에서 다룸
About raspi-config
Change Locale – 지역 설정 옵션. 한국어 변환이 가능하지만, 기본 설정 권
장 Change Timezone – 시간대를 설정하는 옵션. Asia 에서 Seoul 을 설정.
Change Keyboard Layout – 키보드 구성 변경 옵션. 변경이 필요 없음.
48. Rasbian 고급설정
48
Overscan
디스플레이 화면에 크기를 맞출 수 있는 기능을 설정
Hostname
호스트 이름을 변경하는 옵션 (기본 값 : raspberrypi)
Memory Split
GPU 와 CPU 가 사용할 메모리를 할당하는 옵션. X 윈도우 화면을 사용하지
않고 메이커 보드로 활용하는 경우, GPU 메모리를 16MB 로 설정하면 된다.
SSH
Secure Shell 의 약자로, 네트워크 구성이 된 경우 다른 컴푸터에서 터미널 창
으로 원격으로 접속할 수 있음.
Device Tree
리눅스 상에서 하드웨어를 기술하기 위한 데이터 구조. 기본적으로 사용하지
않음.
49. Rasbian 고급설정
49
SPI (Serial Peripheral Interface Bus)
GPIO 의 SPI 기능을 활성화 할지 여부. SPI 사용을 위해서는 활성화 해야 함.
I2C (Inter-Integrated Circuit)
GPIO 의 I2C 기능을 활성화 할지 여부. I2C 사용을 위해서는 활성화 해야 함.
Serail
Serial 을 통해 Shell 에 접근할 수 있을지 여부. 기본적으로 활용하지 않음.
Audio
Audio 출력을 Audio 단자(3.5mm) 혹은 HDMI 로 할지 설정하는 옵션. 기본
값은 Auto 이지만, 라즈베리파이 오디오 실습을 위해 3.5 mm로 설정 할 것
Update
라즈베리파이 설정 툴을 최신 버전으로 업데이트 하는 기능
51. 터미널접속(Putty) -터미널접속
알아낸 ip주소를 Host Name에 적고 SSH를 선택한 후 Open을 눌러서 접속합니다.
51
2. Open 을 눌러주면, 라즈베리파이에 접속된다.
3. login id ( 기본 : pi ) 와 password ( 기본
: raspberry)를 입력한다.
1. 접속할 라즈베리파이의 IP를 확인하고, 입력해 준다
(SSH 접속은 22 포트 활용)