기획특집 IoT 시스템의구축과 IoT 클라우드서버적용 김주동대표 / 주신시스템 anyethernet@naver.com 1. IoT(Internet Of Things) 란무엇인가? IoT에대한내용을신문이나방송으로많이접하고있다. 얼마전에는유비쿼터스 (Ubiquitous) 에대한내용이많이나왔지만, 최근에는스마트 (Smart 기기 ) 에대한것이이슈가되고있다. 지금은모든것에 IoT를붙여서이야기하고있다. 그러면 IoT가무엇일까? IoT란오래전부터있던것이다. 새로만들어진것은아니다. 단지시대가변하여새롭게이름붙여진것이라고생각하면된다. 유비쿼터스는언제어디서나네트워크에연결하여필요한정보를얻을수있는것을말한다. 쉽게말하면언제어디서나인터넷에연결하여필요한정보를얻는것을말한다. 예전과같이인터넷이일반화되지않았던시절에언제어디서나인터넷에연결할수있었으면하는생각에서유비쿼터스라는단어가생겨났다. 대부분의사람들이인터넷연결이가능한스마트기기 (Smart phone, Smart pad) 를가지고다니는세상이된것이다. 스마트기기는단순하게인터넷을연결하는기기가아니라매우작은컴퓨터기술이가능하게된것을의미한다. 기술의발달은모든것을작게만들수있게하였다. 1946년처음만들어진컴퓨터에니악 Electronic Numerical Integrator And Calculator 은개발당시무게약 30t, 길이 25m, 높이 2.5m, 폭 1m의크기에사용진공관의수 1만8,800개, 저항기 7,000개, 소요전력 120kW의거대한기계덩어리였다단순하게십진수계산에만사용되었다. 그러나 2016년 100년이안되는시간동안에모든기술의발달속도는우리가상상하는이상으로발전하고있다. 불과몇년전만해도누구나스마트폰 ( 인터넷을연결하는만능기기 ) 을가지고다닐것이라고생각했겠는가? 대부분의사람들이좀더미래의일이라고생각했 82 계장기술
IoT 시스템의구축과 IoT 클라우드서버적용 었다. 지금은스마트기기가일반화되었다. 휴대하기편하게하기위해서는우선크기가작아야했다. 그리고성능이뛰어나야했다. 그래서스마트기기가작아지면서이제는성능또한매우빨라졌다. 스마트기기의성능이이제는우리가사용하고있는데스크탑컴퓨터의속도와도같아졌다. 이러한전기와전자의기술이발달과인터넷네트워크의접속환경이좋아지면서나온것이바로 IoT이다. IoT를구현하기위해서는많은기술이필요로하게된다. 우선센서기술을필요로하는데, 우리의일상생활에가장많은영향을미치는일반적인것으로온도와습도가있다. 온도와습도는우리가살아가는데많은영향을주는환경요소이다. 온도와습도의변화를잘예측하는것만으로도우리는윤택한삶이가능하다. 지금은매우저렴한비용으로인터넷에접속이가능하고, 크기또한매우작아졌다. 이러한환경이 IOT를가능하게하는것이다. IoT란단순하게몇개의센서를측정하는것이아니라세상의모든사물에센서를내장하는것이라고생각하면된다. 우리가사용하는수저에도센서가부착되어밥을먹을때몇번의수저질을하는지속도는얼마나빨리하는지를측정하여데이터베이스화한다. 필요없어보이는모든것에까지센서기능을장착하여네트워크화하는것이 IoT이다. 앞으로몇년안에지금의센서크기와소형컴퓨터의크기가지금보다더작아질것이다. IoT는모든사물에센서가장착되고, 측정이가능해지고, 측정데이터가데이터베이스화되면관리가가능해지는것이다. 즉, 측정이가능한것은관리가가능해지는것이다. 지금의작은센서기술과작은센싱 RTU(Remote Terminal Unit) 를이용하고, 작은인터넷접속유니트를이용하여네트워크에접속하고, 측정데이터를서버로전송하는것이가능하게되었다. 예전의기술로도기본적인 IoT를구현하는데는문제가없었다. 그러나구현을위한비용과크기에문제가있었다. 측정하기위한센서의크기가크고센싱 RTU의크기또한크며, 센싱한값을인터넷에올리기위해컴퓨터가필요하고, 컴퓨터에서인터넷을접속하기위한인터넷모뎀이필요하였다. 한곳의온도와습도를측정하여서버로전송하기위해서는너무도많은장비와비용, 그리고공간이필요하기때문에실용성이없었다. 앞서 IoT를구현하기위한하드웨어와센서에대해서언급했다. 인터넷에연결된센서는측정된값을인터넷서버로전송하여저장하고, 데이터베이스화하게된다. 누적된데이터는데이터를가공하여필요한수치로변환하여보여주게된다. 이러한역할을하는것이클라우드서버다. 클라우드는공유의개념을가지고있다. 언제어디서든지인터넷을통하여접속이가능한시스템을말한다. 네트워크비용이저렴해지고저장공간의용량이저렴해지면서가능해진서비스다. 하지만현재의시점에서도네트워크비용과저장공간에대한비용이개인적으로사용하기에는부담스러운부분이있다. 클라우드서비스중에제공되는 API를이용하여클라우드서버에데이터를저장하고, 웹인터페이스를이용하여저장된데이터를가공하여여러가지그래프형태로볼수 2016. 5 83
IoT 시대에주목받는 HMI 기술 있는서비스를제공하기도한다. 2. IoT 시스템구축을위한하드웨어에대해아두이노보드 이러한개발환경을제공하여줌으로써많은사람이사용하게되고, 보다빠른기술의발달과보급이가능해질수있다. 필자는 arduino Open Hardware를이용하여개발을하기도하고, 기존의방법으로 Avr studio IDE를사용하여개발을하기도한다. 아두이노와 AVR C언어프로그램은장단점이있다. 모두같은플랫폼에프로그램을하는것이지만, 아두이노프로그램은 AVR C언어프로그램에비하여좀더쉽게접근이가능하다. 그러나필자의경우는기존에하던프로그램방식이있어코드가길어질수록불편함을느꼈다. 그러나빠르게프로그램을개발하여야하는경우아두이노의 sketch IDE를사용하여프로그램을할경우매우빠르게결과물을얻을수있었다. (1) 펌웨어를사용하는보드 Raspberry PI 보드 아두이노의경우펌웨어 (Firmware) 에의해서구동되는장치다. 이러한장치는운영체제 (Operating System) 가없이단지펌웨어코드를순차적으로해석해서동작하는방식이다. 이러한프로그램은단순하게반복해야하는장치에많이사용되고, 고장이없어예전부터사용하는방식이다. 단지지금의 CPU 는예전과달리 RAM과메모리, flash 메모리를내장하고있어회로가간단하고 CPU 의속도가예전에비해많이빨라졌다. 하드웨어에관심있는사람은 arduino 보드에대해서들어본적이있을것이다. 에디슨하드웨어 (Edison Hardware), 라즈베리파이 (Raspberrypi) 이러한 Open Hardware는누구나쉽게하드웨어기반의장치나센서를만들수있게해주는보드다. 이러한공개용보드와개발용소프트웨어는누구나개발이가능하다. 펌웨어기반의장치들의장점은무한반복되는기능을구현할때매우안정적으로동작하고, 매우빠른반응속도를요할때사용되며, 매우저렴한비용으로구현이가능하다는장점이있다. 또한 CPU로동작하는시스템의경우시스템이불안정하게동작하거나, CPU 가다운 (System Down) 되어동작이되지않는현상이있을수있는데, 이러한현상이적게나타난다는장점 84 계장기술
IoT 시스템의구축과 IoT 클라우드서버적용 Open Hardware 아두이노보드 ( 용도에따라만들어진아두이노보드 ) 출력 : 16ch 입력 : 32ch 아날로그 : 4ch, 이더넷포트와 TTL 시리얼포트 4 개를가지는보드 을가지고있다. (2) OS를기반으로하는하드웨어 Open Hardware 중현재가장유명한 Raspberry Pi 라불리는보드에대해서알아보도록하겠다. 필자의경우이와유사한보드를가지고개발을해보았으나결국에는라즈베리파이보드로다시전환하게되었다. 라즈베리파이보드보다빠르고기능이우수한보드도있으나, 사용자계층이적은관계로개발에있어서참고문헌이부족하여개발이늦어지는현상이나타났다. 라즈베리파이는운영체제 (Operating System) 를가지고있는보드로리눅스와윈도우 10을포팅하여사용할수가있다. 파즈베리파이는 Raspberry pi 3까지나온상태이며, 라즈베리파이보드의경우 1기가메모리에 4코어 64bit CPU, WIFI와 Bluetooth를내장하고있다. 이러한완벽한초소형컴퓨터를 5만원대로구입이가능하다. 가격면에서도매우저렴한하드웨어비용이 다. 이소형컴퓨터는일반컴퓨터와는다르게쉽게사용이가능한 GPIO 를제공하고있다. 라즈베리파이는컴퓨터와 8bit 하드웨어의중간적인상태로프로그램과제어가가능하도록되어있어누구나하드웨어의구입과함께개발이가능하도록해준다. 필자의경우리눅스를기반으로하는웹기반 HMI 프로그램을개발하고있다. 프로그램개발을위해서는 Apache 웹서버와 mysql 데이터베이스, 그리고 C언어컴파일러와 PHP, 서버사이트프로그램이필요하다. 라즈베리파이의파즈비안을사용하여 Apache 웹서버와 mysql, php, 기타필요한프로그램을설치하고, 정상적으로라즈베리파이에서구동하는것을보았다. 그리고매우안정적으로실행되는것을확인하였다. C언어 C++ 언어컴파일러는기본적으로내장되어있다. 또한라즈베리파이의 GPIO 를이용하여외부의 AC 220V 기기를 On/Off하는것을시연하였다. 매우성공적으로구현이가능하였다. 필자는하드웨어를디자인하고, 펌웨어와웹기반 2016. 5 85
IoT 시대에주목받는 HMI 기술 온도센서 습도센서 POE 프로브형온도센서 측정방법 : NTC 서머스터 (10K) 측정범위 : -50~100 도 정밀도 : 1% 반응시간 : 1.5~10sec 작동환경 : -30 ~+80 POE 프로브형습도센서 측정방법 : 고분자식 (Polymer) 측정범위 : 0~100% RH 분해능 : ±1% RH 정밀도 : 0.4% RH 반응시간 : <10sec 작동환경 : -40 ~+60 CO2 센서 일사센서 POE 팬순환식 CO2 센서 측정방법 : 비분산적외선 (NDIR : Non-Dispersive Infrared) 측정범위 : 0~2000ppm, 6,000ppm 입력전원 : 4.5V~14VDC 출력전원 : AN1:1~4VDC (Linear conversion range) 작동온도 : -30~50 도 정밀도 : 30ppm ±5% of reading POE 일사량센서 측정방법 : Silicon-cell Photodiode 스펙트럼범위 : 360~1120nm 측정범위 : 0~2000W/m 2 정확도 : <5% 작동환경 : -40~70, 0~100% 출력 : 0.2mV/Wm 2 (0~2000W/m 2 ) 아두이노기반의센서보드 서버소프트웨어를동시에개발하는통신프로토콜전문개발자이다. 라즈베리파이는 USB 카메라를이용하여영상관련프로그램이가능하다. 라즈베리파이를이용하여웹카메라서버를구현하기위한 mjpeg streamer 패키지를설치하면바로구현이가능하다. Motion, fswebcam 유틸리티를이용하면영상을캡처해서웹으로보여주는것이가능하다. 또한 ffmpeg을설치하면동영상저장과이미지캡처가가능하다. 여기에서는상세한내용에대해서는언급하지않는다. ( 다만본글을보고 ) 관심을가지고인터넷검색을한다면쉽게구현이가능하리라본다. 라즈베리파이는매우저렴한비용으로인터넷접속을위한장치를구현할수있다는장점이있다. 기본적으로 100Mbps 이더넷포트와 WIFI와 Bluetooth를내장하고있어여러가지용도로이용이가능하다. 또한 USB 포트를 4개제공하여 USB를이용한카메라또는시리얼통신포트를확장하여사용하는것도가능하다. 성능또한매우빨라어떤기능도구현이가능하다. 앞서의아두이노와같이펌웨어기반의장치는단순한기능외에는구현할수가없었다. 그러나라즈베리파이는고성능의컴퓨터로운영체제를가지고있다. 어떠한어플리케이션도구현이가능하다. 필자가라즈베리파이를강조하는이유는얼마전까 86 계장기술
IoT 시스템의구축과 IoT 클라우드서버적용 이트웨이로사용하기에매우적합하다고생각하고있다. 게이트웨이는인터넷을접속하기위한센서들의통로역할을하는것을말하는데, 소형이고고성능컴퓨터이며우수한통신기능을가지고있어야한다. 라즈베리파이트라이액방식출력보드앞면 필자가본글을쓰면서전체적으로내용에대한부연설명을하지못하는것이아쉽지만 IoT 시스템을구현하기위해서는소형센서와센싱 RTU, 로컬통신 (TTL, UART, RS485, RS422, Zigbee, Bluetooth 등 ) 통신과인터넷연결을중계해주는 Gateway 모듈, 그리고인터넷통신, IDC 또는 Cloud 서버와서버프로그램, Database와웹기반사용자인터페이스의구성등인터넷기술이모두사용된다. IoT 시스템을구현하는기술은너무도많은분야를포함하고있어한마디로설명하기에는어려움이있다. 향후라즈베리파이보다더성능이향상되고, 소형장치들이반드시나올것으로필자는믿는다. 지금까지 IoT 구현을위한하드웨어에대하여부족하지만알아보았다. 라즈베리파이트라이액방식출력보드뒷면트라이액보드에라즈베리파이보드가결합되어있다. 지는라즈베리파이가사용하기에약간은불안한부분이있었다. 전원공급부분이약하여 USB를이용한어플의경우문제가발생하는경우가있었다. 그러나 Raspberry PI 3 버전에서는이러한부분도어느정도해결된상태이다. 하드웨어를개발하는필자의경우도라즈베리파이정도의하드웨어를개발하기란쉽지않다. 또개발이이루어진다고해도크기와장비의단가를맞추기란더욱어렵다. 라즈베리파이를이용하여입력과출력장치, 그리고센서를만들어사용하는것이가장확실한방법이라생각된다. 라즈베리파이는 IoT 시스템구현을위한인터넷게 3. ICT & IoT 클라우드시스템의구축과클라우드시스템의한계그동안필자는본인이개발한 WEB 기반 HMI 소프트웨어인 WEBMON 프로그램에대한글을많이써왔다. 클라우드컴퓨팅이일반화되면서거의모든사용자인터페이스가웹브라우저를기반으로이루어지고있다. 또한서버를기반으로하는시스템으로발전하고있다. IoT 시스템도클라우드서버를기반으로구축이이루어지고있는추세다. 앞서예로들었던온도와습도가측정되어 IoT 기기 2016. 5 87
IoT 시대에주목받는 HMI 기술 WEBMON IOT 시스템사이트뷰 를거쳐인터넷의클라우드서버에저장이되면저장된데이터를여러가지형태로분석할수있다. 그러면 IoT 시스템의많은센서가서버에자동으로접속하여자신의위치와경로측정시간등의정보와측정된값을자동으로저장하기위해서는센서와서버간에약속된규약에의한통신이필요하다. 이러한기능을구현하고있는것이필자가개발한 WEBMON 서버다. 접속된 IoT 기기와통신하고, 어드레스를자동으로할당하고, 데이터베이스를자동으로생성하며, 생성된데이터를자동으로트렌드및리포트화하여보여주는기능을가지고있다. 그러나제어요소가있는경우클라우드에서제어기능을구현하게되면네트워크에문제가발생하는경우제어가안되는문제가발생하게된다. 4. IoT 시스템의적용분야자동화, 유비쿼터스, 스마트기기, IoT 기술들은모두사람이편하고안전하게살기위해서필요로한다. 기술은사람이편하게사는것이최우선이되는것이다. 인간을위해 IoT 시스템과같은첨단기술이가장필요한곳이어디일까? 클라우드시스템은언제어디서나접근이가능하고공유가가능한것이장점이다. 단순하게정보의업로드와정보의다운로드의기능만을하는경우는클라우드는최선의선택이될것이다. 그러나산업현장에서는단순히이러한기능만으로는할수없는것들이많다. 로컬기기의제어기능을포함하는경우에는클라우드시스템으로해결이불가능하다. 이것은네트워크가끊기지않는다는전제하에서클라우드서비스를받는것이다. 필자는이러한첨단 IoT 시스템기술을가장필요로하는곳은농업분야라생각한다. 해마다이상기온으로식량생산에문제가발생하고있다. 아무리과학기술이발달한다고해도식량을얻기위해서는노력이필요하다. 또기후의영향이절대적이다. 그러나지금은하우스를이용하여언제든지필요한작물을재배하고있다. 이러한하우스에 IoT 시스템의구축은생산을자동화하는데많은도움을줄수가있다. 사람들이농사를짓고살기시작한이후로농업은많 88 계장기술
IoT 시스템의구축과 IoT 클라우드서버적용 은발전을이루었다. 품종의계량으로수확량을늘릴수있었다. 그러나아직까지는농업을좀더체계적으로자동화하려는노력이부족했던것이사실이다. 농업의열악한환경과사람이아니면할수없는것들이대부분을차지하고있기때문이기도하다. 그러나지금은농업의중요성을알게되어정부에서도농업분야에많은투자를하고있다. 농업분야에 ICT 와 IoT를접목하여보다과학적이고개선된방식으로농업을바꾸고자하는노력과투자가시작되었다. 하지만첨단 IoT 기술을생소한농업분야에적용하는것이쉽지는않다. 농업분야의종사자들은 IoT와같은기술이생소한반면, IoT 종사자들은농업분야의접근이어렵기때문이다. 필자는몇년간의노력으로농업 IoT를구축하기위한소형입출력장비와농업에필요한환경을측정하기위한온도습도, CO2 센서, 일사센서, 풍향, 풍속, 지온, 지습, EC 센서등을개발하고, 농업 IoT 시스템을구축하기위한 WEBMON IoT 서버를구축하였으며, 농업 IOT 시스템을구축하여운영하는데성공하였다. 현재전국적으로 20여개의농업 WEBMON IoT 시스템을운영하고있다. 시스템의구축은시작단계에있으며, 좀더개선된시스템의구축을위해노력하고있다. 이글을쓰면서논제 ( 論題 ) 에서너무벗어난것이아닌가하는생각이들기도했다. 하지만세상이변하고있고, 누군가알려주지않으면새로운변화를따라가지못하게될수있다는생각에본글을쓰게되었다. 본글이너무도다른세상의이야기처럼보일수있으나, 머지않은장래에이러한기술이일반화될것으로생각된다. < 참고사이트 > http://www.arduino.cc https://www.raspberrypi.org/ < 참고 > IDE(Integrated Development Environment) 통합개발환경 GPIO( General Purpose Input/Output) 다용도입출력포트 ICT(Information and Communication Tecnology) 정보통신기술 IOT(Internet Of Things) 사물인터넷 2016. 5 89