KR101833539B1 - IoT 기기의 통합 지원을 위한 가상 디바이스 시스템 - Google Patents

IoT 기기의 통합 지원을 위한 가상 디바이스 시스템 Download PDF

Info

Publication number
KR101833539B1
KR101833539B1 KR1020160116768A KR20160116768A KR101833539B1 KR 101833539 B1 KR101833539 B1 KR 101833539B1 KR 1020160116768 A KR1020160116768 A KR 1020160116768A KR 20160116768 A KR20160116768 A KR 20160116768A KR 101833539 B1 KR101833539 B1 KR 101833539B1
Authority
KR
South Korea
Prior art keywords
iot
virtual device
virtual
program
module
Prior art date
Application number
KR1020160116768A
Other languages
English (en)
Inventor
구자철
Original Assignee
주식회사 리씽
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 리씽 filed Critical 주식회사 리씽
Priority to KR1020160116768A priority Critical patent/KR101833539B1/ko
Application granted granted Critical
Publication of KR101833539B1 publication Critical patent/KR101833539B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

본 발명은 선택된 프로그램에 따라 IoT 디바이스를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 디바이스에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상의 디바이스로 임베디드하여 IoT 기능을 수행하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 관한 것이다.
상기의 과제를 해결하기 위하여 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템은 선택된 프로그램에 따라 IoT 기기를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 기기에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상 디바이스로 임베디드하여 IoT 기능을 수행하는 것을 특징으로 한다.

Description

