장바구니 담기 close

장바구니에 상품을 담았습니다.

라즈베리파이 3 활용

라즈베리파이 3 활용

  • 정원석
  • |
  • 광문각
  • |
  • 2017-04-05 출간
  • |
  • 408페이지
  • |
  • 189 X 258 X 22 mm /847g
  • |
  • ISBN 9788970938424
판매가

25,000원

즉시할인가

23,750

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
23,750

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

사물인터넷에 대한 아이디어를 구현할 수 있도록
비전공자도 쉽게 라즈베리파이를 구현할 수 있는 활용서!!!

IT 관련 일을 시작한 지 20년 가까운 시점에 처음으로 책을 저술하게 되었다. 20년 동안 개발 관련 일을 하면서 그간 쌓은 기술 및 노하우를 책을 통해 전달하려 했지만 늘 시간이 부족하다는 핑계로 흐지부지되곤 하였다. 하지만 더 늦으면 안 되겠다는 생각에 책 집필을 가장 우선적으로 진행하기로 마음먹고 현재 화두가 되고 있는 사물인터넷 분야에 가장 적합한 환경인 라즈베리파이에 관한 책을 집필하기로 결정하였다. 필자는 몇 해 전부터 국내 여러 기관에서 라즈베리파이 교육을 해 오고 있었으며 주위에서 라즈베리파이 관련 책 집필에 대한 요구를 많이 받은 상태였기 때문에 이 책을 집필하게 되었다.

책 집필에 대한 결심 후, 독자들에게 유용한 정보를 전달하기 위해 어디부터 어떻게 시작할지 많은 고민을 하였다. 시중에 출간된 관련 서적들도 많이 읽어 보고 빈틈없는 실습 준비 끝에 책의 집필을 시작하였다. 이 책을 저술하면서 가장 중점을 둔 것은 보다 실무적이고 현업에서 많이 사용되는 내용을 담고자 하였다.

이 책은 비전공자라도 오픈소스 플랫폼에 관심이나 프로그래밍에 대한 조금의 지식만 있으면 쉽게 시작할 수 있도록 하였다. 이 책에 나오는 예제들을 따라 해보면 라즈베리파이를 쉽게 다루게 되고 라즈베리파이를 이용하여 본인이 생각하고 있는 아이디어를 쉽게 구현할 수 있는 발판이 될 것이다.

이 책은 라즈베리파이를 제어하기 위해 기초적이고 꼭 필요한 사용법을 시작으로 파이썬 프로그래밍 언어에 대한 내용, 리눅스에 대한 개념, 장치 제어 및 사물인터넷 구현에 핵심 중의 하나인 웹 서버 구현에 관한 내용으로 구성되어 있다. 라즈베리파이에서 많이 사용되는 프로그래밍 언어가 사용하기 쉽고 배우기 쉬운 파이썬인 만큼 이 책의 상당 부분이 파이썬에 대하여 다루고 있다. 이 책에서 언급된 파이썬 관련 부분만 잘 숙지하여도 파이썬 기반의 프로그램을 작성하기에 충분하다고 생각한다.

라즈베리파이의 기본 운영 체제가 리눅스 기반이므로 리눅스에 대한 개념을 전달하려고 하였으며, 이 책의 후반부에는 블루투스를 포함한 시리얼 통신, SPI, I2C, 카메라 등과 같은 장치들을 제어하는 방법을 다루었다. 이러한 장치 제어를 위하여 사용된 예제는 파이썬과 C 언어 기반으로 작성하여 독자들은 장치 제어에 있어 두 언어의 장단점을 이해할 수 있을 것으로 판단된다.

이 책의 마지막 부분에는 사물인터넷 개념과 더불어 웹 서버를 구현하는 방법 및 테스트 절차에 대하여 기술하였다.

이 책에 사용된 실습 기자재들은 여러 쇼핑몰을 통하여 각각 구매할 수도 있지만 국내의 한 쇼핑몰(www.toolparts.co.kr)과 협약하여 부품들을 쉽게 구매할 수 있도록 하였다.

목차

PART 1 라즈베리파이 시작
1. 라즈베리파이를 시작하다
1.1 라즈베리파이 (RaspberryPi) 란?
1.2 MagPi 잡지
1.3 오픈 소스 (Open Source) 플랫폼
1.4 라즈베리파이 보드 구조
1.5 보드 케이스
1.6 라즈베리파이 사용에 필요한 기술 및 지식
1.7 운영체제 설치 및 부팅
1.8 운영체제 파티션 구조
1.9 라즈비안 과거 버전

