KR101810243B1 - System for controlling sensor - Google Patents

System for controlling sensor Download PDF

Info

Publication number
KR101810243B1
KR101810243B1 KR1020110098833A KR20110098833A KR101810243B1 KR 101810243 B1 KR101810243 B1 KR 101810243B1 KR 1020110098833 A KR1020110098833 A KR 1020110098833A KR 20110098833 A KR20110098833 A KR 20110098833A KR 101810243 B1 KR101810243 B1 KR 101810243B1
Authority
KR
South Korea
Prior art keywords
control
control process
server
unit
processing
Prior art date
Application number
KR1020110098833A
Other languages
Korean (ko)
Other versions
KR20130034775A (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 KR1020110098833A priority Critical patent/KR101810243B1/en
Publication of KR20130034775A publication Critical patent/KR20130034775A/en
Application granted granted Critical
Publication of KR101810243B1 publication Critical patent/KR101810243B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/007Details of data content structure of message packets; data protocols
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • G08C19/02Electric signal transmission systems in which the signal transmitted is magnitude of current or voltage

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Telephonic Communication Services (AREA)

Abstract

센서 제어 시스템은 하나 이상의 명령어로 구성되는 제어 프로세스를 생성하는 서버, 그리고 서버로부터 제어 프로세스 정보를 포함하는 제어 메시지를 수신하고, 제어 메시지를 이용하여 제어 프로세스를 처리하며, 제어 프로세스에 대한 처리 결과를 서버로 전송하는 센서 노드를 포함한다. 여기서, 센서 노드는 하나 이상의 물리량을 감지하여 센싱값을 검출하는 센싱부, 그리고 제어 프로세스에 따라 센싱부를 제어하며, 센싱부로부터 수신되는 센싱값을 이용하여 제어 프로세스에 대한 처리 결과를 생성하는 제어부를 포함한다.A sensor control system includes a server for generating a control process consisting of one or more commands and a control message including control process information from the server, processing the control process using the control message, And a sensor node to transmit to the server. Here, the sensor node includes a sensing unit sensing at least one physical quantity to detect a sensing value, a control unit controlling the sensing unit according to the control process, and generating a processing result for the control process using the sensing value received from the sensing unit .

Description

센서 제어 시스템{SYSTEM FOR CONTROLLING SENSOR}[0001] SYSTEM CONTROLLING SENSOR [0002]

본 발명은 센서 제어 시스템에 관한 것이다. 보다 상세하게, 본 발명은 센서 노드를 통해 제어 프로세스를 처리하기 위한 센서 제어 시스템에 관한 것이다.The present invention relates to a sensor control system. More particularly, the present invention relates to a sensor control system for processing a control process via a sensor node.

에이엠아이(Advance Metering Infrastructure, AMI) 시스템은 유무선 통신을 이용하여 원격에서 에너지 사용량의 실시간 검침과 양방향 정보 교환을 통한 효율적인 에너지 사용량 관리를 지원한다. 그리고, 다양한 센서들을 활용한 부가 서비스 분야에서도 이 AMI 시스템이 기반 환경으로 활용 가능하다.Advance Metering Infrastructure (AMI) system supports efficient energy usage management through real-time meter reading and two-way information exchange of remote energy usage using wired / wireless communication. In addition, this AMI system can be used as an infrastructure in the field of supplementary services using various sensors.

예를 들어, AMI 시스템의 각종 감지 센서를 이용해 댁내 침입과 화재를 감지하고, 경찰서와 연계하여 방범 및 방재 서비스를 수행할 수 있다.For example, it can detect intrusion and fire by using various sensors of AMI system, and can perform crime prevention and disaster prevention service in connection with police station.

이때, AMI 인프라를 기반으로 독거노인 안전 확인 서비스를 구축하기 위해서는 동작감지 또는 외출감지 센서 등과 같은 센서들을 댁내에 설치하여 독거노인의 안전에 관련된 데이터를 센싱해야 한다.At this time, in order to construct the security check service for the elderly based on the AMI infrastructure, sensors such as motion detection or outgoing sensor should be installed in the home to sense data related to the safety of the elderly living alone.

그러나, 관리 대상이 되는 독거노인의 수가 대규모이며, 지역적으로 넓은 지역에 분포되어 있기 때문에, 설치된 센서 노드들을 관리하는데 많은 인력 및 비용이 발생한다.However, since the number of the elderly people to be managed is large and distributed locally, there is a lot of manpower and cost to manage installed sensor nodes.

종래에는 도 1과 같이 디지털 장치를 중심으로 복수 개의 센서 노드들 즉, 동작 감지 센서, 화재 감지 센서, 가스 감지 센서, 무선 외출 버튼 등을 연결하고, 서버에서 디지털 장치를 통해 센서 노드 제어를 수행한다. 여기서, 디지털 장치는 연결된 센서 노드들의 각기 다른 제어 방식을 처리해야 하기 때문에 일부 국한된 목적으로만 사용된다.Conventionally, as shown in FIG. 1, a plurality of sensor nodes such as a motion detection sensor, a fire detection sensor, a gas detection sensor, a wireless outgoing button, and the like are connected to a digital device, and a server performs control of the sensor node through a digital device . Here, the digital device is used only for some limited purposes because it has to handle different control methods of the connected sensor nodes.

또한, 디지털 장치가 각각 센서마다 각기 다른 다양한 제어 기능을 통합하기 어렵기 때문에, 센서 노드에 대한 온/오프 제어 또는 센싱 주기 변경 등과 같은 단순한 제어만을 제공한다.In addition, since the digital device is difficult to integrate various control functions for each sensor, it provides only simple control such as on / off control or sensing period change for the sensor node.

또한, 센서 노드에 대한 기능 추가, 삭제, 인터페이스 변경 등과 같은 제어 기능을 변경하기 위해서는 디지털 장치 및 서버도 함께 변경되어야 하기 때문에, 센서 노드를 설치한 이후에 센서 제어 기능 변경이 어렵다는 문제가 있다.In addition, since the digital device and the server must be changed in order to change the control functions such as addition, deletion, and interface change of the sensor node, there is a problem that it is difficult to change the sensor control function after the sensor node is installed.

또한, 특정 목적으로 센서의 종류와 수량을 결정한 후, 디지털 장치에 센서 노드들을 연결하는 방식이기 때문에, 다른 분야에 적용 시 센서 종류 변경으로 인해 제어 기능 개발이 새롭게 수행되어야 하므로 범용성이 낮은 문제가 있다. 이때, 낮은 범용성 문제는 다양한 센서 기능들 개발이 요구되어 비용 및 시간적 측면에서 손실이 발생하며, 개발된 센서 제어 기능들의 다양성에 의해서 관리 및 운영이 어려운 문제점이 있다.In addition, since the sensor nodes are connected to the digital device after determining the type and quantity of the sensor for a specific purpose, there is a problem that the universality is low due to the development of the control function due to the change of the sensor type when applied to other fields . In this case, the problem of low versatility requires development of various sensor functions, resulting in loss in terms of cost and time, and it is difficult to manage and operate due to the diversity of developed sensor control functions.

본 발명에서 해결하고자 하는 과제는 사용자에 의해 정의되는 제어 프로세스를 센서 노드를 통해 처리할 수 있는 센서 제어 시스템을 제공하는 것이다.A problem to be solved by the present invention is to provide a sensor control system capable of processing a control process defined by a user through a sensor node.

본 발명의 특징에 따른 센서 제어 시스템은 서버 및 센서 노드를 포함한다. 서버는 하나 이상의 명령어로 구성되는 제어 프로세스를 생성한다. 센서 노드는 서버로부터 제어 프로세스 정보를 포함하는 제어 메시지를 수신하고, 제어 메시지를 이용하여 제어 프로세스를 처리하며, 제어 프로세스에 대한 처리 결과를 서버로 전송한다. 여기서, 센서 노드는 하나 이상의 물리량을 감지하여 센싱값을 검출하는 센싱부, 그리고 제어 프로세스에 따라 센싱부를 제어하며, 센싱부로부터 수신되는 센싱값을 이용하여 제어 프로세스에 대한 처리 결과를 생성하는 제어부를 포함한다.A sensor control system according to an aspect of the present invention includes a server and a sensor node. The server creates a control process consisting of one or more instructions. The sensor node receives the control message including the control process information from the server, processes the control process using the control message, and transmits the process result to the server. Here, the sensor node includes a sensing unit sensing at least one physical quantity to detect a sensing value, a control unit controlling the sensing unit according to the control process, and generating a processing result for the control process using the sensing value received from the sensing unit .

여기서, 제어부는 제어 프로세스 정보를 이용하여 제어 프로세스를 처리하기 위한 프로세스 인스턴스를 생성하는 프로세스 생성부, 그리고 프로세스 인스턴스에 따라 제어 프로세스를 구성하는 각 명령어를 수행하여 제어 프로세스를 처리하는 프로세스 처리부를 포함한다.Here, the control unit includes a process generation unit for generating a process instance for processing the control process using the control process information, and a process processing unit for executing the control process by executing each instruction constituting the control process according to the process instance .

이때, 프로세스 처리부는 제어 프로세스를 구성하는 각 명령어에 대응되는 핸들러를 이용하여 제어 프로세스를 처리한다.At this time, the process processing unit processes the control process using a handler corresponding to each command constituting the control process.

또한, 제어부는 프로세스 인스턴스를 저장하는 프로세스 큐를 더 포함하고, 프로세스 처리부는 프로세스 큐에 저장된 복수 개의 프로세스 인스턴스들을 입력된 순서에 따라 순차적으로 처리한다.Further, the control unit may further include a process queue for storing the process instance, and the process processing unit sequentially processes the plurality of process instances stored in the process queue according to the input order.

또한, 프로세스 처리부는 핸들러로부터 수신되는 스케줄링 신호에 따라 제어 프로세스에 대한 상태를 판단하며, 제어 프로세스에 대한 상태에 따라 제어 프로세스를 제어한다.In addition, the process processor determines the state of the control process according to the scheduling signal received from the handler, and controls the control process according to the state of the control process.

이때, 프로세스 생성부는 제어 프로세스를 구성하는 각 명령어에 대한 명령어 처리 정보를 포함하는 프로세스 인스턴스를 생성한다.At this time, the process generator generates a process instance including instruction processing information for each instruction constituting the control process.

또한, 명령어 처리 정보는 제어 프로세스를 구성하는 각 명령어에 대한 핸들러 정보, 속성값, 및 실행순서를 포함한다.In addition, the command processing information includes handler information, attribute values, and execution order for each command constituting the control process.

또한, 프로세스 처리부는 핸들러 정보에 대응되는 핸들러를 실행순서에 따라 호출하여 제어 프로세스를 구성하는 각 명령어를 수행한다.In addition, the process processor calls the handler corresponding to the handler information according to the execution order to execute each command constituting the control process.

이때, 제어부는 서버로부터 제어 메시지를 수신하고, 처리 결과를 서버로 전송하며, 제어 프로세스에 대한 처리 중에 발생하는 에러 메시지를 서버로 전송하는 메시지 처리부를 더 포함한다.The control unit may further include a message processing unit for receiving the control message from the server, transmitting the processing result to the server, and transmitting the error message generated during the processing for the control process to the server.

본 발명의 특징에 따르면, 각 센서 노드가 하나 이상의 명령어로 구성되는 제어 프로세스를 처리함으로써 명령어 조합에 의해 다양한 기능을 수행할 수 있는 효과가 있다.According to an aspect of the present invention, each sensor node processes a control process composed of one or more commands, so that various functions can be performed by a combination of commands.

도 1은 종래의 센서 네트워크를 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 센서 제어 시스템의 구성을 도시한 도면이다.
도 3은 본 발명의 실시 에에 따른 센서 노드의 구성을 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 제어부의 구성을 도시한 도면이다.
도 5는 본 발명의 실시 예에 따른 프로세스 인스턴스의 구조를 도시한 도면이다.
도 6은 본 발명의 실시 예에 따른 프로세스 처리 방법을 도시한 도면이다.
도 7은 본 발명의 실시 예에 따른 프로세스 상태 전이도를 도시한 도면이다.
도 8은 본 발명의 실시 예에 따른 프로세스 스케줄링 방법을 도시한 도면이다.
도 9는 본 발명의 실시 예에 따른 메시지 처리부의 구성을 도시한 도면이다.
도 10은 본 발명의 실시 예에 따른 센서 노드간 메시지 전송을 도시한 도면이다.
도 11은 본 발명의 실시 예에 따른 최상위 설정 파일 수정 방법을 도시한 도면이다.
도 12는 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 구성을 도시한 도면이다.
도 13은 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 모니터링 시스템 화면을 도시한 도면이다.
도 14는 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 센서 설정 화면을 도시한 도면이다.
1 is a diagram showing a conventional sensor network.
2 is a diagram showing a configuration of a sensor control system according to an embodiment of the present invention.
3 is a diagram showing a configuration of a sensor node according to an embodiment of the present invention.
4 is a diagram illustrating the configuration of a control unit according to an embodiment of the present invention.
5 is a diagram illustrating the structure of a process instance according to an embodiment of the present invention.
6 is a diagram illustrating a process processing method according to an embodiment of the present invention.
Figure 7 is a diagram showing the process state transition diagram according to an embodiment of the present invention.
8 is a diagram illustrating a process scheduling method according to an embodiment of the present invention.
9 is a diagram illustrating the configuration of a message processing unit according to an embodiment of the present invention.
10 is a diagram illustrating message transmission between sensor nodes according to an embodiment of the present invention.
11 is a diagram illustrating a top-level configuration file modification method according to an embodiment of the present invention.
FIG. 12 is a diagram illustrating a configuration of a single elderly person safety confirmation system according to an embodiment of the present invention.
FIG. 13 is a view showing a screen of a monitoring system of the single elderly person safety confirmation system according to the embodiment of the present invention.
FIG. 14 is a view showing a sensor setting screen of the single elderly person safety confirmation system according to the embodiment of the present invention.

본 발명을 첨부된 도면을 참고하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 고지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 해당 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will now be described in detail with reference to the accompanying drawings. Hereinafter, the repeated description, the notification function which may unnecessarily blur the gist of the present invention, and the detailed description of the configuration will be omitted. The embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.

이하에서는 도면을 참고하여 본 발명의 실시 예에 따른 센서 제어 시스템에 대해 설명한다.Hereinafter, a sensor control system according to an embodiment of the present invention will be described with reference to the drawings.

먼저, 도 2를 참고하여 본 발명의 실시 에에 따른 센서 제어 시스템의 구성에 대해 설명한다.First, the configuration of the sensor control system according to the embodiment of the present invention will be described with reference to FIG.

도 2는 본 발명의 실시 예에 따른 센서 제어 시스템의 구성을 도시한 도면이다.2 is a diagram showing a configuration of a sensor control system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 센서 제어 시스템(100)은 서버(110), 싱크 노드(120), 및 하나 이상의 센서 노드(130)를 포함하여 구성된다.As shown in FIG. 2, the sensor control system 100 comprises a server 110, a sink node 120, and one or more sensor nodes 130.

서버(110)는 센서 노드(130)의 수행 결과를 가공하여 사용자에게 전달하며, 센서 노드(130)를 제어할 수 있는 인터페이스를 사용자에게 제공한다.The server 110 processes the result of the sensor node 130 and transmits the processed result to the user, and provides the user with an interface for controlling the sensor node 130.

여기서, 서버(110)는 사용자로부터 입력되는 다수의 명령어(Command)를 조합하여 텍스트 형식의 제어 프로세스를 생성하고, 생성된 제어 프로세스를 센서 노드(130)로 전송할 수 있다. 이때, 명령어는 최소 작업 단위에 해당하며, 서버(110)에서는 표 1에 기재된 명령어들을 지원할 수 있다.Here, the server 110 may combine a plurality of commands input from a user to generate a control process in a text format, and may transmit the generated control process to the sensor node 130. At this time, the command corresponds to the minimum unit of work, and the server 110 can support the commands shown in Table 1. [

Figure 112011076125119-pat00001
Figure 112011076125119-pat00001

표 1에서, "Sensing" 명령어는 센싱과 관련된 기능을 제공하고, "Send", "If", "Period", 및 "Delete Process" 명령어는 태스크(task)와 관련된 기능을 제공하고, "Info" 명령어는 센서 상태 모니터링과 관련된 기능을 제공하며, "Actuate", "Sleep", 및 "Reboot" 명령어는 센서 제어와 관련된 기능을 제공한다."Send", "If", "Period", and "Delete Process" commands provide functions related to tasks, and "Info" The commands provide functions related to sensor status monitoring, and the "Actuate", "Sleep", and "Reboot" commands provide functions related to sensor control.

이때, 서버(110)는 "Info" 명령어를 통해 센서 노드(130)의 상태 정보를 획득할 수 있으며, 표 2에 기재된 "Info" 명령어의 속성값을 통해 센서 노드(130)의 상태 정보를 획득할 수 있다.At this time, the server 110 can acquire the state information of the sensor node 130 through the "Info" command and obtain the state information of the sensor node 130 through the attribute value of the "Info" can do.

Figure 112011076125119-pat00002
Figure 112011076125119-pat00002

또한, 서버(110)는 "Sensing" 명령어를 통해 센서 노드(130)의 센서 종류를 변경할 수 있으며, 표 3에 기재된 "Sensing" 명령어의 속성값을 통해 센서 노드(130)의 기능을 변경할 수 있다.In addition, the server 110 can change the sensor type of the sensor node 130 through the "Sensing" command and change the function of the sensor node 130 through the attribute value of the "Sensing & .

Figure 112011076125119-pat00003
Figure 112011076125119-pat00003

또한, 서버(110)는 "Actuate" 명령어를 통해 센서 노드(130)의 동작을 제어할 수 있으며, 표 4에 기재된 "Actuate" 명령어의 속성값을 통해 센서 노드(130)의 동작을 제어할 수 있다.In addition, the server 110 can control the operation of the sensor node 130 through the " Actuate "command and the operation of the sensor node 130 through the attribute value of the" Actuate & have.

Figure 112011076125119-pat00004
Figure 112011076125119-pat00004

서버(110)는 표 1 내지 표 4에 기재된 명령어 또는 속성값을 이용하여 제어 프로세스를 생성할 수 있다.The server 110 may generate the control process using the command or attribute values described in Tables 1 to 4.

예를 들어, 서버(110)는 400 밀리세컨드(ms)마다 반복적으로 습도를 센싱하여 전송할 것을 지시하기 위해서 "Period", "Sensing", 및 "Send" 명령어를 이용하여 "Period(400, 1) -> Sensing(Humidity, 'A') -> Send()"와 같은 제어 프로세스를 생성하고, 생성된 제어 프로세스를 센서 노드(130)로 전송할 수 있다.For example, the server 110 may use the " Period ", "Sensing ", and" Send "commands to instruct it to repeatedly sense the humidity every 400 milliseconds (ms) -> Sensing (Humidity, 'A') -> Send () ", and transmit the generated control process to the sensor node 130.

또한, 서버(110)는 원격지에 있는 머신의 기동 여부를 확인하기 위해서 "Info" 및 "Send" 명령어를 이용하여 "Info(LOCAL_ADDRESS, X) -> Send()"와 같은 제어 프로세스를 생성하고, 생성된 제어 프로세스를 센서 노드(130)로 전송할 수 있다.In addition, the server 110 generates a control process such as " Info (LOCAL_ADDRESS, X) -> Send () " using the "Info" And send the generated control process to the sensor node 130.

또한, 서버(110)는 센서 노드(130)의 전압이 1.0 볼트(V) 이하이면 센서 노드(130)를 대기 상태로 진입시키기 위해서 "Sensing", "If", 및 "Sleep" 명령어를 이용하여 "Sensing(Voltage, Y) -> If(Y, <, 1.0) -> Sleep()"과 같은 제어 프로세스를 생성하고, 생성된 제어 프로세스를 센서 노드(130)로 전송할 수 있다.If the voltage of the sensor node 130 is 1.0 volts or less, the server 110 uses the "Sensing", "If", and "Sleep" commands to enter the sensor node 130 into the standby state (Y, <, 1.0) - > Sleep () &quot;, and transmit the generated control process to the sensor node 130. [

이와 같이, 명령어를 조합하여 제어 프로세스를 구성하는 방식은 사용자가 다양한 작업을 수행할 수 있기 때문에 매우 유용한 형태이며, 작업에 대한 표현력이 우수하여 사용자의 다양한 작업 지시를 수용할 수 있다.In this manner, a method of configuring a control process by combining commands is a very useful form because a user can perform various tasks, and can express various work instructions of the user because of excellent expressiveness of work.

싱크 노드(120)는 서버(110)와 센서 노드(130)를 중계한다. 여기서, 싱크 노드(120)는 서버(110)로부터 수신되는 제어 프로세스를 센서 노드(130)로 전송하며, 센서 노드(130)로부터 수신되는 처리 결과를 서버(110)로 전송한다.The sink node 120 relays the server 110 and the sensor node 130. The sink node 120 transmits the control process received from the server 110 to the sensor node 130 and transmits the processing result received from the sensor node 130 to the server 110.

센서 노드(130)는 싱크 노드(120)를 통해 수신되는 제어 프로세스를 처리하며, 처리 결과를 싱크 노드(120)를 통해 서버(110)로 전송한다.The sensor node 130 processes the control process received through the sink node 120 and transmits the processing result to the server 110 through the sink node 120.

여기서, 센서 노드(130)는 센서 노드용 운영 체제를 기반으로 하며, 센서 노드용 운영 체제 상에서 제어 프로세스를 구현할 수 있다. 이때, 센서 노드(130)는 "TinyOS"를 기반으로 할 수 있다.Here, the sensor node 130 is based on the operating system for the sensor node, and can implement the control process on the operating system for the sensor node. At this time, the sensor node 130 may be based on "TinyOS ".

또한, 센서 노드(130)는 초기 설정 코드에 따라 동작할 수 있으며, 서버(110)로부터 수신되는 제어 프로세스를 처리할 수도 있다.In addition, the sensor node 130 may operate according to the initial setting code, and may process the control process received from the server 110. [

다음은, 도 3을 참고하여 본 발명의 실시 예에 따른 센서 노드에 대해 설명한다.Next, a sensor node according to an embodiment of the present invention will be described with reference to FIG.

도 3은 본 발명의 실시 에에 따른 센서 노드의 구성을 도시한 도면이다.3 is a diagram showing a configuration of a sensor node according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 센서 노드(130)는 제어부(131) 및 하나 이상의 센싱부(132)를 포함하여 구성된다.As shown in FIG. 3, the sensor node 130 includes a controller 131 and one or more sensing units 132.

제어부(131)는 센싱부(132)에 대한 동작을 제어하여 센싱부(132)로부터 센싱값을 수집하고, 수집된 센싱값을 이용하여 처리 결과를 생성하며, 생성된 처리 결과를 서버(110)로 전송한다.The controller 131 controls the operation of the sensing unit 132 to collect sensing values from the sensing unit 132, generate processing results using the sensed values, and transmit the generated processing results to the server 110. [ Lt; / RTI &gt;

여기서, 제어부(131)는 서버(110)로부터 제어 메시지가 수신되면 제어 메시지에 포함된 제어 프로세스 정보에 대응되는 프로세스를 생성하고, 생성된 프로세스를 수행하여 처리 결과를 서버(110)로 전송할 수 있다.Here, when a control message is received from the server 110, the control unit 131 may generate a process corresponding to the control process information included in the control message, perform the generated process, and transmit the process result to the server 110 .

센싱부(132)는 하나 이상의 물리량을 감지하는 장치이며, 제어부(131)의 제어에 따라 특정 물리량에 대한 센싱값을 검출하고, 검출된 센싱값을 제어부(131)에게 제공한다. 이때, 센싱부(132)는 온도, 조도, 전압, 습도, 적외선 등의 물리량을 감지할 수 있다.The sensing unit 132 is a device for sensing one or more physical quantities. The sensing unit 132 detects a sensing value for a specific physical quantity under the control of the control unit 131, and provides the sensed sensing value to the control unit 131. At this time, the sensing unit 132 can sense physical quantities such as temperature, illuminance, voltage, humidity, and infrared rays.

이때, 센서 노드(130)는 엘이디 조명, 스피커(미도시) 등을 더 포함할 수 있다.At this time, the sensor node 130 may further include an LED illumination, a speaker (not shown), and the like.

다음은, 도 4를 참고하여 본 발명의 실시 예에 따른 센서 노드의 제어부에 대해 설명한다.Next, the controller of the sensor node according to the embodiment of the present invention will be described with reference to FIG.

도 4는 본 발명의 실시 예에 따른 제어부의 구성을 도시한 도면이다.4 is a diagram illustrating the configuration of a control unit according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 제어부(131)는 메시지 처리부(131a), 프로세스 생성부(131b), 프로세스 큐(131c), 프로세스 처리부(131d), 핸들러 저장부(131e), 및 메시지 라우팅부(131f)를 포함하여 구성된다.4, the control unit 131 includes a message processing unit 131a, a process generation unit 131b, a process queue 131c, a process processing unit 131d, a handler storage unit 131e, and a message routing unit 131f.

메시지 처리부(131a)는 송수신 메시지를 처리한다.The message processing unit 131a processes the transmission / reception message.

여기서, 메시지 처리부(131a)는 서버(110)로부터 수신되는 제어 메시지에 대한 디코딩을 수행하며, 제어 메시지에 대응되는 프로세스의 처리 결과에 대한 인코딩을 수행하고, 프로세스 수행 중 발생하는 에러 메시지에 대한 인코딩을 수행할 수 있다. 이때, 메시지 처리부(131a)는 텍스트 기반의 메시지 처리를 수행할 수 있다.Here, the message processor 131a decodes the control message received from the server 110, encodes the processing result of the process corresponding to the control message, and encodes the error message generated during the process Can be performed. At this time, the message processing unit 131a can perform text-based message processing.

프로세스 생성부(131b)는 특정 동작이나 기능의 수행을 명령하는 제어 메시지에 대응되는 프로세스를 처리하기 위한 프로세스 인스턴스를 생성한다.The process generation unit 131b generates a process instance for processing a process corresponding to a control message instructing execution of a specific operation or a function.

여기서, 프로세스 생성부(131b)는 제어 메시지에 포함된 각각의 명령어에 대응되는 명령어 처리 정보를 생성하여 복수 개의 명령어들 각각에 대한 명령어 처리 정보를 포함하는 명령어 리스트(Command List)를 생성할 수 있다. 이때, 특정 명령어에 대응되는 명령어 처리 정보는 해당 명령어에 대한 핸들러 정보, 속성값, 및 실행순서를 포함할 수 있으며, 해당 명령어에 대한 실행순서는 인덱스로 표시할 수 있다.Here, the process generation unit 131b may generate command processing information corresponding to each command included in the control message and generate a command list including command processing information for each of a plurality of commands . At this time, the command processing information corresponding to a specific command may include handler information, an attribute value, and an execution order for the command, and the execution order for the command may be indicated by an index.

또한, 프로세스 생성부(131b)는 생성된 프로세스 인스턴스를 프로세스 큐(131c)에 삽입할 수 있다.In addition, the process generation unit 131b may insert the created process instance into the process queue 131c.

프로세스 큐(131c)는 프로세스 생성부(131b)를 통해 생성되는 프로세스 인스턴스를 저장하며, 저장된 프로세스 인스턴스를 프로세스 처리부(131d)로 전달한다.The process queue 131c stores a process instance generated through the process generation unit 131b and transfers the stored process instance to the process processing unit 131d.

여기서, 프로세스 큐(131c)는 선입 선출(First In First Out, 이하에서는 'FIFO'라고도 함) 방식에 따라 프로세스 인스턴스를 프로세스 처리부(131d)로 전달할 수 있다.Here, the process queue 131c may transmit the process instance to the process processor 131d according to a first-in first-out (FIFO) method.

프로세스 처리부(131d)는 프로세스 큐(131c)로부터 전달된 프로세스 인스턴스에 따라 센싱부(132)를 제어하여 제어 메시지에 대응되는 프로세스를 수행하며, 센싱부(132)로부터 수집되는 센싱값을 이용하여 해당 프로세스에 대한 처리 결과를 생성한다.The process processing unit 131d controls the sensing unit 132 according to the process instance transmitted from the process queue 131c to perform a process corresponding to the control message, And generates a processing result for the process.

여기서, 프로세스 처리부(131d)는 프로세스 인스턴스를 이용하여 제어 메시지에 포함된 각각의 명령어를 수행하는 핸들러를 호출할 수 있다. 즉, 프로세스 처리부(131d)는 특정 명령어를 수행하기 위해서 해당 명령어에 대응되는 명령어 처리 정보에 포함된 핸들러 정보를 이용하여 해당 명령어를 수행하는 핸들러를 호출한다.Here, the process processor 131d may use the process instance to call a handler that executes each command included in the control message. That is, in order to execute a specific instruction, the process processor 131d calls a handler that executes the instruction using the handler information included in the instruction processing information corresponding to the instruction.

또한, 프로세스 처리부(131d)는 프로세스 큐(131c)에 저장된 복수 개의 프로세스 인스턴스들에 대한 스케줄링을 수행한다. 이때, 프로세스 처리부(131d)는 처리 중인 프로세스 인스턴스에 대한 상태를 결정하고, 결정된 상태에 따라 해당 프로세스 인스턴스에 스케줄링을 수행할 수 있다.In addition, the process processor 131d performs scheduling for a plurality of process instances stored in the process queue 131c. At this time, the process processor 131d may determine the status of the process instance being processed and may schedule the process instance according to the determined status.

핸들러 저장부(131e)는 센서 노드(130)에서 지원하는 명령어를 수행하는 핸들러를 저장한다. 여기서, 핸들러 저장부(131e)는 복수 개의 명령어들에 대응되는 복수 개의 핸들러들을 저장할 수 있다.The handler storage unit 131e stores a handler for executing a command supported by the sensor node 130. [ Here, the handler storage unit 131e may store a plurality of handlers corresponding to a plurality of commands.

메시지 라우팅부(131f)는 센서 노드들간의 메시지 전달을 수행한다.The message routing unit 131f performs message delivery between the sensor nodes.

다음은, 도 5를 참고하여 본 발명의 실시 예에 따른 프로세스 인스턴스에 대해 설명한다.Next, a process instance according to an embodiment of the present invention will be described with reference to FIG.

도 5는 본 발명의 실시 예에 따른 프로세스 인스턴스의 구조를 도시한 도면이다.5 is a diagram illustrating the structure of a process instance according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 프로세스 생성부(131b)는 사용자의 요청 메시지를 처리할 수 있도록 제어 프로세스 초기화 작업을 수행한다. 이 초기화 작업은 제어 프로세스를 구성하는 커맨더들의 커맨드 핸들러들을 초기화 하는 작업과 제어 프로세스 자체에 대한 초기화 작업으로 이루어진다. 프로세스 생성부(131b)에 의해서 초기화된 태스크는 프로세스 처리부(131d)에 전달되어 처리가 이루어지게 된다.As shown in FIG. 5, the process generation unit 131b performs a control process initialization operation so as to process a user's request message. This initialization operation consists of initializing the command handlers of the commanders constituting the control process and initializing the control process itself. The task initialized by the process generation unit 131b is delivered to the process processing unit 131d for processing.

프로세스 생성부(131b)는 원격지의 사용자로부터 전달받은 제어 프로세스 처리를 위해서 제어 프로세스를 구성하는 각 커맨드들의 생성자(construct)들을 호출하여 각 커맨드들을 초기화 시킨다. 이 작업을 통해서 초기화된 커맨드들의 커맨드 핸들러들은 실행 순서에 따라서 리스트로 작성된다.The process generation unit 131b calls the constructs of the respective commands constituting the control process to initialize the respective commands for the control process process received from the user at the remote site. The command handlers of the commands initialized through this operation are listed according to the execution order.

그리고 프로세스 생성부(131b)는 제어 프로세스에 관련된 속성들을 설정한다. 초기화된 제어 프로세스는 명령어 리스트(Command List)로 구성된다.The process generation unit 131b sets the attributes related to the control process. The initialized control process consists of a command list (Command List).

프로세스 생성부(131b)에 의해 초기화된 제어 프로세스의 프로세스 인스턴스(200)는 프로세스 구조체(210) 및 하나 이상의 커맨드 구조체(220)로 구성된다.The process instance 200 of the control process initiated by the process generator 131b is comprised of a process structure 210 and one or more command structures 220.

여기서, 프로세스 구조체(210)의 내부 속성값은 표 5와 같다.Herein, the internal attribute values of the process structure 210 are shown in Table 5.

Figure 112011076125119-pat00005
Figure 112011076125119-pat00005

커맨드 구조체(220)는 특정 기능을 수행하는 모듈로써 생성자, 핸들러, 그리고 소멸자를 기본 구성으로 한다. 제어 프로세스 초기화시 구성되는 커맨드들의 초기화 작업을 수행을 위하여 프로세스 생성부(131b)에 의해서 해당 커맨드 생성자가 호출되고, 커맨드 핸들러는 커맨드의 특정 기능을 수행한다. 그리고 커맨드 소멸자는 해당 커맨드의 종료 작업 수행을 위하여 프로세스 처리부(131d)에 의해서 호출된다.The command structure 220 is a module that performs a specific function, and has a basic structure of a constructor, a handler, and a destructor. The command generator is called by the process generator 131b to perform the initialization of the commands configured at the time of initializing the control process, and the command handler performs a specific function of the command. The command destructor is called by the process processor 131d to perform the termination of the command.

이때, 각 커맨드는 서로 독립적으로 이루어져 있기 때문에 다른 커맨드의 수행에 영향을 줄 수 없다. 이것은 특정 커맨드에서 에러가 발생하여도 다른 제어 프로세스 수행에 영향을 끼치지 않는 장점을 갖는다.At this time, since the commands are independent of each other, they can not affect the performance of other commands. This has the advantage that even if an error occurs in a specific command, it does not affect the execution of other control processes.

다음은, 도 6을 참고하여 본 발명의 실시 예에 따른 프로세스 처리부가 프로세스 큐에 등록된 프로세스를 처리하는 방법에 대해 설명한다.Next, a method of processing a process registered in a process queue according to an embodiment of the present invention will be described with reference to FIG.

도 6은 본 발명의 실시 예에 따른 프로세스 처리 방법을 도시한 도면이다.6 is a diagram illustrating a process processing method according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 프로세스 처리부(131d)는 프로세스에 대한 수행과 관리에 관련된 작업을 수행한다. 즉, 프로세스 처리부(131d)는 프로세스 생성자(131b)에 의해 프로세스 큐(131c)에 등록된 프로세스들을 FIFO 방식에 따라 수행한다.As shown in FIG. 6, the process processor 131d performs tasks related to execution and management of a process. That is, the process processor 131d performs the processes registered in the process queue 131c by the process creator 131b according to the FIFO scheme.

여기서, 프로세스 처리부(131d)는 선택된 프로세스의 상태 정보를 기반으로 프로세스를 구성하는 명령어들을 실행순서에 따라 명령어들을 처리하는 핸들러들을 순서대로 실행한다.Here, the process processing unit 131d sequentially executes the handlers for processing the instructions according to the execution order of the instructions constituting the process based on the state information of the selected process.

또한, 프로세스 처리부(131d)는 이전에 등록된 프로세스를 제거하는 작업도 수행할 수 있다. 이때, 프로세스 처리부(131d)는 반복적으로 수행되는 프로세스가 더 이상 필요 없어진 경우 프로세스를 제거할 수 있다.In addition, the process processing unit 131d can also perform a process of removing a previously registered process. At this time, the process processing unit 131d can remove the process when the process to be repeatedly executed is no longer needed.

이와 같이, 프로세스 처리부(131d)는 센서 노드용 운영체제의 스케줄러와 별개로 동작하는 응용 스케줄러로, 센서 노드용 운영체제의 스케줄러에 의해서 동작하는 초기 설정 코드의 수행에 영향을 주지 않고 독립적으로 수행될 수 있다.As described above, the process processor 131d is an application scheduler that operates independently of the scheduler of the operating system for the sensor node, and can be independently performed without affecting the execution of the initial setting code operated by the scheduler of the operating system for the sensor node .

프로세스 처리부(131d)는 프로세스 큐(131c)에서 FIFO 방식에 따라 프로세스를 선택하고, 선택된 프로세스를 수행하기 위해 일시적으로 프로세스 큐(131c)에서 프로세스를 삭제한다. 이때, 선택된 프로세스는 작업을 수행하는 명령어 리스트와 명령어 수행 순서를 나타내는 "Index" 변수를 갖는다.The process processing unit 131d selects a process according to the FIFO scheme in the process queue 131c and temporarily deletes the process from the process queue 131c to perform the selected process. At this time, the selected process has a list of commands to perform an operation and an "Index" variable indicating a command execution order.

여기서, 프로세스 처리부(131d)는 "Index" 변수에 의해 순차적으로 명령어를 수행시킨다. 만일, 특정 명령어에서 스케쥴링 정지를 요구하면, 프로세스 처리부(131d)는 활성 프로세스 리스트에서 새로운 프로세스를 삭제시켜 수행한다.Here, the process processing unit 131d sequentially executes the command by the "Index" variable. If a scheduling stop is requested in a specific instruction, the process processor 131d deletes the new process from the active process list and executes it.

다음은, 도 7을 참고하여 본 발명의 실시 예에 따른 프로세스 처리부가 프로세스의 상태를 전이하는 방법에 대해 설명한다.Next, a method of transferring the state of the process processing unit according to the embodiment of the present invention will be described with reference to Fig.

도 7은 본 발명의 실시 예에 따른 프로세스 상태 전이도를 도시한 도면이다.Figure 7 is a diagram showing the process state transition diagram according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 프로세스는 프로세스 생성부(131b)에서 생성된 제어 프로세스가 프로세스 큐(131c)에 삽입되면 "준비" 상태에 진입하게 된다.As shown in Fig. 7, the process enters a "ready" state when the control process generated in the process generation unit 131b is inserted into the process queue 131c.

이후, 프로세스는 FIFO 방식으로 프로세스 처리부(131d)에 의해 선택되면 "실행" 상태로 진입한다.Thereafter, the process enters the "execute" state when selected by the process processing unit 131d in the FIFO manner.

만약, "실행" 상태에서 실행 중에 이벤트를 기다려야 하는 경우, 프로세스는 "대기" 상태로 진입한다. 이때, 프로세스 처리부(131d) 점유한 중앙처리장치(CPU)를 릴리즈 시킬 수 있다.If you have to wait for an event while running in the "run" state, the process enters the "wait" state. At this time, the central processing unit (CPU) occupied by the process processing unit 131d can be released.

다음, 프로세스는 수행이 완료되면 "종료" 상태로 진입한다. 이때, 프로세스 처리부(131d) 중앙처리장치를 릴리즈 시킬 수 있다.Next, the process enters the "exit" state when execution is complete. At this time, the central processing unit of the process processing unit 131d can be released.

여기서, 특정 프로세스가 "대기" 상태로 진입하거나 다른 프로세스에게 센서 노드(130)의 자원을 양도하는 작업은 현재 명령어를 수행하는 커맨더에 의해 판단된다.Here, the task of the specific process entering the "standby" state or transferring the resources of the sensor node 130 to another process is determined by the commander performing the current command.

예를 들어, 습도를 샘플링 하는 "Read" 명령어를 수행한 후 "ReadDone" 이벤트를 기다려야 하는 경우, 해당 커맨더는 "STOP" 신호를 프로세스 처리부(131d)로 전달하고, 해당 프로세스는 "ReadDone" 이벤트를 수신할 때까지 "대기" 상태로 진입한다. 이때, 프로세스 처리부(131d)는 프로세스 큐(131c)에서 새로운 프로세스를 선택하여 "준비" 상태에서 "실행" 상태로 변경한다.For example, when it is necessary to wait for the "ReadDone" event after executing the "Read" command for sampling the humidity, the commander delivers a "STOP" signal to the process processing unit 131d, Enters the "standby" state until receiving. At this time, the process processing unit 131d selects a new process in the process queue 131c and changes from the " ready "state to the" execute "state.

또한, 핸들러가 프로세스 처리부(131d)로 전송하는 스케줄러 신호는 표 5와 같다.Table 5 shows the scheduler signals that the handler transmits to the process processing unit 131d.

Figure 112011076125119-pat00006
Figure 112011076125119-pat00006

다음은, 도 8을 참고하여 본 발명의 실시 예에 따른 프로세스 처리부가 프로세스를 스케줄링하는 방법에 대해 설명한다.Next, a method of scheduling a process processing unit according to an embodiment of the present invention will be described with reference to FIG.

도 8은 본 발명의 실시 예에 따른 프로세스 스케줄링 방법을 도시한 도면이다.8 is a diagram illustrating a process scheduling method according to an embodiment of the present invention.

도 8에 도시된 바와 같이, 프로세스 처리부(131d)는 프로세스 큐(131c)에 프로세스가 존재하는지 판단한다(S100).As shown in FIG. 8, the process processor 131d determines whether a process exists in the process queue 131c (S100).

만약, 프로세스 큐(131c)에 프로세스가 존재하는 경우, 프로세스 처리부(131d)는 FIFO 방식에 따라 어느 하나의 프로세스를 선택한다(S105).If there is a process in the process queue 131c, the process processor 131d selects one of the processes according to the FIFO scheme (S105).

이후, 프로세스 처리부(131d)는 선택된 프로세스의 프로세스 처리 정보를 수집한다(S110). 여기서, 프로세스 처리 정보는 커맨드 인덱스 값과 커맨드 핸들러 리스트를 포함한다.Thereafter, the process processor 131d collects process process information of the selected process (S110). Here, the process processing information includes a command index value and a command handler list.

다음, 프로세스 처리부(131d)는 커맨드 인덱스 값에 대응되는 커맨드 핸들러를 수행한다(S115).Next, the process processing unit 131d executes a command handler corresponding to the command index value (S115).

이후, 프로세스 처리부(131d)는 커맨드 핸들러의 결과값이 "STOP"인지 판단한다(S120).Thereafter, the process processing unit 131d determines whether the result value of the command handler is "STOP" (S120).

만약, 커맨드 핸들러의 결과값이 "STOP"이 아닌 경우, 프로세스 처리부(131d)는 커맨드 핸들러의 결과값이 "NEXT"인지 판단한다(S125).If the result of the command handler is not "STOP ", the process processing unit 131d determines whether the result value of the command handler is" NEXT "(S125).

만약, 커맨드 핸들러의 결과값이 "NEXT"가 아닌 경우, 프로세스 처리부(131d)는 커맨드 핸들러의 결과값이 "TERMINATE"인지 판단한다(S130).If the result value of the command handler is not "NEXT", the process processing unit 131d determines whether the result value of the command handler is "TERMINATE" (S130).

만약, 커맨드 핸들러의 결과값이 "TERMINATE"가 아닌 경우, 프로세스 처리부(131d)는 커맨드 핸들러의 결과값이 "KILL"인지 판단한다(S135).If the result of the command handler is not "TERMINATE ", the process processing unit 131d determines whether the result value of the command handler is" KILL "(S135).

만약, 커맨드 핸들러의 결과값이 "KILL"인 경우, 프로세스 처리부(131d)는 프로세스에 대한 에러를 처리한다(S140).If the result value of the command handler is "KILL ", the process processing unit 131d processes the error for the process (S140).

다음, 프로세스 처리부(131d)는 프로세스 큐(131c)에서 선택된 프로세스를 삭제한다(S145).Next, the process processor 131d deletes the selected process from the process queue 131c (S145).

한편, 커맨드 핸들러의 결과값이 "STOP"인 경우, 프로세스 처리부(131d)는 선택된 프로세스를 프로세스 큐(131c)의 맨 뒤로 이동시킨다(S150).On the other hand, when the result value of the command handler is "STOP ", the process processing unit 131d moves the selected process to the back of the process queue 131c (S150).

한편, 커맨드 핸들러의 결과값이 "NEXT"인 경우, 프로세스 처리부(131d)는 커맨드 인덱스의 값을 증가시킨다(S155).On the other hand, when the result value of the command handler is "NEXT ", the process processing unit 131d increases the value of the command index (S155).

다음은, 도 9를 참고하여 본 발명의 실시 예에 따른 메시지 처리부가 송수신 메시지를 처리하는 방법에 대해 설명한다.Hereinafter, a method of processing a transmission / reception message according to an embodiment of the present invention will be described with reference to FIG.

도 9는 본 발명의 실시 예에 따른 메시지 처리부의 구성을 도시한 도면이다.9 is a diagram illustrating the configuration of a message processing unit according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 메시지 처리부(131a)는 서버(110)에서 전송하는 제어 프로세스 정보의 디코딩, 수행 완료된 제어 프로세스의 처리 결과를 서버(110)에 전송하기 위해서 인코딩, 및 제어 프로세스 수행 중 발생된 에러를 인코딩하는 작업을 수행하며, 프로세스 수신부(310), 결과 송신부(320), 및 에러 송신부(330)를 포함하여 구성된다.9, the message processing unit 131a encodes control process information transmitted from the server 110, encodes the processed control process information to transmit the processing result of the completed control process to the server 110, And includes a process receiving unit 310, a result transmitting unit 320, and an error transmitting unit 330. The process receiving unit 310, the result transmitting unit 320, and the error transmitting unit 330 encode the generated error.

프로세스 수신부(310), 결과 송신부(320), 및 에러 송신부(330)는 외부와 송수신을 위해서 사용하는 메시지의 인코딩과 디코딩을 수행한다. The process receiving unit 310, the result transmitting unit 320, and the error transmitting unit 330 encode and decode a message used for transmission / reception with the outside.

프로세스 수신부(310)는 서버(110)로부터 제어 프로세스를 수신하여 디코딩 한 후, 프로세스 생성부(131b)로 전달하는 역할을 한다.The process receiving unit 310 receives and decodes the control process from the server 110, and transmits the decoded process to the process generating unit 131b.

결과 송신부(320)는 제어 프로세스의 결과를 인코딩하여 전송하는 역할을 수행한다. 이때, 사용되는 응답 메시지의 인코딩 포맷은 표 7과 같은 구조체를 사용한다. 또한, 제어 프로세스 수행 완료 후, 수행 결과는 결과 송신부(320)의 내부 큐(Queue)에 삽입(Push)되고, 결과 송신부(320)는 이를 순차적으로 서버(110)에 전송한다.The result transmitter 320 encodes and transmits the result of the control process. At this time, the encoding format of the response message used is the structure shown in Table 7. After the completion of the control process, the execution result is pushed into an internal queue of the result transmitting unit 320, and the result transmitting unit 320 sequentially transmits the result to the server 110.

Figure 112011076125119-pat00007
Figure 112011076125119-pat00007

에러 송신부(330)는 제어 프로세스 수행 시 예기치 못한 에러가 발생하는 경우 이를 사용자에게 전송하는 역할을 수행한다. 이 에러 메시지는 큐에 삽입되지 않고, 바로 전송 작업을 수행한다. 따라서, 에러 송신부(330)는 결과 송신부(320)보다 더 처리 속도를 갖게 된다.The error transmitting unit 330 transmits an unexpected error to the user when the control process is performed. This error message is not inserted into the queue, but is immediately transmitted. Accordingly, the error transmission unit 330 has a higher processing speed than the result transmission unit 320.

다음은, 도 10을 참고하여 본 발명의 실시 예에 따른 메시지 라우팅부가 메시지를 전송하는 방법에 대해 설명한다.Hereinafter, a method for transmitting a message routing unit message according to an embodiment of the present invention will be described with reference to FIG.

도 10은 본 발명의 실시 예에 따른 센서 노드간 메시지 전송을 도시한 도면이다.10 is a diagram illustrating message transmission between sensor nodes according to an embodiment of the present invention.

도 10에 도시된 바와 같이, 각 센서 노드(130a, 130b, 130c)에서 발생하는 메시지를 서버(110)까지 전달하기 위해서는 라우팅 프로토콜이 필요하기 때문에 메시지 라우팅부(131f)는 라우팅 프로토콜을 지원한다. 메시지 라우팅부(131f)는 "Send"와 "Receive" 인터페이스를 제공하여 다양한 라우팅 프로토콜을 적용할 수 있도록 표준 인터페이스 역할을 수행한다. 따라서, 시스템 관리자는 주변 환경을 고려하여 다양한 라우팅 프로토콜을 적용할 수 있다.As shown in FIG. 10, the message routing unit 131f supports a routing protocol because a routing protocol is required to transmit a message generated in each of the sensor nodes 130a, 130b, and 130c to the server 110. FIG. The message routing unit 131f provides a "Send" and a "Receive" interface to serve as a standard interface for applying various routing protocols. Therefore, the system administrator can apply various routing protocols considering the surrounding environment.

여기서, 메시지 라우팅부(131f)는 "Flooding" 라우팅 프로토콜을 제공할 수 있다.Here, the message routing unit 131f may provide a "Flooding" routing protocol.

다음은, 도 11을 참고하여 본 발명의 실시 예에 따른 센서 노드에 원격 센서 제어 시스템을 적재하는 방법에 대해 설명한다.Next, a method of loading a remote sensor control system into a sensor node according to an embodiment of the present invention will be described with reference to FIG.

도 11은 본 발명의 실시 예에 따른 최상위 설정 파일 수정 방법을 도시한 도면이다.11 is a diagram illustrating a top-level configuration file modification method according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 기존 센서 응용 코드의 변경없이 센서 노드에 적재 시키기 위해서 최상위 설정 파일(400)을 오픈하여 본 발명을 적재한다. 최상위 설정 파일(400)을 수정 후 컴파일하여 센서 노드(130)에 로딩하면 기존 센서 응용과 독립적으로 동작하는 센서 제어 기능을 추가할 수 있다.As shown in FIG. 11, the top-level configuration file 400 is loaded to load the present invention to load the sensor application code without changing the existing sensor application code. If the top-level configuration file 400 is modified, then compiled and loaded into the sensor node 130, a sensor control function that operates independently of the existing sensor application can be added.

이때, 센서 노드(130)에 적재되는 원격 제어 시스템은 기존 센서 응용과는 별개로 고유의 메시지 포맷과 라우팅 프로토콜을 갖는다. "ActiveMessage" 컴포넌트를 통해서 송수신되는 메시지는 변수 "AM_Type"에 의해서 기존 센서 응용으로 구분된다. 따라서, 기존의 서버측 응용의 변경 없이 원격 제어 시스템을 적재할 수 있다.At this time, the remote control system loaded on the sensor node 130 has a unique message format and a routing protocol separately from the existing sensor application. Messages sent and received through the "ActiveMessage" component are classified into existing sensor applications by the variable "AM_Type". Therefore, the remote control system can be loaded without changing the existing server side application.

다음은, 도 12 내지 14를 참고하여 본 발명의 실시 예에 따른 센서 제어 시스템을 이용한 독거노인 안전 확인 시스템에 대해 설명한다.Next, a single-life elderly safety confirmation system using a sensor control system according to an embodiment of the present invention will be described with reference to FIGS. 12 to 14. FIG.

도 12는 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 구성을 도시한 도면이다.FIG. 12 is a diagram illustrating a configuration of a single elderly person safety confirmation system according to an embodiment of the present invention.

도 12에 도시된 바와 같이, 독거노인 안전 확인 시스템(500)은 댁내에 하나 이상의 센서 노드(130)를 설치하고, 센서 노드(130)의 센싱 데이터를 데이터 수집 장치(510)에서 수집하며, 데이터 수집 장치(510)가 전력선 통신을 통해 수집된 센싱 데이터를 데이터 획득 서버(520)로 전송한다.12, one or more sensor nodes 130 are installed in the house, the sensing data of the sensor node 130 is collected by the data collection device 510, The collecting device 510 transmits the collected sensing data to the data acquiring server 520 through the power line communication.

이를 통해, 독거노인 안전 확인 시스템(500)은 전력 사용량 등과 같은 센싱 데이터를 기반으로 독거노인 안전 확인 서비스를 제공할 수 있다.In this way, the living-alone elderly safety confirmation system 500 can provide a living alone elderly safety confirmation service based on sensing data such as power consumption.

도 13은 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 모니터링 시스템 화면을 도시한 도면이다.FIG. 13 is a view showing a screen of a monitoring system of the single elderly person safety confirmation system according to the embodiment of the present invention.

도 13에 도시된 바와 같이, 독거노인 안전 확인 시스템(500)의 관리자는 모니터링 시스템(600)에 접속하여 독거노인 안전 확인 서비스 및 댁내의 센서 노드(130)의 모니터링 및 제어를 수행할 수 있다.As shown in FIG. 13, the administrator of the security system for single elder people 500 may access the monitoring system 600 and monitor and control the security elderly security service and the sensor node 130 in the home.

도 14는 본 발명의 실시 예에 따른 독거노인 안전 확인 시스템의 센서 설정 화면을 도시한 도면이다.FIG. 14 is a view showing a sensor setting screen of the single elderly person safety confirmation system according to the embodiment of the present invention.

도 14에 도시된 바와 같이, 독거노인 안전 확인 시스템(500)의 관리자는 센서들의 상세 모니터링 정보 및 센서 제어를 위하여 도 13의 "센서 설정" 버튼을 클릭하여 센서 상세 정보 창으로 이동할 수 있다.As shown in FIG. 14, the administrator of the elderly people safety confirmation system 500 can move to the sensor detailed information window by clicking the "sensor setting" button of FIG. 13 for detailed monitoring information and sensor control of the sensors.

센서 설정 화면(700)에서 "센서 정보"는 간단한 센서 정보를 나타내고, "센서 모니터링"은 운영중인 센서 노드의 동적 정보를 표현한다. 또한, "센서 제어"는 "Reboot", "Sleep", 그리고 "Ping"과 같이 간단한 센서 제어를 지원한다. 또한, "제어 프로세스"는 댁내 센서 노드를 제어하는 프로세스를 나타내는 창으로 사용자가 직접 수정할 수도 있다.In the sensor setting screen 700, "sensor information" represents simple sensor information, and "sensor monitoring" represents dynamic information of an operating sensor node. Also, "sensor control" supports simple sensor control such as "Reboot", "Sleep", and "Ping". Also, the "control process" can be directly modified by the user as a window indicating a process of controlling the in-house sensor node.

이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, an optimal embodiment has been disclosed in the drawings and specification. Although specific terms have been employed herein, they are used for purposes of illustration only and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100: 센서 제어 시스템
110: 서버
120: 싱크 노드
130, 130a, 130b, 130c: 센서 노드
131: 제어부
131a: 메시지 처리부
131b: 프로세스 생성부
131c: 프로세스 큐
131d: 프로세스 처리부
131e: 핸들러 저장부
131f: 메시지 라우팅부
132: 센싱부
200: 프로세스 인스턴스
210: 프로세스 구조체
220: 커맨드 구조체
310: 프로세스 수신부
320: 결과 송신부
330: 에러 송신부
400: 최상위 설정 파일
500: 독거노인 안전 확인 시스템
510: 데이터 수집 장치
520: 데이터 획득 서버
600: 모니터링 시스템
700: 센서 설정 화면
100: Sensor control system
110: Server
120: sink node
130, 130a, 130b, and 130c:
131:
131a:
131b:
131c: Process Queue
131d: Process processor
131e: handler storage unit
131f: message routing unit
132: sensing unit
200: Process instance
210: process structure
220: Command structure
310: Process Receiver
320:
330: Error transmitter
400: top-level configuration file
500: Single elderly safety check system
510: Data collection device
520: Data Acquisition Server
600: Monitoring system
700: Sensor setting screen

Claims (9)

하나 이상의 명령어로 구성되는 제어 프로세스를 생성하는 서버; 및
상기 서버로부터 제어 프로세스 정보를 포함하는 제어 메시지를 수신하고, 상기 제어 메시지를 이용하여 상기 제어 프로세스를 처리하며, 상기 제어 프로세스에 대한 처리 결과를 상기 서버로 전송하는 센서 노드를 포함하며,
상기 센서 노드는
하나 이상의 물리량을 감지하여 센싱값을 검출하는 센싱부; 및
상기 제어 프로세스에 따라 상기 센싱부를 제어하며, 상기 센싱부로부터 수신되는 센싱값을 이용하여 상기 제어 프로세스에 대한 처리 결과를 생성하는 제어부를 포함하며,
상기 제어부는
상기 제어 프로세스 정보를 이용하여 상기 제어 프로세스를 처리하기 위한 프로세스 인스턴스를 생성하는 프로세스 생성부;
상기 프로세스 인스턴스에 따라 상기 제어 프로세스를 구성하는 각 명령어를 수행하여 상기 제어 프로세스를 처리하는 프로세스 처리부; 및
상기 프로세스 인스턴스를 저장하는 프로세스 큐를 포함하며,
상기 프로세스 처리부는 센서 노드용 운영체제의 스케줄러와 별개로 동작하는 응용 스케줄러로, 센서 노드용 운영체제의 스케줄러에 의해서 동작하는 초기 설정 코드의 수행에 영향을 주지 않고 독립적으로 수행하며, 반복적으로 수행되는 프로세스가 더 이상 필요 없어진 경우 프로세스를 제거하는 것을 특징으로 하는 센서 제어 시스템.
A server for generating a control process consisting of one or more instructions; And
And a sensor node for receiving a control message including control process information from the server, processing the control process using the control message, and transmitting a processing result for the control process to the server,
The sensor node
A sensing unit sensing at least one physical quantity to detect a sensing value; And
And a control unit for controlling the sensing unit according to the control process and generating a processing result for the control process using a sensing value received from the sensing unit,
The control unit
A process generator for generating a process instance for processing the control process using the control process information;
A process processing unit for executing the control process by executing each instruction constituting the control process according to the process instance; And
And a process queue for storing the process instance,
The process processor is an application scheduler operating independently of the scheduler of the operating system for the sensor node. The process scheduler is independent of the initial setup code executed by the scheduler of the operating system for the sensor node, And removing the process when it is no longer needed.
삭제delete 청구항 1에 있어서,
상기 프로세스 처리부는
상기 제어 프로세스를 구성하는 각 명령어에 대응되는 핸들러를 이용하여 상기 제어 프로세스를 처리하는 센서 제어 시스템.
The method according to claim 1,
The process-
And processes the control process using a handler corresponding to each command constituting the control process.
청구항 1에 있어서,
상기 프로세스 처리부는
상기 프로세스 큐에 저장된 복수 개의 프로세스 인스턴스들을 입력된 순서에 따라 순차적으로 처리하는 센서 제어 시스템.
The method according to claim 1,
The process-
And sequentially processes a plurality of process instances stored in the process queue according to an input sequence.
청구항 3에 있어서,
상기 프로세스 처리부는
상기 핸들러로부터 수신되는 스케줄링 신호에 따라 상기 제어 프로세스에 대한 상태를 판단하며, 상기 제어 프로세스에 대한 상태에 따라 상기 제어 프로세스를 제어하는 센서 제어 시스템.
The method of claim 3,
The process-
Determine a state for the control process according to a scheduling signal received from the handler, and control the control process according to a state for the control process.
청구항 1에 있어서,
상기 프로세스 생성부는
상기 제어 프로세스를 구성하는 각 명령어에 대한 명령어 처리 정보를 포함하는 상기 프로세스 인스턴스를 생성하는 센서 제어 시스템.
The method according to claim 1,
The process generation unit
And generates the process instance including instruction processing information for each instruction constituting the control process.
청구항 6에 있어서,
상기 명령어 처리 정보는
상기 제어 프로세스를 구성하는 각 명령어에 대한 핸들러 정보, 속성값, 및 실행순서를 포함하는 센서 제어 시스템.
The method of claim 6,
The command processing information includes
A handler information for each command constituting the control process, an attribute value, and an execution order.
청구항 7에 있어서,
상기 프로세스 처리부는
상기 핸들러 정보에 대응되는 핸들러를 상기 실행순서에 따라 호출하여 상기 제어 프로세스를 구성하는 각 명령어를 수행하는 센서 제어 시스템.
The method of claim 7,
The process-
And a handler corresponding to the handler information is called according to the execution order to execute each command constituting the control process.
청구항 1에 있어서,
상기 제어부는
상기 서버로부터 상기 제어 메시지를 수신하고, 상기 처리 결과를 상기 서버로 전송하며, 상기 제어 프로세스에 대한 처리 중에 발생하는 에러 메시지를 상기 서버로 전송하는 메시지 처리부를 더 포함하는 센서 제어 시스템.
The method according to claim 1,
The control unit
Further comprising: a message processor for receiving the control message from the server, transmitting the processing result to the server, and transmitting an error message generated during the processing for the control process to the server.
KR1020110098833A 2011-09-29 2011-09-29 System for controlling sensor KR101810243B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110098833A KR101810243B1 (en) 2011-09-29 2011-09-29 System for controlling sensor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110098833A KR101810243B1 (en) 2011-09-29 2011-09-29 System for controlling sensor

Publications (2)

Publication Number Publication Date
KR20130034775A KR20130034775A (en) 2013-04-08
KR101810243B1 true KR101810243B1 (en) 2017-12-21

Family

ID=48436782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110098833A KR101810243B1 (en) 2011-09-29 2011-09-29 System for controlling sensor

Country Status (1)

Country Link
KR (1) KR101810243B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102082858B1 (en) * 2019-11-28 2020-02-28 (주)휴컨 Enclosed space low power monitoring device and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006344017A (en) * 2005-06-09 2006-12-21 Hitachi Ltd Sensor network system and data processing method for sensor network system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006344017A (en) * 2005-06-09 2006-12-21 Hitachi Ltd Sensor network system and data processing method for sensor network system

Also Published As

Publication number Publication date
KR20130034775A (en) 2013-04-08

Similar Documents

Publication Publication Date Title
CN112637318B (en) Intelligent gateway system and device for storage integrity and control method thereof
US9705962B2 (en) Asynchronous reporting system
WO2022001674A1 (en) Communication system, method and device for miniature intelligent sensor
CN101197812B (en) System and method for implementing page invocation
CN105450654B (en) Smart home development platform and its business development method based on middleware Technology
CN102297493A (en) System and method for monitoring air conditioning unit
Zhou et al. Toward the Internet of Things application and management: A practical approach
Silva et al. PRISMA: A publish-subscribe and resource-oriented middleware for wireless sensor networks
CN102387521A (en) Method and system for monitoring states of nodes of wireless sensor network (WSN)
US20160352577A1 (en) Multiple gateway virtualization
Liu et al. Dynamic service model based on context resources in the internet of things
Wood et al. SenQ: An embedded query system for streaming data in heterogeneous interactive wireless sensor networks
KR101810243B1 (en) System for controlling sensor
Gao et al. Structure of wireless sensors network based on TinyOS
CN104281078A (en) Infrared device centralized control system
KR20140003324A (en) A method and apparatus of implementing dynamic report scheduling in m2m systems
CN105916184B (en) A kind of industrial wireless sensing network termination implementation method meeting ISA100.11a standard
KR20090039904A (en) Wireless network system and method of controlling device therein
CN106231694A (en) A kind of embedded type wireless sensing network gateway
KR101110675B1 (en) asynchronous COMMAND ACHIEVING METHOD OF REMOTE METER READING SYSTEM
CN110347396B (en) System construction method, control method, device, control system and computing equipment
CN105553788B (en) The control method of node and triggering node work in family&#39;s sensing network
KR20160130622A (en) Method for processing command in low power sensor network
SHAMS et al. Building automation (IoT) by WSN
CN219068385U (en) Ultra-long standby single-module internet of things gateway for intelligent access control system state monitoring

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right