최근 누구나 한번쯤은 드론(Drone), 웨어러블 디바이스 (Wearable Device) 와 더불어 사물 인터넷 (IoT : Internet of Things) 이라는 것을 들어보았을 것이다.
드론이나 삼성의 갤럭시 기어, Fitbit이 바로 사물인터넷을 기반으로한 제품들이다.
그렇다면 사물인터넷 (IoT : Internet of Things) 이란 무엇일까?
Internet of THINGS (사물 인터넷)
The Internet of Things (IoT) is the network of physical objects or "things" embedded with electronics, software, sensors and connectivity to enable it to achieve greater value and service by exchanging data with the manufacturer, operator and/or other connected devices. Each thing is uniquely identifiable through its embedded computing system but is able to interoperate within the existing Internet infrastructure.
사물 인터넷(Internet of Things, 약어로 IoT)은 물건들 또는 전자제품, 소프트웨어, 센서 그리고 연결된 장치의 양쪽 혹은 어느 한 쪽의 가공, 연산된 데이터를 교환 함으로써 더 큰 가치와 서비스를 달성하기 위한 연결을 가능케하는 사물들의 네트워크이다. 각 사물은 각각의 임베디드 컴퓨팅 시스템을 통해서 고유하게 식별하지만 기존에 존재하던 상호연동이 가능한 인터넷 인프라에서도 가능하다.
[출처 : Wikipedia]
Wikipedia에 따르면 '사물들의 네트워크' 라고 정의 하고 있다. 네트워크로 연결되어 상용화된 첫 기기는 바로 컴퓨터 였다. 이후 Smart Phone 을 거쳐 현재 'Things' 즉, 특정 되지 않은 각종 사물에 도달한 것이다.
이런 IoT 활용 기기가 어떤 것들이 있는지 우선 드론(Drone)인 Lily와 웨어러블 디바이스(Wearable Device)인 Fitbit의 제품에 대한 아래 영상을 통해 살펴보자.
[동영상] LILY 소개 영상 (출처 : https://www.lily.camera/)
[동영상] Fitbit surge 소개 영상 (출처 : https://www.fitbit.com/kr/surge )
두 영상을 보고 필자는 신기함, 흥미로움과 같은 감정과 함께 2002년 개봉 했던 마이너리티 리포트 라는 영화의 한 장면이 뇌리를 스쳤다. 영화를 보면 주인공인 톰 크루즈가 광고판 앞을 지나가자 광고판이 톰 크루즈를 알아보고 맞춤형 광고를 보여주는 장면이었다. 이는 IoT 기술을 표현 할만한 좋은 예가 되는 장면이라고 생각한다. 우리는 지금 영화의 내용이 그저 상상이 아닌 현실이 되는 시대에 살고 있는 것이다. 그렇다면 IoT(Internet of Things : 사물인터넷)는 꼭 필요한 것일까?
누군가는 "저런거 없어도 살수 있다." 혹은 "저런게 꼭 필요한가?" 라고 말할 것이다. 시장조사업체인 IHS 테크놀러지는 인터넷에 연결된 사물은 2014년 기준 200억개에 달하고 있고 10년뒤인 2024년에는 약 800억개에 달할 것으로 전망하고 있다. 또한 Apple사는 2015년 6월에 있을 발표를 겨냥해 'Home-kit을 주목해주세요.' 라고 했다. IoT에 대해 '없어도 살 수 있다?' 맞는 말일 수 있다. 하지만 있으면 삶의 질은 향상될 것이다. Internet of Computer에서 Internet of IPhone을 넘어 이제는 Internet of Things의 시대가 올것이다.
그렇다면 이제 IoT 기술에 대해 조금더 자세히 알아보자.
현재 IoT 기술을 이용한 제품은 어떤 것이 있을까?
http://iotlist.co/ 링크된 곳은 IoTList라는 사이트로 아래와 같이 IoT 기술을 이용한 다양한 제품을 소개 및 판매하고 있다.
[사진] iotlist의 다양한 제품들 (출처 : http://iotlist.co/)
IoTList에서 소개 하고 있는 제품들을 분류 해보면 다음과 같다.
1. Home |
|
3. Etc |
- Environmental factor |
|
- Art screen |
- Air condition |
|
- Cooking |
- management |
|
- Media |
- Thermostat |
|
- Plants garden |
- Electrical usage |
|
- Sprinkler |
- Bulb |
|
- Fuel gauge |
- Remote control |
|
- Computer mouse |
- Security |
|
- Payment |
- Door lock |
|
- Fish finder |
- Security |
|
- Glasses |
2. Healthy |
|
- Chromecast |
- Temperature |
|
- Pet tracker |
- Blood pressure |
|
|
- Scale |
|
|
- Breathalyzer |
|
|
- Sleeping |
|
|
- Heart beat | ||
- Brainwave | ||
- Fitness tracker |
우리 생활에 밀접한 관계가 있는 제품들이 많은 것을 볼 수 있다. IoT는 우리 생활에 많이 다가와 있는 것이다.
위의 제품분류에서는 IoTList 사이트의 제품군만 분류 해놓았지만 이 밖에도 다양한 제품들이 많이 출시되어 판매되고 있고
각국에서는 관련 사업도 추진되고 있다.
그렇다면 IoT 개발에 필요한 것들은 무엇이 있을까?
우선 IoT가 어떤 기술 요소들로 구성 되어있는지 알아보자.
1. Machine & Module
- Sensor
- Embedded
2. Network
- 근거리 : NFC, Bluetooth, Beacon, Zigbee
- 원거리 : HTTP, MQTT
- Security
3. Data processing
- Event processing & Messaging Middleware
- Data processing & analysis
4. Service
- Cloud computing
sensor와 embedded 단말을 통해 data를 수집 하고 취합 및 전송하기 위한 Machine 과 module
센서와 임베디드 혹은 단말과 서버 사이의 통신과 데이터 전송을 위한 근거리/원거리 네트워크
전송된 데이터의 분석 및 필요한 정보 추출을 위한 Data processing, Cloud computing서비스 부분으로 나누어 볼 수 있다.
IoT의 기술 요소의 구성에 대해 알아 보았다.
그렇다면 이번에는 IoT 관련 오픈 소스들에 대해 알아보자.
Development Tools
Arduino
데스크탑 컴퓨터 보다 더 많은 물리적인 것들을 제어 및 감지할 수 있는 컴퓨터를 만들기 위한 Tool이다.
Eclipse IoT Project
Eclipse 에서 지원하는 IoT 관련 프로젝트이다. 프로젝트는 application framework와 IoT의 프로토콜 구현관련 오픈소스, Lua에서 작업하기위한 tool과 같은 서비스를 포함하고있다.
Kinoma
javascript로 된 smart device와 모바일 app개발을 원하는 개발자 및 전문 디자이너를 위한 tool(software & hardware)과 device app 플랫폼이다.
M2MLabs Mainspring(Machine to machine)
원격 모니터링, 차량 관리나 Smart grid 와 같은 응용프로그램 머신 (M2M)의 시스템 구축을 위한 application framework 오픈소스 이다.
Node-RED
Hardware devices의 연결 관계를 나타내는데 사용되는 Tool이다. Raspberry Pi에서 실행할 수있다.
Hardware
Arduino Yun
Arduino의 microcontroller board의 한 가지로 linux OS 를 지원한다. 또한 Ethernet, Wifi 장치, usb-a 포트와 micro-SD카드 슬롯, 20 digital 입출력 핀을 지원한다. IoT에 사용 되는 기판 컴퓨터이다.
BeagleBoard
BeagleBoard는 Open Source Computing 을 위한 기판 컴퓨터를 제작하는 회사로 대표적인 제품은 BeagleBone Black이 있다.
Flutter
Arduino 기반의 board에 호환되는 무선 통신을 위한 장치 hardware 이다.
Local Motors Connected Car
자동차 회사인 Local Motors에서 IBM & Intel via Joe Speed가 협력해 만든 Open Source 하드웨어 이다.
Microduino
Arduino ¼ 크기의 축소판인 microcontroller board 이다.
OpenPicus
IoT 장치들의 통신을 위한 Kit와 모듈을 만드는 회사로 Wi-fi, GPRS(General Pack Radio service), Ethernet을 이용할 수 있는 시스템 모듈인 FlyportPRO이 있다.
Pinoccio
Arduino의 축소판인 Open Source hardware 이다. Arduino IDE (통합 개발 환경)와 Arduino의 라이브러리를 사용해 프로그래밍 할 수 있다.
RasWIK
Raspberry Pi Wireless Inventors Kit 으로 Raspberry pi에 연결해 wi-fi 기능을 이용할 수 있도록 해준다
SODAQ
Solar-Powered Data Acquisition의 약자로 plug-in module과 같은 Lego를 함께 제공하는 Arduino 기반의 board이다.
Tessel
10-pin Module 로 Accelerometer(가속도계), Ambient (소음측정), Relay(계전기), Climate(기후), Infrared(적외선), servo, RFID, GPS, DIY와 관련된 Open source Library를 제공 한다.
USB Modul로는 Bluetooth, Cellular, MicroSD, Camera, Audio를 제공한다.
Community-Created Module로는 Distance, Color Sensor, Keypad, Lights/LED, Motion, Motors, Pulse, Screen, Button/Switch를 제공 한다.
UDOO
안드로이드와 Linux 두가지에서 사용이 가능하고 Arduino-compatible 프로세서를 장착한 single board computer 이다. 소프트웨어 개발과 디자인을 위한 강력한 prototyping board이다.
Home Automation System
home에서 사용하는 IoT 기기를 제어 할 수있도록 도와주는 소프트웨어이다.
OpenHAB
TheThing System
Middleware
IoTSyS
장치간 통신을 위한 미들웨어로 IPv6, oBIX,6LoWPAN, 제한된 응용 프로토콜과 같은 다양한 표준과 프로토콜을 지원한다.
OpenIoT
센서 cloud로 부터 얻은 정보를 다루기위한 오픈소스 미들웨어이다.
Operating Systems
AllJoyn
Contiki
Raspbian
RIOT
Spark
Monitoring
Freeboard
Air Quality, Distillery, Humidor, Residental과 관련된 widget을 제공한다.
Printing
Exciting Printer
Small Internet-connected Printer 이다.
Platform and Integration Tools
DeviceHive
Devicehub.net
IoT Toolkit
Mango
Nimbits
OpenRemote
SiteWhere
- ThingSpeak
[자료] IoT를 위한 35 가지 Open Source
(출처 : http://www.datamation.com/open-source/35-open-source-tools-for-the-internet-of-things-1.html )
http://postscapes.com/internet-of-things-hardware - IoT관련 hardware 추가자료
http://postscapes.com/internet-of-things-platforms - IoT관련 platform 추가자료
https://blog.profitbricks.com/top-49-tools-internet-of-things/ - IoT관련 Tools 추가자료
위의 Open Source들에 대한 자세한 내용은 (출처 : http://www.datamation.com/open-source/35-open-source-tools-for-the-internet-of-things-1.html )에서 각 항목의 사이트 링크를 통해 살펴볼 수 있다.
IoT와 관련된 오픈소스는 이밖에도 많이 있다. 이러한 오픈소스들은 IoT관련 개발을 손쉽게 접하도록 도와준다. IoT 개발에 관심이 있다면 Arduino 혹은 Raspberry Pi의 홈페이지에서 제공하고 있는 Project Example을 활용 하면 좋을 것이다.
마무리
지금 까지 IoT에 대해 전반적으로 살펴 보았다.
오래전부터 인간은 도구를 사용해 왔다. 도구를 사용하지 않았어도 인간은 살아갈 수는 있었을 것이다. 하지만 도구의 사용은 인간의 삶의 질을 향상 시켜 주었고, 생활의 편리함을 제공해 주었다. 더불어 더욱 편리해 지기위한 필요에 의해 도구는 발전을 거듭해 왔다.
IoT 기술도 마찬가지이다. IoT 기술이 없어도 살아갈 수 있지만 이 기술을 활용 하면 인간은 지금보다 더 좋은 환경에서 생활 할 수 있을 것이다. 또한 IoT 기술이 생겨나고 발전 할 수 있었던 것은 사람들이 필요로 했기 때문이다. IoT 시대는 이미 시작 되었다. IoT는 무궁무진한 발전 가능성을 가지고 있고 관련 자료들이 지금도 쏟아져 나오고있다. 위에서 소개한 IoT 관련 Open Source 및 기타 자료들은 IoT의 극히 일부에 불과하다.
하지만 이번 포스팅을 통해 IoT 가 무엇인지 알고 싶어 하는 사람들에게 조금이라도 도움이 되었길 바란다.
IoT 에 입문하기 위한 혹은 IoT가 어떤 것인지 알고 싶은 사람들을 위한 이번 'IoT(Internet of Things : 사물인터넷) ?' 에 대한 포스팅을 마치겠다.
'Newbie's Log' 카테고리의 다른 글
Ubuntu에서 OracleJDK설치하기 (0) | 2015.06.23 |
---|---|
주니어 개발자의 On-ly 2.0 프로젝트 경험기-기획편 (0) | 2015.06.17 |
IoT 오픈소스 개발 툴 - Kinoma (0) | 2015.05.20 |
Google Analytics 데이터를 사용한 블로그 분석 (0) | 2015.05.13 |
spring camp 2015 참가 후기 (0) | 2015.04.13 |