2. Host PC에서 라즈베리파이 연결하기
2.1 콘솔 기반의 제어
2.1.1 HDMI 모니터, USB 키보드, USB 마우스 연결환경
2.1.2 시리얼 연결
2.1.3 /boot/cmdline.txt 파일
2.2 SSH 기반의 제어
2.2.1 LAN 케이블 직접연결
2.2.2 공유기를 통한 LAN 케이블 연결
2.2.3 WiFi를 통한 연결
2.3 라즈베리파이 연결정보 확인하기
2.3.1 라즈베리파이 보드의 물리적 주소 (mac 주소)
2.3.2 공유기를 통한 내부 네트워크 연결정보 확인
2.3.3 포트 및 IP 스캔 유틸리티 사용
2.4 인터넷 연결확인
2.5 update 및 upgrade
2.6 호스트 이름으로 라즈베리파이 접속
2.6.1 삼바(Samba) 설치
2.7 시스템 종료와 재시작

3. 라즈베리파이 기본설정
3.1 raspi-config
3.2 한글 입력기 및 한글폰트 설치

4. 라즈베리파이 시스템 설정
4.1 cmdline.txt, config.txt
4.1.1 cmdline.txt
4.1.2 config.txt

5. 사용 유틸리티
5.1 SSH 기반
5.1.1 putty
5.1.2 smarTTY
5.1.3 WinSCP
5.2 시리얼 터미널
5.3 봉주르 브라우저
5.4 Notepad++

6. 원격 데스크톱 연결
6.1 RDP를 통한 원격 라즈베리파이 접속
6.2 VNC를 통한 원격 라즈베리파이 접속
6.2.1 TightVNCServer 설치
6.2.2 TightVNCServer 접속
6.2.3 VNC 서버 자동실행 (시작 프로그램 등록)
6.2.4 Host PC 클립보드 및 라즈베리파이 컷 버퍼 동기화

7. 나노(NANO) 편집기
7.1 사용법

PART 1 정리

