HOME > 상세정보

상세정보

(사물인터넷을 위한) 라즈베리파이 3 활용 / 개정판

(사물인터넷을 위한) 라즈베리파이 3 활용 / 개정판

자료유형
단행본
서명 / 저자사항
(사물인터넷을 위한) 라즈베리파이 3 활용 / 정원석 지음
판사항
개정판
발행사항
파주 :   光文閣,   2018  
형태사항
388 p. : 삽화(일부천연색) ; 26 cm
ISBN
9788970938424
000 00000cam c2200205 c 4500
001 000045936062
005 20180321163432
007 ta
008 180321s2018 ggka 000c kor
020 ▼a 9788970938424 ▼g 93560
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 004.16 ▼2 23
085 ▼a 004.16 ▼2 DDCK
090 ▼a 004.16 ▼b 2018
245 2 0 ▼a (사물인터넷을 위한) 라즈베리파이 3 활용 / ▼d 정원석 지음
246 1 1 ▼a Using the raspberrtPi 3 for internet of things
250 ▼a 개정판
260 ▼a 파주 : ▼b 光文閣, ▼c 2018
300 ▼a 388 p. : ▼b 삽화(일부천연색) ; ▼c 26 cm
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 004.16 2018 등록번호 121243845 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

비전공자라도 오픈소스 플랫폼에 관심이나 프로그래밍에 대한 조금의 지식만 있으면 쉽게 시작할 수 있도록 한 책이다. 라즈베리파이를 제어하기 위해 기초적이고 꼭 필요한 사용법을 시작으로 파이썬 프로그래밍 언어, 리눅스에 대한 개념, 장치 제어 및 웹 서버 구현을 설명하고 있다.

라즈베리파이에서 많이 사용되는 프로그래밍 언어, 파이썬에 대하여 자세히 다루고 있다. 또한 기본 운영 체제가 리눅스 기반이므로 그에 대한 개념과 블루투스를 포함한 시리얼 통신, SPI, I2C, 카메라 등과 같은 장치들을 제어하는 방법을 다루었다.

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


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

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

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

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

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

이 책의 마지막 부분에는 사물인터넷 활용을 위한 실무적인 내용으로 클라우드 서비스를 활용하는 방법과 더불어 웹 서버를 구현하는 방법 및 테스트 절차에 대하여 기술하였다.

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


정보제공 : Aladin

저자소개

정원석(지은이)

정보제공 : Aladin

목차

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.2.4 Headless 접속방법 
 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 

5. 사용 유틸리티 
 5.1 SSH 기반 
  5.1.1 putty, smarTTY, WinSCP 
 5.2 시리얼 터미널 
 5.3 Notepad++ 

6. 원격 데스크톱 연결 
 6.1 RDP를 통한 원격 라즈베리파이 접속 
 6.2 VNC를 통한 원격 라즈베리파이 접속 

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

8. USB 부팅 

PART 1 정리 

PART 2 파이썬 기본 

