KR102145556B1 - Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof - Google Patents

Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof Download PDF

Info

Publication number
KR102145556B1
KR102145556B1 KR1020190079087A KR20190079087A KR102145556B1 KR 102145556 B1 KR102145556 B1 KR 102145556B1 KR 1020190079087 A KR1020190079087 A KR 1020190079087A KR 20190079087 A KR20190079087 A KR 20190079087A KR 102145556 B1 KR102145556 B1 KR 102145556B1
Authority
KR
South Korea
Prior art keywords
sensor
data
data collection
sensing
configuration file
Prior art date
Application number
KR1020190079087A
Other languages
Korean (ko)
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 KR1020190079087A priority Critical patent/KR102145556B1/en
Application granted granted Critical
Publication of KR102145556B1 publication Critical patent/KR102145556B1/en

Links

Images

Classifications

    • H04L67/322
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

The present invention relates to a data acquisition device and a method thereof, which receive sensor configuration file containing sensor configuration information from a data acquisition server, parse the received sensor configuration file to create a sensor object for data sensing, schedule data collection of each sensor so that data can be collected according to a data collection period of each sensor object, and transmit the collected sensor data to a data collection server. According to the present invention, even when a sensor connected to the data acquisition device is changed or a special purpose sensor is connected, a sensor interface can be dynamically reset while the firmware is running without modifying or reconfiguring the firmware, and a plurality of sensors can be efficiently scheduled.

Description

다중 센서 데이터 수집을 위한 센서 인터페이스 설정 및 센싱 스케줄링 방법 및 그 장치 {Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof}Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof}

본 발명은 다중 센서 데이터 수집을 위한 센서 인터페이스 설정 및 센싱 스케줄링 방법과 그 장치에 관한 것이다. 구체적으로는 데이터 수집 서버(data acquisition server)로부터 센서 설정 정보가 기재된 센서 설정 파일을 수신하고, 상기 수신한 상기 센서 설정 파일을 파싱(parsing)하여 데이터 센싱을 위한 센서 객체를 생성하며, 각 센서 객체의 데이터 수집 주기에 맞추어 데이터를 수집할 수 있도록 각 센서의 데이터 수집을 스케줄링(scheduling)하고, 상기 수집한 센서 데이터를 데이터 수집 서버로 송신하는 데이터 수집 장치(data acquisition device) 및 그 방법에 관한 것이다.The present invention relates to a sensor interface setting and sensing scheduling method for collecting multi-sensor data, and an apparatus therefor. Specifically, a sensor configuration file containing sensor configuration information is received from a data acquisition server, the received sensor configuration file is parsed to generate a sensor object for data sensing, and each sensor object The present invention relates to a data acquisition device and a method for scheduling data collection of each sensor so that data can be collected according to the data collection period of, and transmitting the collected sensor data to a data collection server. .

헬스케어, 스마트 홈 등 대부분의 사물인터넷(Internet of Things, IoT) 응용 환경에서 데이터 수집을 위해 다수의 센서들을 사용하고 있다. 그리고, IoT 서비스에 따라서 다양한 종류의 센서들이 필요한데, IoT 디바이스의 펌웨어를 모든 종류의 센서를 사용할 수 있도록 일반화하는 것은 어려운 실정이다.In most Internet of Things (IoT) application environments such as healthcare and smart home, a number of sensors are used to collect data. In addition, various types of sensors are required depending on the IoT service, but it is difficult to generalize the firmware of the IoT device so that all types of sensors can be used.

다만, 범용적으로 사용되는 센서들의 경우에 유사한 센서들은 수집되는 데이터가 비슷하고, 데이터 수집에 사용되는 입력, 출력 방식이 유사하여, 유사 센서들의 인터페이스를 일반화할 수 있을 뿐이고, 이를 라이브러리(library)로 저장하였다가, 펌웨어를 구성할 때 이를 불러와서 사용할 수 있을 뿐이다. However, in the case of universally used sensors, similar sensors have similar data collected and input and output methods used for data collection are similar, so that interfaces of similar sensors can only be generalized, and this is a library. You can only save it as a file and load it when configuring the firmware.

그러나, 인터페이스 라이브러리를 이용하여 펌웨어를 구성하는 것은 범용적인 센서들에서만 가능한 것이고, 특수한 목적에 사용되는 센서의 인터페이스를 지원하거나, 데이터 수집에 사용되는 일반적인 입력/출력방식을 사용하지 않는 센서들의 경우에는 이러한 방식으로 인터페이스를 지원할 수 없다.However, configuring the firmware using the interface library is possible only for general-purpose sensors, and for sensors that do not support the interface of sensors used for special purposes, or do not use the general input/output methods used for data collection, Interfaces cannot be supported in this way.

또한, 특수 목적 센서나 특이한 입력/출력방식을 사용하는 센서를 사용하지 않더라도, 기존의 IoT 디바이스들은 펌웨어에 센서 설정 정보를 기록하기 때문에, IoT 디바이스에 연결되는 센서가 변경되는 경우에는, 핀을 새로 설정하고 인터페이스를 변경하기 위하여, 항상 기존의 펌웨어를 수정하여 다시 업로드하거나, 새로운 펌웨어를 개발해야 하는 문제가 있다. 이는 기존의 IoT 서비스를 확장하는 과정에서 센서의 추가에 의한 비용에 소프트웨어 개발을 위한 부담을 가중시킴으로써 서비스 확장에 걸림돌이 된다.In addition, even if a special purpose sensor or a sensor that uses a specific input/output method is not used, the existing IoT devices record sensor setting information in the firmware, so if the sensor connected to the IoT device is changed, the pin is changed. In order to set and change the interface, there is a problem in that the existing firmware must always be modified and uploaded again, or a new firmware must be developed. This is an obstacle to service expansion by adding a burden for software development to the cost of adding sensors in the process of expanding the existing IoT service.

대한민국 공개특허공보 제2014-0108531호(2014.09.11.)Republic of Korea Patent Publication No. 2014-0108531 (2014.09.11.)

본 발명의 목적은 데이터 수집 장치에 연결된 센서가 변경되더라도, 펌웨어를 수정하거나 재구성하지 않고, 센서 설정 정보를 수신하여, 동적으로 센서 인터페이스를 설정하는 데이터 수집 장치 및 그 센서 설정 방법을 제공하는 것이다.An object of the present invention is to provide a data collection apparatus and a sensor setting method for dynamically setting a sensor interface by receiving sensor setting information without modifying or reconfiguring firmware even when a sensor connected to a data collection apparatus is changed.

또한, 본 발명의 다른 목적인 특수한 목적의 센서로서 그 인터페이스의 구성이 일반적이지 않거나, 일반적인 입력/출력 방식을 따르지 않는 센서를 위한 인터페이스를 설정하기 위하여, 펌웨어를 수정하거나 재구성하지 않고, 외부에서 센서 설정 정보를 수신하여, 펌웨어가 계속 실행중인 상태에서 센서 인터페이스를 동적으로 설정하는 데이터 수집 장치 및 그 센서 설정 방법을 제공하는 것이다.In addition, in order to set an interface for a sensor whose interface configuration is not common or does not follow a general input/output method as a sensor for a special purpose, which is another object of the present invention, without modifying or reconfiguring the firmware, setting the sensor from the outside It is to provide a data collection device that receives information and dynamically sets a sensor interface while firmware is still running, and a method of setting the sensor.

그리고, 본 발명의 다른 목적은 다수의 센서들로부터 데이터를 수집하는 데이터 수집 장치에 있어서, 서로 다른 센싱 주기를 가지는 센서들로부터 데이터를 수집하도록 센싱 동작을 스케줄링하는 방법을 제공하는 것이다. 특히, 데이터 수집 장치의 동작 중에 새로운 센서가 추가되는 경우에도, 새로운 설정을 적용하기 위하여 스케줄링을 중단하지 않고, 새로운 센서를 포함하여 다수의 센서에 대한 센싱 동작을 동적으로 스케줄링하는 것을 목적으로 한다. 또한, 연속적인 센싱이 필요한 특수 목적 센서로부터 데이터를 수집하는 중에도, 주기적인 센싱을 수행하는 센서를 누락하지 않고, 센서들로부터 데이터를 수집하는 것을 그 목적으로 한다.Another object of the present invention is to provide a method of scheduling a sensing operation to collect data from sensors having different sensing periods in a data collection apparatus for collecting data from a plurality of sensors. In particular, even when a new sensor is added during the operation of the data collection device, the object of the present invention is to dynamically schedule a sensing operation for a plurality of sensors including the new sensor without stopping scheduling to apply a new setting. In addition, while collecting data from a special-purpose sensor that requires continuous sensing, the purpose of this is to collect data from sensors without omitting a sensor that performs periodic sensing.

