서브메뉴

본문

Windows 10 IoT 프로그래밍(윈도우 시스템 프로그래밍) (라즈베리파이와 Windows 10 IoT 코어)
Windows 10 IoT 프로그래밍(윈도우 시스템 프로그래밍) (라즈베리파이와 Windows 10 IoT 코어)
저자 : 다위드 보리츠키
출판사 : 에이콘출판
출판년 : 2020
ISBN : 9791161754772

책소개

가장 쉽게 접할 수 있는 IoT 디바이스인 라즈베리파이를 선택해 윈도우 10 IoT와 UWP를 사용한 임베디드 프로그래밍을 설명한다. 더 나아가 라즈베리파이와 함께 사용할 수 있는 여러 가지 센서와 마이크, 카메라, 모터, 블루투스, 와이파이에 이르기까지 다양한 디바이스를 스마트하게 만드는 프로젝트를 중심으로 설명을 풀어간다. 마이크로소프트 애저의 IoT 솔루션을 활용해 원격 디바이스 제어와 데이터 수집, 분석을 처리하는 커스텀 솔루션을 만들어가는 과정을 담아내 IoT 프로그래밍의 정수를 보여준다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 상호 연결된 임베디드 디바이스를 대상으로 하는 유니버설 윈도우 플랫폼(UWP) 애플리케이션 제작
■ 하드웨어 구성 요소와 통합하는 백그라운드 앱 설계 및 구현
■ 자체 UWP 기능을 사용해 사람의 얼굴 감지 및 추적
■ 인공 청각과 시각, 학습 시스템 제작
■ 음악 리듬에 따라 LED가 깜박이도록 오디오 신호 처리
■ OpenCV를 사용해 커스텀 이미지 처리 알고리즘 개발
■ 직렬 및 USB, 와이파이, 올조인 연결을 사용해 외부 디바이스와 통신
■ 로보틱스를 위한 DC 및 스테퍼, 서보 모터를 제어하는 애플리케이션 디자인 및 구현
■ 마이크로소프트 인지 서비스를 사용해 사람의 감정 감지
■ 애저 IoT 스위트를 사용해 예측 분석과 예방 유지관리 시스템 제작


★ 이 책의 대상 독자 ★

■ 커스텀 IoT 솔루션을 만들려는 C#과 .NET 개발자
■ 커스텀 디바이스 프로그래밍으로 상상을 실현하기 원하는 임베디드 소프트웨어 개발자, 엔지니어, 연구자, 마니아


★ 이 책의 구성 ★

1부에서 임베디드 프로그래밍의 기초를 설명하고 데스크톱과 웹, 모바일 앱 프로그램과 어떻게 구별하는지 다룬다. 프로그래밍 환경을 구성하고 윈도우 10 IoT 코어에서 “Hello, world!”와 같은 프로젝트를 어떻게 작성하는지도 설명한다. 더불어 UI 선언을 위해 UWP 스레딩 모델, XAML 마크업과 관련된 몇 가지 기본 개념을 설명한다. 경험 있는 개발자는 이 부분을 건너뛰고 2부로 넘어가도 된다.
2부는 윈도우 10 IoT와 UWP를 사용한 디바이스 프로그래밍에 관련된 장들을 포함한다. 먼저 여러 센서에서 데이터를 수집하고 디바이스를 제어하는 방법을 설명한다. 이어서 마이크와 카메라에서 신호를 수집하고 처리하는 방법을 설명한다. 그다음 다양한 직렬 통신과 블루투스, 와이파이, 올조인(AllJoyn) 등의 통신 프로토콜을 사용해 IoT 모듈이 다른 디바이스와 통신하도록 하는 방법을 설명한다. 모터를 제어하고 마이크로소프트 인지(Cognitive) 서비스와 애저 머신러닝을 사용해 디바이스를 똑똑하고 지능적으로 만드는 방법도 설명한다.
3부는 클라우드를 다룬다. 디바이스 원격 분석과 예측 유지관리를 위한 2개의 사전 구성된 애저 IoT 솔루션을 사용하는 방법을 설명한다. 마지막 장에서는 사용자 지정 IoT 솔루션을 밑바닥부터 차근차근 만들어 가는 자세한 과정을 다룬다. 이 내용은 IoT 프로그래밍의 정수를 보여주며, 클라우드로 원격 센서의 데이터를 전송해 데이터를 저장하고 처리 및 표현한다. 또한 비정상 센서 판독 값을 윈도우 10에서 실행하는 모바일 앱에 바로 알려주는 방법도 설명한다.
6개의 부록에서 비주얼 베이직(Visual Basic)과 자바스크립트(JavaScript)로 LED를 깜박이는 방법(부록 A), 라즈베리 파이의 HDMI 모드(부록 B), 비트 인코딩(부록 C), 코드 공유 전략(부록 D)을 설명했으며, Visual C++/구성 요소 확장(부록 E)을 소개하고, 비주얼 스튜디오 2017에서 IoT 개발을 설정하는 방법을 설명한다(부록 F).


