기획특집 김주동대표 / 주신시스템 anyethernet@naver.com IoT는인터넷을기반으로하는시스템의구축이며, 유비쿼터스, 즉언제어디서나네트워크에접속하여정보를얻을수있음을의미한다. 그러나인터넷을연결하기전단계인센서네트워크를구현하기위해서는시리얼통신이필수적이며, 어느때보다그중요성이부각되고있다. 신이라고정의하여도무방하다. IoT가이슈화되면서 5V 레벨통신인 TTL 통신과프로토콜의정의가중요하게되었다. 모든센서는측정후약속된포맷 ( 프로토콜정의 ) 으로변환하여전송하여야한다. IoT를구현하기위한가장기본적인통신방식은 TTL 통신과 Serial 통신이다. 모든 CPU에내장되어사용할수있으며, 간단하게사용할수있기때문이다. IoT 장치는저전력으로센싱을하고, 센싱한데이터를네트워크를통하여전달하여야한다. IoT 장치의가장기본은네트워크이다. 여기서 IoT 센서와통신하기위한기본수단은 TTL 통신이며, TTL 통신을확장하여 RS232, RS422, RS 485 통신이될수있다. 또한무선블루투스가있을수있는데, 이러한통신의가장기본적인통신은 TTL 통신이다. TTL 통신을이용하여만들어진것이 Serial 통 본고에서는코딩과관련된상세한내용은배제하고, 방법과필요한것을찾을수있는곳을알려주는것으로대신한다. 그리고누구나하드웨어를이용한개발이가능하도록해주는 Open 하드웨어에대하여설명한다. 1. Open 하드웨어우리는유비쿼터스 (Ubiquitous) 와스마트기기, IoT (Internet of Things), AI( 인공지능 ) 라는급변하는시대를살아가고있다. 산업용하드웨어와소프트웨어를개발하고있는필자지만, 기술의빠른변화는적응하기 104
힘들다. 기술이하루가다르게변화하고있다. 예전에는몇년을주기로변화가이루어졌지만, 지금은수시로기술의변화가이루어지고있다. 인터넷이발달하고기술자료가넘쳐나고있는시점에서는누구나개발이가능한환경이되었다. 필자또한인터넷을이용하여개발자가된부류의한사람이라고생각한다. 인터넷을이용하여자료를모으고, 생소하지만필요에의해스스로만들수있는환경이제공되고있다. 그림 1. Arduino Open 하드웨어중에가장많이알려지고있는것이아두이노 (Arduino) 이다. 아두이노는 8비트기기뿐만아니라다양한하드웨어에서도사용가능하지만, 일반적으로 8비트하드웨어를개발할때사용한다. 8비트하드웨어는 OS가없이펌웨어로동작하는장치이며, OS 를사용하는기기와구별된다. 아두이노는사용자가많고예제프로그램과샘플을구하기가매우쉽다. 처음하드웨어를접하는초보자들에게매우유용하게사용될수있다. 또한하드웨어의개념을이해하는데도움이되며, 기본적인 C 언어를익히는데도도움이된다. Open 하드웨어에는라즈베리파이외에국내의 hard kernel의 Odroid와같이유명제품도있다. 그러나일반적으로라즈베리파이를많이사용하고있으므로라즈베리파이를기준으로설명한다. 그림 2. Raspberry PI 3 B+ Open 하드웨어인라즈베리파이는성능이우수하고, 개발자가필요로하는대부분의기능을갖추고있다. 이더넷, WIFI, 블루투스, 시리얼, GPIO, USB 또한 OS 기반의하드웨어이므로리눅스 (Linux) 및 Windows10 설치가가능하며, 개발자가힘들게 CPU 기반의하드웨어를개발하지않아도될정도의신뢰성을보장하고있다. 여기에서는필자가사용하고있는라즈베리파이 (Rasp berry PI B) 모델에대하여설명한다. 개발자들은자신에맞는하드웨어를개발하여사용하는것을좋아한다. 그러나빠르게변화하는하드웨어스펙을유지하는것은매우힘이들고, 많은비용이드는작업이다. 2018년 4월현재, Raspberry Pi3 B+ 는최근에출시된제품으로기존의 B모델에비하여이더넷속도가향상되고, CPU 4CORE 속도향상무선 Wifi 및블루투스성능향상과무선통신인증이강화되었다. B모델에비하여전력소모량의증가를보였다. 2018. 5 105
HMI&SCADA 의역할변화와 IoT 의확장 라즈베리파이의경우영국의라즈베리재단에서교육용으로개발되어전세계에보급되었으며, 다양한용도로사용되고있다. 무엇보다저렴한것이특징이고, 구입시전원어댑터와함께판매되는제품을선택하는것이좋다. SD메모리카드는 16기가타입이적당하다. SD 메모리의경우 8기가소용량이나 16기가나가격의차이가별로없다. SD메모리카드의경우용량일클수록속도가빨라 OS를굽는시간이절약되기도하고, 라즈베리파이의속도도빨라진다. 2. 8비트와 OS 내장하드웨어의장단점 8비트와 64비트하드웨어인라즈베리파이와비교하는자체가잘못된것이기는하지만, 하드웨어초보자의경우 Arduino와라즈베리파이를구분하기가어렵기때문에설명을하였다. 필자는라즈베리파이를사용하여개발하는것이좋다고생각한다. 라즈베리파이는 IoT를구현하기위한가장좋은제품이다. 매우저렴한가격과다양한인터페이스를지원하고있기때문이다. 또한라즈베리는 OS를설치하는것으로개발환경이모두갖추어진것과도같다. 개발환경은기 필자는 Arduino를이용하여개발하기도한다. 그러나아두이노를이용하여개발하는것은간단하게실험실수준에서기능을구현해보는단계정도로만족하여야한다. 아두이노를재디자인하여용도에맞게만들지않고점퍼를이용하여연결한그대로를시장에내어놓는경우가간혹있는데, 이것은상품이아니며, 사고의위험성이있으므로실험실용으로만사용해야한다고생각한다. 8비트하드웨어의장점은 OS를내장한제품에비하여전력을적게사용하고, 하드웨어다운현상이적게이루어진다는장점이있다. 그림 3-1. 라즈베리파이 OS 다운로드 (RASPBIAN 다운로드 ) 그러나 OS를내장하는장치에비하여용량이적기때문에카메라나기타이더넷구현블루투스구현프로그램의작성등은 OS를내장하는라즈베리파이가기능면에서월등하다. OS를사용하고있으므로전력을 8비트보다많이사용하지만, 일반컴퓨터보다많은전력을사용하는것은아니며, 약 3W의소형전력을사용한다. 일반컴퓨터와같이키보드와마우스를사용할수있으며, HDMI 모니터를사용할수있어최적의개발환경을구성할수있다. 다운로드가.zip 파일로되어있으며,.zip 파일을풀면약 3 기가후반또는 4 기가의.img 가생성된다. 그림 3-2. 라즈베리파이 OS 다운로드 (RASPBIAN 다운로드 ) 106
본적으로표준 C언어와 C++ 언어를사용할수있으며, Python과 Java 등의언어를사용할수있다. 또한, Open GL과기타영상관련프로그램을개발할수도있다. OS를설치한다기보다 SD flash 카드에굽는다는표현이맞을것같다. 4기가정도의이미지를다운받아서 SD 플래시디스크에구우면설치완료이다. 일부컴파일러나개발언어는설치하여야하지만, 설치또한간단하기때문에걱정할필요는없다. 필자는라즈베리파이의 xwindow를사용하지않는다. 또한제품의출시때도 xwindow의기동없이 console 부팅으로설정하여출하를하고있다. 이유는 OS를기반으로작동하는하드웨어에 xwindow가부담이될수있다는생각때문이다. 이부분은독자가결정할문제이다. 그림 4-1. Win32 Disk Imager 다운로드설치 필자의경우라즈베리파이를이용하여출력과입력을구현하고, 아날로그칩을사용하여아날로그 8채널을구현하여센서를개발하기도한다. 그러나본고에서는필자가라즈베리파이를이용하여 RS485 통신을구현하는방법에대하여설명한다. F: 가디스크로인식이되고, 이미지를마우스로끌어서텍스트창에넣으면선택이된다. 그림 4-2. Win32 Disk Imager 를이용한라즈베리파이굽기 시중에시리얼이더넷통신모듈이판매되고있기도하다. 그러나직접프로그램을만들어서사용하는것도좋다. 시중에판매되고있는제품의경우, 기본설정외에추가적으로프로그램에개발자가수정할수있는여지가없기때문이다. 라즈베리파이로시리얼이더넷게이트웨이를작성하여보자. 물론라즈베리파이에서는 TTL 통신만을지원한다. 여기에 TTL TO RS485 모듈을사용하여 RS485 를구현하거나 TTL TO 무선모듈을사용하여무선통신이가능하다. 블루투스의경우는라즈베리에내장되어있는모듈을그대로사용이가능하다. SD 메모리를어댑터카드에넣어 USB 포트에연결하면 F: 디스크또는기타디스크로자동설정된다. 그림 4-3. SD 카드 시리얼통신의경우무선모듈이나 RS485, 통신모듈모두 TTL를통하여통신이이루어지므로프로그램코드가같다. 2018. 5 107
HMI&SCADA 의역할변화와 IoT 의확장 라즈베리용 TTL RS485 통신변환모듈로라즈베리와결합하여사용이가능한모듈이다. 시중에서판매되는 USBTO485 모듈을구입해서사용해도구현이가능하다. 필자가구현한제품의경우시중에비슷한제품이있을수있으나, 글을쓰면서예제를구현한제품을자체개발제품으로시중에서구할수는없는제품이다. 무선및 RS485 통신을위한하드웨어모듈이필요한경우필자의 E-mail로문의하면구입이가능하니참고하기바란다. 또한, 라즈베리파이를이용한시리얼통신또는무선 통신 ( 약 1000m) 이필요한경우도문의하기바란다. 무선통신의경우여러곳에서사용되고있으며, 로라망을이용하지않고근거리로컬망에서의무선통신이필요한경우에유용하게사용할수있다. 무선통신에직비 (Zigbee) 나블루투스를사용하는것도가능하지만, 사용하기위한좀더복잡한단계를거쳐야하는단점이있다. 일반적으로개발자들은 PLC(Programable Logic Controler) 를통신하여상위 HMI와연동하거나직접개발하는 HMI 프로그램과통신하고싶어한다. PLC와의통신은국내에서가장많이사용되고, 일반화되어있는 LS산전의 PLC와의통신예제는필자가운 그림 5-1. TTL TO RS485 / 무선모듈라즈베리파이에모듈이결합된상태를보여준다. 그림 5-2. 라즈베리파이연결상태 라즈베리파이를이용하여무선및 RS485 TO 이더넷구현이가능한장치를만들었다. 그림 5-3. 라즈베리파이 RS485/ 무선설치그림 5-4. 온도센싱패널미터 (RS485 TO 무선모듈 ) 108
영하고있는 http://www.devpia.com/ubiquitous. MAEUL의자료실에서얻을수있다. 예제코드는 C언어와 VB(Visual Basic 6.0) 소스로되어있으니참고하기바란다. LS산전 PLC와통신하는방법으로는 Serial 통신방식인 RS232 통신또는 RS485 통신방법이있다. RS485 통신은기본적으로 LS산전 PLC에내장되어출하되고있으며, 카드타입으로추가설치하여야하는경우도있다. LS산전의 http://www.lsis.com에서가입과통신자료를다운받을수있다. RS485 통신의경우전용통신과모드버스 RTU 통신방식을선택할수있다. LS산전 PLC는소형이지만이더넷을기본으로제공하며, 이더넷을통하여통신하는방법도가능하다. 이더넷을통하여통신하는방법에대한예제또한 http:// www.devpia.com/ubiquitous.maeul의자료실에서찾아볼수있으므로참고하기바란다. PLC나 485 통신용패널미터등센서를라즈베리파이를이용하여통신하고, 통신된데이터를이더넷을통하여원하는클라우드나 HMI로전송하는것이이번글의마지막이다. 앞서설명한내용을요약하면, PLC나온도미터를시리얼 (RS485, 무선 ) 을통하여라즈베리와통신이이루어진다. 구현을위한코드는 http://www.devpia.com/ UBIQUITOUS.MAEUL에서참고할수있다. 이제라즈베리파이의네트워크이더넷을이용하여인터넷의클라우드서버 (Industrial IoT 서버 ) 로데이터를전송하면된다. 센서기반의 IoT 서버를개발하는데있어서개발용 그림 6. LS산전 PLC API를제공하는업체가많이있다. 국내의네이버, KT, SKT와외국의아마존, 마이크로소프트등대부분의업체가자사의클라우드서비스를사용할수있도록하고있다. 그러나아직은활성화가되어있지않은상태로시작은무료로시작하게되지만, 이후에는데이터사용량에따른과금이되며, 자신의용도에맞게선택하여개발하여야한다. 또한, 본인이개발자가아닌경우는개발자를투입하여야한다. 라즈베리파이바이페스프로그램은이더넷과시리얼통신을단순중계하는프로그램이다. 이프로그램의용도가매우많다. 단순히시리얼통신을이더넷통신으로바꾸어주어이더넷으로통신이가능하도록한다. 라즈베리파이가준비되었다면아래사이트에서다운로드하여사용할수있다. 다운로드받은환경파일에서 /dev/ ttyama0 또는 /dev/ttyusb0로환경을바꾸어주면사용이가능하다. 라즈베파이를이용한시리얼통신 BYPASS 프로그램이필요한경우라즈베리파이시리얼통신프로그램다운로드하여테스트가가능하다. wget http://asp1.web mon.co.kr/raspi_bypassv1.tgz 라즈베리파이이미지를정상적으로설치한후 console 모드에서명령어를입 2018. 5 109
HMI&SCADA 의역할변화와 IoT 의확장 력하면자동으로디렉토리가다운로드된다. $ wget http://asp1.webmon.co.kr/raspi_ bypassv1.tgz 엔터 $sudo tar xzvf raspi_bypassv1.tgz 엔터 $cd raspi_bypassv1 SERVER FD : 4 (PORT 4002) 옵션에따라 TCP, 4002번포트에접속하여데이터를전송하면자동으로시리얼포트로전송된다. 시리얼포트에서들어오는데이터는접속되어있는 4002번포트로전송하게된다. 프로그램의실행 $./in.raspiserial RASPI_BYPASSV1.CNF 엔터 INITIALIZING... WAIT 2 GLOFA IP : GLOFA PORT : 4002 GLOFA DEV : /dev/ttyama0 GLOFA SPEED : 9600 OFFSET : 5000 in.server port offset recv buffer size: 4096 /dev/ttyama0 (SPEED 9600) SERIAL FD: 3 DEV /dev/ttyama0 (SPEED 9600) neterror offset 5000 라즈베파이에서의시리얼통신방법에대하여설명하였다. 시리얼통신의 bypassv1 소스가필요한경우필자의메일로요청하면된다. 필자는 IIot 클라우드서버를운영하고있으며, 다수의사이트가클라우드서버에접속하여운영되고있다. 전국의냉장고온도관리를 Webmon 클라우드서버를이용하여관리하고있으며, Webmon 클라우드서버를이용하여전국의건물관제를하고있다. 향후에는전산실등홈자동제어등으로범위를확장해나갈것이다. Webmon 클라우드데모사용을위한구현문의는필자의메일로주면상세하게알려줄것이다. 웹을기반으로하는클라우드형 HMI가우리산업에도빠르게적용 그림 7. 스마트팜 ( 원격자동제어시스템 ) 110
되고있는실정이다. 우선제어가없는센서의모니터링과알람경우관제등에사용되고있으며, 향후에는클라우드를통한원격제어도일반화될것으로전망된다. 가장앞서가고있다고생각되는곳은스마트팜이며, 필자의경우현재클라우드기반의스마트팜시스템을전국에 50개이상설치운영하고있는상태이다. 스마트팜의경우스마트폰으로영상을보고제어를하며, 온도, 습도, CO 2 와같은센싱데이터를클라우드에저장하여향후작물관리에적용하고있다. 리포트및트렌드자동생성시스템을내장하고있으며, 스마트폰에서도웹을기반으로동작한다. 스마트폰만으로도운영이가능하다. 필자는 IIoT 구축을위한하드웨어제작기술과 IIoT 클라우드서버시스템보급사업을진행하고있으며, 필요한경우무상으로시스템의구현이가능함으로기술문의는메일로하면된다. 결론지금은누구나개발자가될수있는시대이며, 마음만먹으면 Industrial IoT를구현하는것이가능하다. 거의모든기능을갖춘저렴한하드웨어를이용할수있게되었으며, 인터페이스로스마트폰과같은제품을이용하여접속할수있는클라우드연동이쉬워졌다. 대형메이저업체를통한클라우드도좋은방법이될수있으나, 필자와같이 IDC센터의클라우드기능을이용하여지원할수있으며, 쉽고빠른연결을제공하는 Webmon 클라우드도이용이가능하다. 지금은자체모든시스템을자체개발하기보다 Open 하드웨어와검증된클라우드서비스를이용하여시스템을구축하는것이비용과효율면에서이익이될수있다. IIoT가농촌의스마트팜에적용되어실용화단계에접어들고있으며, 향후산업계에도빠른속도로사용되고, 좀더많은분야에적용될것으로보인다. 원고를받습니다 월간계장기술이참신한원고를받습니다. 소장하고있는원고나, 평소에소개됐으면하는내용을기사로작성하여보내주시면감사하겠습니다. ( 특별기고기술정보연재산업동향 & 전망 / 자세한사항은본지참조 ) 원고게재분양및내용 FA 와 PA 분야의주요품목인 DCS, PLC, 센서, 유량계, 인버터, 컨트롤밸브, 필드버스 ( 산업통신망 ), 계측및계장기기, 중전기기및발전플랜트와이를활용한기술및산업전망계측제어자동화설비 ( 플랜트 ) 분야의산업트렌드와시장전망 원고분량및발송 A4 지 4~10 매 ( 연재는편집부와협의 ) 이며, E-mail 로보내시면됩니다. E-mail 이어려운원고와첨부자료 ( 카탈로그와제품사진등 ) 는우편발송하시면됩니다. 보내실곳서울시영등포구당산로 2 길 12 ( 에이스테크노타워 708 호 ) 월간계장기술편집부 TEL : (02)2168-8897 / FAX : (02)6442-2168 E-mail : procon@procon.co.kr / lch1248@naver.com 원고마감 : 매월 15 일 2018. 5 111