개발자의 서재

라즈베리 파이 쿡북 - 200 여 가지 레시피로 라즈베리 파이 완전 분석

지구빵집 2015. 9. 2. 23:27
반응형




라즈베리 파이 쿡북 - 200 여 가지 레시피로 라즈베리 파이 완전 분석


출판사 서평


라즈베리 파이는 교육용 프로젝트 만들기를 목적으로 개발된 소형 컴퓨터다. 저렴한 가격과 뛰어난 성능으로 인기가 많다. 이 책은 200여 가지의 레시피를 통해 라즈베리 파이 전체를 안내하는 입문서다. 라즈베리 파이 모델 선택, 주요 운영체제 선택과 설치, 라즈베리 파이 운영에 필요한 리눅스와 파이썬 사용법, 다양한 부품을 사용하는 프로젝트 구축 방법까지 라즈베리 파이에 관심 있는 사람이라면 필요한 부분을 골라서 참고할 수 있는 다양한 내용이 수록되어 있다.


- 라즈베리 파이의 주요 주제를 레시피를 통해서 골라 배울 수 있다.

- 라즈베리 파이 운영에 필요한 리눅스와 파이썬 기초를 배운다.

- 다른 취미공학 부품 및 아두이노와 연계하는 다양한 프로젝트를 살펴본다.


어떤 독자를 위한 책인가?

- 메이커/취미공학에 관심이 많은 입문자

- 사물 인터넷/웨어러블 프로토타입 프로젝트를 수행하려는 개발자/제조사





레시피를 통해 배우는 라즈베리 파이의 모든 것

취미공학자라면 자유도가 높은 프로젝트를 구현하고 싶다는 꿈을 꾼다. 기존에 이러한 꿈을 실현해주는 개발 보드로 아두이노가 있었지만, 아두이노로는 뭔가 2% 부족할 때도 상당하다. 그 대안으로 리눅스와 파이썬 기반으로 일반 컴퓨터와 비교해도 손색없을 정도의 다양한 프로젝트를 구현할 수 있는 새로운 개발 보드가 이 책에서 소개하는 라즈베리 파이다.

이 책은 전자공학의 대가이자 지금까지 다양한 서적을 통해 라즈베리 파이와 아두이노를 국내에 소개해온 사이먼 몽크가 라즈베리 파이 사용자들이 겪는 다양한 상황을 레시피 형식으로 소개한다. 입문부터 고급 주제를 아우르는 200여 가지의 레시피를 통해 라즈베리 파이의 모든 것을 원하는 대로 선택해서 살펴보자.


이 책의 내용

- 라즈베리 파이의 구입, 설정, 기본 관리 방법 익히기

- 네트워크에 라즈베리 파이 연결하기

- 리눅스 기반의 운영체제와 사용법 익히기

- 라즈베리 파이에 기본 내장된 소프트웨어를 사용하기

- 라즈베리 파이를 위한 파이썬 프로그램 익히기

- GPIO 커넥터를 통해 하드웨어 제어하기

- 라즈베리 파이와 함께 다양한 모터 사용하기

- 디지털 장비를 통한 입출력 살펴보기

- 센서를 연결해 다양한 상태 살펴보기

- 라즈베리 파이와 아두이노를 혼합한 프로젝트 만들기



목차 TOP


CHAPTER 1 설정과 관리

1-0 소개

1-1 라즈베리 파이 모델 선택하기

1-2 라즈베리 파이 케이스 선택하기

1-3 전원 공급 장치 선택하기

1-4 운영체제 배포본 선택하기

1-5 NOOBS를 SD 카드에 저장하기

1-6 맥에서 SD 카드에 수동으로 운영체제 배포본 저장하기

1-7 윈도우에서 SD 카드에 수동으로 운영체제 배포본 저장하기

1-8 리눅스에서 SD 카드에 수동으로 운영체제 배포본 저장하기

1-9 시스템 연결하기

1-10 DVI 또는 VGA 모니터 연결하기

1-11 컴포지트 비디오 모니터/TV 사용하기

1-12 SD 카드의 모든 저장 공간 활용하기

1-13 모니터 화면 크기 조정하기

1-14 성능 극대화하기

1-15 비밀번호 변경하기

1-16 라즈베리 파이의 윈도 시스템을 자동 부팅하도록 설정하기

1-17 라즈베리 파이 종료하기

