2013.05.04 지앤선 테크니컬 세미나 - digital native를 위한 거침없이 배우는 라즈...

39
Digital Native 를 를를 를를를를 를를를 Raspberry PI Book Concert Embeddedpi.com 를를를 ( 를 & 를 )

Upload: jiandson

Post on 23-Jun-2015

1.219 views

Category:

Technology


2 download

DESCRIPTION

지앤선 출판사 '거침없이 배우는 라즈 베리파이' 북콘서트 2013.05.04 지앤선 테크니컬 세미나 Digital native를 위한 거침없이 배우는 라즈 베리파이 - 전우영

TRANSCRIPT

Page 1: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

Digital Native 를 위한

거침없이 배우는 Raspberry PI Book ConcertEmbeddedpi.com

지앤선 (志 &嬋 )

Page 2: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

들어가기에 앞서

• 준비물

Raspberry PI & 4 GB 이상의 SD Card

HDMI Cable 및 HDMI 를 지원하는 모니터 / USB-Serial

Cable

USB Keyboard and Mouse

PC 에 설치하여야 하는 프로그램

Putty (www.putty.org에서 미리 다운로드 받아 주세

요 .)

PC 에 미리 다운로드 받아 주셔야 하는 CD 이미지 (1 장 참고 )http://www.raspberrypi.org/downloads 에서 받으시면 됩니다 .

2013-02-19-wheezy-raspbian.zip

Win32diskImage

Page 3: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

목 차

Raspberry PI 개요1

Raspberry PI 설치2

Python 프로그래밍3

GPIO 활용 – 온도 측정 장비4

Page 4: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요 – 들어가기 전에

• PHYSICAL COMPUTING

• DIGITAL NATIVE

• FUN

Page 5: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요

• 2006 년 초기 컨셉이 시작됨 (Eben Upton)

• 2012 년 2 월 29 일 판매 시작

• 2012 년 4 월 16 일 최초 구매자가 받기 시작

• 2013 년 1 월초 1,000,000 대 판매

• 2013 년 2 월 라즈베리 파이 MODEL A 판매 시작

Page 6: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요 - 종류

MODEL AMODEL B

Memory 512 MB2 USBEthernet

Memory 256 MB1 USBNo Ethernet

BCM 2835 ARM 11 – 700 Mhz

Page 7: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요 - 특징

• 운영체제 – 리눅스 (RASPBIAN)

• 저렴한 가격 : Model B – USD 35, Model A – USD 25

• 저렴하고 쉬운 저장장치

• 라즈베리 파이 재단

• GPIO (General Purpose Input Output)

Page 8: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요 - 경쟁자

미니 PC안드로이드

라즈베리파이 비글본 블랙BB – USD 89BBB – USD 45

아두이노

개발자 KIT

SOFTWARE HARDWAREDigital Native

Page 9: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

1. RASPBERRY PI 개요 – User Guide

Official User Guideby Eben Uptonand Gareth Halfacree

http://www.raspberrypi.org/archives/2965

Page 10: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치

• SD 카드 플래싱 (Flashing)

• RASPBERRY PI 의 설치 – HDMI 가 있는 경우 (Chapter 9)

• RASPBERRY PI 의 설치 – USB SERIAL 을 이용하는 경우

• LAMP 설치

Web Server – Apache 설치

DataBase Management System – MySQL 설치

간단한 EMAIL 서버 설치

VNC 서버 설치

• 홈시어터 PC – XBMC 설치 (Chapter 7)

Page 11: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – SD 카드 플래싱(Flashing)

순서

• 노트북에 4GB 이상의 SD 카드를 삽입한다 .

• Win32DSKImage 프로그램의 압축을 해제한 후

• Win32DiskImager.exe 를 실행한다 .

• 다운로드 받아 놓은 Image 파일 (2013-02-09-wheezy-

raspbian.img : 압축해제 필요 ) 을 찾아서 선택한다 .

• Write Button 을 눌러 Flushing 을 시작한다 .

• 완료 메시지가 나올 때까지 기다린다 .

Page 12: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – HDMI 를 이용한 설치

순서

• 라즈베리 파이에 HDMI 케이블과 USB 키보드 마우스를

연결한다 .

• 이전에 만든 SD 카드를 라즈베리파이에 삽입을 한다 .

• 전원을 연결한다 .

Mini USB 을 가진 휴대전화 충전기나 노트북의 USB 에

연결하다 .

무선 USB 어댑터등을 연결하기 위해서는 5V 700 mA

이상이 필요

• 잠시 기다리면 Setup 을 마무리 하기 위한 화면이 나온다 .

다음 페이지를 참고하여 raspi-config 를 마무리 한다 .

• raspi-config 가 완료되면 Finish 를 선택하여 재부팅

한다 .

Page 13: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – HDMI 를 이용한 설치

Raspi-config