IoT 기기의 통합 지원을 위한 가상 디바이스 시스템{VIRTUAL DEVICE SYSTEM FOR TOTAL SUPPORTING OF IoT DEVICE}
본 발명은 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 관한 것으로서, 더욱 상세하게는 선택된 프로그램에 따라 IoT 기기를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 기기에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상의 디바이스로 임베디드하여 IoT 기능을 수행하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 관한 것이다.
통상적으로 설비를 운영하거나 사물인터넷(IoT, Internet of Things)을 구현하고자 함에 있어서 주변 환경상태나 주변 기기의 동작 상태를 관리하고 확인하기 위해서는 주기적으로 현장 및 장비상태를 확인하고 기록하거나, 원격지에 설치된 환경설비 또는 주변 기기와 통신을 통하여 모니터링을 하기도 한다.
이러한 확인 방법에서는 인적 자원이 필요함은 물론, 관리에 많은 시간과 경제적 비용이 소모되는 단점이 있고, 다양한 주변 기기를 구비해야 하며, 이러한 주변 기기와의 통신이 가능한 상태를 유지해야 한다.
이에, 주변 기기를 통해 현장의 환경상태를 파악하기 위해 활용되는 대표적인 장치로서, 임베디드 형태인 아두이노(Arduino), 라즈베리 파이(Raspberry Pi) 및 비글본(Beaglebone) 등이 있다.
상기 장치들은 오픈 소스를 지향하는 마이크로 컨트롤러(micro controller)를 내장한 기기 제어용 장치들에 관한 것으로서, 컴퓨터 메인보드의 단순 버전으로 제작되고, 상기 기판에 다양한 센서나 부품 등의 장치를 연결할 수 있는 특징이 있다.
한편, 임베디드 시스템은 전용 컴퓨터나 마이크로프로세서를 구동하여 특정 목적의 작업이나 특정 기능을 수행하도록 설계한 IoT 디바이스와 소프트웨어를 갖는 제어 시스템을 의미한다. 즉, 1개의 임베디드 시스템은 단일 기능을 수행할 수 있는 적어도 1개 이상의 IoT 디바이스와 상기 IoT 디바이스를 구동하는 소프트웨어로 구성된다.
부연하면, 각종 전자 기기, 가전제품 및 제어장치 등 단순히 회로로만 구성된 것이 아니라 마이크로컨트롤러(또는 마이크로프로세서)가 내장되어 있고, 임베디드 시스템은 이 마이크로컨트롤러를 구동하여 특정한 기능을 수행하도록 소프트웨어가 내장되어 있는 시스템을 가리킨다.
이러한 임베디드 시스템에서 마이크로컨트롤러를 구동하여 특정한 기능을 수행하도록 하는 소프트웨어는 IoT 디바이스의 파라미터에 근거하여 프로그램을 작성하고, 작성된 프로그램은 수많은 디버깅 과정을 통해 제작된다.
이를 개선하기 위해 공개특허공보 제10-2002-0032256호에는 통합 임베디드 시스템 및 이의 구현 방법이 개시되어 있다.
상기 기술은 임베디드 시스템을 간단히 구현할 수 있도록 별도의 환경 설정이 불필요한 전용 크로스 컴파일러가 내장된 윈도우즈 통합개발환경으로 프로그램을 편집하고 컴파일한 후 기계어 코드를 타겟 보드에 전송하는 통합 임베디드 시스템을 제공하기 위한 것으로서, 프로그램을 작성하기 위한 사용자 인터페이스; 상기 사용자 인터페이스에 연결되어 있으며, 개발 도구들을 하나의 환경으로 구축하여 프로그램 개발을 용이하게 실현하기 위해 각 개발 도구들을 연동하는 통합개발환경을 구축하는 에디터; 상기 에디터에 연결되어 있으며, 상기 에디터를 통해 프로그램 설계자가 작성한 원시 프로그램을 HEX(또는 BIN) 형태의 기계어로 번역하는 컴파일러; 및 상기 컴파일러에 연결되어 있으며, 목적 프로그램인 HEX(또는 BIN) 파일을 읽어서 내부 버퍼에 저장하고, 통신부를 통하여 상기 타겟 보드에 전송하는 다운로더를 포함하는 것을 특징으로 한다.
또한, 등록특허공보 제10-0683853호에는 소스코드파일을 조사하고, 구성 디렉티브를 찾으며, 디렉티브의 신택스(syntax)를 분석하여, 소스코드로부터 검색된 구성 디렉티브에 상응하는 렉시컬(lexical) 유닛의 트리를 출력하는 소스코드 스캐너, 출력된 구성 디렉티브를 구성 상태로 출력하는 코어, 코어와 사용자 사이에 대화를 제공하고 내부의 구성 상태를 표현하고 사용자가 변수값을 입력하여 현재의 구성상태를 표현하는 GUI, 코어에서 출력된 구성 상태를 렉시컬 유닛의 흐름에 무관한 프로그래밍언어로 출력하는 코드 생성 모듈, 소스코드 스캐너 및 코드 생성 모듈에 해당언어의 문법에 관한 정보를 전달하고, 코드 생성 모듈에서 출력된 렉시컬 유닛의 흐름에 무관한 프로그래밍 언어를 입력받아 소스코드를 출력하는 프로그래밍 언어 모듈을 포함하는 프리 컴파일링 장치가 개시되어 있다.
그러나 상기의 기술들은 IoT 디바이스를 제어하는 임베디드 시스템을 편리하게 제공할 수 있다는 점에서는 긍정적이나, 새로운 기능을 부여하거나 또는 새로운 기능을 수행하고자 하는 경우 IoT 디바이스의 새로운 조합이 요구됨은 물론, 추가적인 IoT 디바이스가 구비되어야 하는 문제점이 있다.
부연하면, 종래의 임베디드 시스템은 특정 기능을 수행하는 임베디드 시스템을 별도의 다른 기능을 수행하는 임베디드 시스템으로 변경할 수 없으며, 새로운 기능을 갖는 임베디드 시스템이 채택되는 경우 그에 대응하는 IoT 디바이스를 추가하여 구성해야 하는 문제점이 발생된다.
이에 더하여, IoT 기기를 제어하는 시스템은 그 자체가 하나의 독립된 시스템으로 구성됨에 따라 별도의 독립된 제어 시스템을 구성하고자 하는 경우에는 그에 상응하는 IoT 디바이스가 구비되어야 하는 문제점이 발생된다.
KR 10-2002-0032256 A(2002. 05. 03.) KR 10-0683853 B1(2007. 02. 09.)
본 발명은 상기 종래기술이 갖는 문제점을 해결하기 위하여 창출된 것으로서, 본 발명에서 해결하고자 하는 과제는, 프로그램의 선택에 따라 이격된 위치의 IoT 디바이스를 연계하여 상기 IoT 디바이스를 제어하거나 상기 IoT 디바이스로부터 정보를 수신하여 가상의 디바이스를 구현할 수 있는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템을 제공하는 데 있다.
또한, IoT 디바이스의 중복 사용에 따른 구축 비용을 감소시킬 수 있고, IoT 디바이스의 조합에 따라 다양한 기능을 수행할 수 있는 가상 디바이스를 제공할 수 있는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템을 제공하는 데 있다.
상기의 과제를 해결하기 위하여 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템은 선택된 프로그램에 따라 IoT 기기를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 기기에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상 디바이스로 임베디드하여 IoT 기능을 수행하는 것을 특징으로 한다.
여기서, 상기 가상 디바이스 시스템은 상기 선택된 프로그램에 따라 가상의 디바이스를 생성하는 가상 디바이스 생성부; 상기 선택된 프로그램에 따라 상기 IoT 기기의 파라미터를 검출하고, 검출된 IoT 기기의 파라미터에 근거하여 상기 선택된 프로그램의 코드를 컴파일링되도록 제어하며, 상기 컴파일링된 목적코드를 상기 가상 디바이스로 전송하는 기능을 수행하는 컴파일링 제어부; 상기 컴파일링 제어부의 제어에 따라 선택된 프로그램의 소스코드를 분석하여 코드 최적화를 통해 목적코드를 생성하는 컴파일러; 및 원격의 IoT 시스템에 구성된 IoT 디바이스를 통해 수행될 수 있는 프로그램이 저장 관리되는 펌웨어 DB를 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 컴파일링 제어부는 상기 IoT 시스템에 구성된 상기 IoT 기기의 종류 및 모델에 대한 정보를 설정하는 디바이스 설정모듈; 상기 IoT 기기에 대한 상세정보가 설정되어 입력되는 디바이스 파라미터 모듈; 상기 디바이스 설정모듈 및 상기 디바이스 파라미터 모듈에 저장된 정보와 상기 선택된 프로그램에 근거하여 상기 선택된 프로그램을 컴파일링되도록 제어하는 컴파일러 제어모듈; 상기 컴파일러 제어모듈의 제어에 따라 생성된 목적코드를 상기 생성된 가상 디바이스로 전송하기 위해 데이터 패킷을 생성하는 임베디드 모듈; 및 상기 가상 디바이스 시스템을 통신망에 접속시키는 통신모듈을 포함하는 것을 특징으로 한다.
또한, 상기 펌웨어 DB에 저장 관리되는 프로그램은 사용 환경에 따라 그룹으로 구분하여 저장 관리되고, 상기 가상 디바이스는 홈 네트워크 시스템, IoT 제어 시스템, 공장 자동화 시스템 또는 사무 자동화 시스템으로 구성되는 것을 특징으로 한다.
본 발명에 의하면, 구성된 IoT 디바이스 뿐만 아니라 네트워크로 연결된 IoT 디바이스를 이용하여 가상의 임베디드 시스템을 제공할 수 있으므로, 광범위한 지역에 대한 사용자 중심의 가상 다바이스 시스템을 구현할 수 있으며, 사용자의 필요에 따라 가상 디바이스 시스템을 가변시킬 수 있는 장점이 있다.
또한, 초기 구성된 IoT 디바이스를 재사용하되 주변의 다른 IoT 디바이스와의 조합에 의해 수행되는 기능을 가변시킬 수 있으므로, IoT 시스템을 구축하는 데 소요되는 비용을 절감할 수 있는 장점이 있다.
아울러, 다양한 IoT 디바이스 조합에 의해 다양한 기능의 IoT 시스템을 제공할 수 있으며, 확장성이 용이한 장점이 있다.
도 1은 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템의 개념도.
도 2는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템의 개략적인 구성도.
도 3은 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 적용된 컴파일링 제어부의 구성도.
도 4는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 적용된 프로그램 DB에 저장 관리되는 그룹별 펌웨어에 대한 일 실시 예의 구성도.
도 5는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에서 일 실시 예에 따른 IoT 시스템의 구성도.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 더욱 상세하게 설명한다.
본 발명은 선택된 프로그램에 따라 IoT 디바이스를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 디바이스에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상의 디바이스로 임베디드하여 IoT 기능을 수행하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 관한 것이다.
도 1은 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템의 개념을 나타낸 도면이다.
본 발명의 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템은 분산된 디바이스 자원을 네트워크를 통해 별도의 가상 시스템에서 사용하거나 제어할 수 있도록 구성된다.
첨부된 도 1에서 보인 바와 같이, 제1 IoT 시스템(201) 및 제2 IoT 시스템(202)에는 각 시스템을 구성하는 IoT 기기(220)가 구성된다.
이때, 가상 디바이스는 제1 IoT 시스템(201) 또는 제2 IoT 시스템(202)의 IoT 기기에 대한 파라미터 정보에 근거하여 새로운 기능을 수행할 수 있는 장치로 구현된다.
예를 들어, 첨부된 도 1에 도시된 바와 같이, 제1 가상 디바이스(301)는 제1 IoT 시스템(201)과 연계된 일부의 IoT 기기 또는 전부의 IoT 기기를 제어하거나 상기 IoT 기기로부터 검출 정보를 수신하여 새로운 기능을 수행하는 디바이스로 구현된다.
또한, 제2 가상 디바이스(302)는 제1 IoT 시스템(201)과 제2 IoT 시스템(202)에 연계된 일부의 IoT 기기 또는 전부의 IoT 기기를 제어하거나 상기 IoT 기기로부터 검출 정보를 수신하여 새로운 기능을 수행하는 디바이스로 구현된다.
부연하면, 가상 디바이스(제1 및 제2 가상 디바이스)는 적어도 하나 이상의 IoT 시스템에 연계된 IoT 기기에 근거하여 새로운 기능을 수행하는 가상의 장치로 구현되게 된다.
이때, 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템(100, 이하 '가상 디바이스 시스템'이라 칭한다)은 상기 IoT 시스템(201, 202)과 상기 가상 디바이스(301, 302) 사이에서 가상 디바이스를 구현하기 위한 프로그램을 컴파일하여 상기 가상 디바이스에 임베디드 시키는 역할을 수행한다.
도 2는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템의 개략적인 구성도를 나타낸 도면이다.
첨부된 도 2를 참조하면, 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템(100)은 가상 디바이스 생성부(110), 컴파일링 제어부(120), 컴파일러(130) 및 프로그램 DB(140)를 포함하여 구성된다. 또한, 원격지에 위치하고 실제적인 디바이스가 포함된 복수 개의 IoT 시스템(201, 202, 203, 204), 상기 가상 디바이스 시스템(100)으로부터 생성된 가상 디바이스(300) 및 상기 가상 디바이스 시스템(100)에 접속하여 요청신호를 입력하는 사용자 단말기(400)가 더 포함되어 구성된다.
여기서, 상기 가상 디바이스 시스템(100)은 선택된 프로그램에 따라 IoT 기기를 조합하고, 상기 조합된 IoT 기기의 파라미터에 근거하여 상기 선택된 프로그램을 컴파일하며, 상기 컴파일에 따라 생성된 목적코드를 상기 생성된 가상 디바이스의 펌웨어로 임베디드하여 상기 선택된 프로그램이 수행되도록 구성된다.
이때, 상기 IoT 시스템(200)은 홈 네트워크 시스템, IoT 제어 시스템, 공장 자동화 시스템 또는 사무 자동화 시스템 등 다양하게 구성될 수 있으며, 복수 개로 구성될 수 있다.
상기 가상 디바이스 생성부(110)는 선택된 프로그램에 따라 가상의 디바이스를 생성한다.
즉, 상기 가상 디바이스 생성부(110)는 사용자의 조작에 따라 선택된 프로그램을 수행할 수 있도록 가상의 공간에 디바이스가 생성되도록 하고 이를 관리한다.
상기 컴파일링 제어부(120)는 상기 선택된 프로그램에 따라 상기 원격지에 있는 IoT 기기의 파라미터를 검출하고, 검출된 IoT 기기의 파라미터에 근거하여 상기 선택된 프로그램의 코드가 컴파일링되도록 제어하며, 상기 컴파일링된 목적코드를 상기 가상 디바이스(300)로 전송하는 기능을 수행한다.
도 3은 본 발명에 따른 IoT 기기의 통합지원을 위한 가상 디바이스 시스템에 적용된 컴파일링 제어부의 구성을 개략적으로 나타낸 도면이다.
첨부된 도 3을 참조하면, 본 발명에 따른 가상 디바이스 시스템(100)에서 컴파일링 제어부(120)는 디바이스 설정모듈(121), 디바이스 파라미터 모듈(122), 컴파일러 제어모듈(123), 임베디드 모듈(124) 및 통신모듈(125)을 포함하여 구성된다.
상기 디바이스 설정모듈(121)은 상기 제1 또는 제2 IoT 시스템(201, 202)에 구성된 IoT 기기(220)의 종류 및 모델에 대한 정보를 설정하는 기능을 수행한다.
여기서, IoT 기기(220)는 단일의 IoT 디바이스, 센서, 모터 및 액추에이터 등으로 구성될 수 있으며, 각각의 IoT 기기에 대한 명칭정보가 설정되어 입력된다.
또한, IoT 기기(220)는 원격지에 위치한 원격 IoT 기기(230)로 구성될 수 있다.
즉, 제1 IoT 시스템(201)에 구성되는 원격 IoT 기기(230)는 제 3의 IoT 시스템에 구성된 IoT 기기로서, 통신망(또는 네트워크)을 통해 공유가 허가된 단일의 IoT 장치, 센서, 모터 및 액추에이터 등으로 구성될 수 있다.
부연하면, 상기 원격 IoT 기기(230)는 통신망을 통해 접근할 수 있도록 공유된 IoT 기기로서 제 3의 위치에 있는 IoT 기기이다.
이에 따라, 통신망을 통해 공유된 IoT 기기(220) 및 원격 IoT 기기(230)를 이용하여 가상의 디바이스에 펌웨어를 임베디드할 수 있으므로, 디바이스 자원의 중복 구성을 방지할 수 있는 장점이 있다.
또한, 원격 IoT 기기를 이용할 수 있으므로 더욱 다양한 펌웨어를 구성할 수 있는 장점이 있다.
예를 들면, 서해의 해상정보를 내륙 지방의 일기정보로 활용할 수 있는 날씨 정보제공 시스템을 구현하거나, A 지역의 질병에 대한 센싱 정보를 B 지역에서 활용할 수 있는 질병 제공 시스템으로 확장할 수 있다.
상기 디바이스 파라미터 모듈(122)에는 IoT 기기(220) 및 원격 IoT 기기(230)에 대한 상세 정보가 설정되어 입력된다. 여기서, 상기 상세정보에는 IoT 기기(또는 원격 IoT 기기)에 적용된 마이크로 컨트롤러(또는 마이크로프로세서)의 칩셋의 종류, 마이크로 컨트롤러의 처리속도, 메모리(ROM)의 종류, 메모리의 크기 및 회로 등이 입력되어 관리된다.
상기 컴파일러 제어모듈(123)은 상기 디바이스 설정모듈(121) 및 상기 디바이스 파라미터 모듈(122)에 저장된 정보에 근거하여 사용자의 요청에 따른 프로그램이 컴파일링되도록 제어한다.
상기 임베디드 모듈(124)은 상기 컴파일러 제어모듈(123)의 제어에 따라 생성된 목적코드를 가상 디바이스(300)로 전송하기 위한 데이터 패킷을 생성한다.
여기서, 데이터 패킷에는 상기 가상 디바이스(300)의 주소, 목적코드 및 기 저장된 목적코드의 삭제 여부 등의 정보가 저장되며, 데이터 패킷의 전송과정 중 데이터의 유출을 방지하기 위한 암·복호화 코드가 추가될 수 있다.
상기 통신모듈(125)은 상기 가상 디바이스 시스템(100)을 통신망에 접속시키는 기능을 수행하는 것으로서, 가상 디바이스(300) 및 사용자 단말기(400)와의 통신이 가능하게 하도록 한다.
상기 컴파일러(130)는 상기 컴파일링 제어부(120)의 제어에 따라 선택된 프로그램의 소스코드를 분석하여 코드 최적화를 통해 목적코드를 생성하는 기능을 수행한다. 상기 컴파일러(130)는 소스 코드를 분석하여 중간 코드를 생성하는 전단부와 상기 전단부에서 생성된 중간 코드를 목적 코드로 생성하는 후단부로 구성될 수 있다. 즉, 상기 전단부는 프로그램의 구성을 분석하고 이를 중간 코드로 변환시키며, 상기 후단부는 상기 변환된 중간 코드를 가상 디바이스(300)의 목적코드로 변환시킨다.
이때, 상기 전단부는 펌웨어의 소스 코드를 읽어들여 문법적으로 의미를 갖는 최소 단위의 토큰(token)을 생성하는 어휘분석모듈, 상기 어휘분석모듈에서 생성된 토큰에 대한 에러를 체크하여 올바른 문장에 대해 구문주조를 생성하는 구문분석모듈 및 상기 구문분석모듈의 구문트리에 대한 의미 검사를 수행하고 그에 해당하는 중간코드를 생성하는 중간코드생성모듈을 포함하여 구성된다.
또한, 상기 후단부에는 상기 중간코드생성모듈에서 생성된 중간코드를 효율적인 코드로 개선시키는 코드최적화모듈이 구성되고, 상기 코드최적화모듈을 통해 최적화된 코드를 가상 디바이스(300)에서 가상 IoT 기기(310)를 제어하거나 또는 검출 정보를 수신하기 위한 목적코드로 변환하는 목적코드생성모듈이 포함된다.
상기 프로그램 DB(140)에는 상기 IoT 시스템(200)에 구성된 IoT 기기(220)와 원격 IoT 기기(230)를 통해 수행될 수 있는 다양한 기능의 프로그램이 저장 관리된다.
상기 프로그램은 롬(ROM)에 저장되는 IoT 기기 및 원격 IoT 기기를 제어할 수 있는 것으로서, 프로그램이라는 관점에서는 소프트웨어와 동일하지만 IoT 기기(또는 원격 IoT 기기)와 밀접한 관계를 가지고 있다는 점에서 응용소프트웨어와 구분되며, 소스 코드로 구성되는 원시프로그램으로 볼 수 있다.
상기 프로그램은 기능에 따라 다양하게 구성될 수 있다. 예를 들어, 전등, 전력, 스마트 홈, 홈 시큐리티 및 헬스케어 등으로 구성될 수 있다.
또한, 상기의 펌웨어는 사용 환경에 따라 그룹으로 구분하여 저장 관리되도록 구성될 수 있다.
도 4는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에서 상기 프로그램 DB에 저장 관리되는 그룹별 프로그램에 대한 일 실시 예의 구성도를 나타낸 도면이다.
도 4를 참조하면, 상기 프로그램은 홈, 사무실, 헬스케어, 공장 및 빌딩 등으로 대별될 수 있다.
이때, 상기 홈에 속하는 프로그램에는 조명등을 제어하는 전등제어, 가전제품의 동작을 제어하는 가전기기 제어 및 안전을 유지하는 보안 제어 등으로 구성될 수 있다.
또한, 사무실에 속하는 프로그램에는 전등 제어, 출입관리 제어, 보안제어 및 환기 제어 등으로 구성될 수 있고, 상기 헬스케어에 속하는 프로그램에는 독거노인 감시 제어, 보안 제어 및 가전기기 제어 등으로 구성될 수 있다. 아울러, 상기 빌딩에 속하는 프로그램에는 출입관리 제어, 전등 제어, 환기 제어 및 출입차량 제어 등으로 구성될 수 있다.
상기의 프로그램은 일 실시 예에 따른 일부를 나타낸 것으로서, 사용자의 요구 또는 IoT 기기와 원격 IoT 기기의 구성에 따라 다양한 기능의 프로그램이 추가될 수 있음은 물론이다.
상기 IoT 시스템(200)은 복수의 IoT 기기(220) 및 원격 IoT 기기(230)와 연계되어 저장된 목적코드의 로직에 따라 상기 IoT 기기 및 원격 IoT 기기(230)를 제어하는 기능을 수행한다.
이때, 상기 IoT 시스템(200)에는 마이크로프로세서(210, 또는 마이크로컨트롤러)가 포함되게 구성되며, 상기 마이크로프로세서(210)는 롬(ROM)에 임베디드된 목적코드에 의해서 상기 구성된 IoT 기기(220) 및 원격 IoT 기기(230)를 제어한다. 이때, 상기 롬(ROM)에는 상기 컴파일링 제어부(120)로부터 전송된 목적 코드가 저장된다.
여기서, 상기 IoT 기기(220) 및 원격 IoT 기기(230)는 센서, 모터(또는 펌프) 및 스위치 등의 마이크로프로세서(210)의 제어에 의해서 동작되거나 정보를 검출할 수 있는 단순기기부터, 자체적으로 독립된 기능을 수행하는 IoT 임베디드 시스템, 온/오프 제어 시스템 등을 포괄하여 구성될 수 있다.
즉, 첨부된 도 2와 같이, IoT 기기(220)들의 조합으로 이루어지는 제1 및 제2 IoT 시스템(201, 202), 하나의 IoT 기기에 의해서 이루어지는 제3 IoT 시스템(203) 및 둘 이상의 조합에 의해 구성되는 제4 IoT 시스템(204) 등 다양하게 구성될 수 있으며, 각각의 IoT 기기는 자체적으로 MCU 등을 구비하여 독립된 기기이거나 또는 단순히 입력된 신호에 의해 검출(또는 동작)을 수행하는 단순 기기로 구성될 수 있다.
이때, 상기 센서는 온도센서, 습도센서, 조도센서, 압력센서, 유량센서, 전류센서, 자기센서, 음향센서, 강우센서 및 액추에이터 등을 포함하여 구성될 수 있다.
예를 들어, 전등 제어를 수행하기 위한 프로그램에 연계된 IoT 기기(또는 IoT 디바이스)는 전등, 조도 센서 및 인체감지 센서 등으로 구성될 수 있으며, 설계조건에 따라서 추가되거나 일부가 생략될 수 있다.
상기 가상 디바이스(300)는 선택된 프로그램에 따라 가상 디바이스 생성부(110)를 통해 생성된 가상 공간에서 구현되는 장치로서, 상기 가상 디바이스(300)에는 상기 선택된 프로그램을 수행하기 위한 조합된 가상 IoT 모듈(310, 320)이 구성된다.
즉, 상기 가상 IoT 모듈(310, 320)은 IoT 기기(220) 또는 원격 IoT 기기(230)를 가상으로 구현한 것으로서, 상기 가상 디바이스(300)에 의해 제어되거나 상기 IoT 기기(220) 또는 원격 IoT 기기(230)에서 검출된 정보를 이용하여 상기 선택된 프로그램을 수행하는 데 사용된다.
이때, 상기 가상 디바이스(300)는 홈 네트워크 시스템, IoT 제어 시스템, 공장 자동화 시스템 또는 사무 자동화 시스템 등으로 구성될 수 있다.
상기 사용자 단말기(400)는 상기 가상 디바이스 시스템(100)에 접속하여 표시되는 프로그램을 선택하고 가상 디바이스(300)를 제어하거나 또는 상기 가상 디바이스(300)의 수행에 따른 결과물을 전송받기 위한 것으로서, 랩탑 컴퓨터(Laptop Computer), 이동 전화기(Mobile Phone), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, PDA(Personal Digital Assistant), EDA(Enterprise Digital Assistant), 디지털 스틸 카메라(Digital Still Camera), 디지털 비디오 카메라(Digital Video Camera), PMP(Portable Multimedia Player), PND(personal Navigation Device 또는 Portable Navigation Device), 휴대용 게임 콘솔(Handheld Game Console), 모바일 인터넷 장치(Mobile Internet Device(MID)) 및 e-북(e-Book) 중에서 하나로 구현될 수 있다.
이때, 상기 사용자 단말기(400)를 통해 상기 가상 디바이스 시스템(100)에 접속하게 되면, 상기 사용자 단말기(400)에는 구현 가능한 프로그램이 표시된다.
상기 표시되는 프로그램의 선택에 따라 상기 가상 디바이스 시스템(100)은 가상 디바이스(300)를 생성하게 된다. 생성된 가상 디바이스(300)는 상기 IoT 시스템(201, 202)으로부터 IoT 기기(220) 또는 원격 IoT 기기(230)의 파라미터를 수신하고, 수신된 파라미터에 근거하여 상기 선택된 프로그램을 컴파일하여 상기 가상 디바이스에 임베디드 시킨다.
도 5는 본 발명에 따른 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에서 일 실시 예에 따른 IoT 시스템의 구성도를 나타낸 도면이다.
첨부된 도면을 참조하면, IoT 시스템에 구성되는 마이크로프로세서(210)는 모델명, 디지털 입출력 핀수, PWM 입출력 핀수, 아날로그 핀수, 플래시 메모리/ SRAM/EEPROM의 용량 및 클럭 속도 등의 스펙이 정해져 있으며, 상기 마이크로프로세서(210)의 핀번호에 대응하여 하드웨어가 연결된다.
이때, 각각의 하드웨어는 예를 들어, 온도센서, 습도세서, CO2센서, 조도센서, 인체감지센서, LED, 스위치 및 무선통신모듈 등으로 구성되고, 각각의 하드웨어에 상기 마이크로프로세서와 연결된 핀번호가 부여된다. 또한, 도면에 도시되지 않았으나 전원입력(+, -)의 핀번호도 부여된다.
상기에서, IoT 시스템(200)은 마이크로프로세서(210)의 구성에 따라 펌웨어가 달리 구성될 수 있으며, 마이크로프로세서(210)의 모델명(종류)에 따라 다양하게 분류될 수 있다.
즉, 하드웨어를 제조하는 과정에서 사용된 마이크로프로세서의 타입에 따라 분류코드를 부여하여 구분되도록 구성될 수 있다. 예를 들어, A 타입의 마이크로프로세서는 A001로 부여하고, B 타입의 마이크로프로세서는 A002로 코드를 부여하여 프로그램 DB(130)에 저장되도록 구성될 수 있다.
또한, 선택된 가상 디바이스(300)는 상기 프로그램 DB(130)에 C001, C002 등의 식별번호로 저장 관리될 수 있다.
상기 일 실시 예의 구성에 따라 IoT 시스템(200)으로 구성될 수 있는 프로그램은 기본적으로 전등제어, 홈 시큐어티 시스템 및 헬스케어 시스템으로 사용자의 요청에 따라 가변될 수 있다.
상기 프로그램에 대한 하드웨어의 구성을 예를 들어 설명한다.
홈 시큐어티에 대한 프로그램은 LED, 인체감지 센서, 스위치 및 온도센서가 활성화되도록 구성될 수 있다. 이때, 홈 시큐어티에 대한 프로그램의 동작은 온도센서의 활성화에 따라 주변온도를 검출하고, 인체감지센서에서 검출된 센싱값에 따라 온도에 대한 오차를 산출하도록 제어한다. 또한, 경계상태에서의 이상신호 검출(온도 및 인체감지센서에서 센싱된 값)에 따라 LED에서 발광되는 색을 달리하여 조명하도록 구성되고, 스위치를 동작하여 경고음을 출력하도록 구성될 수 있다.
헬스케어에 대한 프로그램은 LED, CO2센서, 조도센서, 인체감지센서, 온도센서 및 습도센서가 활성화되도록 구성될 수 있다. 이때, 헬스케어 펌웨어의 구동은 인체감지센서에서 검출된 값에 근거하여 주변 사람의 수를 산출하고, 온도센서, 습도센서 및 CO2센서에서 검출된 값에 근거하여 LED의 색상을 가변시키도록 구성된다. 아울러, 사람의 움직임에 따라 수면으로 판단되는 경우에는 LED의 조명을 디밍제어하도록 구성될 수 있다.
한편, 상기 프로그램 DB(140)에 저장된 프로그램은 사용자의 조작에 따라 일부 기능을 누락시키거나 새로운 기능을 추가하여, 저장된 프로그램의 이름을 가변시키도록 구성되거나 또는 새로운 이름의 프로그램을 추가할 수 있도록 구성될 수 있다.
또는, 사용자의 요구에 새로운 기능의 프로그램이 갱신되도록 구성될 수 있음은 물론이다.
본 발명에 의하면, 구성된 IoT 기기뿐만 아니라 네트워크로 연결된 IoT 기기를 이용하여 가상의 디바이스 시스템을 제공할 수 있으므로, 광범위한 지역에 대한 사용자 중심의 가상 디바이스 시스템을 구현할 수 있고, 사용자의 필요에 따라 IoT 기기를 조합하여 새로운 형태의 가상 디바이스를 구현할 수 있으며, 초기 구성된 IoT 기기를 재사용하되 주변의 다른 IoT 기기와의 조합에 의해 가상의 디바이스를 생성할 수 있는 장점이 있다.
아울러, 다양한 IoT 기기 조합에 의해 다양한 기능의 가상의 임베디드 시스템을 제공할 수 있는 장점이 있다.
이상에서 본 발명의 바람직한 실시 예를 설명하였으나, 본 발명의 권리범위는 이에 한정되지 아니하며 본 발명의 실시 예와 실질적으로 균등한 범위에 있는 것까지 본 발명의 권리범위가 미치는 것으로 이해되어야 하며, 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능하다.
100: 가상 디바이스 시스템 110: 가상 디바이스 생성부
120: 컴파일링 제어부
121: 디바이스 설정모듈 122: 디바이스 파라미터 모듈
123: 컴파일러 제어모듈 124: 임베디드 모듈
125: 통신모듈 130: 컴파일러
140: 펌웨어 DB
201: 제1 IoT 시스템 202: 제2 IoT 시스템
210: 마이크로프로세서 220: IoT 기기
230: 원격 IoT 기기
300: 가상 디바이스 301: 제1 가상 디바이스
302: 제2 가상 디바이스 310, 320: 가상 IoT 모듈
400: 사용자 단말기