PART 2 파이썬 기본
8. 파이썬 기초
8.1 파이썬이란 무엇인가?
8.2 파이썬 언어의 특징
8.3 파이썬 시작하기
8.3.1 Python 명령어 사용하는 방법
8.3.2 IDLE을 사용한 실행방법
8.3.3 대화창을 통한 실행방법
8.3.4 파이썬 언어로 프로그램을 실행한다는 의미
8.4 연산자
8.4.1 산술 연산자 (+, -, *, /, //, %, **)
8.4.2 관계 연산자 ( < , >, <=, >=, ==, != )
8.4.3 논리 연산자 (and, or, not)
8.4.4 시프트 연산자 ( << , >> )
8.4.5 비트 연산자 (&, |, ^, ~)
8.4.6 멤버 연산자 (in, not in)
8.4.7 객체비교 연산자 (is)
8.5 변수와 객체
8.5.1 변수와 객체의 관계
8.5.2 다중변수 대입
8.6 자료형 종류
8.6.1 수치형
8.6.2 문자열
8.6.3 리스트 (list)
8.6.4 튜플 (tuple)
8.6.5 딕셔너리 (dictionary)
8.7 시퀀스 자료형
8.7.1 인덱싱 (indexing)과 슬라이싱 (slicing)
8.7.2 더하기 (addition)
8.7.3 곱하기
8.7.4 항목 확인 (item check)
8.7.5 내장함수 (built-in function)
8.8 프로그램 제어 문
8.8.1 if, elif, else (조건문)
8.8.2 for (반복문)
8.8.3 while (반복문)
8.9 문자열 처리
8.9.1 문자열 대입
8.9.2 문자열 합치기
8.9.3 문자열 반복하기
8.9.4 개별문자 접근
8.9.5 문자열 추출
8.9.6 문자열 포맷 변환
8.9.7 문자열 처리 내장함수
8.9.8 문자열, 숫자 상호변환
8.9.9 문자열 인코딩 및 디코딩
8.10 사용자 입력 및 문자열 출력
8.10.1 사용자 입력
8.10.2 문자열 출력
8.11 객체에 대한 참조 및 복사
8.11.1 객체에 대한 참조
8.11.2 객체의 복사
8.12 함수
8.12.1 함수의 정의
8.12.2 기본인자 값 전달
8.12.3 가변인자 함수
8.13 지역 및 전역변수
8.14 파일 다루기
8.14.1 파일 생성
8.14.2 파일 읽기
8.14.3 open 함수의 매개변수
8.15 주석처리

9. 클래스
9.1 구성
9.2 클래스 상속
9.3 연산자 오버로딩 (overloading)

10. 파이썬 모듈 (module)
10.1 모듈의 구현 및 사용
10.2 if __name__ == ‘__main__’ :

11. 데코레이터 (decorator)
11.1 함수 꾸미기
11.2 ‘@’ 키워드를 이용한 데코레이터 구현

PART 2 정리

PART 3 리눅스에 대한 이해
12. 리눅스 기반의 라즈베리파이
12.1 폴더구조
12.2 프롬프트 구조
12.3 명령어
12.3.1 명령어 구조
12.3.2 명령어 도움말
12.3.3 자주 사용되는 명령어
12.4 파일 속성
12.4.1 파일유형
12.4.2 파일 사용권한
12.5 패키지 설치 및 관리도구 (apt-get)
12.5.1 사용방법
12.5.2 패키지 인덱스 정보
12.5.3 패키지 정보 및 설치된 패키지 갱신
12.6 쉘 스크립트
12.6.1 쉘이란
12.6.2 쉘 스크립트 예제
12.7 시작 프로그램 등록
12.7.1 /etc/rc.local 파일
12.7.2 update-rc.d 명령
12.8 루트 계정을 통한 SSH 접속
12.8.1 루트 계정 활성화
12.8.2 sshd_config 파일 수정

13. 리눅스 장치
13.1 장치 종류
13.1.1 블록 디바이스
13.1.2 캐릭터 디바이스
13.2 장치 파일
13.2.1 USB 디스크 장치 마운트
13.2.2 파이썬 코드를 이용한 저장장치 읽기 쓰기
13.3 시리얼 장치
13.3.1 serial0 장치
13.3.2 serial1 장치
13.4 터미널 장치

PART 3 정리

PART 4 장치제어
14. 시리얼 통신이란?
14.1 시리얼 장치
14.1.1 장치이름
14.2 파이썬 모듈 및 WiringPi 라이브러리 설치
14.2.1 python3-serial 모듈 사용 방법
14.3 USB 기반 시리얼 통신
14.3.1 외부장치와 USB 기반 시리얼 통신 하기
14.3.2 파이썬 기반의 시리얼 통신 프로그램
14.3.3 C 언어 기반의 시리얼 통신 프로그램
14.4 UART 기반 시리얼 통신 (확장핀 사용)
14.4.1 환경설정 파일
14.4.2 UART 핀 연결
14.4.3 명령어 기반 동작 테스트
14.4.4 파이썬 기반의 시리얼 통신 프로그램 (1)
14.4.5 파이썬 기반의 시리얼 통신 프로그램 (2)
14.4.6 C 언어 기반의 시리얼 통신 프로그램
14.5 블루투스 기반 시리얼 통신
14.5.1 페어링 과정
14.5.2 연결과정
14.5.3 사용에 문제가 있을 경우
14.5.4 스마트폰과의 데이터 송수신
14.5.5 파이썬 기반의 시리얼 통신 프로그램
14.5.6 C 언어 기반의 시리얼 통신 프로그램

15. 하드웨어 제어
15.1 하드웨어 제어를 위한 프로그램 설치
15.1.1 rpi.gpio 모듈 설치
15.1.2 WiringPi 라이브러리 설치
15.2 GPIO 제어
15.2.1 rpi.gpio를 이용한 제어
15.2.2 WiringPi를 이용한 제어
15.3 인터럽트 제어
15.3.1 rpi.gpio를 이용한 제어
15.3.2 WiringPi를 이용한 제어
15.4 PWM 제어
15.4.1 pwm을 이용한 DC 모터 제어
15.4.2 max14870 모듈을 사용한 모터 제어
15.5 SPI 제어
15.5.1 라즈베리파이에서의 SPI 사용
15.5.2 bmp280 모듈 제어 (온도 및 기압 센서)
15.6 I2C 제어
15.6.1 라즈베리파이에서의 I2C 사용
15.6.2 mpu-6050 모듈 제어 (가속도 및 자이로 센서)

16. 카메라 제어
16.1 카메라 설정 및 파이썬 모듈 설치
16.2 카메라 프리뷰 및 캡쳐
16.3 카메라 녹화

PART 4 정리

PART 5 웹 서버 구축
17. 플라스크 기반의 웹 서버
17.1 웹 서버란?
17.2 플라스크
17.2.1 플라스크 설치
17.2.2 간단한 웹 서버 구현

18. 웹 서버 기반의 하드웨어 제어

PART 5 정리

PART 6 사물인터넷
19. 사물인터넷이란?
19.1 M2M과 IoT
19.1.1 M2M (Machine to Machine)
19.1.2 IoT (Internet of Things)
19.2 사물인터넷 구현을 위한 기반기술
19.3 사물인터넷이 적용되는 실례
19.4 사물인터넷 시장전망

PART 6 정리

도서소개

『라즈베리파이 3 활용』은 라즈베리파이를 제어하기 위해 기초적이고 꼭 필요한 사용법을 시작으로 파이썬 프로그래밍 언어에 대한 내용, 리눅스에 대한 개념, 장치 제어 및 사물인터넷 구현에 핵심 중의 하나인 웹 서버 구현에 관한 내용으로 구성되어 있다. 라즈베리파이에서 많이 사용되는 프로그래밍 언어가 사용하기 쉽고 배우기 쉬운 파이썬인 만큼 이 책의 상당 부분이 파이썬에 대하여 다루고 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.