한국산학기술학회논문지 Vol. 11, No. 9 pp. 3441-3445, 2010 임지언 1, 최신형 2* 1 경남대학교컴퓨터공학부, 2 강원대학교제어계측공학과 An Implementation of Sensing Data Management System based on Embedded System Ji-Eon Lim 1 and Shin-Hyeong Choi 2* 1 Division of Computer Engineering, Kyungnam University 2 Dept. of Control & Instrumentation Engineering, Kangwon National University 요약현대정보시대의다양한정보의발생으로업무처리등의전산작업이외에우리주변에널려있는각종센서장비들로부터의수많은양의수집된정보가존재한다. 본논문에서는환경정보를수집할수있는센서노드로부터전송된정보를수집하고저장할수있는임베디드시스템기반의센싱데이터관리시스템을구축한다. 메인시스템에서는 BerkeleyDB와질의처리기함수를사용하여보다정확한정보만을호스트서버에전송함으로써수집된센서정보의신뢰성을높일수있다. Abstract In the modern information society, computational tasks such as business processes in addition to numerous amounts of information from various sensor devices exist. In this paper, an embedded system based on sensing data management system which can collect and store sensing data from sensor node is developed. Berkeley DB and the query processor is installed in the main system, by using this we can send the more accurate information to the host server and can increase the reliability of sensor information. Key Words : Sensing Data, Embedded System, Database 1. 서론 현재우리주위에는다양한정보가존재하며, 그정보의가치로인해정보화사회에서의경쟁력을가질수있다. 조직에서중요한의사결정을내리기위해서는정보를수집해야하며, 이들수집된정보는컴퓨터시스템을활용하여분석및가공된다. 이러한정보자원을관리하고활용하기위해필수적으로사용되는데이터베이스는전통적자료관리에서검색엔진까지다양한환경에서필수적인도구이다. 이러한데이터베이스의활용은하드웨어와소프트웨어측면에서많은비용을수반한다. 일반적으로발생된정보는업무처리등의전산작업뿐만아니라각종센서와같은장비들로부터발생한빛, 소리, 온도, 움직임같은물리적인데이터를센서노드에서감지하고 측정하여중앙의기본노드로전달하는구조로되어있다. 이와같이수많은센서정보들을효과적이고오류없이관리할수있는방법이필요하다. 본논문에서는센서네트워크상의각종센서로부터전송된온도, 습도, 조도등의센서정보관리를효과적으로하기위해임베디드시스템상에서의기본적인센서정보를 Berkeley DB와질의처리기 (Query Processor) 를이용하여관리하는시스템을제시하고자한다. 2. 관련연구 2.1 임베디드시스템 임베디드시스템이라함은특정한기기에주어진작업 * 교신저자 : 최신형 (cshinh@kangwon.ac.kr) 접수일 09 년 08 월 16 일수정일 10 년 08 월 25 일게재확정일 10 년 09 월 08 일 3441
한국산학기술학회논문지제 11 권제 9 호, 2010 을수행하도록구동시키는시스템으로 TV, 냉장고, 세탁기등과같은다른시스템의일부로내장된마이크로프로세서시스템, 어떤시스템의특정목적을위하여동작하는컴퓨팅시스템 이라고정의할수있다 [1,7]. 이러한임베디드시스템은하드웨어와하드웨어자원의효율적관리를위한소프트웨어로구성되며, 그하드웨어와소프트웨어는특정한기능의수행에초점이맞춰져있다. 특정한기능을수행할수있도록설계되는임베디드시스템은다양한기능을수행할수있도록설계되는 PC와같은범용시스템과대비된다 [2]. 임베디드시스템에사용되는임베디드소프트웨어는다양한디지털제품에내장되어진하드웨어의제어와통신, 멀티미디어, 게임, 인터넷접속, 유비쿼터스컴퓨팅등의기능을제공하는특징을가지고있다. 임베디드소프트웨어는일반패키지소프트웨어와달리기존하드웨어의부가기능제어의역할을하고, 특정제품에서만동작하는소프트웨어이며, 실시간, 고신뢰성및자원제한성을지원해주는특징이있다. 2.2 임베디드리눅스리눅스 (Linux) 는 1991년핀란드헬싱키대학의학생이었던리누스토발즈 (Linus Torvalds) 가 Unix 운영체제를토대로만든운영체제로서인터넷을통해무료로배포되었다. 그이후에전세계개발자들에의해지속적으로개선되고있으며, 특히낮은사양의프로세서와적은용량의메모리를가지는임베디드시스템을위하여리눅스가개발되었다. 기존의상용임베디드운영체제는커널 (kernel) 의재구성이용이하지않아다양한플랫폼에적용한것이어렵고, 초기구입비와사용료가매우비싸며, 커널소스가오픈되지않아기술축적에한계가있다는단점을가지고있다. 이에비해서임베디드리눅스는많은장점들을가지고있기에, 점점더많은임베디드시스템들이임베디드리눅스를운영체제로서채택하고있다. 할수있다. USN은인간에게편리함을제공하는동시에보안및프라이버시문제를수반한다. 즉, 언제어디서나컴퓨팅을이용할수있다는것은반대로언제어디서나개인정보가누출될수있다는것을의미한다. 안심하고 USN을이용할수있도록하려면기밀성, 인증, 무결성등이보장되어야한다 [3,6,8,9,10]. 2.4 센서데이터베이스센서데이터베이스시스템의주요목적은센서네트워크환경에흩어져있는센싱정보들에대하여센서노드들의제한된리소스들-저성능의 CPU, 저용량메모리, 저용량의통신대역폭-을고려하면서효율적으로사용자의질의를만족시켜주는것이다. 다시말하면, 각센서노드들에서의에너지소모율을최소화시키면서질의에대한정확성및신속성을최대화시킬수있는질의처리기를만드는것이다 [4]. 3. 시스템의구조및설계 본장에서는임베디드리눅스기반의센싱데이터관리시스템개발배경과설계과정에대하여기술하고자한다. 일반적으로센서네트워크환경에서는노트북과같은고급사양의호스트 PC를활용하여센서노드로부터전송된센싱데이터를관리하지만, 본논문에서는장소가한정되거나적은종류의센싱데이터를수집및관리하기위해서호스트 PC가아닌임베디드시스템을활용하고자한다. 이를통해보안을비롯하여관리및비용적인측면에서유리하게시스템을구축할수있다. 센싱데이터관리시스템은크게센서네트워크와메인시스템으로구성되며전체적인시스템은그림 1과같이나타낼수있다. 2.3 유비쿼터스센서네트워크유비쿼터스센서네트워크 (USN:Ubiquitous Sensor Network) 기술은인간의생활환경에존재하는사물에센서를장착하여그사물을지능화시키고, 사물간의네트워크를형성시켜다양한정보를주고받을수있도록하는기술을의미한다. USN 기술에따라매우작은크기의독립된무선센서들을건물, 도로, 의복, 인체등과같은물리적공간에배치하여측정대상의온도, 습도, 조도, 가속도, 자기장등에관한정보를원격으로감지및관리 [ 그림 1] 센싱데이터관리시스템구성 3442
3.1 센서네트워크센서네트워크는지정한장소의환경데이터를수집하는센서보드와센싱데이터를수집해서전달하는 Hmote 노드로구성된다. 센서보드에는온도, 습도, 조도등의데이터를인식할수있는센서들이장착되어있으며, Hmote는 Texas Instruments사의 MSP430 microcontroller 와 IEEE 802.15.4를지원하는 CC2420 RF Chip(2.4GHz), 그리고실내 50m, 실외 125m까지전송할수있는안테나가내장되어있어무선전송이가능하다 [12]. 서제어모듈을통해전달된센싱데이터는질의처리기를통해저장및관리되는데, 본논문에서는오라클사의 Berkeley DB라는임베디드데이터베이스를사용한다. Berkeley DB는애플리케이션에직접적으로연결되기때문에임베디드라고할수있다. 즉, Berkeley DB는애플리케이션과같은주소공간에서운영된다. 그결과프로세스간통신 (IPC), 네트워크등이필요하지않다. Berkeley DB는 C, C++, Java, Perl, Tcl, Python, 그리고 PHP 등의프로그래밍언어를위한간단한 function-call API를제공하며, 모든데이터베이스작업은라이브러리안에서이뤄진다. 또한, Berkeley DB 라이브러리는매우이식성이좋으므로모든유닉스및리눅스, 윈도우즈, 그리고수많은실시간임베디드운영체제에서작동한다 [5,11]. 하지만 Berkeley DB는 SQL 같은쿼리언어는지원하지않으므로본논문에서는함수형태의질의처리기를통해센싱데이터를저장및관리한다. [ 그림 2] 센서노드 3.2 메인시스템메인시스템은센서네트워크로부터전송되는센싱데이터를전달하는센서제어모듈이설치되어있다. 또한, 수집된센싱데이터를저장하고관리하기위한임베디드데이터베이스가설치되어있다. 본논문에서는앞서언급한것처럼관리시스템으로서호스트 PC가아닌임베디드시스템을사용하는데본연구에서사용한임베디드시스템은하이버스의 X-Hyper270TKU를사용하였다. X-Hyper270TKU의주요시스템구성은다음과같다 [12]. - CPU : FWPXA270 (520MHz) - SDRAM : K4S561632 4EA (128MB) - Flash ROM : TE28F128 2EA (32MB) - Nand Flash : K9F1208U0M-YCB0(64MB) - Audio : AC'97 CODEC Chip (CS4299) - Ethernet : 10Base-T 1Port (CS8900) 10/100Base-T 2Port (LAN91C111) - Display : 6.4"TFT LCD Interface (Touch panel included) - VGA : VGA Controller (THS8135) - Touch Screen : Touch Screen Controller (ADS7843) 이와같이 Processor는저전력, 초소형이며, 터치스크린을채택함으로써임베디드리눅스기반의 X윈도우환경에서다양한응용프로그램을쉽게조작할수있다. 센 4. 시스템의구현및구동 4.1 시스템구성및동작흐름도 본논문에서의시스템구현목표는다음과같다. 첫째, 기존의호스트 PC에서수행하였던처리기능을임베디드시스템이대신한다. 둘째, 저전력, 초소형이라는특성에최적화된임베디드 DB를활용하여센싱데이터를처리한다. 셋째, GUI 와같이사용자에게편리한환경을제공한다. 시스템구현을위한개발환경을다음의표 1에서간단히나타낸다. [ 표 1] 시스템구현을위한개발환경구분소프트웨어명버전제공회사 Embedded OS Kernel 2.4 Redhat Linux DB Berkeley DB 4.5.20 Oracle PL Qt Qt-embedded-free-3.3.3 Trolltech 개발도구는임베디드리눅스환경에서 GUI를구현하기위해서 C++ 기반의 GUI Library로서 Windows, Unix, Linux, Mac 모두를지원하며소스코드의호환을보장하고현재의윈도우기반의소스를리눅스나유닉스로포팅하는시간을절약해줄뿐아니라, 향후동일한소스로윈도우즈와 X-윈도우실행프로그램을생산할수있는강점을가지고있는 Qt를사용하였다. Qt 프로그램은다양한플랫폼을제공하는데본논문에서는 Qt-embedded- 3443
한국산학기술학회논문지제 11 권제 9 호, 2010 free-3.3.3 버전을가지고진행하였다. 물론시리얼통신을비롯한 DB 핸들링과같은소스부분은 C/C++ 언어를기초로작성하였다. 가. 시스템의구성그림 3에전체시스템의구성을나타내었다. 임베디드시스템기반센싱데이터관리시스템은여러개의센서제어모듈을가지고이들은메인시스템과무선통신으로연결된다. 센서제어모듈은센서보드와전송노드로구성되는하이버스의 Hmote2420을사용하여수집한데이터를메인시스템에전달하는역할을한다. 임베디드리눅스가설치된메인시스템은타겟보드라고할수있으며여기에는사용자인터페이스부분은 QT/E 라이브러리를이용하고, 데이터관리부분은 Berkeley DB를이용한센싱데이터처리및저장용프로그램이설치된다. 이를통해메인시스템에있는 TFT/LCD 상에센싱데이터가모니터링되는화면이나타나고터치스크린디스플레이를이용하여메인애플리케이션과동작하도록구성된다. 그림 4에임베디드시스템기반의센싱데이터관리시스템의동작흐름을나타내었다. 센서제어모듈은메인시스템과동기화를통해구동하며센서의값을읽어온횟수가 10번이하이면 10번의센싱이마칠때까지계속동작한다. 메인시스템에는시리얼포트를통해연결된수신노드즉 BaseStation을통해전송받은센싱데이터를처리하기위한모듈과 Berkeley DB를기반으로이들데이터를저장및관리하는모듈이동작한다. 4.2 시스템구동그림 5에서는메인시스템인임베디드시스템에서구동되는화면으로센서노드인 Hmote2420으로부터전송되어수집된센싱데이터를 10초단위로보여주며, 이들데이터는 Berkeley DB를사용하여저장된다. [ 그림 5] 구현화면 [ 그림 3] 전체적인시스템구성 나. 시스템의동작흐름도 표 2는데이터베이스테이블정의및메인함수의일부분을나타낸다. [ 표 2] DB 관련코드 #define DB_NAME "SENSORDB" typedef struct s_struct { uint16_t dest_add; uint8_t hand_id; uint8_t group_id; uint8_t msg_len; uint16_t source_add; uint16_t cnt; uint16_t ch; uint16_t data[20]; } S_STRUCT; S_STRUCT sensordb; void db_open(db **, char *, int); [ 그림 4] 시스템의동작흐름도 int main() { DB *dbp; DBC *dbcp; DBT key, data; db_recno_t index; int i; int ret=0; char keyvalue, idxnum; db_open(&dbp, DB_NAME, 0); 3444
5. 결론 현대정보시대에는다양한정보의발생으로업무처리등의전산작업이외에우리주변에널려있는각종환경정보를센서장비를이용하여수집할수있다. 일반적으로센서네트워크환경에서는노트북과같은고급사양의호스트 PC를활용하여센서노드로부터전송된센싱데이터를관리하지만, 본논문에서는센서네트워크상의각종센서로부터전송된온도, 습도, 조도등의센서정보관리를효과적으로하기위해임베디드리눅스기반의센싱데이터관리시스템을구축한다. 관리시스템은임베디드시스템기반의메인시스템과센서노드들로구성된센서네트워크부분으로구성되며, 기존에데이터저장및관리를호스트서버에서수행한방식과달리임베디드리눅스가설치된메인시스템에는 Berkeley DB를이용한센싱데이터처리및저장용프로그램이설치되어센서노드로부터전송된데이터를효과적으로관리할수있다. 참고문헌 [1] 최성호, 실버타운의 U-healthcard를위한유비쿼터스센서네트워크시스템설계및구현에관한연구, 한경대학교석사논문, 2009. [2] 한백전자기술연구소, ZigbeX를이용한유비쿼터스센서네트원크시스템, ITC, 2006. [3] 권종원, 유비쿼터스헬스시스템의구현을위한에너지효율적인라우팅프로토콜성능분석, 서울시립대학교석사논문, 2007. [4] 김민수, 이은규, 유비쿼터스환경에서의센서데이터베이스기술, IITA 주간기술동향통권 1187호 3월, 2005. [5] 이호택, Berkeley DB를이용한내장형데이터베이스관리시스템구현, 선문대학교석사논문, 2006. [6] 이찬영, 유비쿼터스무선센서를이용한임베디드홈네트워킹시스템구현에관한연구, 숭실대학교석사논문, 2005. [7] 노방현외 3인, 임베디드시스템을이용한감시시스템구현에관한연구, 한국산학기술학회, 한국산학기술학회춘계학술대회논문집, pp.240-243, 2004. [8] 양승현, 이석원, 지그비무선통신과웹기반의임베디드시스템을이용한자동차센서신호감시및제어에관한연구, 한국산학기술학회논문지, v.10, no.1, pp.67-74, 2009. [9] I.F.Akyildiz, W.Su, Y.Sankarasubramaniam, E. Cayircy, "Wireless Sensor networks: a survey, Computer Networks:", The International Journal of Computer and Telecommunications Networking, v.38n. 4, 2002. [10] Samuel Madden, Michael J. Franklin Joseph M. Hellerstein, "The Design of an Acquisitional Query Processor for Sensor Networks", ACM SIGMOD, 2003. [11] http://www.oracle.com [12] http://www.hybus.net 임지언 (Kwang-Youn Jin) [ 정회원 ] < 관심분야 > 정보보안, 임베디드시스템, USN 1990 년 2 월 : 경남대학교전자계산학과 ( 공학사 ) 1992 년 8 월 : 경남대학교교육대학원전자계산교육 ( 교육학석사 ) 1998 년 2 월 : 경남대학교대학원컴퓨터학과 ( 박사과정수료 ) 1995 년 8 월 ~ 현재 : 경남대학교컴퓨터공학부강사 최신형 (Shin-Hyeong Choi) [ 종신회원 ] < 관심분야 > 정보보안, USN, 임베디드시스템 1993 년 2 월 : 울산대학교전자계산학과 ( 공학사 ) 1995 년 2 월 : 경남대학교전자계산학과 ( 공학석사 ) 2002 년 8 월 : 경남대학교컴퓨터공학과 ( 공학박사 ) 2003 년 9 월 ~ 현재 : 강원대학교제어계측공학과부교수 3445