9. 파이썬 기초 
 9.1 파이썬이란 무엇인가? 
 9.2 파이썬 언어의 특징 
 9.3 파이썬 시작하기 
  9.3.1 Python 명령어 사용하는 방법 
  9.3.2 IDLE을 사용한 실행방법 
  9.3.3 대화창을 통한 실행방법 
  9.3.4 파이썬 언어로 프로그램을 실행한다는 의미 
 9.4 연산자 
  9.4.1 산술 연산자 (+, -, *, /, //, %, **) 
  9.4.2 관계 연산자 ( < , >, <=, >=, ==, != ) 
  9.4.3 논리 연산자 (and, or, not) 
  9.4.4 시프트 연산자 ( << , >> ) 
  9.4.5 비트 연산자 (&, |, ^, ~) 
  9.4.6 멤버 연산자 (in, not in) 
  9.4.7 객체 비교 연산자 (is) 
 9.5 변수와 객체 
  9.5.1 변수와 객체의 관계 
  9.5.2 다중변수 대입 
 9.6 자료형 종류 
  9.6.1 수치형 
  9.6.2 문자열 
  9.6.3 리스트 (list) 
  9.6.4 튜플 (tuple) 
  9.6.5 딕셔너리 (dictionary) 
 9.7 시퀀스 자료형 
  9.7.1 인덱싱 (indexing)과 슬라이싱 (slicing) 
  9.7.2 더하기 (addition) 
  9.7.3 곱하기 
  9.7.4 항목 확인 (item check) 
  9.7.5 내장함수 (built-in function) 
 9.8 프로그램 제어문 
  9.8.1 if, elif, else (조건문) 
  9.8.2 for (반복문) 
  9.8.3 while (반복문) 
 9.9 문자열 처리 
  9.9.1 문자열 대입 
  9.9.2 문자열 합치기 
  9.9.3 문자열 반복하기 
  9.9.4 개별문자 접근 
  9.9.5 문자열 추출 
  9.9.6 문자열 포맷 변환 
  9.9.7 문자열 처리 내장함수 
  9.9.8 문자열, 숫자 상호 변환 
  9.9.9 문자열 인코딩 및 디코딩 
  9.10 사용자 입력 및 문자열 출력 
  9.10.1 사용자 입력 
  9.10.2 문자열 출력 
 9.11 객체에 대한 참조 및 복사 
  9.11.1 객체에 대한 참조 
  9.11.2 객체의 복사 
 9.12 함수 
  9.12.1 함수의 정의 
  9.12.2 기본인자 값 전달 
  9.12.3 가변인자 함수 
 9.13 지역 및 전역변수 
 9.14 파일 다루기 
  9.14.1 파일 생성 
  9.14.2 파일 읽기 
  9.14.3 open 함수의 매개변수 
 9.15 주석 처리 

10. 클래스 
 10.1 구성 
 10.2 클래스 상속 
 10.3 연산자 오버로딩 (overloading) 

11. 파이썬 모듈 (module) 
 11.1 모듈의 구현 및 사용 
 11.2 if __name__ == ‘__main__’ : 

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

PART 2 정리 

PART 3 리눅스에 대한 이해 

13. 리눅스 기반의 라즈베리파이 
 13.1 폴더구조 
 13.2 프롬프트 구조 
 13.3 명령어 
  13.3.1 명령어 구조 
  13.3.2 명령어 도움말 
  13.3.3 자주 사용되는 명령어 
 13.4 파일 속성 
  13.4.1 파일 유형 
  13.4.2 파일 사용 권한 
 13.5 패키지 설치 및 관리도구 (apt-get) 
  13.5.1 사용방법 
  13.5.2 패키지 인덱스 정보 
  13.5.3 패키지 정보 및 설치된 패키지 갱신 
 13.6 쉘 스크립트 
  13.6.1 쉘이란 
  13.6.2 쉘 스크립트 예제 
 13.7 시작 프로그램 등록 
  13.7.1 /etc/rc.local 파일 
  13.7.2 update-rc.d 명령 
 13.8 루트 계정을 통한 SSH 접속 
  13.8.1 루트 계정 활성화 
  13.8.2 sshd_config 파일 수정 

14. 리눅스 장치 
 14.1 장치 종류 
  14.1.1 블록 디바이스 
  14.1.2 캐릭터 디바이스 
 14.2 장치 파일 
  14.2.1 USB 디스크 장치 마운트 
  14.2.2 파이썬 코드를 이용한 저장 장치 읽기 쓰기 
 14.3 시리얼 장치 
  14.3.1 serial0 장치 
  14.3.2 serial1 장치 
  14.4 터미널 장치 

PART 3 정리 

PART 4 장치 제어 

15. 시리얼 통신이란? 
 15.1 시리얼 장치 
  15.1.1 장치 이름 
 15.2 파이썬 모듈 및 WiringPi 라이브러리 설치 
  15.2.1 python3-serial 모듈 사용 방법 
 15.3 USB 기반 시리얼 통신 
  15.3.1 외부 장치와 USB 기반 시리얼 통신하기 
  15.3.2 파이썬 기반의 시리얼 통신 프로그램 
  15.3.3 C 언어 기반의 시리얼 통신 프로그램 
 15.4 UART 기반 시리얼 통신(확장핀 사용) 
  15.4.1 환경 설정 파일 
  15.4.2 UART 핀 연결 
  15.4.3 명령어 기반 동작 테스트 
  15.4.4 파이썬 기반의 시리얼 통신 프로그램(1) 
  15.4.5 파이썬 기반의 시리얼 통신 프로그램(2) 
  15.4.6 C 언어 기반의 시리얼 통신 프로그램 
 15.5 블루투스 기반 시리얼 통신 
  15.5.1 페어링 과정 
  15.5.2 연결 과정 
  15.5.3 사용에 문제가 있을 경우 
  15.5.4 스마트폰과의 데이터 송수신 
  15.5.5 파이썬 기반의 시리얼 통신 프로그램 
  15.5.6 C 언어 기반의 시리얼 통신 프로그램 

16. 하드웨어 제어 
 16.1 하드웨어 제어를 위한 프로그램 설치 
  16.1.1 rpi.gpio 모듈 설치 
  16.1.2 WiringPi 라이브러리 설치 
 16.2 GPIO 제어 
  16.2.1 rpi.gpio를 이용한 제어 
  16.2.2 WiringPi를 이용한 제어 
 16.3 인터럽트 제어 
  16.3.1 rpi.gpio를 이용한 제어 
  16.3.2 WiringPi를 이용한 제어 
 16.4 PWM 제어 
  16.4.1 pwm을 이용한 DC 모터 제어 
  16.4.2 max14870 모듈을 사용한 모터 제어 
 16.5 SPI 제어 
  16.5.1 라즈베리파이에서의 SPI 사용 
  16.5.2 bmp280 모듈 제어 (온도 및 기압 센서) 
 16.6 I2C 제어 
  16.6.1 라즈베리파이에서의 I2C 사용 
  16.6.2 mpu-6050 모듈 제어 (가속도 및 자이로 센서) 

17. 카메라 제어 
 17.1 카메라 설정 및 파이썬 모듈 설치 
 17.2 카메라 프리뷰 및 캡쳐 
 17.3 카메라 녹화 

PART 4 정리 

PART 5 클라우드 서비스 활용 및 웹 서버 구축 

18. 클라우드 기반의 서비스 활용 
 18.1 클라우드란 
 18.2 ThingSpeak 
  18.2.1 ThingSpeak 사용법 
  18.2.2 파이썬 기반의 클라우드 서비스 활용 

19. 플라스크 기반의 웹 서버 구축 및 하드웨어 제어 
 19.1 웹 서버란? 
 19.2 플라스크 
  19.2.1 플라스크 설치 
  19.2.2 간단한 웹 서버 구현 
 19.3 웹 서버 기반의 하드웨어 제어 

PART 5 정리

관련분야 신착자료

김자미 (2021)