Claims (5)

  1. 선택된 프로그램에 따라 IoT 기기를 조합하고, 상기 선택된 프로그램을 상기 조합된 IoT 기기에 근거하여 컴파일하며, 상기 컴파일된 펌웨어를 가상 디바이스로 임베디드하여 IoT 기능을 수행하는 것을 특징으로 하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템에 관한 것으로서,
    상기 가상 디바이스 시스템은,
    상기 선택된 프로그램에 따라 가상의 디바이스를 생성하는 가상 디바이스 생성부;
    상기 선택된 프로그램에 따라 상기 IoT 기기의 파라미터를 검출하고, 검출된 IoT 기기의 파라미터에 근거하여 상기 선택된 프로그램의 코드를 컴파일링되도록 제어하며, 상기 컴파일링된 목적코드를 상기 가상 디바이스로 전송하는 기능을 수행하는 컴파일링 제어부;
    상기 컴파일링 제어부의 제어에 따라 선택된 프로그램의 소스코드를 분석하여 코드 최적화를 통해 목적코드를 생성하는 컴파일러; 및
    원격의 IoT 시스템에 구성된 IoT 디바이스를 통해 수행될 수 있는 프로그램이 저장 관리되는 펌웨어 DB;
    를 포함하여 구성되며,
    상기 컴파일링 제어부는,
    상기 IoT 시스템에 구성된 상기 IoT 기기의 종류 및 모델에 대한 정보를 설정하는 디바이스 설정모듈;
    상기 IoT 기기에 대한 상세정보가 설정되어 입력되는 디바이스 파라미터 모듈;
    상기 디바이스 설정모듈 및 상기 디바이스 파라미터 모듈에 저장된 정보와 상기 선택된 프로그램에 근거하여 상기 선택된 프로그램을 컴파일링되도록 제어하는 컴파일러 제어모듈;
    상기 컴파일러 제어모듈의 제어에 따라 생성된 목적코드를 상기 생성된 가상 디바이스로 전송하기 위해 데이터 패킷을 생성하는 임베디드 모듈; 및
    상기 가상 디바이스 시스템을 통신망에 접속시키는 통신모듈;
    을 포함하며,
    상기 가상 디바이스 시스템은,
    원격지에 위치하고 실제적인 디바이스가 포함된 복수 개의 IoT 시스템;
    상기 가상 디바이스 시스템으로부터 생성되며, 선택된 프로그램에 따라 가상 디바이스 생성부를 통해 생성된 가상 공간에서 구현되는 장치인 가상 디바이스; 및
    상기 가상 디바이스 시스템에 접속하여 요청신호를 입력하는 사용자 단말기;
    가 더 포함되어 구성되며,
    상기 컴파일러는,
    소스 코드를 분석하여 중간 코드를 생성하는 전단부와, 상기 전단부에서 생성된 중간 코드를 목적 코드로 생성하는 후단부로 구성되되, 상기 전단부는 프로그램의 구성을 분석하고 이를 중간 코드로 변환시키고, 상기 후단부는 상기 변환된 중간 코드를 가상 디바이스의 목적 코드로 변환시키며,
    상기 가상 디바이스는,
    상기 선택된 프로그램을 수행하기 위한 조합된 가상 IoT 모듈로 구성되며,
    상기 가상 IoT 모듈은,
    IoT 기기 또는 원격 IoT 기기를 가상으로 구현하되, 상기 가상 디바이스에 의해 제어되거나 상기 IoT 기기 또는 원격 IoT 기기에서 검출된 정보를 이용하여 상기 선택된 프로그램을 수행하는 데 사용되며,
    상기 사용자 단말기는,
    상기 가상 디바이스 시스템에 접속하여 표시되는 프로그램을 선택하고 가상 디바이스를 제어하거나, 상기 가상 디바이스의 수행에 따른 결과물을 전송받으며,
    상기 사용자 단말기를 통해 상기 가상 디바이스 시스템에 접속하는 경우, 상기 사용자 단말기에는 구현 가능한 프로그램이 표시되며,
    상기 표시되는 프로그램의 선택에 따라 상기 가상 디바이스 시스템이 가상 디바이스를 생성하고, 생성된 상기 가상 디바이스는 상기 IoT 시스템으로부터 IoT 기기 또는 원격 IoT 기기의 파라미터를 수신하고, 수신된 상기 파라미터에 근거하여 상기 선택된 프로그램을 컴파일하여 상기 가상 디바이스에 임베디드시키는 것을 특징으로 하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서,
    상기 펌웨어 DB에 저장 관리되는 프로그램은,
    사용 환경에 따라 그룹으로 구분하여 저장 관리되는 것을 특징으로 하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템.
  5. 청구항 1에 있어서,
    상기 가상 디바이스는,
    홈 네트워크 시스템, IoT 제어 시스템, 공장 자동화 시스템 또는 사무 자동화 시스템으로 구성되는 것을 특징으로 하는 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템.