• expand_rootfs : File system 을 SD 카드의 크기로 확장 하기 위해 선택 필요

• Overscan : 화면 Size 조정 ( 보통은 불필요 )

• Configure_keyboard : Generic 105-Key (Intl) PC 로 선택 , Keyboard

layout 은 Korean

• Change_pass : 기본 암호 변경 (User ID : pi Password : raspberry)

• Change_Locale : ko_KR.UTF-8 UTF-8 선택

• Change_timezone : Seoul 선택

• memory_split : Video 를 많이 사용할 경우 GPU 에 추가 메모리할당 , 연재는

Default

• Overclock

• SSH

• Boot behavior : Window system 을 사용할 수 있도록 Yes 선택

Page 14: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – USB Serial 을 이용한 설치

준비물

• USB Serial cable 과 Windows 용 Driver software

(Adafruit USB to TTL Serial cable)

순서

• 이전에 만든 SD 카드를 라즈베리파이에 삽입을 한다 .

• USB Serial cable 을 연결한다 . (5 V 전원이 포함되어 있음 )

• Putty 를 실행시켜 Connection Type 을 Serial 로 연결하다 .

Speed 는 115,200

• Login 을 하여 raspi-config 를 실행하여 Setup 을 진행한다 .

Page 15: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – APM 설치

APACHE, PHP, MYSQL

• sudo apt-get install apache2 php5 php5-mysql mysql-server

• mysql 의 root 암호 설정

• 완료 후 아래의 Command 로 실행

sudo sh –c ‘echo “<?php phpinfo(); ?>” > /var/www/phptest.php’

• 노트북에서 인터넷 익스플로러를 실행 후 아래의 주소를 입력하여 테스트

http://192.168.102.106/phptest.php

( 192.168.102.106 대신 자신의 라즈베리파이 주소를 입력 )

Page 16: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – MYSQL 설치

MYSQL

• sudo apt-get install mysql-server

• root 암호 지정

WORDPRESS

• sudo apt-get install wordpress

• sudo cp –r /usr/share/wordpress /var/www/wordpress

• sudo bash /usr/share/doc/wordpress/examples/setup-mysql –n

wordpress localhost

• sudo /var/www/wordpress/wp-admin/wp-config-sample.php

/var/www/wordpress/wp-admin/wp-config.php

• sudo nano /var/www/wordpress/wp-admin/wp-config.php (database

정보등 수정 )

• 노트북의 웹브라우저에서 http://192.168.102.106/wordpress 이후 Setup

Page 17: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – EMAIL 설치

POSTFIX

• sudo apt-get install postfix

• Do a Setup

• Choose Internet site

• Enter Domain name

Page 18: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – FTP 설치

VSFTP

• sudo chown –R pi /var/www

• sudo apt-get install vsftpd

• sudo nano /etc/vsftpd.conf

• anonymous_enable=yes -> anonymous_enable=no

• #write_enable = yes -> write_enable = yes

• Add

• force_dot_files = yes

• Ctrl X 그리고 Y 를 눌러 파일을 저장한다 .

• vsftpd 를 재시작한다 .

• sudo service vsftpd restart

Page 19: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – VNC Server 설치

Tightvncserver

• sudo apt-get install tightvncserver

• vncserver :1 –geometry 1028x800 –depth 16 –pixelformat rgb565

• 노트북에서 vncviewer 를 다운 로드 한다 .

http://www.tightvnc.com/

• 노트북에서 tightvnc viewer 를 실행시켜

192.168.102.101:1 를 입력한다 .

(192.168.102.101 대신 자신의 Raspberry PI IP Address)

Page 20: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – 홈시어터 PC – XBMC 설치

XBMC (XBOX Media Center - 7 장 창고 )

• 준비된 SD 카드를 노트북에 연결한다 .

• 웹브라우저에서 아래의 Site 에 연결하여 Setup 파일을 다운로드 받아 실행한다 .

http://www.raspbmc.com/wiki/user/windows-installation/

• Setup 프로그램을 실행한 후 SD 카드가 담긴 드라이브를

선택한 후 인스톨 버튼을 선택한다 .

• 완료 후 라즈베리 파이에 SD 카드를 넣고 구동 시킨다 .

• 약 20 분 정도 추가 인스톨이 진행이 된다 .

• 완료되면 재부팅한다 .

Page 21: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

2. RASPBERRY PI 설치 – GERTBOARD

Page 22: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

3. PYTHON 프로그래밍

• Python 프로그램

• Scratch

Page 23: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

3. PYTHON 프로그래밍 - Python

• 1991 년 귀도 반 로섬 (Guido Van Rossum) 이 발표한 컴퓨터

프로그래밍 언어 - http://www.python.org/

• 현재 3.3 까지 출시됨

• 라즈베리 파이에는 2.7 과 3.X 가 같이 설치되어 있음 .

