27
Smart IoT 설계 시스템 Lecture 04. 라즈베리 개발환경

04강 라즈베리-개발환경구축-실습

  • Upload
    -

  • View
    1.577

  • Download
    9

Embed Size (px)

Citation preview

Page 1: 04강 라즈베리-개발환경구축-실습

Smart IoT 설계 시스템

Lecture 04. 라즈베리 개발환경

Page 2: 04강 라즈베리-개발환경구축-실습

2

Gateway – Raspberry Pi

Page 3: 04강 라즈베리-개발환경구축-실습

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+

Page 4: 04강 라즈베리-개발환경구축-실습

4

Name Arduino Raspberry Pi

Model A+

Raspberry

Pi Model B

+

Raspberry Pi

2 Model B Beaglebon

e Black

Price $29.95 $20 $35 $35 $45

Processor ATMega 328 ARM 11 ARM

Cortex A7 ARM

Cortex A8

Clock Speed 16Mhz 700 Mhz 900 Mhz 1 Ghz

RAM 2KB 256MB 512MB 1GB 512MB

Multi Core Single Single Quad Single

Flash 32KB Micro SD Card SD Card

GPIO 26 40 92

Ethernet N/A 10/100

USB N/A USB 2.0 x 1 USB 2.0 x 4 USB 2.0 x 1

Video Out N/A HDMI, Composite N/A

Audio Out N/A HDMI, Analog Analog

Why Raspberry Pi

Page 5: 04강 라즈베리-개발환경구축-실습

5

Arduino vs Raspberry Pi

Micro Controller

No

Micro Computer

Yes

성격

리눅스

C C, C++, Java, Python,

NodeJS, Ruby ... 개발 언어

No Yes 카메라

Limit Yes 무선환경

Page 6: 04강 라즈베리-개발환경구축-실습

6

Raspberry Pi B+ 구성

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

Page 7: 04강 라즈베리-개발환경구축-실습

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 Pi B+ 연결

7

Page 8: 04강 라즈베리-개발환경구축-실습

Raspberry Pi B+ 사양