1-18 라즈베리 파이에 카메라 모듈 설치하기


CHAPTER 2 네트워킹

2-0 소개

2-1 유선 네트워크에 연결하기

2-2 IP 주소 찾기

2-3 정적 IP 주소 설정하기

2-4 라즈베리 파이의 네트워크 이름 설정하기

2-5 무선 연결 설정하기

2-6 콘솔 리드와 연결하기

2-7 SSH를 통해 라즈베리 파이 원격 제어하기

2-8 VNC를 통해 라즈베리 파이 원격 제어하기

2-9 맥에서 네트워크 연결로 파일 공유하기

2-10 맥에서 라즈베리 파이 화면 공유하기

2-11 라즈베리 파이를 NAS로 사용하기

2-12 네트워크를 통해 인쇄하기


CHAPTER 3 운영체제

3-0 소개

3-1 그래픽 환경에서 파일 이동하기

3-2 터미널 세션 시작하기

3-3 터미널을 사용하여 파일 시스템 탐색하기

3-4 파일이나 디렉터리 복사하기

3-5 파일이나 디렉터리 이름 바꾸기

3-6 텍스트 파일 편집하기

3-7 텍스트 파일 내용 보기

3-8 텍스트 편집기를 사용하지 않고 파일 만들기

3-9 디렉터리 만들기

3-10 파일 및 디렉터리 삭제하기

3-11 슈퍼유저 권한으로 작업 수행하기

3-12 파일 권한 이해하기

3-13 파일 권한 변경하기

3-14 파일 소유권 변경하기

3-15 화면 캡처 만들기

3-16 apt-get을 통해 소프트웨어 설치하기

3-17 apt-get을 통해 설치된 소프트웨어 제거하기

3-18 커맨드 라인에서 파일 가져오기

3-19 git에서 소스 코드 가져오기

3-20 시작할 때마다 프로그램이나 스크립트 자동 실행하기

3-21 일정한 간격으로 프로그램이나 스크립트 자동 실행하기

3-22 정보 찾기

3-23 커맨드 라인에서 히스토리 사용하기

3-24 프로세서 활동 모니터링하기

3-25 파일 압축 작업하기

3-26 연결된 USB 장치 목록 확인하기

3-27 커맨드 라인에서 파일로 출력 전환하기

3-28 파일 병합하기

3-29 파이프 사용하기

3-30 터미널에 출력 숨기기

3-31 백그라운드에서 프로그램 실행하기

3-32 alias 명령 만들기

3-33 날짜 및 시간 설정하기

3-34 SD 카드의 남은 저장 공간 확인하기


CHAPTER 4 소프트웨어

4-0 소개

4-1 미디어 센터 만들기

4-2 오피스 소프트웨어 설치하기

4-3 다른 브라우저 설치하기

4-4 파이 스토어 사용하기

4-5 웹캠 서버 만들기

4-6 고전 게임 콘솔 에뮬레이터 실행하기

4-7 마인크래프트 실행하기

4-8 Open Arena 실행하기

4-9 라즈베리 파이로 무선 송신기 만들기

4-10 GIMP 실행하기

4-11 인터넷 라디오 재생하기


CHAPTER 5 파이썬 기초

5-0 소개

5-1 파이썬 2와 파이썬 3 중 하나 선택하기

5-2 IDLE에서 파이썬 프로그램 작성하기

5-3 파이썬 콘솔 사용하기

5-4 터미널에서 파이썬 프로그램 실행하기

5-5 변수 사용하기

5-6 결과 출력하기

5-7 사용자 입력 받기

5-8 산술 연산하기

5-9 문자열 만들기

5-10 문자열 합치기

5-11 숫자를 문자열로 변환하기

5-12 문자열을 숫자로 변환하기

5-13 문자열의 길이 파악하기

5-14 전체 문자열에서 일부 문자열의 위치 찾기

5-15 전체 문자열의 일부분 추출하기

5-16 전체 문자열 안의 특정 문자열을 다른 문자열로 치환하기

5-17 대소문자 변환하기

5-18 조건부 명령어 실행하기

5-19 값 비교하기

5-20 논리 연산자 사용하기

5-21 정확한 횟수로 명령어 반복하기

5-22 상태가 변경될 때까지 명령어 반복하기

5-23 반복문 나가기

