레시피를 통해 배우는 라즈베리 파이의 모든 것
취미공학자라면 자유도가 높은 프로젝트를 구현하고 싶다는 꿈을 꾼다. 기존에 이러한 꿈을 실현해주는 개발 보드로 아두이노가 있었지만, 아두이노로는 뭔가 2% 부족할 때도 상당하다. 그 대안으로 리눅스와 파이썬 기반으로 일반 컴퓨터와 비교해도 손색없을 정도의 다양한 프로젝트를 구현할 수 있는 새로운 개발 보드가 이 책에서 소개하는 라즈베리 파이다.
이 책은 전자공학의 대가이자 지금까지 다양한 서적을 통해 라즈베리 파이와 아두이노를 국내에 소개해온 사이먼 몽크가 라즈베리 파이 사용자들이 겪는 다양한 상황을 레시피 형식으로 소개한다. 입문부터 고급 주제를 아우르는 200여 가지의 레시피를 통해 라즈베리 파이의 모든 것을 원하는 대로 선택해서 살펴보자.
【이 책의 내용】
【이 책의 특징과 장점】
【어떤 독자를 위한 책인가?】
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
테로 카르비넨 , 키모 카르비넨 , 빌리 발토카리
볼프람 도낫