Home Automation 구현을 완료하기 위해 잠시 Application Deploy 즉, RaspberryPi 부팅시 Main app으로 실행되게 하기 위해서 좀 알아보았는데 생각보다 손으로 해야할 것이 많다. 아마도 Visual Studio로 사용하는 최대 이점인 익숙한 IDE에서 App Packaging이 아직 적용이 안된 듯 하다. 이 부분은 주말을 통해서 진행하기로 하고, 오늘은 Interrupt에 의한 Gpio Control에 대해서 이야기하려 한다.# Polling Vs Interrupt너무너무 많이 들었던 개념적인 내용이다. 폴링은 주기적으로 계속 값이 변경됬는지 확인하는 것이고, Interrupt는 실제 변경되었을때 Trigger를 발생시켜 알수있게 하는 것인데, Resource 적인..
오늘은 잠깐 쉬어가는 타이밍으로 IoT 개발을 위해서 구입한 책소개를 간단히 하려한다. 저자로부터 부탁받은 것도 아니고 서점에서 이책저책 보면서 구매한것인데 나와같은 고민을 하는 분들이 읽으면 도움이 될 것 같아서 작성한다. 또한 지금 작성한 내용은 항상 좋은 점만 있는건 아니니 명심하시길! # 사물인터넷 리눅스 프로그래밍 with 라즈베리파이 IoT 로 무엇인가 만들어보고자 할때 제 처음 구매한 책이다. 가지고 있는게 라즈베리와 구형 리눅스 PC 였기 때문에 가지고 있는 개발 장비를 이용해서 할 수 있는게 무엇일까 고민하다가 작년에 출간된 서영진님의 책이다. 리눅스 초보자가 읽어도 될정도로 리눅의 기본적인 기능들을 많이 다뤄주고 있다. 라즈베리파이에는 '라즈비안'이라는 라즈베리에서 제공하는 OS를 올릴..
지난 글에서 I2C를 이용해서 온도센서를 제어하는 Application을 Windows 10 IoT core로 기반에 만들어봤다. 이번에는 온도센서의 Data를 Trigger로 받고 Output으로 LED를 켜보는 것을 하려한다. 이는 집안의 Home Automation의 초기버전으로 볼수 있는데, 온도에 따라 자동으로 에어컨을 켜고 끌수 있는 솔루션으로 만들 수 있기 때문이다. RaspberryPi와 Windows 10 IoT core를 가지고 Home Automation의 첫 번째 단추를 꿰어보자. 집안의 온도가 27 이상이면 LED를 켜주고 27도 아래면 LED를 꺼준다. 지난번 글에서 32도라고 시나리오를 작성했는데, 32도까지 상태를 만들려니 내가 더워서, Trigger 를 27도로 하였다. 또..
지난 글에서 I2C를 이용해 Accelerometer 센서를 제어했는데, 이번에는 Temperature 센서를 제어해보도록 하겠다. 아무래도 Home IoT Project를 구현하는데 있어서 온도 센서가 좀더 활용도가 높다는 판단아래 온도센서 하나를 구입하였고, 실제 가속도 센서와 같이 x, y, z 의 값을 구하고, 구하는 값도 일반적으로 우리가 체감하기에는 어려운 값이기 때문에 이해하기 쉽고 보이기 쉬운 것으로 온도센서만큼 적합한 것이 없을 것 같다. 또한 단기적으로 온도 센서를 제어하는 것에 목적이 있지만, Project로 아래와 같은 시나리오를 기획하고 있다.집안의 온도를 측정하여 32도 이상올라가면 LED를 켜주자. 세부적으로 해야할 사항은 다음과 같다.1) 온도 센서 제어2) 32도 올라갈시 ..
이전 글에서 gpio 핀을 이용하여 LED 의 high/low 값을 write 해서 깜빡깜빡하는 것을 확인해 보았는데, 실제로 Windows 10 IoT core가 올라간 RaspberryPI와 외부 디바이스가 연결할 수 있는 방법은 gpio 핀을 이용하는 것 말고도 다양하다. 오늘은 외부 things 인 sensor나 actuator를 연결하는 방법들 중 GPIO, I2C, SPI 통신에 대해 간략히 소개하고 그중 하나인 I2C 를 이용해서 Accelerometer인 가속도 센서를 제어해보도록 하겠다.# GPIO/I2C/SPI흔히 말하는 외부 디바이스와 통신 방식은 WIFI/BT/ZIGBEE 같은 Network Protocol 표준 방식들을 생각하겠지만, System resource를 이용한 senso..
오늘은 Application을 제작할 때, 햇갈릴 수 있는 내용을 준비했다.Windows 에서는 Application을 Desktop, Mobile, IoT 등에 설치 될 수 있도록 구성해 놓았기때문에Visual Studio를 통한 개발 진행시 Template 를 잘 선택해야한다.Windows 10 IoT 용 App을 만들기위해서 기존에는 Sample project를 기반으로 확인 했었는데 직접Project를 생성하려다 보면 UI가 있거나 없는 프로젝트로 생성할 수 있다. IoT라는 개념이 UI가 있을수 도 있고 없을 수도 있다보니 이런 듯 하지만 지금은 UI를 그려주는 부분을 연습하기도 해야하니 당분간은 UI가 포함되는 Project Template를 선택하도록 할 것이다. 새 프로젝트 생성시 Visu..
Windows 10 IoT Core는 IoT 위해 만들어진 Platform 이다. IoT는 기존 제품과의 차별점으로 그 형태가 정해지지 않았다는 것인데 유저 시나리오에 따라서 어떤 형태로든지 만들수 있는 기본 Set이어야 한다. 여기서 등장하는 개념이 바로 Open Hardware와 Open source project 인데, RaspberryPi, Aduino, BBB 등과 같이 여러가지의 OS를 올려서 다양한 시나리오 베이스로 여타의 센서 등을 연동시킬 수 있어야 하고 Software 적으로 이를 지원해주어야 한다. 이를테면 하드웨어를 부착했지만 그 부착한 하드웨어를 잘 이용할수 있는 Framework 단, 말하자면 API 화 되어 쉽게 제어가능한 App 단위의 Service를 만들 수 있어야 할 것이..
앞서 Windows 10 IoT core를 다운 받고, 간단한 Hello World sample을 만들어봤다. Windows 10 IoT core로 본격적인 작업을 하기전에 우선 Host PC로 부터 Target인 Raspberry에 어떻게 접속할 수 있는지 살펴보도록 하자. 이미 hello world sample app을 visual studio를 통해 target에 설치 해 보았지만, 현재 어떤 app이 설치되있고, process는 어떤게 돌고 있는지, network등 setting을 위해서라도 접속하는 방법을 알아보자. 일반적으로 Raspberry PI와 같은 embedded system은 UART 를 직접연결해서 Serial Log를 확인하고 로긴해서 file system에접속하는 방법이 있는데 ..