상기 목적을 달성하기 위한 본 발명은, 센서로부터 데이터를 수집하는 장치에 있어서, 데이터 수집 서버로부터 센서 설정 파일을 수신하고, 센서로부터 수집한 데이터를 상기 데이터 수집 서버로 송신하는 통신부; 상기 센서 설정 파일로부터 센서 설정 정보를 파싱(parsing)하여 각 센서별 데이터 센싱을 위한 센서 객체를 생성하는 정보처리부; 및 각 센서 객체의 데이터 수집 주기에 따라 상기 센서로부터 데이터를 수집하는 스케줄러;를 포함하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치에 관한 것이다.The present invention for achieving the above object is an apparatus for collecting data from a sensor, comprising: a communication unit for receiving a sensor setting file from a data collection server and transmitting the data collected from the sensor to the data collection server; An information processing unit generating a sensor object for sensing data for each sensor by parsing sensor setting information from the sensor setting file; And a scheduler that collects data from the sensor according to the data collection period of each sensor object. It relates to an apparatus for collecting data from a sensor, comprising: a.

또한, 본 발명의 일 실시예에 따르면, 상기 센서 설정 파일은 각 센서에 대한 데이터 수집 주기, 센싱(sensing) 데이터 정보 및 데이터 전송 조건 중의 어느 하나 이상을 포함할 수 있다.In addition, according to an embodiment of the present invention, the sensor configuration file may include at least one of a data collection period for each sensor, sensing data information, and data transmission conditions.

또한, 본 발명의 일 실시예에 따르면, 상기 센싱(sensing) 데이터 정보는 데이터 이름, 데이터 타입, 핀 번호, 데이터 센싱 조건 및 데이터 수집여부 정보 중 어느 하나 이상을 포함할 수 있다.In addition, according to an embodiment of the present invention, the sensing data information may include any one or more of a data name, a data type, a pin number, a data sensing condition, and data collection information.

또한, 본 발명의 일 실시예에 따르면, 상기 정보처리부는 센서 설정 파일에서 해당 센서에서 측정되는 데이터들을 각 데이터의 센싱(sensing) 선행 조건에 기초하여 우선순위로 정렬하여 센서 객체를 생성할 수 있다.In addition, according to an embodiment of the present invention, the information processing unit may generate a sensor object by sorting data measured by a corresponding sensor in a sensor configuration file in priority based on a sensing prerequisite for each data. .

또한, 본 발명의 일 실시예에 따르면, 상기 정보처리부는 센서 설정 파일에 기재된 데이터 중 센싱 선행 조건이 없는 데이터의 우선순위를 최우선(0)으로 설정하고, 다른 데이터들은 선행 조건에 명시된 데이터 중 우선순위 값이 가장 큰 데이터의 우선순위 값에 1을 더한 값을 우선순위로 설정할 수 있다.In addition, according to an embodiment of the present invention, the information processing unit sets the priority of data without a sensing prerequisite among the data described in the sensor setting file as the highest priority (0), and other data has priority among the data specified in the prerequisite. A value obtained by adding 1 to the priority value of the data with the largest priority value can be set as the priority.

또한, 본 발명의 일 실시예에 따르면, 상기 스케줄러는 각 센서객체 별로 설정된 타임스탬프(timestamp) 값에 따른 우선순위 큐(priority queue)에서 우선순위가 가장 높은 센서 객체를 선택하여 상기 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)할 수 있다.In addition, according to an embodiment of the present invention, the scheduler selects a sensor object with the highest priority from a priority queue according to a timestamp value set for each sensor object and corresponds to the sensor object. It is possible to sense the data of the sensor (sensing).

또한, 본 발명의 일 실시예에 따르면, 상기 스케줄러는 상기 우선순위 큐(queue)에 의하여 선택된 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)한 후에 그 센서 객체의 타임스탬프(timestamp)에 상기 센서 객체의 데이터 수집 주기를 더하여 우선순위 큐(queue)에 입력할 수 있다.In addition, according to an embodiment of the present invention, the scheduler senses data of a sensor corresponding to a sensor object selected by the priority queue, and then displays the timestamp of the sensor object. The data collection period of the sensor object can be added and entered into the priority queue.

또한, 본 발명의 일 실시예에 따르면, 상기 센서가 상기 장치에 연결되면, 상기 장치는 상기 센서로부터 상기 센서에 대한 정보를 수신하고, 상기 센서에 대한 정보에 기초하여 데이터 수집 서버로 센서 설정 파일을 요청할 수 있다.In addition, according to an embodiment of the present invention, when the sensor is connected to the device, the device receives information about the sensor from the sensor, and a sensor configuration file to a data collection server based on the information about the sensor. Can be requested.

추가적으로, 상기 목적을 달성하기 위한 본 발명은, 센서 데이터 수집 장치의 동적 인터페이스 설정 및 스케줄링 방법에 있어서, 데이터 수집 서버로부터 센서 설정 정보가 기재된 센서 설정 파일을 수신하는 설정 파일 수신 단계; 상기 수신한 상기 센서 설정 파일을 파싱(parsing)하여 데이터 센싱을 위한 센서 객체를 생성하는 파싱(parsing) 단계; 각 센서 객체의 데이터 수집 주기에 맞추어 데이터를 수집할 수 있도록 각 센서의 데이터 수집을 스케줄링(scheduling)하는 스케줄링 단계; 및 상기 수집한 센서 데이터를 데이터 수집 서버로 송신하는 송신 단계를 포함하는 것을 특징으로 하는 방법에 관한 것이다.In addition, the present invention for achieving the above object, in the dynamic interface setting and scheduling method of a sensor data collection device, the configuration file receiving step of receiving a sensor configuration file containing the sensor configuration information from the data collection server; A parsing step of generating a sensor object for data sensing by parsing the received sensor configuration file; A scheduling step of scheduling data collection of each sensor so that data can be collected according to the data collection period of each sensor object; And a transmission step of transmitting the collected sensor data to a data collection server.

또한, 본 발명의 일 실시예에 따르면, 상기 파싱 단계는 상기 센서 설정 파일에서 해당 센서에서 측정되는 데이터들을 각 데이터의 센싱(sensing) 선행 조건에 기초하여 우선순위로 정렬하여 센서 객체를 생성할 수 있다.In addition, according to an embodiment of the present invention, in the parsing step, the sensor object may be generated by sorting data measured by a corresponding sensor in the sensor configuration file in priority based on a sensing prerequisite for each data. have.

또한, 본 발명의 일 실시예에 따르면, 상기 스케줄링 단계는 각 센서 객체 별로 설정된 타임스탬프(timestamp) 값에 따른 우선순위 큐(priority queue)에서 우선순위가 가장 높은 센서 객체를 선택하여 상기 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)할 수 있다.In addition, according to an embodiment of the present invention, in the scheduling step, the sensor object with the highest priority is selected from a priority queue according to a timestamp value set for each sensor object, The data of the corresponding sensor can be sensed.

또한, 본 발명의 일 실시예에 따르면, 상기 스케줄링 단계는 상기 우선순위 큐(queue)에 의하여 선택된 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)한 후에 그 센서객체의 타임스탬프(timestamp)에 상기 센서 객체의 데이터 수집 주기를 더하여 우선순위 큐(queue)에 입력할 수 있다.In addition, according to an embodiment of the present invention, in the scheduling step, after sensing data of a sensor corresponding to a sensor object selected by the priority queue, a timestamp of the sensor object is The data collection period of the sensor object may be added and entered into a priority queue.

또한, 본 발명의 일 실시예에 따르면, 상기 센서가 상기 데이터 수집 장치에 연결되면, 상기 데이터 수집 장치는 상기 센서로부터 상기 센서에 대한 정보를 수신하고, 상기 센서에 대한 정보에 기초하여 데이터 수집 서버로 센서 설정 파일을 요청하는 단계;를 더 포함할 수 있다.Further, according to an embodiment of the present invention, when the sensor is connected to the data collection device, the data collection device receives information on the sensor from the sensor, and based on the information on the sensor, the data collection server It may further include a; step of requesting a sensor configuration file.