제품사양(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

8

Page 9: 04강 라즈베리-개발환경구축-실습

Raspberry Pi OS

9

RASPBMC

SNAPPY UBUNTU CORE

Page 10: 04강 라즈베리-개발환경구축-실습

Why Rasbian

10

Raspbian

• Raspbian 은 Debian Linux 계열임

• 가장 인기있는 ubuntu linux 도 debian linux 계열

• 패키지 지원 및 관련 라이브러리들이 풍부함

• 라즈베리파이 OS 중 가장 많이 활용되고 있음

• 관련 블로그, 학습서, 고객지원이 가장 많은 OS 임

Raspbian Download

• http://downloads.raspberrypi.org/raspbian_latest

기타 OS 다운로드

• http://www.raspberrypi.org/downloads/

Page 11: 04강 라즈베리-개발환경구축-실습

11

개발 환경

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…

Page 12: 04강 라즈베리-개발환경구축-실습

Micro SD Card

12

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 영상 기록

Page 13: 04강 라즈베리-개발환경구축-실습

라즈비안 wheezy 다운로드

라즈베리 공식 홈페이지에서 라즈비안을 다운받습니다.

http://www.raspberrypi.org/downloads

13

Page 14: 04강 라즈베리-개발환경구축-실습

win32diskimager 다운로드

win32diskimager 를 다운받습니다.

http://sourceforge.net/projects/win32diskimager/

14

Page 15: 04강 라즈베리-개발환경구축-실습

SD 카드에 쓰기 – Image 백업

win32diskimager 를 실행해서 SD카드에 다운받은 라즈비안을 담습니다.

라즈비안 img 파일을 선택해주고 현재 SD카드가 연결되어 있는 드라이브를 확인해준 후에 write 버튼을 눌러 SD카드에 라즈비안 운영체제를 넣어줍니다. 소요시간은 5분 내외입니다. 원래 용량이 얼마였건간에 56MB로 줄어듭니다. 이 것은 나중에 설정으로 변경이 가능하니 신경을 안 써도 됩니다. 백업은 반대로 저장될 폴더 이름과 이미지 파일 이름을 입력하고 Read 클릭하면 저장됨.

15

Page 16: 04강 라즈베리-개발환경구축-실습

Rasbian 기본 명령어

16

그래픽 인터페이스 (x-window) 실행

$ startx

프로그램 패키지 목록 업데이트

$ sudo apt-get update

설치된 프로그램 중 버전 업 된 프로그램 업데이트

$ sudo apt-get upgrade

OS버전 확인하기

$ cat /proc/version

CPU버전 확인하기

$ cat /proc/cpuinfo

Page 17: 04강 라즈베리-개발환경구축-실습

Rasbian 기본 명령어

17

펌웨어 확인 $ vcgencmd version 펌웨어 업데이트 $ sudo rpi-update OS 재부팅 재 부팅을 위해 다음 두가지 명령 중 하나를 선택하여 사용 가능 $ sudo reboot $ sudo shutdown –r now OS 종료 종료를 위해 다음 두가지 명령 중 하나를 선택하여 사용 가능 $ sudo halt $ sudo shutdown –h now

Page 18: 04강 라즈베리-개발환경구축-실습

Network 확인

18

유/ 무선네트워크 연결 확인

$ ifconfig

무선 네트워크 연결 확인

$ iwconfig

eth0

유선 네트워크 정보

wlan0

무선 네트워크 정보

Page 20: 04강 라즈베리-개발환경구축-실습

UART 부팅 과 접속

6. usb to UART 보드 연결 7. 제어판 – 장치관리자에서 COM 포트 확인

8. 부팅 후 로그인 Raspberrypi login : pi Password : raspberry 9. $ifconfig 명령어로 아이피 주소 적어둔다.

라즈베리 파이 IP 주소 :

20

Page 21: 04강 라즈베리-개발환경구축-실습

Rasbian 기본설정

21

Raspberry Pi 기본 설정 하기

$ sudo raspi-config

Page 22: 04강 라즈베리-개발환경구축-실습

Rasbian 기본설정

22

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 – 키보드 구성 변경 옵션. 변경이 필요 없음.

Page 23: 04강 라즈베리-개발환경구축-실습

Rasbian 기본설정

23

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 – 키보드 구성 변경 옵션. 변경이 필요 없음.

Page 24: 04강 라즈베리-개발환경구축-실습

Rasbian 고급설정

24

9. Advanced Option 선택 시 보임

Page 25: 04강 라즈베리-개발환경구축-실습

Rasbian 고급설정

25

Overscan

디스플레이 화면에 크기를 맞출 수 있는 기능을 설정

Hostname

호스트 이름을 변경하는 옵션 (기본 값 : raspberrypi)

Memory Split GPU 와 CPU 가 사용할 메모리를 할당하는 옵션. X 윈도우 화면을 사용하지

않고 메이커 보드로 활용하는 경우, GPU 메모리를 16MB 로 설정하면 된다.

SSH Secure Shell 의 약자로, 네트워크 구성이 된 경우 다른 컴푸터에서 터미널 창

으로 원격으로 접속할 수 있음.

Device Tree

리눅스 상에서 하드웨어를 기술하기 위한 데이터 구조. 기본적으로 사용하지

않음.

Page 26: 04강 라즈베리-개발환경구축-실습

Rasbian 고급설정

26

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

라즈베리파이 설정 툴을 최신 버전으로 업데이트 하는 기능

Page 27: 04강 라즈베리-개발환경구축-실습

터미널 접속(Putty) - 터미널 접속

알아낸 ip주소를 Host Name에 적고 SSH를 선택한 후 Open을 눌러서 접속합니다.

27

Putty는 SSH, Telnet 등의 원격 접속을 위한 Opensource S/W 이다. 다운로드 주소 http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

2. Open 을 눌러주면, 라즈베리파이에 접속된다.

3. login id ( 기본 : pi ) 와 password ( 기본

: raspberry)를 입력한다.

1. 접속할 라즈베리파이의 IP를 확인하고, 입력해 준다. (SSH 접속은 22 포트 활용)