• 프로그램을 편하게 하기 위한 IDLE 이 같이 제공됨

• 들여쓰기를 이용하여 블록을 구분하는 특성들 때문에

프로그램을 처음 시작하는 사람들에게 도움을 줌

Page 24: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

3. PYTHON 프로그래밍 – Python 특징

• 들여쓰기를 이용하여 블록을 구분

• Sample

Import random

For x in range(1, 11):

a = random.randint(1, 6)

print (a)

Page 25: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

3. PYTHON 프로그래밍 - Scratch

• MIT Media LAB 에서 개발된 아이들을 위한 프로그램 학습 환경

http://scratch.mit.edu/

• 현재 3 백만개의 결과물이 공유됨

• APP Inventor

http://

Page 26: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

• 목표 : 전산실의 온도를 정기적으로 측정하여 정상범위를 벋어난

경우 관련자에게 EMAIL 을 통해 알려 주기

• 준비물

Raspberry PI

Breadboard

온도측정 Sendor – 달라스 1620

LED & 저항 등

Page 27: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

Page 28: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

• 2012 년 9 월 말 개발

• 2012 년 10 월 운영 시작

• 2013 년 1 월 10 일 정전대비 비상 훈련

Page 29: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

GPIO 활용 – 온도 측정 장비

Page 30: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

• Python 2.7 을 실행 후

RPI.GPIO

• 설치방법

sudo apt-get update

sudo apt-get install python-dev

sudo apt-get install python-rpi.gpio

• 실행방법 : sudo python my.py

Page 31: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

• 간단한 Test

• sudo python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(8, GPIO.OUT)

for i in range(0, 10) :

GPIO.output(8, 1)

time.sleep(2)

GPIO.output(8, 0)

time.sleep(2)

Page 32: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 온도 측정 장비

• RPi.GPIO 의 경우는 아직 0.5.2a

http://

code.google.com/p/raspberry-gpio-python/wiki/Main

• 더 정교한 제어를 하기 원하면

Arduino style 의 wiringpi 를 이용하면 됩니다 .

https://projects.drogon.net/raspberry-pi/wiringpi/

Shift library

SPI

I2C 등

Page 33: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 아두이노와 Serial 연결

• 라즈베리 파이와 아두이노의 시리얼을 이용한 연결

• 필요한 python library

http://sourceforge.net/projects/pyserial/

• 예제

Import serial

ser = serial.Serial(‘/dev/ttyACM0’, 9600)

while 1 :

ser.readline()

ser.write(‘9’)

Page 34: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

4. GPIO 활용 – 아두이노와 Serial 연결

const int ledPin = 13;

void setup() {

pinMode(ledPin, OUTPUT);

Serial.begin(9600);

}

void loop() {

Serial.println("Hello Pi");

if(Serial.available())

{

flash(Serial.read() - '0');

}

delay(1000);

}

void flash(int n)

{

for(int i = 0; i < n; i++)

{

digitalWrite(ledPin, HIGH);

delay(100);

digitalWrite(ledPin, LOW);

delay(100);

}

}

• 아두이노 (Arduino)

Page 35: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

Appendix A. 참고할 만한 Site

• http://www.raspberrypi.org/

• http://www.themagpi.com/

• http://www.adafruit.com/

• http://www.sparkfun.com/

• 질문은 http://cafe.naver.com/embeddedpi

Page 36: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

Appendix B. 참고할 만한 서적

Raspberry User GuideBy Eben

Raspberry PI Home Automation with Arduino

By Andrew K.Dennis2013.2.5

Getting started with BeagleBone

by Matt Richardson2013.4.22

Practical Raspberry PI

By Brendan Horan2013. 3.18

Raspberry PI Projects by Andrew Robinson2013. 8 (English)

Learn Raspberry PI with Linux by peter Membrey

and David2012.12.21

Raspberry Pi Hacks: Tips and Tools for Making

Things with the Inexpensive Linux

Computer 2013.8.22

Programming the Raspberry PI : Getting Started with Python by

Simon Monk2012.10.30

Super Scratch Programming Adventure

Hardware

Programmer

Page 37: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

Appendix C. Tip

• 최초의 Configuration 을 별도로 진행

sudo raspi-config

• Win32DiskImager 는 지우지 않고 가지고 있는다 .

필요한 프로그램을 설치 후 Win32DiskImage 를 이용하여

Image 파일을 만들 수 있다 . 다양한 환경을 매우 빠르게 복제할 수

있음 .

Page 38: 2013.05.04 지앤선 테크니컬 세미나 - Digital native를 위한 거침없이 배우는 라즈 베리파이(전우영)

Appendix C. Tip

• Realtek WIFI power management

sudo nano /etc/modprobe.d/8192cu.conf

# Disable power management

options 8192cu rtw_power_mgnt=0

확인 방법

cat

/sys/module/8192cu/parameters/rtw_power_mgnt