★ 지은이의 말 ★

IoT 프로그래밍은 상상으로만 가능했던 기능을 커스텀 디바이스를 만들고 프로그래밍할 수 있는 기회를 제공한다. 단계별로 정확하게 따라 하면서 솔루션을 만들 수 있도록 돕는다. 이 책을 읽으면 디바이스 프로그래밍의 기본과 함께 디바이스와 로봇을 혁신시키는 코드를 작성할 기량도 갖출 수 있을 것이다.
학습하는 데 로우 레벨 프로그래밍 전문가가 될 필요는 없다. 복잡한 주제를 탐구하기 전에 기본 개념과 프로그래밍 기법을 설명하고, 각 장과 부록은 디바이스 프로그래밍을 빠르게 마스터할 수 있도록 적당한 수준의 내용을 다룬다.

★ 옮긴이의 말 ★

클라우드 컴퓨팅의 전성시대가 되면서 전반적인 IT 환경에서 다소 외인부대처럼 느껴졌던 임베디드 프로그래밍 영역이 이제는 클라우드를 타고 활용성이 높은 혁신 기술로 거듭났고 우리를 이를 IoT라고 부릅니다.
이 책이 소개하는 마이크로소프트의 윈도우 10 IoT 코어와 애저 IoT 스위트를 활용하면 원하는 IoT 솔루션을 빠르게 구현할 수 있습니다. 비교적 쉽게 구할 수 있는 라즈베리파이를 사용해 IoT 프로그래밍의 실제를 경험하게 해줄뿐더러, 클라우드와 결합될 때 IoT 솔루션의 구현이 얼마나 빨라지고 강력해질 수 있는지 궁금하다면, 이 책의 내용이 답해줄 것입니다.
번역하는 동안 책에서 사용한 비주얼 스튜디오 버전이 올라갔고, 마이크로소프트 애저의 IoT 솔루션이 제공하는 IoT 서비스와 SDK에도 변화가 있었습니다. 책에는 이러한 변화를 모두 반영했으며, 저자의 소스코드와 별도로 비주얼 스튜디오 2019에 맞춘 예제를 역자의 깃허브에서 제공합니다.

코로나 19가 사라진 새봄을 꿈꾸며…
2020년 12월.
김도균
[예스24에서 제공한 정보입니다.]

목차정보

PART 1. 기본 개념



Chapter 1. 임베디드 디바이스 프로그래밍

__임베디드 디바이스 정의

____특수 목적의 펌웨어

____마이크로컨트롤러 메모리

____어디나 존재하는 임베디드 디바이스

__임베디드 디바이스 연결: 사물인터넷

__임베디드 디바이스 기본

__임베디드 디바이스 프로그래밍 vs. 데스크톱과 웹, 모바일 프로그래밍

____유사성과 사용자 상호작용

____하드웨어 추상 계층

____견고성

____리소스

____보안

__윈도우 10 IoT 코어와 유니버설윈도우 플랫폼의 이점

__요약



Chapter 2. 디바이스의 유니버설 Windows 플랫폼

__윈도우 10 IoT 코어

__디바이스를 위한 유니버설 Windows 플랫폼의 파워

__도구 설치와 구성

____윈도우 10

____비주얼 스튜디오 2017 이상

____윈도우 IoT 코어 프로젝트 템플릿

____윈도우 10 IoT 코어 대시보드

__디바이스 셋업

____라즈베리 파이 2와 파이 3용 윈도우 10 IoT 코어 스타터 팩

____윈도우 10 IoT 코어 설치

____개발 보드 구성

__Hello, world! 윈도우 IoT

____회로 어셈블리

____LED와 저항, 전자 컬러 코드

____액티브 로와 액티브 하이 상태

____라즈베리 파이 2 핀 배치도

____무납땜 브레드보드 연결

____C#과 C++를 사용해 LED 켜고 끄기

__유용한 도구와 유틸리티

____디바이스 포털

____윈도우 IoT 리모트 클라이언트

____SSH

____FTP

__요약



Chapter 3. 윈도우 IoT 프로그래밍 에센셜

__라즈베리 파이 2의 외부 디스플레이 연결과 부트 구성

__headed 및 headless 모드

__헤드리스 애플리케이션

____C#

____C++

____아두이노 와이어링 애플리케이션

____요약

__헤드 있는 애플리케이션의 진입점

____C#/XAML

__비동기 프로그래밍

____작업자 스레드와 스레드 풀

____타이머

____UI와 작업자 스레드 동기화

__DispatcherTimer를 사용해 LED 깜박거리기

__요약



Chapter 4. 헤드 있는 장치를 위한 사용자 인터페이스 디자인

__UWP 애플리케이션의 UI 디자인

____비주얼 디자이너

____XAML 네임스페이스

____컨트롤 선언, 속성, 특성

____스타일

____리소스 컬렉션

____기본 스타일과 테마 리소스

__레이아웃

____StackPanel

____Grid

____RelativePanel

__이벤트

____이벤트 처리

____이벤트 핸들러와 비주얼 디자이너

____이벤트 전파

____사용자 지정 이벤트 선언과 발생

__데이터 바인딩

____컨트롤 속성 바인딩

____변환기

____필드에 바인딩하기

____메서드 바인딩하기

__요약



PART 2. 디바이스 프로그래밍



Chapter 5. 센서의 데이터 판독

__비트, 바이트, 데이터 형식

__이진 데이터 디코딩과 인코딩

____비트 연산자

____시프트 연산자와 비트 마스킹, 이진 표현

____바이트 인코딩과 엔디언

____BitConverter

____BitArray

__센스 HAT 애드온 보드

__사용자 인터페이스

__온도와 기압

__상대 습도

__가속도계 및 자이로스코프

__자기계

__센서 보정

__싱글턴 패턴

__요약



Chapter 6. 입력과 출력

__촉각 버튼

__조이스틱

____미들웨어 계층

____조이스틱 상태 시각화

__LED 배열

__조이스틱과 LED 배열 통합

__센서 판독과 LED 배열 통합하기

__터치스크린과 제스처 다루기

__요약



Chapter 7. 오디오 처리

__음성 합성

__음성 인식

____배경

____앱 기능과 시스템 구성

____UI 변경

____일회성 인식

____연속 인식

__음성 명령을 사용해 디바이스 제어하기

____하드웨어 설정

____코드 작성

__시간 및 주파수 도메인에서의 파동

____고속 푸리에 변환

____샘플링 레이트와 주파수 척도

____데시벨 척도

__웨이브폼 스펙트럼 분석기

____파일 읽기

____웨이브폼 오디오 파일 포맷 읽기 프로그램

____신호 윈도우와 단구간 푸리에 변환

____스펙트럼 히스토그램

____스펙트럼 표시

____LED 배열에서 스펙트럼 표시

__요약



Chapter 8. 영상 처리

__USB 카메라를 사용한 이미지 획득

__얼굴 감지

__얼굴 추적

____UI에서 얼굴 위치 표시