KR1020160116768A 2016-09-09 2016-09-09 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템 KR101833539B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160116768A KR101833539B1 (ko) 2016-09-09 2016-09-09 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160116768A KR101833539B1 (ko) 2016-09-09 2016-09-09 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템

Publications (1)

Publication Number Publication Date
KR101833539B1 true KR101833539B1 (ko) 2018-03-05

Family

ID=61726806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160116768A KR101833539B1 (ko) 2016-09-09 2016-09-09 IoT 기기의 통합 지원을 위한 가상 디바이스 시스템

Country Status (1)

Country Link
KR (1) KR101833539B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022810A (ja) * 1999-07-08 2001-01-26 Fujitsu Ltd 製品情報管理装置および記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022810A (ja) * 1999-07-08 2001-01-26 Fujitsu Ltd 製品情報管理装置および記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최재규. "국내외 ICT DIY 현황 및 의미." 한국통신학회지 (정보와통신) 31.7 (2014): 52-58

Similar Documents

Publication Publication Date Title
CN101228488A (zh) 操作和观测控制设备的方法、相应的操作/观测设备、控制设备及具有这种控制设备的机器、所述方法的应用以及数据存储介质
CN101253478A (zh) 类型推理和类型导向的后期绑定
TWI709088B (zh) 電腦系統、編程方法及非暫態電腦可讀取媒體
US10445072B1 (en) Execution order block for graphical programming
CN108139891A (zh) 针对外部文件的缺失包括建议
CN103116402B (zh) 具有语音控制功能的计算机系统以及语音控制方法
Prehofer et al. From internet of things mashups to model-based development
CN105446725A (zh) 用于模型驱动开发的方法和系统
CN100489777C (zh) 智能平台管理接口韧体架构及其建立方法
CN112395843A (zh) 一种基于php代码的业务处理方法、装置及设备和介质
WO2021031137A1 (zh) 人工智能应用开发系统、计算机设备及存储介质
KR102421274B1 (ko) 음성 제어 시스템
KR101833539B1 (ko) IoT 기기의 통합 지원을 위한 가상 디바이스 시스템
US20230011461A1 (en) Method and system for generating engineering diagrams in an engineering system
CN103077066A (zh) 一种编译时嵌入产品关键信息的方法和系统
CN103049602B (zh) 基于模型驱动工程的将aadl组件转换到接口自动机模型方法
KR101710305B1 (ko) 사용자 중심의 기능 가변식 컴파일링 시스템
CN105493033A (zh) 声明性配置元素
Tadoju et al. Bluetooth remote home automation system using Android application
US20200184070A1 (en) Confidential machine learning with program compartmentalization
US20200103866A1 (en) Engineering System and Method for Planning an Automation System
KR102322685B1 (ko) 조명 제어를 위한 이벤트-룰 기반 조명 제어 시나리오 프로파일을 생성하는 장치 및 그 방법
KR100640173B1 (ko) 상황 인지 기반 가전 제어 시스템
KR20170006958A (ko) 확장 음성 인식 서비스를 제공하는 포터블 디바이스 및 도킹 스테이션
JP6693540B2 (ja) 装置、方法およびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant