책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
2018년 대한민국학술원 우수학술도서 선정도서
요약
스마트 IoT 프로젝트는 IoT와 지능 시스템을 결합해 실생활의 문제를 해결하는 데 꼭 필요한 참고 서적이다. 물리 장치에 의사 결정 시스템을 더욱 쉽게 구현할 수 있도록, 기본 통계 지식과 데이터 과학 및 기계 학습에 관련된 여러 가지 응용 알고리즘을 소개한다. 이 책에서는 스마트 온도 조절기, 머신 비전, 자율 주행 자동차 로봇, 음성 명령으로 IoT 장치를 제어하는 방법, 클라우드를 이용해 IoT 애플리케이션을 만드는 방법, 데이터 과학에 관련된 다양한 지식을 실전 예제 프로젝트를 통해 살펴본다.
이 책에서 다루는 내용
■ IoT 프로젝트에 데이터 과학 기법을 적용해 스마트 온도 조절기 만들기
■ 간단한 머신 러닝 애플리케이션과 의사 결정 시스템 만들기
■ OpenCV로 머신 비전 만들기
■ 자율 주행 및 수동 조작 방식의 로봇 자동차 만들기
■ 내 목소리로 IoT 장치를 제어하기 위한 스피치 모듈 만들기
■ IoT 장치와 클라우드 서버 연결하기
이 책의 대상 독자
이 책은 IoT 프로젝트에 다양한 머신 러닝 알고리즘을 구현하고 싶은 이들을 위해 집필했다. 이 책에서는 기계 학습을 이용해 실생활에서 활용할 수 있는 IoT 응용을 제작하는 방법도 소개한다. 라즈베리 파이나 아두이노에 대해 전혀 모르더라도 괜찮다.
이 책의 구성
1장, ‘스마트 IoT 프로젝트’에서는 아두이노나 라즈베리 파이와 같은 IoT 장치에서 센서와 액추에이터를 사용하는 방법에 대해 소개한다. 또한 통계와 데이터 과학에 관련된 파이썬 라이브러리도 소개한다.
2장, ‘IoT 프로젝트를 위한 의사 결정 시스템’에서는 IoT 장치에 의사 결정 시스템을 구축하는 방법에 대해 소개한다. 의사 결정 시스템에 관련된 파이썬 라이브러리를 살펴보고, 이를 활용하여 IoT 보드에 의사 결정 시스템을 구현하는 프로그램을 직접 작성해본다.
3장, ‘나만의 머신 비전 만들기’에서는 카메라를 통해 기계가 주변 환경을 인식하게 만드는 방법과 기계를 훈련시켜 특정한 물체를 감지하거나 추적하게 만드는 방법에 대해 소개한다. 이 과정에서 여러 가지 카메라 모듈도 소개한다.
4장, ‘나만의 자율 주행 자동차 로봇 만들기’에서는 자동차 로봇을 만드는 방법에 대해 소개한다. IoT 장치에 몇 가지 센서와 액추에이터를 달아서 사람의 개입 없이 알아서 움직이도록 만든다. 또한 컴퓨터를 통해 로봇을 제어하고 길을 찾아가는 방법에 대해서도 소개한다.
5장, ‘IoT 프로젝트에 음성 기술 구현하기’에서는 IoT 보드가 말을 할 수 있게 만드는 방법에 대해 소개한다. 이 과정에서 필요한 사운드 모듈과 스피치 모듈에 대해서도 다양하게 소개한다.
6장, ‘IoT 프로젝트를 위한 데이터 과학용 클라우드 구축하기’에서는 IoT 프로젝트에서 클라우드 플랫폼을 활용하는 방법에 대해 소개한다. IoT 프로젝트에서 보드와 센서, 액추에이터뿐만 아니라, 이를 지원하는 백엔드 인프라스트럭처의 역할도 중요하다. IoT 보드를 여러 나라에 설치해두고 운용하려면 데이터를 수집하는 부분에 좀 더 신경 써서 구현해야 한다.
목차
목차
- 1장. 스마트 IoT 프로젝트
- 통계 및 데이터 과학의 기초
- 전산 통계와 데이터 과학 작업을 위한 파이썬 설치
- 전산 통계 및 데이터 과학에 관련된 파이썬 라이브러리
- NumPy
- Pandas
- SciPy
- Scikit-learn
- Shogun
- SymPy
- Statsmodels
- 전산 통계 및 데이터 과학에 관련된 파이썬 라이브러리
- 간단한 통계 프로그램 만들기
- IoT 장치와 플랫폼
- 아두이노
- 라즈베리 파이
- 비글본 블랙 및 그린
- ESP8266 MCU 기반의 IoT 보드
- TI CC3200 MCU 기반 IoT 보드
- IoT 장치로 센서와 액추에이터 제어하기
- 아두이노로 센서와 액추에이터 제어하기
- 라즈베리 파이로 센서와 액추에이터 제어하기
- 설정 방법
- 라즈베리 파이 GPIO 다루기
- 센서로 외부 감지하기
- 스마트 온도 조절기 만들기
- PID 제어기
- 파이썬으로 PID 제어기 만들기
- PID 제어기로 방안의 온도 조절하기
- 정리
- 참고 문헌
- 2장. 의사 결정 시스템
- 의사 결정 시스템과 머신 러닝의 개요
- 베이지안 기반 의사 결정 시스템
- 퍼지 논리 기반 의사 결정 시스템
- 의사 결정 시스템 구현에 필요한 파이썬 라이브러리
- 베이지안
- 퍼지 논리
- 베이지안 이론을 이용하여 간단한 의사결정 시스템 만들기
- IoT 장치에 의사 결정 시스템 구축하기
- 나만의 IoT 의사 결정 시스템 만들기
- 회로 구성
- 파이썬 프로그램 작성하기
- 테스트
- 개선 방안
- 정리
- 참고문헌
- 3장. 머신 비전
- 머신 비전의 개요
- OpenCV 라이브러리
- 라즈베리 파이에 OpenCV 설치하는 방법
- 간단한 OpenCV 프로그램 만들기
- 카메라 모듈 다루기
- CSI 인터페이스 기반 카메라 모듈
- USB 인터페이스 기반 카메라 모듈
- 시리얼 인터페이스 기반 카메라 모듈
- 여러 가지 인터페이스를 지원하는 카메라 모듈
- OpenCV 라이브러리에서 카메라 모듈 접근하기
- 머신 비전을 위한 패턴 인식
- 움직이는 물체를 추적하는 비전 시스템 만들기
- 나만의 IoT 머신 비전 만들기
- 라즈베리 파이에 픽시 CMU캠5 설치하기
- 조립하기
- 픽시 CMUcam5 펌웨어 업데이트하기
- 테스트
- 스트리밍 비디오 불러오기
- 물체 추적하기
- 팬/틸트 모듈로 물체 추적하기
- 파이썬 애플리케이션 실행하기
- 시그니처 모두 삭제하기
- 정리
- 참고 문헌
- 4장. 자율 주행 자동차 로봇
- 자율 시스템의 개요
- 모바일 로봇의 개요
- 자동차 로봇 만들기
- DIY 로봇 플랫폼
- 완제품 형태의 로봇 플랫폼
- 포롤루 주모 로봇 포 아두이노로 로봇 만들기
- 작동 원리
- 컴퓨터에서 자동차 로봇 제어하기
- 작동 원리
- GPS 모듈로 네비게이션하기
- 작동 원리
- 맵 엔진 플랫폼
- 작동 원리
- 자동차용 GPS 만들기
- 나만의 자율 주행 자동차 만들기
- 정리
- 참고 문헌
- 5장. 음성 기술
- 음성 기술의 개요
- 사운드 센서와 엑추에이터
- 작동 원리
- 음성 인식 기술을 위한 패턴 인식 개요
- 음성 및 사운드 모듈
- IoT 장치를 위한 나만의 음성 명령기 만들기
- EasyVR 쉴드 3 설정하기
- 음성 명령기 만들기
- 작동 원리
- 음성 명령기 회로 구성
- 스케치 프로그램 작성하기
- 테스트
- 말하는 IoT 보드 만들기
- 라이브러리 설정
- 회로 구성
- 스케치 프로그램 작성하기
- 테스트
- 말하는 라즈베리 파이 만들기
- 설정하기
- 파이썬 프로그램 작성하기
- 응용 방법
- 정리
- 참고 문헌
- 6장. 데이터 과학용 클라우드
- 클라우드 기술 소개
- 데이터 과학용 클라우드
- IoT 보드와 클라우드 서버 연결하기
- 마이크로소프트 애저 IoT
- 아마존 AWS IoT
- 아두이노 클라우드
- 아두이노 클라우드 설정하기
- 예제 회로 구성하기
- 아두이노 클라우드 라이브러리 추가하기
- 아두이노 클라우드 웹 SSL 인증서 업데이트하기
- 아두이노 클라우드용 프로그램 작성하기
- 마이크로소프트 애저 IoT 허브 사용법
- 마이크로소프트 애저 IoT 허브 설정하기
- IoT 장치 등록하기
- 프로그램 작성하기
- 데이터 과학용 클라우드 구축 방법
- 애저 ML 스튜디오 설치하기
- 웹 서비스 형태로 애저 ML 배포하기
- 데이터 과학용 클라우드로 IoT 애플리케이션 만들기
- 정리
- 참고 문헌