____LED 배열의 얼굴 위치 표시

__OpenCV 및 네이티브 코드 인터페이스

____솔루션 구성 및 OpenCV 설치

____영상 임계값 처리

____처리 결과 시각화

____객체 감지

____객체 인식을 위한 기계 시각

____윤곽선 근사치

____객체 식별

____최종 메모

__요약



Chapter 9. 디바이스 연결

__시리얼 통신

____UART 루프백 모드

____프로젝트 골격

____시리얼 디바이스 구성

____데이터 쓰기/읽기

__디바이스 내부 통신을 위한 애플리케이션 작성

____변환기 연결

____IoT 디바이스 원격 제어

__블루투스

____연결 설정

____프로젝트 아키텍처 및 블루투스 장치 열거

____LED 색상 명령

____윈도우 런타임 요구 사항을 적용한 LedArray 클래스

____헤드 있는 클라이언트 애플리케이션

__와이파이

__올조인

____인트로스펙션 XML 파일

____올조인 스튜디오

____생산자

____올조인 IoT 탐색기

____맞춤형 소비자

__윈도우 원격 아두이노

__요약



Chapter 10. 모터

__모터 및 장치 제어 기본 원리

__모터 HAT

__펄스폭 변조

____드라이버

__DC 모터

____PWM 신호를 이용한 모터 제어 구현

____헤드 있는 애플리케이션

__스테퍼 모터

____풀 스텝 모드 제어

____헤드 있는 앱

____자동 속도 조정

____마이크로 스테핑

__서보 모터

____하드웨어 어셈블리

____헤드 있는 앱

__공급자

____Lightning 공급자

____PCA9685 컨트롤러 공급자

____DC 모터 제어

__요약



Chapter 11. 디바이스 러닝

__Microsoft Cognitive Services

____감정 감지기

____LED 배열로 감정 나타내기

____컴퓨터 비전 API

__커스텀 인공 지능

____동기와 개념

____마이크로소프트 애저 머신러닝 스튜디오

__이상 감지

____훈련 데이터세트 얻기

____원-클래스 서포트 벡터 머신을 사용한 이상 감지

____웹 서비스 준비와 게시

____웹 서비스 클라이언트 구현하기

____정리

__요약



PART 3. 애저 IoT 스위트



Chapter 12. 원격 디바이스 모니터링

__사전 구성된 솔루션 설정하기

__디바이스 프로비저닝

____새로운 디바이스 등록하기

____디바이스 정보 전송하기

__원격 측정 데이터 전송하기

__원격 명령 수신 및 처리

____디바이스 정보 업데이트하기

____원격 명령에 응답하기

__애저 IoT 서비스

__요약



Chapter 13. 예측 유지 관리

__미리 구성된 솔루션

____솔루션 대시보드

____머신러닝 워크스페이스

____Cortana Analytics Gallery

__애저 리소스

__애저 스토리지

____예측 유지 관리 스토리지

____원격 측정과 예측 결과 스토리지

____DeviceList

__애저 스트림 분석

__솔루션 소스 코드

__이벤트 허브와 머신러닝 이벤트 프로세서

____머신러닝 데이터 프로세서

____애저 테이블 스토리지

__시뮬레이터 WebJob

__예측 유지 관리 웹 애플리케이션

____시뮬레이션 디바이스

____원격 분석 서비스

__요약



Chapter 14. 사용자 지정 솔루션

__IoT 허브

____클라이언트 애플리케이션

____디바이스 레지스트리

____원격 분석 데이터 전송하기

__스트림 분석

____스토리지 계정

____애저 테이블

____이벤트 허브

____스트림 분석 작업

____입력

__이벤트 프로세서

__Power BI를 사용한 데이터 시각화

__알림 허브

____스토어 연결

____알림 클라이언트 애플리케이션

____Notification Hub 만들고 구성하기

____이벤트 프로세서로 알림 메시지 전송하기

__클라우드에 이벤트 허브 프로세서 배포하기

__요약
[알라딘에서 제공한 정보입니다.]