SlideShare a Scribd company logo
유정현 / MDS 테크놀로지
라즈베리파이에
Windows 10 IoT Core 발라 먹기
• MDS 테크놀로지에서
Windows IoT, Azure IoT 기술지원 FAE
• MS 공인 Windows Embedded 강사 (MCP)
• 7년 Microsoft MVP ( Windows Embedded )
• “윈도우와 IoT 이야기” 페이스북 운영 fb.com/MdsWinEmb
• 이메일 ( chris@mdstec.com )
저는…
• Universal Windows
Platform
• 라즈베리파이2에
Windows 10 IoT Core
활용하기
• IoT 디바이스로 만들기
목차
Universal
IoT
디바이스 태블릿
ATM
광고 장비모바일
게이트웨이 POS
시스템 의료 장비로봇기기
Windows 10 IoT 에디션
+
Microsoft
Azure IoT
보안 &
관리
윈도우
업데이트
Visual Studio &
UWP
Windows 10 IoT Enterprise
데스크탑 쉘, Win32 앱, Universal App & Driver
최소사양: 1 GB RAM, 16 GB 스토리지
X86/x64
Windows 10 IoT Mobile Enterprise
모던 쉘, Universal App & Driver
최소사양: 512 MB RAM, 4 GB 스토리지
ARM
Windows 10 IoT Core
Universal Apps & Drivers
No 쉘 & MS 앱
최소사양: 256MB RAM, 2GB 스토리지
X86/x64 , ARM 통합
디바이스
연결
새로운
인터페이스
Windows 10 IoT 에디션
+
Microsoft
Azure IoT
보안 &
관리
윈도우
업데이트
Visual Studio &
UWP
통합
디바이스
연결
새로운
인터페이스
데스크탑 쉘, Win32 앱, Universal App & Driver
최소사양: 1 GB RAM, 16 GB 스토리지
X86/x64
모던 쉘, Universal App & Driver
최소사양: 512 MB RAM, 4 GB 스토리지
ARM
Universal Apps and Drivers
No shell or MS apps
Minimum: 256MB RAM, 2GB storage
X86/x64 or ARM
Windows 10 IoT Enterprise
데스크탑 API 의 54%데스크탑 API 의 44%
모바일의 83%Windows 10 IoT
Core
Windows 10 IoT
Mobile Enterprise
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
• Universal 앱 하나로 모든 윈도우 10 디바이스에서 사용
• 진화하고 있는 WinRT 런타임 ( 시스템 API )
• Win32, .NET 을 Background Task 로 사용 가능
• 앱투앱 통신
• 사이드 로딩
• C++/CX, C#, VB, JS, Python, Node.js
• No GDI, MFC, WinForm XAML, DirectX, HTML
Universal 어플리케이션
API Porting
Tool
• Universal 드라이버 하나로 모든 윈도우 10 디바이스에서 사용
• 드라이버는 하드웨어 제어부분 코드 (C/C++/Firmware)
• PC, Mobile, IoT 앱을 위한 동일한 API 노출
• 드라이버 제작을 위한 동일한 DDI
• 커널모드 드라이버의 호환성
• 센서 관련 유저 모드 드라이버 모델 추가
• WDF, WDK
Universal 드라이버
Universal
Driver
UWP 로 여러 디바이스 지원
Windows for PCs
Universal 드라이버
Universal 어플리케이션
Windows DDI
Windows API
Windows for IoT
Windows DDI
Windows API
Windows for Mobile
Windows DDI
Windows API
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
Windows 10 IoT Core
Windows 10
IoT Core
UWP
(Universal Windows Platform)
Application
+
Driver
= +
IoT
Extention
GPIO
I2C
PWM
SPI
ADC
내가 누구게?
• Headed/Headless 디바이스
• 하나의 UI 앱
• 간편한 Peripherals 접근
• UWP 앱, 드라이버 지원
• Win32, .NET 지원, But No GDI, No MFC
Windows 10 IoT Core기본 특징들
개발 환경
지원하는 보드
MinnowBoard MAX
Atom E3800
Dual-core 1.33 GHz
1GB LPDDR2 SDRAM
GPU : Intel HD Graphics
PWM, GPIO
Raspberry Pi 2
Broadcom 2836
Quad-core ARM Cortex–A7
1GB LPDDR2 SDRAM
GPU : VideoCore IV
GPIO, I2C, SPI
DragonBoard 410C
APQ8016
Quad-core ARM Cortex–A53
1GB LPDDR3 SDRAM
GPU : Adreno 306
GPIO, I2C, SPI
• www.WindowsOnDevices.com
라즈베리파이2 에 Win10 IoT 코어 설치하기
• 기존 Win32 기반의 앱을 사용할 수 있나요?
• 오피스를 사용할 수 있나요?
• 데스크탑에서 개발한 UWP 를 사용할 수 있나요?
• 기존 드라이버를 사용할 수 있나요?
• Wifi/Bluetooth 드라이버를 사용할 수 있나요?
http://ms-iot.github.io/content/en-US/win10/SupportedInterfaces.htm
FAQ
라즈베리파이 2 지원 IO
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
IoT 디바이스 하드웨어 제어
어플리케이션
GPIO, I2C 디바이스
드라이버
GPIO, I2C 컨트롤러
드라이버
하드웨어 ( GPIO, I2C )
어플리케이션
GPIO, I2C 디바이스 드라이버
GPIO, I2C 컨트롤러
IoT 드라이버
하드웨어 ( GPIO, I2C )
어플리케이션
GPIO, I2C 디바이스 코드
• Windows.devices.gpio
• Windows.devices.i2c
• Windows.devices.SPI
• …
IoT Extentions for the UWP
Windows.Devices.Gpio 의Output 설정
Windows.Devices.Gpio 의 Input 설정
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
GPIO 와 I2C 센서
VS
• 아날로그 센서와 ADC 포함
• 데이터 버퍼, 레지스터, I2C 인터페이스
• 출력 값은 디지털 신호 ( Noise Free )
• 다른 보드 작업 필요 없음, All-In-One
I2C 디지털 센서 사용의 장점
• 제조사 : ANALOG DEVICES
• 모바일, 의료 장비, 게임, 산업용, HDD 보호, 운동기구…
• X, Y, Z 축 값의 16 (2x8) 비트 Output
• I2C, SPI 인터페이스, 400 KHz
• Threshold 를 이용한 인터럽트 설정 가능 (Free-Fall)
가속계 센서 ADXL345
IT 엔지니어에 왜 영어 가능자가 필요한지
….
• ADXL345 3V3 RPi2 3.3v (Pin #01)
• ADXL345 CS RPi2 3.3v (Pin #01)
• ADXL345 GND RPi2 GND(Pin #06)
• ADXL345 SDA RPi2 SDA (Pin #03)
• ADXL345 SCL RPi2 SCL (Pin #05)
• SDA, SCL (Pin #03, #05)는
“I2C1” 의 이름으로 ACPI 에 정의
• ADXL345의 Slave Address 는 “0x53“
라즈베리파이 2에 연결하기
Windows.Devices.I2c 네임스페이스
ADXL345 에 데이터 쓰기
byte
s Slave Address Wr A Register Address A Data A Stop
byte[] WriteBuf_PowerControl = new byte[] { 0x2D, 0x08 };
I2CAccel.Write(WriteBuf_PowerControl); 0x08 1000
ADXL345 데이터 읽기
byte byte
s Slave Address Wr A Register Address A sr Slave Address Rd A Data A Data A
byte[] RegAddrBuf = new byte[] { 0x32 };
byte[] ReadBuf = new byte[6];
I2CAccel.WriteRead(RegAddrBuf, ReadBuf);
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
To do… WindowsOnDevices.com
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
Microsoft Azure
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
IoT 디바이스로 발전 시키기
• Github.com/Azure/azure-iot-sdks
Azure IoT Hub 에이전트 만들기
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
Azure IoT Hub 잘 사용하기
Gateway
인터넷 접근
디바이스
기존 디바이스
센서 디바이스
Azure IoT
Hub
Agent
Agent
이벤트 처리 & 관리
비즈니스 모델 앱,
디바이스 모니터링
관리자 어플리케이션,
디바이스
Agent
Azure Portal 에서 IoT Hub 만들기
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
Predictive
Maintenance
Remote
Monitoring
Asset
Management
IoT Suite
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
• www.microsoft.com/en-us/server-cloud/internet-of-things/getting-
started.aspx
Azure IoT Suite 시작하기
• www.windowsondevices.com
• https://microsoft.hackster.io/en-US
• Github.com/Azure/azure-iot-sdks
• www.microsoft.com/en-us/server-cloud/internet-of-things/getting-
started.aspx
참고 사이트
[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)
fb.com/MdsWinEmb
감사합니다.
• MSDN Forum http://aka.ms/msdnforum
• TechNet Forum http://aka.ms/technetforum
http://aka.ms/td2015_again
TechDays Korea 2015에서 놓치신 세션은
Microsoft 기술 동영상 커뮤니티 Channel 9에서
추후에 다시 보실 수 있습니다.

More Related Content

PDF
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
PDF
20150912 IoT 디바이스를 위한 windows 10 iot core 입문
PDF
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
PDF
라즈베리파이로 보일러 제어하기
PDF
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
PPTX
win32 app에서 UWP API호출하기
PDF
WWDC2016 스터디 공유 발표 - 공유용
PDF
React native development
[TD2015] 이 시대에 소규모 게임 개발팀이 마소와 함께 살아가는 방법(송용성)
20150912 IoT 디바이스를 위한 windows 10 iot core 입문
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
라즈베리파이로 보일러 제어하기
[Td 2015]windows 10 엔터프라이즈 시나리오 part II 보안 및 관리(권순만)
win32 app에서 UWP API호출하기
WWDC2016 스터디 공유 발표 - 공유용
React native development

What's hot (16)

PDF
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
PDF
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
PDF
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
PDF
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
PDF
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
PPTX
[133]awair 케빈조
PDF
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
PPTX
지도 서비스용 웹앱 개발환경 사용기
PPTX
1.develop environment
PPTX
Ionic2로 Type script+Angular2.0 따라하기 1
PPTX
Mobile architecture overview
PDF
[Td 2015]70분에 보여준다. 웹표준을 지원하는 edge 브라우저부터 웹 앱 개발까지(김영욱)
PPTX
[0326 박민근] udk 소개 입문
PDF
RAD스튜디오 100% 활용하기
PDF
[143] 모바일 혈액진단기기 개발 삽질기
PPTX
하이브리드앱
모바일 개발자를 위한 ML Kit: Machine Learning SDK 소개
[Td 2015]프로그래밍 언어의 f1머신 c++을 타고 windows 10 uwp 앱 개발의 세계로~(유영천)
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
[133]awair 케빈조
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
지도 서비스용 웹앱 개발환경 사용기
1.develop environment
Ionic2로 Type script+Angular2.0 따라하기 1
Mobile architecture overview
[Td 2015]70분에 보여준다. 웹표준을 지원하는 edge 브라우저부터 웹 앱 개발까지(김영욱)
[0326 박민근] udk 소개 입문
RAD스튜디오 100% 활용하기
[143] 모바일 혈액진단기기 개발 삽질기
하이브리드앱
Ad

Viewers also liked (20)

PDF
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
PDF
04강 라즈베리-개발환경구축-실습
PDF
2장 리눅스의 기초
PPTX
Raspberry pi 개발환경 구축
PDF
1장 사물인터넷과 라즈베리 파이
PDF
천만 사용자를 위한 AWS 아키텍처 보안 모범 사례 (윤석찬, 테크에반젤리스트)
PPS
Caiu a-ficha-rp
PDF
Survey present2
PPS
Taormina sicilia13
PPTX
Altri elementi
PPT
100512 무선인터넷 활성화 종합계획
PDF
Informe individual sobre_las_encuestas2
PPTX
Παιδί και Διαδίκτυο (Για Γονείς)
PPT
Inside Hongik
PDF
Android As A Mobile Platform V2
PPS
Mudar de casa (ceo)
PPTX
2010 Microsoft @ Cloud Day 안준석 발표자료
PDF
The advertising business model for the connected car
PDF
Kandroid 4th Seminar Design The Life 22 Oct2009
서버리스 IoT 백엔드 개발 및 구현 사례 : 윤석찬 (AWS 테크에반젤리스트)
04강 라즈베리-개발환경구축-실습
2장 리눅스의 기초
Raspberry pi 개발환경 구축
1장 사물인터넷과 라즈베리 파이
천만 사용자를 위한 AWS 아키텍처 보안 모범 사례 (윤석찬, 테크에반젤리스트)
Caiu a-ficha-rp
Survey present2
Taormina sicilia13
Altri elementi
100512 무선인터넷 활성화 종합계획
Informe individual sobre_las_encuestas2
Παιδί και Διαδίκτυο (Για Γονείς)
Inside Hongik
Android As A Mobile Platform V2
Mudar de casa (ceo)
2010 Microsoft @ Cloud Day 안준석 발표자료
The advertising business model for the connected car
Kandroid 4th Seminar Design The Life 22 Oct2009
Ad

Similar to [Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현) (20)

PPTX
Win10 iot core_pi2
PPTX
20140219 techdays mini 앱 개발 세미나(4)
PDF
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 11월호
PDF
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 12월호
PDF
한컴MDS_Azure IoT를 활용한 디바이스 관리
PDF
OSS SW Basics Lecture 14: Open source hardware
PDF
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 10월호
PDF
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
PDF
Make: 센서
PDF
스크래치로 배우는 사물인터넷 DIY 창작키트
PPTX
WizFi250을 이용하여 Arduino에서 Wi-Fi 사용하기
PDF
Ubee430 menual[r1.8]
PPTX
IoT with Raspberry Pi + Node JS - Chapter 2
PDF
강좌 04 펌웨어 구조 설계
PDF
원준갓의 IoT 수업
PDF
Smart IoT Design and Practice System 스마트 IoT 설계 실습시스템
PDF
[IoT] MAKE with Open H/W + Node.JS - 4th
PDF
라즈베리파이입문 - 연세대 특강
PPTX
라즈베리파이 IoT 시작하기
PDF
Intuitive Understanding of Arduino for IoT
Win10 iot core_pi2
20140219 techdays mini 앱 개발 세미나(4)
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 11월호
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 12월호
한컴MDS_Azure IoT를 활용한 디바이스 관리
OSS SW Basics Lecture 14: Open source hardware
자동인식&스마트SCM(MONTHLY AIDC+SMART SCM) 2013년 10월호
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
Make: 센서
스크래치로 배우는 사물인터넷 DIY 창작키트
WizFi250을 이용하여 Arduino에서 Wi-Fi 사용하기
Ubee430 menual[r1.8]
IoT with Raspberry Pi + Node JS - Chapter 2
강좌 04 펌웨어 구조 설계
원준갓의 IoT 수업
Smart IoT Design and Practice System 스마트 IoT 설계 실습시스템
[IoT] MAKE with Open H/W + Node.JS - 4th
라즈베리파이입문 - 연세대 특강
라즈베리파이 IoT 시작하기
Intuitive Understanding of Arduino for IoT

More from Sang Don Kim (20)

PDF
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
PDF
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
PDF
[TD 2015] Microsoft Azure IaaS v2(최정현)
PDF
[Td 2015]두근두근 asp.net 5(한상훈)
PDF
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
PDF
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
PDF
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
PDF
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
PDF
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
PDF
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
PDF
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
PDF
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
PDF
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
PDF
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
PDF
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
PDF
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
PDF
[Td 2015]python을 azure에서 사용하는법(배권한)
PDF
[Td 2015]microsoft 개발자들을 위한 달콤한 hadoop, hd insight(최종욱)
PDF
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
PDF
[Td 2015]java script에게 형(type)이 생겼어요. typescript(박용준)
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] Microsoft Azure IaaS v2(최정현)
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]windows 10 엔터프라이즈 시나리오 part I 배포 및 이미징(박성기)
[Td 2015]함께하면 더 좋은 windows 10과 인텔 스카이레이크, 아키텍쳐와 인텔 그래픽스 최적화 살펴보기(하태동)
[Td 2015]틱틱대도 써야 하는 windows 10 앱 개발, c# tips & tricks(송기수)
[Td 2015]치즈케이크 팩토리는 알겠는데, 데이터 팩토리는 뭔가요(한기환)
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]맨땅에 헤딩하고 터득한 스토어 공략법(돈벌기)(육주용)
[Td 2015]디버깅, 어디까지 해봤니 당신이 아마도 몰랐을 디버깅 꿀팁 공개(김희준)
[Td 2015]녹슨 c++ 코드에 모던 c++로 기름칠하기(옥찬호)
[Td 2015]너에게만 나는 반응해 반응형 응용프로그램(이규원)
[Td 2015]각이 다른 mvc6! 그 여섯 번째 이야기!(최지훈)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]python을 azure에서 사용하는법(배권한)
[Td 2015]microsoft 개발자들을 위한 달콤한 hadoop, hd insight(최종욱)
[Td 2015]general session 세상을 품은 플랫폼과 그 가능성에 대하여(기술에반젤리스트)
[Td 2015]java script에게 형(type)이 생겼어요. typescript(박용준)

[Td 2015]라즈베리파이에 windows 10 io t core 맛있게 발라 먹기(유정현)

  • 1. 유정현 / MDS 테크놀로지 라즈베리파이에 Windows 10 IoT Core 발라 먹기
  • 2. • MDS 테크놀로지에서 Windows IoT, Azure IoT 기술지원 FAE • MS 공인 Windows Embedded 강사 (MCP) • 7년 Microsoft MVP ( Windows Embedded ) • “윈도우와 IoT 이야기” 페이스북 운영 fb.com/MdsWinEmb • 이메일 ( chris@mdstec.com ) 저는…
  • 3. • Universal Windows Platform • 라즈베리파이2에 Windows 10 IoT Core 활용하기 • IoT 디바이스로 만들기 목차
  • 6. Windows 10 IoT 에디션 + Microsoft Azure IoT 보안 & 관리 윈도우 업데이트 Visual Studio & UWP Windows 10 IoT Enterprise 데스크탑 쉘, Win32 앱, Universal App & Driver 최소사양: 1 GB RAM, 16 GB 스토리지 X86/x64 Windows 10 IoT Mobile Enterprise 모던 쉘, Universal App & Driver 최소사양: 512 MB RAM, 4 GB 스토리지 ARM Windows 10 IoT Core Universal Apps & Drivers No 쉘 & MS 앱 최소사양: 256MB RAM, 2GB 스토리지 X86/x64 , ARM 통합 디바이스 연결 새로운 인터페이스
  • 7. Windows 10 IoT 에디션 + Microsoft Azure IoT 보안 & 관리 윈도우 업데이트 Visual Studio & UWP 통합 디바이스 연결 새로운 인터페이스 데스크탑 쉘, Win32 앱, Universal App & Driver 최소사양: 1 GB RAM, 16 GB 스토리지 X86/x64 모던 쉘, Universal App & Driver 최소사양: 512 MB RAM, 4 GB 스토리지 ARM Universal Apps and Drivers No shell or MS apps Minimum: 256MB RAM, 2GB storage X86/x64 or ARM Windows 10 IoT Enterprise 데스크탑 API 의 54%데스크탑 API 의 44% 모바일의 83%Windows 10 IoT Core Windows 10 IoT Mobile Enterprise
  • 9. • Universal 앱 하나로 모든 윈도우 10 디바이스에서 사용 • 진화하고 있는 WinRT 런타임 ( 시스템 API ) • Win32, .NET 을 Background Task 로 사용 가능 • 앱투앱 통신 • 사이드 로딩 • C++/CX, C#, VB, JS, Python, Node.js • No GDI, MFC, WinForm XAML, DirectX, HTML Universal 어플리케이션 API Porting Tool
  • 10. • Universal 드라이버 하나로 모든 윈도우 10 디바이스에서 사용 • 드라이버는 하드웨어 제어부분 코드 (C/C++/Firmware) • PC, Mobile, IoT 앱을 위한 동일한 API 노출 • 드라이버 제작을 위한 동일한 DDI • 커널모드 드라이버의 호환성 • 센서 관련 유저 모드 드라이버 모델 추가 • WDF, WDK Universal 드라이버 Universal Driver
  • 11. UWP 로 여러 디바이스 지원 Windows for PCs Universal 드라이버 Universal 어플리케이션 Windows DDI Windows API Windows for IoT Windows DDI Windows API Windows for Mobile Windows DDI Windows API
  • 14. Windows 10 IoT Core Windows 10 IoT Core UWP (Universal Windows Platform) Application + Driver = + IoT Extention GPIO I2C PWM SPI ADC
  • 16. • Headed/Headless 디바이스 • 하나의 UI 앱 • 간편한 Peripherals 접근 • UWP 앱, 드라이버 지원 • Win32, .NET 지원, But No GDI, No MFC Windows 10 IoT Core기본 특징들
  • 18. 지원하는 보드 MinnowBoard MAX Atom E3800 Dual-core 1.33 GHz 1GB LPDDR2 SDRAM GPU : Intel HD Graphics PWM, GPIO Raspberry Pi 2 Broadcom 2836 Quad-core ARM Cortex–A7 1GB LPDDR2 SDRAM GPU : VideoCore IV GPIO, I2C, SPI DragonBoard 410C APQ8016 Quad-core ARM Cortex–A53 1GB LPDDR3 SDRAM GPU : Adreno 306 GPIO, I2C, SPI
  • 20. • 기존 Win32 기반의 앱을 사용할 수 있나요? • 오피스를 사용할 수 있나요? • 데스크탑에서 개발한 UWP 를 사용할 수 있나요? • 기존 드라이버를 사용할 수 있나요? • Wifi/Bluetooth 드라이버를 사용할 수 있나요? http://ms-iot.github.io/content/en-US/win10/SupportedInterfaces.htm FAQ
  • 23. IoT 디바이스 하드웨어 제어 어플리케이션 GPIO, I2C 디바이스 드라이버 GPIO, I2C 컨트롤러 드라이버 하드웨어 ( GPIO, I2C ) 어플리케이션 GPIO, I2C 디바이스 드라이버 GPIO, I2C 컨트롤러 IoT 드라이버 하드웨어 ( GPIO, I2C ) 어플리케이션 GPIO, I2C 디바이스 코드
  • 24. • Windows.devices.gpio • Windows.devices.i2c • Windows.devices.SPI • … IoT Extentions for the UWP
  • 28. GPIO 와 I2C 센서 VS
  • 29. • 아날로그 센서와 ADC 포함 • 데이터 버퍼, 레지스터, I2C 인터페이스 • 출력 값은 디지털 신호 ( Noise Free ) • 다른 보드 작업 필요 없음, All-In-One I2C 디지털 센서 사용의 장점
  • 30. • 제조사 : ANALOG DEVICES • 모바일, 의료 장비, 게임, 산업용, HDD 보호, 운동기구… • X, Y, Z 축 값의 16 (2x8) 비트 Output • I2C, SPI 인터페이스, 400 KHz • Threshold 를 이용한 인터럽트 설정 가능 (Free-Fall) 가속계 센서 ADXL345
  • 31. IT 엔지니어에 왜 영어 가능자가 필요한지 ….
  • 32. • ADXL345 3V3 RPi2 3.3v (Pin #01) • ADXL345 CS RPi2 3.3v (Pin #01) • ADXL345 GND RPi2 GND(Pin #06) • ADXL345 SDA RPi2 SDA (Pin #03) • ADXL345 SCL RPi2 SCL (Pin #05) • SDA, SCL (Pin #03, #05)는 “I2C1” 의 이름으로 ACPI 에 정의 • ADXL345의 Slave Address 는 “0x53“ 라즈베리파이 2에 연결하기
  • 34. ADXL345 에 데이터 쓰기 byte s Slave Address Wr A Register Address A Data A Stop byte[] WriteBuf_PowerControl = new byte[] { 0x2D, 0x08 }; I2CAccel.Write(WriteBuf_PowerControl); 0x08 1000
  • 35. ADXL345 데이터 읽기 byte byte s Slave Address Wr A Register Address A sr Slave Address Rd A Data A Data A byte[] RegAddrBuf = new byte[] { 0x32 }; byte[] ReadBuf = new byte[6]; I2CAccel.WriteRead(RegAddrBuf, ReadBuf);
  • 43. • Github.com/Azure/azure-iot-sdks Azure IoT Hub 에이전트 만들기
  • 45. Azure IoT Hub 잘 사용하기 Gateway 인터넷 접근 디바이스 기존 디바이스 센서 디바이스 Azure IoT Hub Agent Agent 이벤트 처리 & 관리 비즈니스 모델 앱, 디바이스 모니터링 관리자 어플리케이션, 디바이스 Agent
  • 46. Azure Portal 에서 IoT Hub 만들기
  • 54. • www.windowsondevices.com • https://microsoft.hackster.io/en-US • Github.com/Azure/azure-iot-sdks • www.microsoft.com/en-us/server-cloud/internet-of-things/getting- started.aspx 참고 사이트
  • 57. 감사합니다. • MSDN Forum http://aka.ms/msdnforum • TechNet Forum http://aka.ms/technetforum
  • 58. http://aka.ms/td2015_again TechDays Korea 2015에서 놓치신 세션은 Microsoft 기술 동영상 커뮤니티 Channel 9에서 추후에 다시 보실 수 있습니다.