각종 사물에 센서와 통신기능을 내장하여 인터넷을 연결하는 기술을 사물 인터넷 또는 Iot (Internet Of Things)라고 한다. 단순히 사물에 연결성을 부여하는 것을 넘어 스마트 홈, 스마트 팩토리와 같이 기존 영역에도 큰 변화를 불러오고 있다.
(일례로, 얼마전 설치한 정수기엔 WIFI가 내장되어 있어 어디서든 정수기의 상태와 간단한 조작을 전용앱을 통해 할 수 있다.)
이와 같은 IoT 디바이스를 직접 DIY로 구성하고 또 작동 로직을 프로그래밍할 수 있도록 나온 제품들이 있다
Rasberry PI, Arduino, Intel Edison등 작은 보드에 여러가지 센서들을 장착하여 사용할 수 있도록 하는 제품들인데, POC (Proof Of Concept)을 진행하거나 각종 Prototype을 만들기에 적당하다.
이중에서 Intel에서 내놓은 Intel Edison를 소개하고자 한다.
Intel Edison은 2014년에 발표된 50$ 정도의 가격과 SD카드 크기 수준의 작은 칩이다. 하지만 이 싸고 작은 칩안에 Dual Core 1G Ram, 4G Flash, Wifi, Bluetooth LE가 내장되어 있다. 소비전력은 0.5W 보다 작은 정도이다. 시중의 스마트폰 충전기보다 적은 양이다.
OS는 Yocto Linux v1.6, Arduino IDE, Eclipse (C, C++, Phyton), Intel XDK (Node.JS, HTML5)와 같은 개발 플랫폼을 지원한다. 인텔은 웹사이트를 통해 리눅스 (Linux)와 Mac OSX, 윈도우를 위한 IDE, 에디슨 SDK 등을 지원한다.
즉, Linux를 돌리고 Linux안에서 지원되는 각종 플랫폼과 서비스를 이 작은 칩안에서 돌릴 수 있다는 말이다. 그것도 Bluetooth와 무선 인터넷을 통한 연결형 서비스를 말이다.
Arduino와 완벽히 호환되는 Arduino Breakout Kit 번들을 사면 에디슨 칩을 해당 Breakout Board에 장착해서 사용할 수 있다. 스타트 킷으로 포함된 각종 센서들을 사용하여, 기본적인 작동 방식을 학습해 볼 수 있다.
여러가지 방법으로 Edison을 이용하기 위해 각종 IDE나 프로그램 언어를 사용할 수 있겠지만, 기본적으로 Intel과 Arduino에서 제공하는 IDE를 사용하면, 기본적으로 제공하는 라이브러리에 쉽게 접근해 Edison과 Arduino를 작동할 수 있다.
Intel XDK를 사용하면, Node.js Application을 Bracket 기반의 에디터에서 작성하고, Edison에 Serial로 연결해서 Upload할 수 있다. 센서를 작동시킬 수 있는 mraa라는 기본 라이브러리를 제공하여, LED를 작동시키는 기본 동작부터, LCD나 NFC 칩을 UART라는 시리얼 통신으로 작동시킬 수 있는 프로그램을 javascript로 작성할 수 있다.
Arduino IDE를 사용하면 Sketch라는 프로그램을 C와 유사한 형식의 Arduino 언어를 통해 작성할 수 있다.
일단 여기까지 Intel Edison의 특징과 사용방법을 간단하게 살펴보았다. 다음 시간에는 Intel Edison을 사용하여 각종 센서를 작동시키거나 센서의 값들을 가지고 활용할 수 있는 예제를 살펴보도록 하겠다.
'IT > Programming' 카테고리의 다른 글
Cloud Native (Spring Cloud) 기반 Micro Service 만들기 - 첫번째 (0) | 2017.09.15 |
---|---|
Java EE 7 만으로 REST API 만들기 (1) | 2017.09.07 |