5-24 파이썬에서 함수 정의하기


CHAPTER 6 파이썬 리스트와 사전

6-0 소개

6-1 리스트 생성하기

6-2 리스트의 요소에 접근하기

6-3 리스트의 길이 파악하기

6-4 리스트에 요소 추가하기

6-5 리스트에서 요소 제거하기

6-6 문자열로 리스트 생성하기

6-7 리스트 요소 반복하기

6-8 리스트 열거하기

6-9 리스트 정렬하기

6-10 리스트 나누기

6-11 리스트에 함수 적용하기

6-12 사전 구조체 만들기

6-13 사전 요소 접근하기

6-14 사전 요소 제거하기

6-15 사전 요소 반복하기


CHAPTER 7 파이썬 고급

7-0 소개

7-1 수치 형식 사용하기

7-2 날짜 형식 사용하기

7-3 하나 이상의 값 반환하기

7-4 클래스 정의하기

7-5 멤버 함수 정의하기

7-6 상속 사용하기

7-7 파일 쓰기

7-8 파일 읽기

7-9 피클링

7-10 예외 처리하기

7-11 모듈 사용하기

7-12 난수 사용하기

7-13 파이썬으로 HTTP 요청 생성하기

7-14 파이썬 프로그램에 커맨드 라인으로 매개변수 전달하기

7-15 파이썬 프로그램으로 이메일 전송하기

7-16 파이썬으로 웹 서버 만들기


CHAPTER 8 GPIO 기초

8-0 소개

8-1 GPIO 커넥터 알아보기

8-2 GPIO 커넥터 안전하게 사용하기

8-3 RPi.GPIO 라이브러리 설치하기

8-4 I2C 장치 설정하기

8-5 I2CTools 사용하기

8-6 SPI 장치 설정하기

8-7 시리얼 포트 사용하기

8-8 파이썬에서 시리얼 포트 접근을 위한 PySerial 설치하기

8-9 시리얼 포트를 테스트하기 위해 미니컴 설치하기

8-10 브레드보드와 점퍼 리드 사용하기

8-11 브레드보드와 Pi Cobbler 사용하기

8-12 두 개의 저항을 사용해 5V 신호를 3.3V로 변환하기

8-13 레벨 컨버터 모듈을 사용해 5V 신호를 3.3V로 변환하기

8-14 배터리를 라즈베리 파이 전원으로 사용하기

8-15 리튬 폴리머 배터리 팩을 라즈베리 파이의 전원으로 사용하기

8-16 PiFace 디지털 인터페이스 보드 사용하기

8-17 Gertboard 사용하기

8-18 RaspiRobot 보드 사용하기

8-19 험블 파이 프로토타이핑 보드 사용하기

8-20 Pi Plate 프로토타이핑 보드 사용하기

8-21 패들 터미널 브레이크아웃 보드 사용하기


CHAPTER 9 하드웨어 제어하기

9-0 소개

9-1 LED 연결하기

9-2 LED 밝기 제어하기

9-3 버징 사운드 만들기

9-4 트랜지스터를 사용하여 고전력 DC 장치 제어하기

9-5 릴레이를 사용하여 고전력 장치 제어하기

9-6 고전압 AC 장치 제어하기

9-7 ON/OFF UI 만들기

9-8 LED와 모터의 PWM 전력 제어를 위한 UI 만들기

9-9 RGB LED 색상 변경하기

9-10 다량의 LED 다루기

9-11 아날로그 미터를 디스플레이로 사용하기

9-12 인터럽트를 사용해 프로그래밍하기

9-13 웹 인터페이스를 사용해 GPIO 출력 제어하기


CHAPTER 10 모터

10-0 소개

10-1 서보 모터 제어하기

10-2 다수의 서보 모터 제어하기

10-3 DC 모터의 속도 제어하기

10-4 DC 모터의 방향 제어하기

10-5 유니폴라 스테퍼 모터 사용하기

10-6 바이폴라 스테퍼 모터 사용하기

10-7 RaspiRobot 보드를 사용하여 바이폴라 스테퍼 모터 구동하기

10-8 간단한 로봇 로버 구축


CHAPTER 11 디지털 입력

11-0 소개

11-1 푸시 버튼 스위치 연결

11-2 푸시 버튼 스위치로 ON/OFF 기능 구현하기

11-3 양방향 토글 혹은 슬라이드 스위치 사용하기

11-4 3방향 토글 혹은 슬라이드 스위치 사용하기

11-5 버튼을 누를 때 발생하는 디바운싱 처리하기

11-6 외부 풀-업 저항 사용하기

11-7 로터리 인코더 사용하기

11-8 키패드 사용하기

11-9 동작 감지하기

11-10 GPS 모듈 연결하기

11-11 키보드 입력 감지하기

11-12 마우스 움직임 감지하기

11-13 RTC 모듈 사용하기


CHAPTER 12 센서

12-0 소개

12-1 저항 센서 사용하기

12-2 빛의 강도 측정하기

12-3 가스 탐지하기

12-4 전압 측정하기

12-5 측정 시 사용되는 전압 줄이기

12-6 ADC를 이용해 저항 센서 사용하기

12-7 ADC를 이용해 온도 측정하기

12-8 가속도 측정하기

12-9 디지털 센서로 온도 측정하기

12-10 거리 측정하기

12-11 센서값 출력하기

12-12 USB 플래시 드라이브에 로그 기록하기


CHAPTER 13 디스플레이

13-0 소개

13-1 4-Digit LED 디스플레이 사용하기

13-2 I2C LED 매트릭스에 메시지 출력하기

13-3 Pi-Lite 사용하기

13-4 알파뉴머릭 LCD에 메시지 출력하기


CHAPTER 14 아두이노와 라즈베리 파이

14-0 소개

14-1 라즈베리 파이에서 아두이노 프로그래밍하기

14-2 시리얼 모니터를 사용해 아두이노와 통신하기

14-3 PyFirmata를 사용해 아두이노 제어하기

14-4 라즈베리 파이를 사용해 아두이노에 디지털 출력하기

14-5 TTL 시리얼로 PyFirmata 사용하기

14-6 PyFirmata를 사용해 아두이노의 디지털 입력 신호 읽기

14-7 PyFirmata를 사용해 아두이노의 아날로그 입력 신호 읽기

14-8 PyFirmata를 사용해 아두이노에 아날로그 출력 신호 보내기

14-9 PyFirmata를 사용해 서보 모터 제어하기

14-10 TTL 시리얼 케이블로 아두이노와 통신하기

14-11 I2C 버스로 아두이노와 통신하기

14-12 소형 아두이노 사용하기

14-13 aLaMode 보드 사용하기

14-14 aLaMode 보드를 이용해서 아두이노 실드 사용하기

14-15 Gertboard를 아두이노 인터페이스로 사용하기


부록 부품과 판매처

부품

프로토타이핑 장비

저항과 콘덴서

트렌지스터와 다이오드

집적 회로

광전자

모듈

기타


INDEX



사이먼 몽크(Simon Monk) [저]

인공 두뇌학 및 컴퓨터 과학 학위와 소프트웨어 공학 박사 학위가 있습니다. 모바일 소프트웨어 회사 모모트Momote를 공동 창업했으며, 업계에 돌아오기 전 몇 년 동안 학자로 지냈습니다. 현재 라즈베리 파이와 아두이노뿐 아니라, 전자책을 포함하여 다양한 종류의 오픈 소스 하드웨어에 대한 글을 쓰는 저자로 활동 중입니다. http://www.simonmonk.org 또는 트위터 계정 @simonmonk2을 살펴보면 그의 저서에 대해 더 자세히 살펴볼 수 있습니다.


백운혁 [저]

전공보다 비전공에 관심이 더 많은, 그리고 신기술에 호기심 많은 야행성 개발자입니다.

박경욱 [역]

우연한 계기로 웹 개발에 입문해 자바스크립트를 좋아하게 되었고, 제주에서 PlayEmbedded라는 동호회를 만들어서 임베디드 기기와 웹을 접목해 노는 아이디어를 구현하며 지내고 있습니다. 그밖에 잡다한 기술 지식에 관심이 많은 잉여 개발자입니다.

유시형 [역]

IT 기술을 사용하여 좀 더 편안한 삶을 영위하는 것에 관심이 많은, 제주도에 사는 평범한 개발자이자 두 아이의 아빠입니다.

윤종우 [역]

라즈베리 파이를 활용한 IoT에 관심이 많은, 개발이 좋아 전공을 포기하고 웹 개발자의 삶을 살고 있는 건축공학도입니다




반응형