본 발명에 따른 데이터 수집 장치 또는 그 방법에 따르면, 상기 데이터 수집 장치에 연결된 센서가 변경되더라도 펌웨어를 수정하거나 재구성하지 않고, 펌웨어가 계속 실행중인 상태에서 동적으로 센서 인터페이스를 재설정할 수 있는 효과가 있다.According to the data collection device or method thereof according to the present invention, even if the sensor connected to the data collection device is changed, the sensor interface can be dynamically reset while the firmware is still running without modifying or reconfiguring the firmware. .

또한, 본 발명에 따른 데이터 수집 장치 또는 그 방법에 따르면, 상기 데이터 수집 장치는 특수한 목적의 센서로서 그 인터페이스의 구성이 일반적이지 않거나, 일반적인 입력/출력 방식을 따르지 않는 센서를 위한 인터페이스를 설정하기 위하여, 펌웨어를 수정하거나 재구성하지 않고, 외부에서 센서 설정 정보를 수신하여, 펌웨어가 계속 실행중인 상태에서 센서 인터페이스를 동적으로 설정할 수 있는 효과가 있다.In addition, according to the data collection device or method thereof according to the present invention, the data collection device is a sensor for a special purpose, and the configuration of the interface is uncommon or in order to set an interface for a sensor that does not follow a general input/output method. , Without modifying or reconfiguring the firmware, by receiving sensor setting information from the outside, there is an effect that the sensor interface can be dynamically set while the firmware is still running.

그리고, 본 발명에 따른 데이터 수집 장치 또는 그 방법에 따르면, 데이터 수집 장치가 다수의 센서들로부터 데이터를 수집하는 경우에, 서로 다른 센싱 주기를 가지는 센서들로부터 데이터를 수집하도록 센싱 동작을 스케줄링할 수 있다. 특히, 데이터 수집 장치의 동작 중에 새로운 센서가 추가되는 경우에도, 새로운 설정을 적용하기 위하여 스케줄링을 중단하지 않고, 새로운 센서를 포함하여 다수의 센서의 센싱 동작을 동적으로 스케줄링할 수 있는 효과가 있다. 또한, 연속적인 센싱이 필요한 특수 목적 센서로부터 데이터를 수집하는 중에도, 주기적인 센싱을 수행하는 센서를 누락하지 않고, 센서들로부터 데이터를 수집할 수 있는 효과가 있다.And, according to the data collection device or method thereof according to the present invention, when the data collection device collects data from a plurality of sensors, the sensing operation can be scheduled to collect data from sensors having different sensing periods. have. In particular, even when a new sensor is added during the operation of the data collection device, it is possible to dynamically schedule a sensing operation of a plurality of sensors including a new sensor without stopping scheduling to apply a new setting. In addition, even while collecting data from a special purpose sensor requiring continuous sensing, there is an effect of collecting data from the sensors without omitting a sensor that performs periodic sensing.

도 1은 본 발명에 따른 센서로부터 데이터를 수집하는 시스템의 주요 구성요소의 일 예를 도시한 것이다.
도 2는 특수목적 센서에서 수집된 데이터의 일 예로, 아크 용접 기기의 전류 및 gas feed를 수집하기 위한 시퀀스 다이어그램(sequence diagram)의 일부를 도시한 것이다.
도 3은 본 발명에 따른 데이터 수집 장치(100)의 논리적 구조 및 동작 순서의 일 예를 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 센서 설정 파일의 형식을 예시한 것이다.
도 5는 본 발명의 일 실시예에 따른 센서 설정 파일을 예시한 것이다.
도 6은 센서 설정 파일을 파싱(parsing)하는 과정에서, 하나의 센서에서 센싱(sensing)할 데이터가 복수 개 존재하는 경우에, 데이터 센싱의 순서 설정을 위한, 데이터들 사이의 우선순위를 결정하는 과정의 일 실시예를 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른, 센서 설정 파일의 파싱 과정을 통하여 생성된 센서 객체를 예시한 것이다.
도 8은 센싱 스케줄러(130)에서 센서 설정 파일로부터 생성된 센서 객체를 초기에 스케줄링(scheduling)하는 동작의 일 실시예를 도시한 것이다.
도 9는 센싱 스케줄러(130)에서 센서 객체가 데이터 전송 조건을 만족하는 경우의 스케줄링(scheduling) 동작의 일 실시예를 도시한 것이다.
1 shows an example of the main components of a system for collecting data from a sensor according to the present invention.
2 is an example of data collected by a special-purpose sensor, and shows a part of a sequence diagram for collecting current and gas feed of an arc welding machine.
3 shows an example of the logical structure and operation sequence of the data collection device 100 according to the present invention.
4 illustrates the format of a sensor configuration file according to an embodiment of the present invention.
5 illustrates a sensor configuration file according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating a process of parsing a sensor configuration file, when a plurality of data to be sensed by one sensor exists, for setting the order of data sensing, determining the priority between data It shows one embodiment of the process.
7 is a diagram illustrating a sensor object created through a process of parsing a sensor configuration file according to an embodiment of the present invention.
FIG. 8 illustrates an embodiment of an operation of initially scheduling a sensor object generated from a sensor configuration file in the sensing scheduler 130.
FIG. 9 shows an embodiment of a scheduling operation when a sensor object satisfies a data transmission condition in the sensing scheduler 130.

본 발명은 데이터 수집 서버(data acquisition server)로부터 센서 설정 정보가 기재된 센서 설정 파일을 수신하고, 상기 수신한 상기 센서 설정 파일을 파싱(parsing)하여 데이터 센싱을 위한 센서 객체를 생성하며, 각 센서 객체의 데이터 수집 주기에 맞추어 데이터를 수집할 수 있도록 각 센서의 데이터 수집을 스케줄링(scheduling)하고, 상기 수집한 센서 데이터를 데이터 수집 서버로 송신하는 데이터 수집 장치(data acquisition device) 및 그 방법에 관한 것이다.The present invention receives a sensor configuration file in which sensor configuration information is described from a data acquisition server, parses the received sensor configuration file to generate a sensor object for data sensing, and each sensor object The present invention relates to a data acquisition device and a method for scheduling data collection of each sensor so that data can be collected according to the data collection period of, and transmitting the collected sensor data to a data collection server. .

도 1은 본 발명에 따른 센서로부터 데이터를 수집하는 시스템의 주요 구성요소의 일 예를 도시한 것이다. 1 shows an example of the main components of a system for collecting data from a sensor according to the present invention.

도 1에 예시된, 본 발명에 따른 센서로부터 데이터를 수집하는 시스템은 데이터 수집 장치(100), 데이터 수집 서버(200) 및 주변 환경으로부터 데이터를 센싱(sensing)하는 센서(300: 310, 320, 330)로 구성된다. The system for collecting data from a sensor according to the present invention illustrated in FIG. 1 includes a data collection device 100, a data collection server 200, and a sensor 300: 310, 320, which senses data from the surrounding environment. 330).

데이터 수집 장치(100)은 다양한 센서들(300)과 유/무선 인터페이스를 이용하여 연결되어, 각 센서(300)별로 미리 정해진 주기로 데이터를 수집하고, 수집된 데이터를 데이터 수집 서버(200)로 전송하는 장치이다. 데이터 수집 장치(100)는 독립적인 장치이거나, 다른 장치에 설치되는 부수적인 장치로서 구성될 수 있다. 일 실시예로서, 데이터 수집 장치(100)는 다른 장치에 설치되는 PCB 보드의 형태로 구성될 수도 있고, 다른 장치의 일부 기능으로서 소프트웨어적으로 구현될 수도 있다. 데이터 수집 장치(100)는 데이터 수집 서버(200)로부터 센서 설정을 위한 제어 정보 및 센서들로부터 수집된 데이터를 송수신하는데, 이를 위하여 유선 또는 무선으로 데이터 수집 서버와 통신하는 기능을 구비한다. The data collection device 100 is connected to various sensors 300 using a wired/wireless interface, collects data at a predetermined period for each sensor 300, and transmits the collected data to the data collection server 200 It is a device. The data collection device 100 may be an independent device or may be configured as an auxiliary device installed in another device. As an embodiment, the data collection device 100 may be configured in the form of a PCB board installed in another device, or may be implemented in software as some functions of another device. The data collection device 100 transmits and receives control information for sensor setting and data collected from the sensors from the data collection server 200, and for this purpose, has a function of communicating with the data collection server by wire or wirelessly.

데이터 수집 서버(200)은 데이터 수집 장치(100)로 센서의 설정이 필요한 센서 설정 파일을 송신하고, 데이터 수집 장치(100)으로부터 센서들로부터 수집된 데이터를 수집하는 기능을 수행한다. 데이터 수집 서버(200)은 '서버'라고 표현되어 있으나, 대용량의 컴퓨팅 장치에 한정되지 않으며, 데이터 수집 장치(100)와 데이터를 송수신할 수 있는 모든 일반적인 컴퓨팅 장치에 구현될 수 있으며, 단수 또는 복수의 컴퓨팅 장치로서 구현될 수도 있다. 또한, 데이터 수집 서버(200)는 전용의 컴퓨팅 장치로 구현되거나, 다른 기능을 수행하는 컴퓨팅 장치의 일부 기능 블록으로서도 구현될 수 있으며, 그 형태는 하드웨어 및 소프트웨어로 구현될 수 있다. 일 실시예로서, 데이터 수집 서버(200)은 클라우드 서버 또는 가상 서버로서 구현될 수도 있다. 또한, 다른 일 실시예에 따르면, 데이터 수집 서버(200)는 고정된 형태이거나, 또는 이동가능한 형태로 구현된 컴퓨팅 장치에 구현될 수 있다.The data collection server 200 transmits a sensor setting file that requires sensor setting to the data collection device 100 and performs a function of collecting data collected from sensors from the data collection device 100. The data collection server 200 is expressed as a'server', but is not limited to a large-capacity computing device, and may be implemented in all general computing devices capable of transmitting and receiving data to and from the data collection device 100, and can be It may be implemented as a computing device. In addition, the data collection server 200 may be implemented as a dedicated computing device, or may be implemented as some functional blocks of a computing device that performs other functions, and its form may be implemented as hardware and software. As an embodiment, the data collection server 200 may be implemented as a cloud server or a virtual server. Further, according to another embodiment, the data collection server 200 may be implemented in a computing device implemented in a fixed form or a movable form.

데이터 수집 서버(200)는 데이터 수집 장치(100)로 센서 설정 파일을 송신한다. 일 실시예에 따르면, 데이터 수집 서버(200)은 그 자체의 프로그램에서 미리 정해진 조건을 만족하는 경우에 센서 설정 파일을 송신할 수 있다. 또한 다른 일 실시예에 따르면, 데이터 수집 서버(200)은 다른 장치의 요청에 의하여, 센서 설정 파일을 송신할 수 있는데, 이는 데이터 수집 서버(200)에 엑세스 권한을 가진 관리자에 해당되는 장치의 요청에 의한 것일 수 있다. 또 다른 일 실시예에 따르면, 데이터 수집 서버(200)은 데이터 수집 장치(100)의 요청에 의하여, 센서 설정 파일을 송신할 수 있다.The data collection server 200 transmits a sensor configuration file to the data collection device 100. According to an embodiment, the data collection server 200 may transmit a sensor configuration file when a predetermined condition is satisfied in its own program. In addition, according to another embodiment, the data collection server 200 may transmit a sensor configuration file at the request of another device, which is a request from a device corresponding to an administrator having access rights to the data collection server 200 It may be due to According to another embodiment, the data collection server 200 may transmit a sensor configuration file at the request of the data collection device 100.

일 실시예에 따르면, 데이터 수집 장치(100)은 설정 정보를 알 수 없는 센서가 연결됨을 인지한 경우에 데이터 수집 서버(200)로 그 설정 파일을 요청할 수 있다. 데이터 수집 장치(100)에 새로운 센서가 연결되면, 미리 정해진 방식으로 센서에 대한 기본적인 정보를 인지하고, 데이터 수집 장치(200)에서 해당 센서에 대한 설정이 가능한 경우에는 이를 설정하여, 센싱을 수행한다. 만약, 데이터 수집 장치(200)에 이 센서에 대한 정보가 부족하여, 해당 센서에 대한 설정이 불가능한 경우에는 데이터 수집 서버(200)으로 센서 설정 파일의 송신을 요청한다.According to an embodiment, the data collection device 100 may request the setting file from the data collection server 200 when it is recognized that a sensor whose setting information is unknown is connected. When a new sensor is connected to the data collection device 100, basic information on the sensor is recognized in a predetermined manner, and when the data collection device 200 can set the sensor, it is set and sensing is performed. . If the data collection device 200 lacks information on this sensor and it is impossible to set the sensor, the data collection server 200 requests the data collection server 200 to transmit a sensor configuration file.

센서(300)들은 유선 또는 무선 인터페이스를 이용하여 데이터 수집 장치(100)과 연결되어, 센싱(sensing)한 데이터를 데이터 수집 장치(100)으로 제공한다. 도 1에는 GPS 센서(310), 광 센서(320) 및 적외선 센서(330)을 예시하고 있으나, 이에 국한되는 것은 아니며, 가능한 형태의 모든 센서에서 사용될 수 있다. 예를 들어, 적외선 센서, 초음파 센서, 습도 센서, 온도 센서, 가스 감지 센서, 동작 센서, 레이저 센서 등을 포함한다. 또한, 센서(300)은 그 센싱 값을 아날로그 또는 디지털로 저장하는 모든 종류의 센서를 포함한다.The sensors 300 are connected to the data collection device 100 using a wired or wireless interface, and provide the sensed data to the data collection device 100. Although the GPS sensor 310, the optical sensor 320, and the infrared sensor 330 are illustrated in FIG. 1, the present invention is not limited thereto, and may be used in all possible types of sensors. For example, it includes an infrared sensor, an ultrasonic sensor, a humidity sensor, a temperature sensor, a gas detection sensor, a motion sensor, a laser sensor, and the like. In addition, the sensor 300 includes all types of sensors that store the sensing values in analog or digital form.

센서(300)의 종류로는 IoT 환경에서 일반적으로 사용되는 범용 센서와 더불어, 특수한 목적으로 사용되는 특수목적 센서도 있다. 도 2는 특수목적 센서에서 수집된 데이터의 일 예로, 아크 용접 기기의 전류 및 gas feed를 수집하기 위한 시퀀스 다이어그램(sequence diagram)의 일부를 도시한 것이다.Types of the sensor 300 include a general purpose sensor generally used in an IoT environment, as well as a special purpose sensor used for a special purpose. 2 is an example of data collected by a special-purpose sensor, and shows a part of a sequence diagram for collecting current and gas feed of an arc welding machine.

도 2에서 program_no는 공정의 상태를 나타내는 값으로, 이 값이 0일 경우에는 공정이 진행 중이지 않은 상태이며, 1인 경우에는 공정이 진행 중인 상태이다. welding_start는 공정에 필요한 gas 및 전류가 공급 중 인지를 나타내는 값으로, 0인 경우 공급이 중지된 상태이고, 1인 경우 공급을 진행 중임을 나타내고, program_no가 1인 경우에만 1로 세팅된다. current_flowing은 output의 값이 전류 값을 나타내는지를 구분하기 위한 값으로, 0인 경우 output이 전류가 아닌 값을 나타내며, 1인 경우 전류가 흐르고 있는 상태임을 나타낸다. current_flowing 또한 program_no가 1인 경우에만 값이 1로 세팅된다. output은 gas_feed 및 전류의 값을 나타내며, 0V에서 24V 사이의 아날로그 값을 가진다. power의 경우 용접기의 전원이 켜져 있는 경우 항상 1의 값을 가지며 동작 오류가 있는 경우에만 0의 값을 가지게 된다.In FIG. 2, program_no is a value indicating a state of a process. When this value is 0, the process is not in progress, and when it is 1, the process is in progress. Welding_start is a value indicating whether gas and current required for the process are being supplied. If it is 0, the supply is stopped, if it is 1, it indicates that the supply is in progress, and it is set to 1 only when program_no is 1. current_flowing is a value to distinguish whether the output value represents a current value. If 0, the output indicates a value other than current, and if 1 indicates that the current is flowing. Also, the value of current_flowing is set to 1 only when program_no is 1. The output represents the value of gas_feed and current, and has an analog value between 0V and 24V. In the case of power, it always has a value of 1 when the welding machine is powered on and has a value of 0 only when there is an operation error.

위와 같은 출력을 나타내는 특수목적 센서의 경우에, 각 핀에서 감지되는 디지털, 아날로그 값이 각 핀 간의 상관관계에 따라 서로 다른 값을 가지게 되어, 전체 공정 동안 지속적인 센싱이 필요하다. 따라서, 주기적인 센싱이 필요한 다른 센서와 동시에 사용하는 경우, 공정을 센싱(sensing)하는 동안 다른 센서의 값을 측정하지 못하게 되어, 주기적 센싱이 필요한 다른 센서 데이터의 정확도를 떨어뜨릴 수 있다. 또한, 이런 특수목적 센서의 경우 센싱 방식이 공정, 회사 마다 판이하게 달라 데이터 수집을 위한 인터페이스를 정의하기 어렵다.In the case of a special-purpose sensor that displays the above output, the digital and analog values detected by each pin have different values according to the correlation between each pin, so continuous sensing is required during the entire process. Therefore, when using simultaneously with other sensors requiring periodic sensing, it is impossible to measure values of other sensors while sensing a process, and thus the accuracy of other sensor data requiring periodic sensing may be degraded. In addition, in the case of such a special purpose sensor, the sensing method is different for each process and company, and it is difficult to define an interface for data collection.

도 3은 본 발명에 따른 데이터 수집 장치(100)의 논리적 구조 및 동작 순서의 일 예를 도시한 것이다.3 shows an example of the logical structure and operation sequence of the data collection device 100 according to the present invention.

먼저, 데이터 수집 장치(100)은 데이터 수집 서버(200)와 통신부(110)을 통하여 데이터를 송수신할 수 있다. 이를 위하여 통신부(110)는 유선 또는 무선 통신을 지원하고, 유선 통신의 일 실시예로는 이더넷 방식이 있으며, 무선 통신의 일 실시예로는 Wi-Fi 무선랜, 3G/4G/5G 이동통신 기술이 사용될 수 있으나, 이에 국한되는 것은 아니며, 모든 가능한 유/무선 통신 방식이 사용될 수 있다.First, the data collection device 100 may transmit and receive data through the data collection server 200 and the communication unit 110. To this end, the communication unit 110 supports wired or wireless communication, and an embodiment of wired communication includes an Ethernet method, and an embodiment of wireless communication includes a Wi-Fi wireless LAN, 3G/4G/5G mobile communication technology. May be used, but is not limited thereto, and all possible wired/wireless communication methods may be used.

또한, 데이터 수집 장치(100)은 센서들(300)과도 연결되어, 센서로부터 센싱(sensing)된 데이터를 수신한다. 센서들(300)은 그 종류에 따라서, 유/무선 인터페이스를 통하여 데이터 수집 장치(100)와 연결된다. 일 실시예에 의하면, 유선 인터페이스로서 특정한 핀에 연결되는 방식으로 해당 센서(300)이 데이터 수집 장치(100)과 연결될 수 있으며, 다른 일 실시예에 의하면, 무선 인터페이스로서 근거리 무선 통신 방식인 Wi-Fi, Bluetooth, Zigbee 등의 무선 통신 인터페이스를 통하여 해당 센서(300)이 데이터 수집 장치(100)에 연결될 수 있다. 그러나, 이에 한정되는 것은 아니며, 모든 가능한 유/무선 인터페이스 기술이 사용될 수 있다.In addition, the data collection device 100 is also connected to the sensors 300 to receive data sensed from the sensors. The sensors 300 are connected to the data collection device 100 through a wired/wireless interface according to their type. According to an embodiment, the sensor 300 may be connected to the data collection device 100 in a manner that is connected to a specific pin as a wired interface. According to another embodiment, the wireless interface is Wi- The sensor 300 may be connected to the data collection device 100 through a wireless communication interface such as Fi, Bluetooth, and Zigbee. However, the present invention is not limited thereto, and all possible wired/wireless interface technologies may be used.

데이터 수집 장치(100)의 통신부(110)가 데이터 수집 서버(200)으로부터 센서 설정 파일을 수신하면, 정보처리부(120)은 상기 센서 설정 파일로부터 센서 설정 정보를 파싱(parsing)하여 해당 센서의 데이터 센싱을 위한 데이터 구조인 센서 객체를 생성한다. 센싱 스케줄러(130)은 각 센서 객체의 데이터 수집 주기에 따라서 센싱 모듈(140)을 통하여 해당 센서로부터 센싱된 데이터를 수집한다. 이와 같이 수집된 데이터는 통신부(110)에 의하여 데이터 수집 서버(200)으로 송신된다.When the communication unit 110 of the data collection device 100 receives a sensor setting file from the data collection server 200, the information processing unit 120 parses the sensor setting information from the sensor setting file to Create a sensor object, a data structure for sensing. The sensing scheduler 130 collects data sensed from a corresponding sensor through the sensing module 140 according to the data collection period of each sensor object. The collected data is transmitted to the data collection server 200 by the communication unit 110.

도 3에 도시된, 본 발명의 일 실시예에 따른 데이터 수집 장치(100)의 구성요소인 통신부(110), 정보처리부(120), 센싱 스케줄러(130) 및 센싱 모듈(140)은 단지 논리적인 기능 블록으로, 이러한 구분이 하드웨어 또는 소프트웨어로서 항상 구분되는 형태로 구현되어야 하는 것을 의미하는 것은 아니다. 예를 들어, 통신부(110), 정보처리부(120), 센싱 스케줄러(130) 및 센싱 모듈(140)은 하나의 프로세서에서 동작하는 단일의 소프트웨어의 일부로서 구현될 수도 있다. 또 다른 일 실시예에 의하면, 통신부(110), 정보처리부(120), 센싱 스케줄러(130) 및 센싱 모듈(140)은 각각 별도의 하드웨어로서 구현되어, 데이터 수집 장치(100)을 구성하기 위하여 결합될 수도 있다. 또한, 다른 일 실시예에 의하면, 통신부(110), 정보처리부(120), 센싱 스케줄러(130) 및 센싱 모듈(140) 중 둘 이상이 하나의 하드웨어 및/또는 소프트웨어의 일부로서 더불어 구현될 수 있다. 예를 들어, 정보처리부(120) 및 센싱 스케줄러(130)는 하나의 프로세서에서 동작하는 소프트웨어의 일부로서 구현될 수 있다.3, the communication unit 110, the information processing unit 120, the sensing scheduler 130, and the sensing module 140, which are components of the data collection device 100 according to an embodiment of the present invention, are only logical. As a function block, this classification does not mean that hardware or software should always be implemented in a distinct form. For example, the communication unit 110, the information processing unit 120, the sensing scheduler 130, and the sensing module 140 may be implemented as part of a single piece of software operating on one processor. According to another embodiment, the communication unit 110, the information processing unit 120, the sensing scheduler 130, and the sensing module 140 are each implemented as separate hardware, and are combined to form the data collection device 100. It could be. In addition, according to another embodiment, two or more of the communication unit 110, the information processing unit 120, the sensing scheduler 130, and the sensing module 140 may be implemented together as part of one piece of hardware and/or software. . For example, the information processing unit 120 and the sensing scheduler 130 may be implemented as a part of software operating in one processor.

도 4는 본 발명의 일 실시예에 따른 센서 설정 파일의 형식을 예시한 것이다. 4 illustrates the format of a sensor configuration file according to an embodiment of the present invention.

먼저, 센서 설정 파일은 하나 또는 다수의 센서의 센서 설정 정보를 포함하는 형태로 구성될 수 있으며, 일 실시예에 의하면, 각 센서에 대한 설정 정보는 센서 이름, 데이터 수집 주기, 센싱 데이터, 데이터 전송 조건 중 어느 하나 이상을 포함하는 형태로 구성될 수 있다. 그 중 센싱 데이터는 하나 또는 다수의 데이터로 구성되며, 일 실시예에 의하면, 각 데이터 항목은 데이터 이름, 데이터 타입, 핀 번호, 데이터 센싱 조건, 데이터 수집 여부 중 어느 하나 이상을 포함하는 형태로 구성될 수 있다. First, the sensor setting file may be configured in a form including sensor setting information of one or a plurality of sensors, and according to an embodiment, the setting information for each sensor is a sensor name, data collection period, sensing data, and data transmission. It may be configured in a form including any one or more of the conditions. Among them, the sensing data is composed of one or a plurality of data, and according to an embodiment, each data item is composed of one or more of data name, data type, pin number, data sensing condition, and data collection. Can be.

본 발명의 일 실시예에서, 데이터 이름은 센싱 데이터를 구분하기 위한 구분자 역할을 수행하므로 동일 센서 내부에서는 중복을 허용하지 않는다. 데이터 타입은 센싱 데이터가 아날로그 데이터인지 디지털 데이터인지를 구분하며, 핀 번호는 해당 데이터가 센싱(sensing)될 핀 번호를 의미한다. 데이터 센싱 조건은 데이터가 수집되기 전 만족해야 하는 조건으로 해당 조건이 만족되지 않는 경우 해당 데이터는 센싱(sensing)되지 않는다. 데이터 수집 여부는 센싱된 데이터가 저장되어 서버로 전송될 데이터인지의 여부를 나타낸다.In an embodiment of the present invention, since the data name serves as a separator for distinguishing sensing data, duplication is not allowed within the same sensor. The data type distinguishes whether the sensing data is analog data or digital data, and the pin number indicates a pin number to which the corresponding data is to be sensed. The data sensing condition is a condition that must be satisfied before data is collected, and if the condition is not satisfied, the data is not sensed. Whether to collect data indicates whether the sensed data is stored and transmitted to the server.

도 5는 본 발명의 일 실시예에 따른 센서 설정 파일을 예시한 것이다. 5 illustrates a sensor configuration file according to an embodiment of the present invention.

도 5(a)는 도 1 및 3에 도시된 광센서(320)의 설정을 위한 센서 설정 파일을 예시한 것이다. 도 5(a)에 예시된 센서 설정 파일에 의하면, 조도 센서의 이름은 'Light Sensor'로 설정하며 센싱 주기는 100ms로 설정한다. 'lux'라는 이름의 아날로그 데이터를 아날로그 핀 1번에서 수집하며 단일 데이터로 데이터 간 우선순위가 없으므로 데이터 센싱 조건은 null로 설정한다. 수집된 'lux' 데이터를 저장하고 서버에 전송하기 위해 전송 여부는 'yes'로 설정되며 수집된 데이터는 항상 서버에 바로 전달되도록 데이터 전송 조건은 'always'로 설정한다.5(a) illustrates a sensor configuration file for setting the optical sensor 320 shown in FIGS. 1 and 3. According to the sensor configuration file illustrated in FIG. 5(a), the name of the illuminance sensor is set to'Light Sensor' and the sensing period is set to 100 ms. Analog data named'lux' is collected from analog pin 1, and since there is no priority between data as a single data, the data sensing condition is set to null. In order to save the collected'lux' data and send it to the server, the transmission or not is set to'yes', and the data transmission condition is set to'always' so that the collected data is always delivered directly to the server.

도 5(b)는 도 2에 수집된 데이터를 예시한 특수목적 센서의 설정을 위한 센서 설정 파일의 일 실시예이다. 도 5(b)에 예시된 센서 설정 파일에 의하면, 이름은 'Welding Sensor'로 설정하며 연속적인 데이터 수집이 필요함으로 센싱 주기를 1ms의 짧은 시간으로 설정한다. 센싱할 디지털 데이터는 도 2의 'Value Name'과 동일하게 설정하고 각각 다른 핀에 할당한다. 아날로그 데이터는 구간별로 서로 다른 의미를 가지게 됨으로 각각 'gas_feed', 'current', 'gas_after'로 설정하며 각 구간을 구분하기 위해 센싱 조건을 기재한다. 데이터는 연속적으로 수집되어 한번에 전송될 예정임으로 전송조건은 공정이 끝나는 시점인 'program_no' 값이 0이 되는 시점으로 설정한다.5(b) is an embodiment of a sensor configuration file for setting a special purpose sensor illustrating the data collected in FIG. 2. According to the sensor configuration file illustrated in Fig. 5(b), the name is set to'Welding Sensor' and since continuous data collection is required, the sensing period is set to a short time of 1 ms. The digital data to be sensed is set the same as the'Value Name' of FIG. 2 and assigned to different pins. Since analog data has different meanings for each section, it is set as'gas_feed','current', and'gas_after', respectively, and sensing conditions are described to distinguish each section. Since data is to be continuously collected and transmitted at one time, the transmission condition is set to the point when the'program_no' value, which is the point at which the process ends, becomes 0.

통신부(110)에서 상기 센서 설정 파일을 수신하면, 정보처리부(120)이 센서 설정 파일을 읽어, 각 센서별 데이터 센싱을 위한 센서 객체를 형성하는 파싱(parsing) 과정을 수행한다. 하나의 센서에 센싱(sensing)할 데이터가 복수 개 존재하는 경우에, 정보처리부(120)는 먼저 이들 데이터 사이에 센싱 순서를 결정하기 위하여 우선순위를 정하고, 이를 바탕으로 우선순위를 포함한 센서 객체를 생성한다.When the sensor setting file is received by the communication unit 110, the information processing unit 120 reads the sensor setting file and performs a parsing process of forming a sensor object for sensing data for each sensor. When there is a plurality of data to be sensed in one sensor, the information processing unit 120 first determines a priority to determine a sensing order between these data, and based on this, selects a sensor object including the priority. Generate.

도 6은 센서 설정 파일을 파싱(parsing)하는 과정에서, 하나의 센서에서 센싱(sensing)할 데이터가 복수 개 존재하는 경우에, 데이터 센싱의 순서 설정을 위한, 데이터들 사이의 우선순위를 결정하는 과정의 일 실시예를 도시한 것이다.FIG. 6 is a diagram illustrating a process of parsing a sensor configuration file, when a plurality of data to be sensed by one sensor exists, for setting the order of data sensing, determining the priority between data It shows one embodiment of the process.

도 6의 일 실시예의 의하면, (도 6의 좌측의) 센서 설정 파일에 기재된 데이터 중 선행 조건(pre-condition)이 없는 데이터(값이 null)의 우선순위를 최우선(priority 0)으로 설정하고, 다른 데이터들은 선행 조건에 명시된 데이터 중 priority 값이 가장 큰 데이터의 priority 값 + 1로 priority를 설정한다. 이를 도식화 하면, 도 6의 우측과 같은 계층구조를 가지는 그래프로 나타낼 수 있다.According to the embodiment of FIG. 6, the priority of data without a pre-condition (value is null) among the data written in the sensor configuration file (on the left of FIG. 6) is set as priority 0, For other data, priority is set as the priority value of the data with the largest priority value + 1 among the data specified in the prerequisite. Schematically, it can be represented by a graph having a hierarchical structure as shown on the right side of FIG. 6.

도 7은 본 발명의 일 실시예에 따른, 센서 설정 파일의 파싱 과정을 통하여 생성된 센서 객체를 예시한 것이다.7 is a diagram illustrating a sensor object created through a process of parsing a sensor configuration file according to an embodiment of the present invention.

도 7의 일 실시예에 따르면, 센서 객체는 센서 설정 파일에 기제된 센서 이름, 센싱 주기, 전송 조건을 저장할 수 있으며, 센싱 데이터 정보는 파싱 과정 중 생성된 데이터간 우선순위에 따라 최우선 순위의 데이터가 먼저 센싱(sensing)될 수 있도록 정렬되어 센싱 정보로 저장된다. 또한, 수집되어 서버로 전송될 데이터를 저장하기 위한 수집 데이터를 위한 저장 공간을 확보할 수 있다.According to the exemplary embodiment of FIG. 7, the sensor object may store a sensor name, a sensing period, and a transmission condition based on a sensor configuration file, and the sensing data information is data of the highest priority according to the priority between data generated during the parsing process. Is first sorted to be sensed and stored as sensing information. In addition, it is possible to secure a storage space for collected data for storing data to be collected and transmitted to the server.

정보처리부(120)에 의하여 센서 객체가 생성되면, 센싱 스케줄러(130)은 각 센서 객체의 데이터 수집 주기에 따라서 센싱 모듈(140)을 통하여 해당 센서로부터 센싱된 데이터를 수집한다. 본 발명의 일 실시예에 따르면, 센싱 스케줄러(130)은 타임스탬프(timestamp)를 우선 순위로 하는 우선 순위 큐(priority queue)에 의하여 센서 객체들의 센싱 과정을 제어할 수 있다. 즉, 각 센서 객체에 부여된 타임스탬프 값이 가장 작은 센서 객체를 우선적으로 선택하여, 이 센서로부터 센서 데이터를 수집하는 방식으로, 우선 순위 큐를 이용하여 센싱 과정을 제어할 수 있다.When a sensor object is generated by the information processing unit 120, the sensing scheduler 130 collects data sensed from the sensor through the sensing module 140 according to the data collection period of each sensor object. According to an embodiment of the present invention, the sensing scheduler 130 may control a sensing process of sensor objects using a priority queue with a timestamp as a priority. That is, a sensor object having the smallest timestamp value assigned to each sensor object is preferentially selected and sensor data is collected from the sensor, and the sensing process can be controlled using a priority queue.

도 8은 센싱 스케줄러(130)에서 센서 설정 파일로부터 생성된 센서 객체를 초기에 스케줄링(scheduling)하는 동작의 일 실시예를 도시한 것이다. FIG. 8 illustrates an embodiment of an operation of initially scheduling a sensor object generated from a sensor configuration file in the sensing scheduler 130.

도 8에 도시된 일 실시예에 따르면, 정보처리부(120)에 의하여 생성된 센서 객체들은 도 8과 같이 Timestamp 값이 0으로 설정되어 센싱 스케줄러(130)로 보내지며, 센싱 스케줄러(130)는 Timestamp 값이 낮은 센서 객체를 우선순위가 높은 것으로 판단하는 우선순위 큐로 보내진다. 이후, 우선순위 큐는 우선순위가 가장 높은 센서 객체를 큐에서 꺼내, 센서 객체의 센싱 정보 순서에 따라 데이터 센싱을 수행한다. 각 데이터를 센싱하는 과정에서 데이터 센싱 선행 조건이 만족하는 경우에만 데이터를 센싱하며, 선행 조건을 만족하지 않는 경우에는 데이터를 수집하지 않는다. 센싱된 데이터 중 수집되어 서버로 전송되어질 데이터는 수집된 시간과 함께 저장한 뒤, 데이터 전송 조건이 만족 되었는지 확인한다. 도 8과 같이 데이터 전송조건이 만족되지 않은 경우에는, Timestamp의 값을 현재시간의 Timestamp + (센서 객체의) 데이터 센싱 주기로 설정하여 다시 우선순위 큐에 넣는다. 이후의 과정은 도 8의 ②-⑤와 같이 센싱, 수집, 전송 조건 확인, 스케줄링의 순서를 반복하며 데이터를 수집한다.According to the exemplary embodiment illustrated in FIG. 8, the sensor objects generated by the information processing unit 120 are sent to the sensing scheduler 130 with a Timestamp value set to 0 as shown in FIG. 8, and the sensing scheduler 130 A sensor object with a low value is sent to the priority queue, which determines that it has a high priority. Thereafter, the priority queue pulls the sensor object having the highest priority from the queue, and performs data sensing according to the order of sensing information of the sensor object. In the process of sensing each data, data is sensed only when the data sensing prerequisites are satisfied, and data is not collected if the prerequisites are not satisfied. Among the sensed data, the data to be collected and transmitted to the server are stored together with the collected time, and then it is checked whether the data transmission conditions are satisfied. If the data transmission condition is not satisfied as shown in FIG. 8, the value of Timestamp is set as Timestamp of the current time + data sensing period (of the sensor object) and put back into the priority queue. The subsequent process repeats the sequence of sensing, collection, transmission condition check, and scheduling as shown in ②-⑤ of FIG. 8 to collect data.

도 9는 본 발명의 일 실시예에서, 센싱 스케줄러(130)의 스케줄링 동작에서 데이터 전송 조건이 만족한 경우에 스케줄링 동작을 도시한 것이다.9 illustrates a scheduling operation when a data transmission condition is satisfied in the scheduling operation of the sensing scheduler 130 according to an embodiment of the present invention.

도 9와 같이 데이터 전송 조건을 만족하는 경우에는, 수집된 데이터를 데이터 수집 서버로 전송한 뒤, 수집된 데이터를 초기화 하고 센서 스케줄링을 지속한다.When the data transmission condition is satisfied as shown in FIG. 9, the collected data is transmitted to the data collection server, the collected data is initialized, and sensor scheduling is continued.

본 발명에 따른 다중 센서 데이터 수집을 위한 센서 인터페이스 설정 및 센싱 스케줄링 방법 및 그 장치에 대하여 본원의 도면에 따라 상기와 같이 설명하였으나, 본 발명은 본원에 도시 및 설명된 구성 및 방법으로만 국한되는 것이 아니다. 본원에 개시된 것 이외의 다양한 서버, 데이터 수집 장치 및 센서가 본 발명의 구성으로 사용될 수 있고, 그 권리범위에 있어서도 본원에 개시된 구성 및 방법으로 한정되는 것이 아니다. 당해 기술분야의 통상의 기술자들은 본 발명이 추구하는 목적과 효과의 범위 내에서 다양한 변형 및 수정이 가능함을 이해할 것이다.Although the sensor interface setting and sensing scheduling method and apparatus for multi-sensor data collection according to the present invention have been described as described above according to the drawings of the present application, the present invention is limited to the configuration and method shown and described herein. no. Various servers, data collection devices, and sensors other than those disclosed herein may be used in the configuration of the present invention, and the scope of the rights is not limited to the configuration and method disclosed herein. Those skilled in the art will understand that various modifications and modifications are possible within the scope of the object and effect pursued by the present invention.

100: 데이터 수집 장치
200: 데이터 수집 서버
300: 센서
100: data acquisition device
200: data collection server
300: sensor

Claims (13)

센서로부터 데이터를 수집하는 장치에 있어서,
데이터 수집 서버로부터 센서 설정 파일을 수신하고, 센서로부터 수집한 데이터를 상기 데이터 수집 서버로 송신하는 통신부;
상기 센서 설정 파일로부터 센서 설정 정보를 파싱(parsing)하여 각 센서별 데이터 센싱을 위한 센서 객체를 생성하는 정보처리부; 및
각 센서 객체의 데이터 수집 주기에 따라 상기 센서로부터 데이터를 수집하는 스케줄러;를 포함하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
In the device for collecting data from the sensor,
A communication unit that receives a sensor setting file from a data collection server and transmits data collected from a sensor to the data collection server;
An information processing unit generating a sensor object for sensing data for each sensor by parsing sensor setting information from the sensor setting file; And
And a scheduler that collects data from the sensor according to the data collection period of each sensor object.
제1항에 있어서,
상기 센서 설정 파일은 각 센서에 대한 데이터 수집 주기, 센싱(sensing) 데이터 정보 및 데이터 전송 조건 중의 어느 하나 이상을 포함하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 1,
The sensor configuration file includes at least one of a data collection period for each sensor, sensing data information, and data transmission conditions.
제2항에 있어서,
상기 센싱(sensing) 데이터 정보는 데이터 이름, 데이터 타입, 핀 번호, 데이터 센싱 조건 및 데이터 수집여부 정보 중 어느 하나 이상을 포함하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 2,
The sensing data information includes at least one of a data name, a data type, a pin number, a data sensing condition, and data collection information.
제1항에 있어서,
상기 정보처리부는 센서 설정 파일에서 해당 센서에서 측정되는 데이터들을 각 데이터의 센싱(sensing) 선행 조건을 기초로 우선순위로 정렬하여 센서 객체를 생성하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 1,
The information processing unit generates a sensor object by arranging data measured by a corresponding sensor in a sensor configuration file in priority based on a sensing precondition of each data.
제4항에 있어서,
상기 정보처리부는 센서 설정 파일에 기재된 데이터 중 센싱 선행 조건이 없는 데이터의 우선순위를 최우선(0)으로 설정하고, 다른 데이터들은 선행 조건에 명시된 데이터 중 우선순위 값이 가장 큰 데이터의 우선순위 값에 1을 더한 값을 우선순위로 설정하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 4,
The information processing unit sets the priority of data that does not have a sensing prerequisite among the data written in the sensor configuration file as the highest priority (0), and the other data is the priority value of the data with the highest priority value among the data specified in the prerequisite. An apparatus for collecting data from a sensor, characterized in that setting a value plus 1 as a priority.
제1항에 있어서,
상기 스케줄러는 각 센서 객체 별로 설정된 타임스탬프(timestamp) 값에 따른 우선순위 큐(priority queue)에서 우선순위가 가장 높은 센서 객체를 선택하여 상기 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 1,
The scheduler selects a sensor object with the highest priority from a priority queue according to a timestamp value set for each sensor object, and senses data of a sensor corresponding to the sensor object. A device for collecting data from a sensor, characterized in that.
제6항에 있어서,
상기 스케줄러는 상기 우선순위 큐(queue)에 의하여 선택된 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)한 후에 그 센서 객체의 타임스탬프(timestamp)에 상기 센서 객체의 데이터 수집 주기를 더하여 우선순위 큐(queue)에 넣는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 6,
The scheduler senses the data of the sensor corresponding to the sensor object selected by the priority queue, and then adds the data collection period of the sensor object to a timestamp of the sensor object, and the priority queue Device for collecting data from a sensor, characterized in that put in (queue).
제1항에 있어서,
상기 센서가 상기 장치에 연결되면, 상기 장치는 상기 센서로부터 상기 센서에 대한 정보를 수신하고, 상기 센서에 대한 정보에 기초하여 데이터 수집 서버로 센서 설정 파일을 요청하는 것을 특징으로 하는 센서로부터 데이터를 수집하는 장치.
The method of claim 1,
When the sensor is connected to the device, the device receives information on the sensor from the sensor, and requests a sensor configuration file to a data collection server based on the information on the sensor. Device to collect.
센서로부터 데이터를 수집하는 데이터 수집 장치의 동적 인터페이스 설정 및 스케줄링 방법에 있어서,
데이터 수집 서버로부터 센서 설정 정보가 기재된 센서 설정 파일을 수신하는 설정 파일 수신 단계;
상기 수신한 상기 센서 설정 파일을 파싱(parsing)하여 데이터 센싱을 위한 센서 객체를 생성하는 파싱(parsing) 단계;
각 센서 객체의 데이터 수집 주기에 맞추어 데이터를 수집할 수 있도록 각 센서의 데이터 수집을 스케줄링(scheduling)하는 스케줄링 단계; 및
상기 수집한 센서 데이터를 데이터 수집 서버로 송신하는 데이터 송신 단계를 포함하는 것을 특징으로 하는 방법.
In the method for setting and scheduling a dynamic interface of a data collection device for collecting data from a sensor,
A configuration file receiving step of receiving a sensor configuration file including sensor configuration information from a data collection server;
A parsing step of generating a sensor object for data sensing by parsing the received sensor configuration file;
A scheduling step of scheduling data collection of each sensor so that data can be collected according to the data collection period of each sensor object; And
And a data transmission step of transmitting the collected sensor data to a data collection server.
제9항에 있어서,
상기 파싱 단계는 상기 센서 설정 파일에서 해당 센서에서 측정되는 데이터들을 각 데이터의 센싱(sensing) 선행 조건을 기초로 우선순위로 정렬하여 센서 객체를 생성하는 것을 특징으로 하는 방법.
The method of claim 9,
The parsing step comprises generating a sensor object by sorting data measured by a corresponding sensor in the sensor configuration file in priority based on a sensing prerequisite for each data.
제9항에 있어서,
상기 스케줄링 단계는 각 센서 객체 별로 설정된 타임스탬프(timestamp) 값에 따른 우선순위 큐(priority queue)에서 우선순위가 가장 높은 센서 객체를 선택하여 상기 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)하는 것을 특징으로 하는 방법.
The method of claim 9,
In the scheduling step, a sensor object with the highest priority is selected from a priority queue according to a timestamp value set for each sensor object, and the sensor data corresponding to the sensor object is sensed. The method characterized in that.
제11항에 있어서,
상기 스케줄링 단계는 상기 우선순위 큐(queue)에 의하여 선택된 센서 객체에 해당하는 센서의 데이터를 센싱(sensing)한 후에 그 센서 객체의 타임스탬프(timestamp)에 상기 센서 객체의 데이터 수집 주기를 더하여 우선순위 큐(queue)에 넣는 것을 특징으로 하는 방법.
The method of claim 11,
The scheduling step is prioritized by sensing data of a sensor corresponding to a sensor object selected by the priority queue and then adding a data collection period of the sensor object to a timestamp of the sensor object. A method characterized by putting in a queue.
제9항에 있어서,
상기 센서가 상기 데이터 수집 장치에 연결되면, 상기 데이터 수집 장치는 상기 센서로부터 상기 센서에 대한 정보를 수신하고, 상기 센서에 대한 정보에 기초하여 데이터 수집 서버로 센서 설정 파일을 요청하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
The method of claim 9,
When the sensor is connected to the data collection device, the data collection device receives information on the sensor from the sensor, and requests a sensor configuration file from the data collection server based on the information on the sensor. Method comprising the.
KR1020190079087A 2019-07-02 2019-07-02 Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof KR102145556B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190079087A KR102145556B1 (en) 2019-07-02 2019-07-02 Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190079087A KR102145556B1 (en) 2019-07-02 2019-07-02 Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof

Publications (1)

Publication Number Publication Date
KR102145556B1 true KR102145556B1 (en) 2020-08-18

Family

ID=72291894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190079087A KR102145556B1 (en) 2019-07-02 2019-07-02 Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof

Country Status (1)

Country Link
KR (1) KR102145556B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118950A (en) * 2011-03-18 2011-06-16 Hitachi Ltd Sensor network system and method for searching sensor data
KR20130096617A (en) * 2012-02-22 2013-08-30 한국외국어대학교 연구산학협력단 Method and apparatus for processing vehicle information via multiple sensors
KR20140108531A (en) 2011-12-19 2014-09-11 마이크로소프트 코포레이션 Sensor fusion interface for multiple sensor input
KR20150054005A (en) * 2011-02-03 2015-05-19 노키아 코포레이션 Method and apparatus for providing context-aware control of sensors and sensor data
KR20160136872A (en) * 2015-05-21 2016-11-30 삼성전자주식회사 Wireless charging Apparatus and electronic device using the same
JP2018036991A (en) * 2016-09-02 2018-03-08 株式会社日立製作所 Sensor data search system, sensor data search method, and management computer
WO2018123857A1 (en) * 2016-12-28 2018-07-05 日本電信電話株式会社 Sensing system and time synchronization method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150054005A (en) * 2011-02-03 2015-05-19 노키아 코포레이션 Method and apparatus for providing context-aware control of sensors and sensor data
JP2011118950A (en) * 2011-03-18 2011-06-16 Hitachi Ltd Sensor network system and method for searching sensor data
KR20140108531A (en) 2011-12-19 2014-09-11 마이크로소프트 코포레이션 Sensor fusion interface for multiple sensor input
KR20130096617A (en) * 2012-02-22 2013-08-30 한국외국어대학교 연구산학협력단 Method and apparatus for processing vehicle information via multiple sensors
KR20160136872A (en) * 2015-05-21 2016-11-30 삼성전자주식회사 Wireless charging Apparatus and electronic device using the same
JP2018036991A (en) * 2016-09-02 2018-03-08 株式会社日立製作所 Sensor data search system, sensor data search method, and management computer
WO2018123857A1 (en) * 2016-12-28 2018-07-05 日本電信電話株式会社 Sensing system and time synchronization method

Similar Documents

Publication Publication Date Title
US10061281B2 (en) Controller support device, method, and recording medium
EP3379358B1 (en) Control system, control device, control program, and control method
US9984244B2 (en) Controller, information processing apparatus, and recording medium
US10452048B2 (en) Control system and control device
US20220244697A1 (en) Control system, setting device, and computer-readable storage medium
US10735520B2 (en) Control device, control system, control method, and non-transitory computer-readable storage medium
CN111625269A (en) Web-based universal Spark task submission system and method
US10558191B2 (en) Generation and publication of shared tagsets
JP6157523B2 (en) Data collection device, relay device, and data collection system
CN112612239A (en) Programmable logic controller
US11448700B2 (en) Operation data collection system, operation data collection method, and information storage medium
KR102145556B1 (en) Sensor Interface Configuration and Sensing Scheduling Method for Multi-Sensor Data Acquisition and Devices Thereof
US11314219B2 (en) Information device, terminal device and recording medium
CN104376093B (en) A kind of video file searching method and device
US11550286B2 (en) Control apparatus, monitoring method, and monitoring program
CN102215376A (en) Monitoring system and data transmission device and method
CN112579675A (en) Data processing method and device
CN114896168A (en) Rapid debugging system, method and memory for automatic driving algorithm development
KR101594629B1 (en) System and method for controlling steel processing
US8065114B2 (en) Ubiquitous monitoring system
CN118301818A (en) Light source autonomous positioning measurement method, device and computer readable storage medium
KR20180094633A (en) Method for identifying state of device
CN118250119B (en) Industrial communication monitoring method and device, intelligent master station and computer storage medium
US11553325B2 (en) Communication system for monitoring process units
CN117938944A (en) Communication method and device for realizing dynamic connection of electronic devices

Legal Events

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