[Raspberry Pi] ICbanQ 무상체험단 34기 Beginner Kit for Windows 10 IoT 사용기 1부
본체험제품은 No1. 전자부품 전문 쇼핑몰 아이씨뱅큐의 지원을 받아 작성한 것입니다.
주의사항
Windows 10 IoT Core 를 이용하여 개발을 하기 위해서는 Windows 10 을 데스크탑 컴퓨터에 설치해야 한다! Windows 7 에서는 어떤 수단과 방법을 써도 절대 개발이 불가능하므로 시간 낭비하지 말고 Windows 10 업데이트를 받아야 한다! 반드시 Windows 10 을 클린 설치하여야 한다. Visual Studio 가 뱉어내는 에러 (10586 sdk 를 못찾겠다거나 msvsmon.exe 가 없다거나)는 해결방법이 없으므로 모든 저항을 포기하고 Windows 10 업데이트를 받아야 한다.
1. Windows 10 IoT Core 다운로드와 설치
라즈베리파이에 설치할 Windows 10 IoT Core 는 다음 사이트에서 다운로드 받는다.
http://ms-iot.github.io/content/en-US/Downloads.htm
Windows_10_IoT_Core_RPi2.msi 을 클릭한다.
I accept the terms in the License Agreement 를 클릭하고 Install 을 클릭한다. 그럼 다음 화면이 나온다.
Launch Windows IoT Core Image Helper Application 을 클릭하고 Finish를 클릭한다.
기본 구성품에 포함된 micro SD 카드를 리더에 넣고 컴퓨터에 연결한 후에 Refresh 버튼을 누르고 SD 카드를 선택한다. 이미지는 다음 경로에 설치되어 있다. C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2\flash.ffu Browse 해서 추가한다. Flash 를 눌러서 이미지를 설치할 수 있다.
USB 드라이브를 안전하게 제거해서 혹시라도 발생할 수 있는 손상에 대비한다.
메모리카드를 라즈베리파이 슬롯에 끼우고 HDMI 케이블을 모니터에 연결한다. 전원을 라즈베리에 연결하면 다음과 같은 화면이 나온다.
2. Arduino 에 Firmata 설치
Firmata 는 호스트 컴퓨터와 통신하기 위한 프로토콜이다. 호스트 컴퓨터 역할을 하는 것은 라즈베리파이가 된다. USB 케이블로 PC 와 Expansion Shield 를 연결한다. 라즈베리파이에 연결하면 안된다. 스케치를 실행한다.
File -> Examples -> Firmata -> StandardFirmata 를 선택한다.
Tools -> Board -> Arduino Leonardo 를 선택한다.
Toos -> Port -> Arduino Leonardo 가 표시된 Port 를 선택한다. USB 케이블을 쉴드에 연결했다면 정상적으로 표시된다.
Upload 버튼을 클릭해서 'Done Uploading.' 이 표시되면 모든것이 완료된다.
3. Visual Studio 2015 Community 설치
라즈베리파이에 앱을 설치하기 위해서는 PC 에 개발도구를 설치해야 한다. Visual Studio Community 는 다음에서 다운로드 받는다. https://www.visualstudio.com/downloads/download-visual-studio-vs
주의사항 : vs_commnunity_ENU.exe 가 맞는지 확인한다. 반드시 영문판으로 설치해야 한다. 에러 메세지가 나올 경우 해결방법을 찾기 위해서는 영어로 된 에러 메세지가 필요하기 때문이다.
Custom 설치로 다음이 체크되어 있는지 확인한다. Universal App Windows Tools 내부에는 3개의 패키지가 있는데 모두 체크되어 있어야 한다. 특히 10586 sdk 는 반드시 포함되어야 한다.
Visual Studio 설치가 완료된뒤에 Windows 10 메뉴의 설정 -> 업데이트 및 복구 -> 개발자용을 선택하면 다음 화면이 나온다. 개발자 모드를 선택한다.
아두이노 쉴드에 동봉된 짧은 USB 케이블을 아두이노 쉴드와 라즈베리파이에 연결한다. 라즈베리파이가 호스트 컴퓨터 역할이고 아두이노가 제어컴퓨터 역할이다. 전원은 라즈베리파이에 연결한다.
DFRobot 사의 예제 https://github.com/DFRobot/DFRobotWindowsIoTTempelate 를 다운로드 받는다. 오른쪽의 Download ZIP 버튼을 클릭한다. DFRobotWindowsIoTTempelate-master.zip 을 압축해제한다. DFRobotWindowsIoTTempelate.sln 을 로드한다. Debug -> DFRobotWindowsIoTTempelate Properties... 를 선택하면 다음 화면이 나온다.
Configuration: Active(Debug) Platform: Active(ARM)
Target device: Remote Machine
Remote machine: minwinpc
Authentication Mode: Universal(Unencrypted Protocol)
화면에 나온 그대로 설정이 되어 있어야 한다. 처음 사용할 경우에는 Find... 를 클릭하면 다음 화면이 나온다.
Auto Detected 에 minwinpc 가 표시되어야 한다. IP Address 는 사용자의 네트워크 환경에 따라서 달라질 수 있다. Authentication: Universal (Unencrypted Protocol) 은 반드시 확인해야 한다. Windows Version 이 10.0.10586 이상일 경우에는 Authentication 이 Universal 이기 때문이다. 2015년 12월부터 Windows 10 Version 이 10.0.10586 이 되면서 protocol 이 변했다. 10.0.10240 은 protocol 이 Windows 이며 원격 장치에 msvsmon.exe 가 실행되기 때문에 remote debugging 에 어려움이 없다. 10.0.10586 부터는 msvsmon.exe 를 전송하는 형태가 되기 때문에 에러가 발생하면 해결하기가 상당히 어렵다. Visual Studio 를 다시 설치하거나 최악의 경우 운영체제를 다시 설치해야 할 수도 있다. Windows 7 사용자는 해결방법이 없으므로 Windows 10 업데이트를 해야 한다.
Windows 10 에서 Visual Studio 를 설치할 때 Universl Windows App Development Tools 를 체크하고 특히 10.0.10586 sdk 에 체크가 되어 있는지 확인해야 한다. 10.0.10586 sdk 가 제대로 설치되지 않으면 최악의 경우 운영체제를 다시 설치해야 할 수도 있다. 10.0.10586 sdk 가 설치되었는데도 Visual Studio 에서 인식을 못하고 이것을 해결하기 위해서 stand alone SDK 를 설치하려고 하면 이미 설치되었다고 나올 수도 있다. Visual Studio 를 다시 설치하는 것도 좋지만 동일 에러가 다시 발생할 경우 운영체제를 다시 설치해야 한다. 이것 외에도 KB29999226 을 설치하겠다고 뻥치는 경우가 있는데 절대 되지 않으므로 모든 저항을 포기하고 Windows 10 update 를 받는다. 12시간을 기다려도 KB29999226 이 설치되지 않는다. Windows 10 update 를 하면 된다. 독립 실행형 업데이트 관리자를 풀어서 cab 을 설치한다. 안된다. Windows 10 update 를 하면 된다. 10586 이라는 말만 들어도 손이 덜덜 떨릴 때쯤 Visual Studio 설치의 달인이 된다.
요약:
1. Windows 10 update 를 했는지 확인한다. (클린 설치를 해야 한다. 설치 과정중 포맷도 필수. 중요자료 미리 백업)
2. 10.0.10586 sdk 를 설치했는지 확인한다.
3. Visual Studio 설치완료후 failed 나오지 않도록 간절히 원할 것. 간절히 원하면 온 우주가 도와준다.
모든 준비가 다 되었고 다른 에러 메세지가 나오지 않는다면 온 우주의 기운을 모아서 다음 화면의 Remote Machine 을 클릭한다. 만약 작동을 하지 않는다면 Windows 10 IoT Core 가 update 중인지 확인한다. HDMI 모니터를 연결 했을 때 톱니바퀴가 돌아가는 화면이 나온다면 update 중이므로 끝날 때까지 기다린다.
Deploy 가 성공하면 Ready 상태가 되면서 Expansion Shield 의 LED 가 깜빡이는 것을 확인할 수 있다. LED 는 2개가 깜빡이는데 한개는 Serial 확인용이고 다른 한개가 13번 LED 이다.
작동을 멈추려면 Debug -> Stop Debugging 을 클릭한다.
다음에는 마이크로소프트의 야망과 IoT 개발을 위한 마이크로소프트의 라이브러리인 remote wiring 에 설명한다.
라즈베리파이 IoT 키트 구입처 : 아이씨뱅큐 http://www.icbanq.com/P006971505
아이씨뱅큐 100% 무상체험단 카페 : http://cafe.naver.com/icbanq
아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq