이 책은 현재 절판입니다. 그간 읽어주신 독자들께 감사드립니다.
2017년 대한민국학술원 우수학술도서 선정 도서!
하드웨어와 소프트웨어 엔지니어 모두를 위한 IoT 해설서!
■ (없음)
도서 소개
하드웨어와 소프트웨어 엔지니어 모두를 위한 IoT 해설서!
최근 M2M(Machine to Machine)과 IoT(Internet Of Things)라는 키워드가 주목받고 있다. IoT란, PC는 물론 스마트폰이나 가전제품 등 우리 주변에 있는 다양한 사물과 디바이스에 내장된 센서로부터 전송되는 정보를 인터넷을 통해 활용하는 구조를 말한다.
이 책은 IoT를 시스템 개발에서 활용하고자 하는 엔지니어를 대상으로 IoT를 구성하는 기술 요소인 디바이스, 센서, 통신 프로토콜(MQTT)의 기초 지식과 IoT 활용 방법까지 설명한다. 센서를 활용하기 위해서는 센서는 물론, 하드웨어 및 소프트웨어, 센서 데이터 분석 등 폭넓은 지식이 필요하다. 또한, IoT를 실현하기 위한 아키텍처나 센서 종류, 센서에서 취득할 수 있는 정보 등 기초적인 지식에서부터 센서 디바이스의 프로토타입에 필요한 아두이노와 같은 보드 소개와 선택법, 센서와 접속하는 회로, 센서 데이터 분석, IoT와 스마트폰/웨어러블 디바이스와의 연동까지 엔지니어가 IoT를 활용하기 위해 알아야 할 거의 모든 것을 담고 있다. 또한, 저자들이 개발한 IoT 시스템의 사례를 통해 하드웨어나 무선통신이 가지는 특유의 문제 해결 방법이나 디바이스 설치, 보안 등 IoT 시스템을 활용할 때의 노하우도 담고 있다.
이 책의 대상
⚫ IoT 기초 지식이나 큰 그림에 대해 알고 싶은 분
⚫ IoT나 M2M 시스템의 기획/개발을 담당하는 분
⚫ IoT 시스템 개발에 흥미를 가진 모든 엔지니어
이 책의 주요 내용 및 구성
■ IoT의 기초 지식 ■ 센서의 활용
■ 데이터 분석 ■ 웨어러블 디바이스
■ 디바이스 구성 요소 ■ 고도의 센싱 기술
■ IoT 개발과 유지 보수 ■ IoT와 로봇
1장에서는 IoT 전반에 관한 개요를 살펴본다.
2장에서는 웹 서비스에서 사용되는 기술을 중심으로 IoT 서비스를 실현하는 방법에 관해 설명한다.
3장에서는 디바이스 개발에서 반드시 이해해야 할 사항을 자세히 설명한다.
4장에서는 고급 센싱이라는 제목으로 최근 눈부시게 발전해 온 NUI(Natural User Interface)나 위성항법장치(GPS, Global Positioning System) 등 센싱 시스템을 소개한다.
5장에서는 IoT 서비스를 운용하는 노하우나 주의해야 할 점을 설명한다.
6장~8장에 걸쳐서는 데이터 분석, 웨어러블 디바이스, 로봇 등 IoT와 밀접한 분야에 관해 짚어 본다.
지은이 소개
가와무라 마사토(河村 雅人)_1장, 2장 집필
대학, 대학원에서 휴먼 로봇 상호 작용에 관한 연구를 하였다. NTT 데이터에 입사 후 4년간은 Trac, Subversion, Jenkins를 중심으로 한 사내 개발 환경 구축과 애플리케이션 생명주기 관리에 관한 연구 개발을 진행하였다. 현재는 IoT와 로봇을 중심으로 한 연구 개발을 하고 있으며, 센서·로봇·클라우드의 통합 과제도 진행하고 있다. 소프트웨어 아키텍처 및 프로덕트의 선정부터 납땜, 프로그래밍까지 담당하고 있으며, 관심 분야는 로봇, 센싱, 임베디드 시스템, 파이썬, 웹 애플리케이션, 소프트웨어 개발 방법론과 같은 다양한 기술과 로봇 해킹 등이다. 기술을 통해 사람을 행복하게 하는 사회를 만들어 가는 것이 정의라고 생각하는 엔지니어다.
오쓰카 히로시(大塚 紘史)_5장 집필
NTT 데이터 기술 개발 본부에서 근무하고 있다. NTT 데이터에 입사하면서 시스템 기반 보안 품질 향상에 관한 연구 개발을 담당하였으며, 입사 3년 차부터 로봇 미들웨어 및 상호작용 AR을 활용한 로봇 서비스 개발에 참여하였다. 최근에는 IoT/M2M 분야에 주력하고 있으며, 센서 데이터를 효율적으로 수집하고, 수집한 데이터를 분석하는 작업을 담당하고 있다. 특히, 센서 데이터의 단순한 수집을 넘어 사용 방법을 찾아내기 위해 센서를 활용한 다양한 시스템 개발을 해 왔다. 또한, 새로운 사물을 만들어 낼 수 있는 3D 프린터 등 디지털 패브리케이션에도 흥미가 있다. 취미는 우쿨렐레다. 취미를 가진 노후생활을 보내기 위해 2년 전부터 시작했으며, 매일 연습에 열중하고 있다. 비밀리에 음악과 센서 그리고 시스템 융합을 도모하기도 한다.
고바야시 유스케(小林 佑輔)_6장 집필
NTT 데이터에 입사하면서 공공, 법인, 금융 등 다양한 분야에서 고객의 분석 컨설팅을 담당하였다. 최근에는 사업에서의 경험을 살린 기술 개발에 주력하고 있다. 특히, SNS를 활용한 분석이나 신규 사업 분야에 분석을 도입하는 등 데이터 분석의 가능성을 개척하는 데 힘을 쏟고 있다. 센서나 로그 데이터 분석에 관한 새로운 서비스나 가치를 만들어 내는 것이 최대 과제라고 생각한다. 개인적인 취미로는 D3 등 가시화 기술을 활용한 분석 결과의 새로운 방법론, 점점 새롭게 등장하는 새로운 기판을 활용한 분석 구조에 흥미를 갖고, 매일 밤 개인적으로 테스트하고 연구하는 것을 즐긴다.
고야마 다케시(小山 武士)_7장 집필
NTT 데이터에 입사하여 보안에 관한 연구 개발을 담당하였다. 웹 시스템을 시작으로 최근에는 스마트 디바이스까지 폭넓은 범위의 보안 기술을 개발하고 있다. 특히, 최근에 스마트폰과 태블릿을 이용한 업무에 보안 관련 연구를 담당하였으며, 현재는 웨어러블 디바이스 보안의 응용 기술 및 엔터프라이즈용 애플리케이션 연구 개발에 종사하고 있다. 또한, 웨어러블 디바이스를 포함한 IoT를 활용한 차세대 동향을 제안하고 있다. 디지털 장치를 아주 좋아하며, 최근에는 오큘러스 리프트나 안드로이드 웨어, 라즈베리 파이, 킨들 보이지 등을 사서 어디에 활용할 수 있을까를 고민하고 있다.
미야자키 도모야(宮崎 智也)_1장 집필
대학에서 프로그래밍과 네트워크 구조, 정보 이론 등 컴퓨터 과학을 공부했다. 졸업 후 NTT 데이터에 입사하였고, 4년간 중앙부처 영업을 담당하며 공공기관 업무 시스템 운용/보수, 기능 추가, 신규 시스템 제안을 진행했다. 그 후 사회 구조에 관한 장래 구상 그라운드 디자인이나 To-Be 시스템 모델 검토 등 정책 지원을 해 왔다. 현재는 사회 과제 해결을 위한 로봇 서비스를 만들어 내기 위해 M2M 기술이나 로봇 기술을 활용한 클라우드 로보틱스 기반의 연구 개발 및 서비스 모델/운용 스킴 입안을 담당하고 있다. 겉으로 보면 사람 사귀는 것을 좋아하는 듯 보이지만, 실은 집에서 혼자 지내는 것을 가장 행복해 한다. 엔지니어 지망으로 입사했지만, 업무상 역할은 영업에 가까워 엔지니어로서의 역할을 제대로 하지 못하는 것이 늘 고민이다.
이시쿠로 유키(石黒 佑樹)_4장, 8장 집필
NTT 데이터 기술개발 본부에서 근무하고 있다. 대학과 대학원에서 로봇에 관한 연구를 하였으며, 자율이동 로봇이나 네트워크 로보틱스계 기술에 집중하였다. 전문 영역은 로봇용 미들웨어 활용과 로봇 시스템 통합이다. 기술 그 자체보다 ‘기술이 가져다 줄 사회 변화’에 흥미가 있으며, NTT 데이터 입사 후는 로봇과 클라우드의 연동 기술을 기반으로 식물 공장과 패브리케이션 사회 등 미래를 이끌어 갈 주제를 맡고 있다. 최근에는 전공과 관련 없는 일을 하고 있지만, 어떻게든 좋은 결과를 내기 위해 애쓰고 있다.
고지마 고헤이(小島 康平)_3장, 8장 집필
대학과 대학원에서는 인간 공존형 로봇의 지능화에 관한 연구를 진행하였다. 기계 학습이나 고차원 공간 검색 이론으로 기계 제어 응용에 관한 다수의 논문을 발표했다. 현재는 NTT 데이터 기술 개발 본부에서 서비스 로봇의 사회 실현에 공헌하기 위해 클라우드 로보틱스 기반의 연구 개발에 종사하고 있다. 또한, 사회 과제 해결형 로봇 서비스 설계 등도 수행하고 있다. 센서 정보의 수집/분석을 기반으로 콘텍스트 인식이나 클라우드와 로봇을 연동한 시스템 등 IoT/로봇에 관련한 기술 개발에도 힘을 쏟고 있다. 최근에는 아파치 스톰, 아파치 스파크, RabbitMQ, MongoDB 등 오픈 소스 기술을 활용한 것에 흥미가 붙었다. 학생 때는 동아리 활동을 통해 인력 비행기를 만들기도 했으며, 오픈 소스 하드웨어나 3D 프린터 등 생산 기술 혁신에도 큰 관심을 기울이고 있다. 영화 <백 투 더 퓨처(back to the future)>의 에메트 브라운(Emmet Brown) 박사를 동경하며, 피아노와 기타를 아주 사랑하는 엔지니어다.</백>
옮긴이 소개
박건태
네이블 커뮤니케이션즈에서 RCS를 담당하고 있다. 서비스는 주로 C로 개발하고 있지만, 로그 분석 툴 등은 Perl을 이용한다. 일본어와 컴퓨터는 어렸을 때부터 좋아했으나 썩 훌륭하지 못하다는 것이 단점이다.
오늘 할 일을 내일로 미루는 것을 삶의 미덕으로 생각하며 살았으나, 요즘에는 너무 바쁜 탓에 내일 할 일까지 오늘 해야 하는 처지다. 좋아하는 것이 특별히 없다는 것이 요즘 가장 큰 고민거리이며, 이 세상에서 가장 조심해야 할 것은 입술(입에서 나오는 말과 입으로 들어가는 술)이라고 스스로 정의하고 그 강박관념에 사로잡혀 있다.
차례
Chapter 1 IoT 기초지식 1
1.1 | IoT 입문 2
1.1.1 IoT 2
1.1.2 IoT 동향 2
1.2 | IoT가 실현하는 세상 4
1.2.1 유비쿼터스 네트워크 사회 4
1.2.2 사물인터넷 접속 5
1.2.3 M2M이 실현하는 사회 6
1.2.4 IoT가 실현하는 세계 7
Column 활발한 표준화 활동 9
1.3 | IoT를 구성하는 기술 요소 9
1.3.1 디바이스 9
1.3.2 센서 13
1.3.3 네트워크 15
1.3.4 IoT 서비스 18
1.3.5 데이터 분석 21
Chapter 2 IoT 아키텍처 25
2.1 | IoT 아키텍처 구성 26
2.1.1 전체 구성 26
2.1.2 게이트웨이 27
2.1.3 서버 구성 29
2.2 | 데이터 수집 30
2.2.1 게이트웨이의 역할 30
2.3 | 데이터 수신 33
2.3.1 수신 서버 역할 33
2.3.2 HTTP 프로토콜 33
Column REST API 34
2.3.3 웹소켓 34
2.3.4 MQTT 35
2.3.5 데이터 포맷 44
Column 이미지, 음성 및 영상 데이터 다루기 46
2.4 | 데이터 처리 47
2.4.1 처리 서버의 역할 47
2.4.2 배치 처리 48
2.4.3 스트림 처리 51
2.5 | 데이터 저장 54
2.5.1 데이터베이스 역할 54
2.5.2 데이터베이스의 종류와 특징 55
2.6 | 디바이스 제어 59
2.6.1 송신 서버의 역할 59
2.6.2 HTTP를 이용한 데이터 전송 59
2.6.3 웹소켓을 이용한 데이터 전송 61
2.6.4 MQTT를 이용한 데이터 전송 61
Column 사례. 식물 공장용 환경 제어 시스템 62
Chapter 3 IoT 디바이스 63
3.1 | 실세계 인터페이스로서 디바이스 64
3.1.1 디바이스를 배우는 이유 64
3.1.2 커넥티비티가 초래한 변화 64
3.2 | IoT 디바이스의 구성 요소 67
3.2.1 기본 구성 67
3.2.2 마이크로 컨트롤러 보드의 종류와 선택 73
Column 오픈 소스 하드웨어의 대두 86
3.3 | 실세계와 클라우드 연결 87
3.3.1 글로벌 네트워크와의 연결 87
3.3.2 게이트웨이 장비와의 통신 방식 88
3.3.3 유선 접속 88
3.3.4 무선 접속 91
3.3.5 전파 인증 취득 96
3.4 | 실세계 정보를 수집 96
3.4.1 센서의 정의 96
3.4.2 센서의 구조 97
3.4.3 센서를 이용하는 프로세스 101
3.4.4 센서 신호를 증폭한다 102
3.4.5 아날로그 신호를 디지털 신호로 변환 104
3.4.6 센서 캘리브레이션 106
3.4.7 센서의 선택 108
3.5 | 실세계에 피드백 111
3.5.1 출력 디바이스 사용 시 중요한 것들 111
3.5.2 드라이버의 역할 113
3.5.3 정확한 전원 만들기 115
3.5.4 디지털 신호를 아날로그 신호로 변환 117
3.6 | 하드웨어 프로토타입 118
3.6.1 프로토타입의 중요성 118
3.6.2 하드웨어 프로토타입의 주의 사항 120
3.6.3 하드웨어 프로토타입 도구 123
Column 보드 제작에 도전! 124
3.6.4 프로토타입을 마치며 125
Chapter 4 고급 센싱 기술 127
4.1 | 확장하는 센서의 세계 128
4.2 | 고급 센싱 디바이스 129
4.2.1 RGB-D 센서 130
4.2.2 Natural User Interface 138
4.3 | 고급 센싱 시스템 142
4.3.1 위성 측위 시스템 142
4.3.2 일본의 준천정위성 154
4.3.3 IMES 156
4.3.4 와이파이를 이용한 위치 측위 기술 158
4.3.5 비콘 161
4.3.6 위치 정보 및 IoT의 관계 162
Chapter 5 IoT 서비스 시스템 개발 165
5.1 | IoT와 시스템 개발 166
5.1.1 IoT 시스템 개발의 과제 166
5.1.2 IoT 시스템 개발의 특징 167
5.2 | IoT 시스템의 개발 흐름 170
5.2.1 가설 검증 단계 170
5.2.2 시스템 개발 단계 171
5.2.3 유지 보수와 운영 단계 172
Column 수익 셰어 172
5.3 | IoT 서비스 시스템 개발 사례 173
5.3.1 플로어 환경 모니터링 시스템 173
5.3.2 에너지 절약 모니터링 시스템 177
5.4 | IoT 서비스 개발의 포인트 179
5.4.1 디바이스 179
5.4.2 처리 방식 설계 187
5.4.3 네트워크 197
5.4.4 보안 199
5.4.5 운용·유지 보수 207
5.5 | IoT 서비스 시스템 개발을 향해서 210
Chapter 6 IoT와 데이터 분석 213
6.1 | 센서 데이터와 분석 214
6.1.1 분석의 종류 215
6.2.1 집계 분석 217
6.2 | 가시화 217
6.3 | 고도의 분석 223
6.3.1 고도의 분석 기초 224
Column 기계 학습과 데이터 마이닝 234
6.3.2 분석 알고리즘으로 발견하기 234
6.3.3 예측 235
6.4 | 분석에 필요한 요소 239
6.4.1 데이터 분석 240
6.4.2 CEP 243
6.4.3 유바투스 244
Column 분석의 어려움 247
Chapter 7 IoT와 웨어러블 디바이스 249
7.1 | 웨어러블 디바이스의 기초 250
7.1.1 IoT와 웨어러블 디바이스의 관계 250
7.1.2 웨어러블 디바이스의 시장 253
7.1.3 웨어러블 디바이스의 특징 257
7.2 | 웨어러블 디바이스 종류 260
7.2.1 웨어러블 디바이스의 분류 260
7.2.2 안경 형태 265
7.2.3 시계 형태 269
7.2.4 액세서리 형태 272
7.2.5 목적별 선택법 275
7.3 | 웨어러블 디바이스의 활용 284
7.3.1 웨어러블 디바이스의 편리성 285
7.3.2 소비자의 활용 장면 285
7.3.3 기업 환경에서 활용 장면 288
Column 하드웨어 개발의 최근 동향 292
Chapter 8 IoT와 로봇 293
8.1 | 디바이스에서 로봇까지 294
8.1.1 디바이스의 연장으로서 로봇 294
8.1.2 실용 범위가 확대되는 로봇 295
8.1.3 로봇 시스템 구축의 열쇠 297
8.2 | 로봇용 미들웨어의 이용 297
8.2.1 로봇용 미들웨어의 역할 298
8.2.2 RT 미들웨어 299
8.2.3 ROS 300
8.3 | 클라우드로 연결되는 로봇 302
8.3.1 클라우드 로보틱스 303
8.3.2 UNR-PF 304
8.3.3 로보어스 307
8.4 | IoT와 로봇의 미래 310
끝내며… 311
'도서 소개' 카테고리의 다른 글
마인크래프트로 배우는 파이썬 프로그래밍 (2) | 2016.08.11 |
---|---|
도커: 설치에서 운영까지 (0) | 2016.07.22 |
실무에 바로 적용하는 안드로이드 프로그래밍(제2판) (8) | 2016.06.23 |
Go 인 액션: 높은 생산성과 쉬운 프로그래밍을 위한 (0) | 2016.06.16 |
핵심만 골라 배우는 안드로이드 스튜디오 & 프로그래밍 (0) | 2016.06.16 |