KR20240008287A - Method for self recovery of iot device - Google Patents

Method for self recovery of iot device Download PDF

Info

Publication number
KR20240008287A
KR20240008287A KR1020230197106A KR20230197106A KR20240008287A KR 20240008287 A KR20240008287 A KR 20240008287A KR 1020230197106 A KR1020230197106 A KR 1020230197106A KR 20230197106 A KR20230197106 A KR 20230197106A KR 20240008287 A KR20240008287 A KR 20240008287A
Authority
KR
South Korea
Prior art keywords
iot device
sensor
processor
perform
self
Prior art date
Application number
KR1020230197106A
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 ㈜에셈블
Publication of KR20240008287A publication Critical patent/KR20240008287A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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

Abstract

일 실시예에 따른 IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다. 다른 실시예들도 가능하다.An IoT device according to an embodiment includes a sensor, a diagnostic circuit, a memory, and a processor operatively coupled to the sensor, the diagnostic circuit, and the memory, wherein the processor performs self-checking within the sensor. perform a test to identify whether a feature is available, and in response to identifying that the self-check feature is not available, drive diagnostic circuitry to perform a test on the sensor, and perform a check using the diagnostic circuit. For this purpose, it may be configured to perform scheduling and perform inspection of the sensor through the diagnostic circuit based on the scheduling. Other embodiments are also possible.

Description

IoT 디바이스의 자가 복구 방법 및 그 전자 장치{METHOD FOR SELF RECOVERY OF IOT DEVICE } Self-recovery method of IoT device and its electronic device {METHOD FOR SELF RECOVERY OF IOT DEVICE }

아래의 설명들은, IoT 디바이스의 자가 복구 방법 및 그 전자 장치에 관한 것이다.The descriptions below relate to the self-recovery method of an IoT device and its electronic devices.

최근 가장 이슈가 되는 사물인터넷(Internet of Things, IoT)이 발달하면서 다양한 사물 인터넷 서비스들이 제공되고 있다. 사물인터넷이란 세상에서 존재하는 모든 사물(things)을 네트워크로 연결해 인간과 사물, 사물과 사물 간에 언제 어디서나 서로 소통할 수 있도록 하는 새로운 정보통신 기반이라고 정의할 수 있다. 이러한 사물인터넷의 핵심은 사용자들에게 실시간으로 디바이스의 데이터를 분석하여 그에 맞는 자동화된 서비스를 제공하는 것이라고 할 수 있다.With the recent development of the Internet of Things (IoT), a hot topic, various Internet of Things services are being provided. The Internet of Things can be defined as a new information and communication base that connects all things existing in the world through a network to enable communication between humans and objects, and between objects, anytime and anywhere. The core of the Internet of Things is to analyze device data in real time and provide automated services to users.

사물인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술이다. 즉, 사물인터넷은 무선 통신을 통해 각종 사물을 연결하는 기술을 의미한다. 여기서, 사물이란 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템이 된다. 정보 기술 연구 및 자문회사 가트너에 따르면 사물인터넷 기술을 사용하는 사물의 개수는 2020년까지 이 수가 260억 개에 이를 것으로 예상된다. 이와 같이 많은 사물이 연결되면 인터넷을 통해 방대한 데이터가 모이게 되는데, 이렇게 모인 데이터는 기존 기술로 분석하기 힘들 정도로 방대하다. 이것을 빅 데이터라고 부른다. The Internet of Things (abbreviated as IoT) is a technology that connects various objects to the Internet by embedding sensors and communication functions. In other words, the Internet of Things refers to a technology that connects various objects through wireless communication. Here, objects are various embedded systems such as home appliances, mobile equipment, and wearable devices. According to Gartner, an information technology research and advisory company, the number of objects using IoT technology is expected to reach 26 billion by 2020. When many things are connected like this, a huge amount of data is collected through the Internet, and the collected data is so vast that it is difficult to analyze with existing technology. This is called big data.

한편, 종래의 IoT 디바이스는 다양한 임무를 수행하고 일정 시간 동안 데이터를 센싱하고 센싱된 데이터를 네트워크를 통해 송수신한다. 종래의 IoT 디바이스는 자가복구 기능 및 상태점검 기능이 없으며, 이에 따라, 유지관리에 많은 시간과 비용이 발생할 수 있다. Meanwhile, conventional IoT devices perform various tasks, sense data for a certain period of time, and transmit and receive the sensed data through a network. Conventional IoT devices do not have self-recovery functions and status check functions, and as a result, maintenance can take a lot of time and money.

본 발명의 실시예들은 자가복구 기능 및 상태점검 기능이 부족한 종래의 IoT 디바이스의 문제를 해결하여 IoT 디바이스를 현장에 설치한 후 유지관리를 위한 시간과 비용을 절감하기 위한, IoT 디바이스 헬스 인덱스 및 자가복구 방법 및 장치를 제공하고자 한다.Embodiments of the present invention solve the problems of conventional IoT devices that lack self-recovery functions and health check functions, and provide IoT device health index and self-service to reduce time and cost for maintenance after installing IoT devices in the field. The purpose is to provide a recovery method and device.

다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위의 환경에서도 다양하게 확장될 수 있을 것이다.However, the problem to be solved by the present invention is not limited to this, and may be expanded in various environments without departing from the spirit and scope of the present invention.

일 실시예에 따른 IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다.An IoT device according to an embodiment includes a sensor, a diagnostic circuit, a memory, and a processor operatively coupled to the sensor, the diagnostic circuit, and the memory, wherein the processor performs self-checking within the sensor. perform a test to identify whether a feature is available, and in response to identifying that the self-check feature is not available, drive diagnostic circuitry to perform a test on the sensor, and perform a check using the diagnostic circuit. For this purpose, it may be configured to perform scheduling and perform inspection of the sensor through the diagnostic circuit based on the scheduling.

일 실시예에 따른 IoT 디바이스의 자가복구 방법은, IoT 디바이스에 포함된 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하는 동작과, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하는 동작과, 상기 진단 회로를 이용한 자가 점검을 위한 스케줄링을 수행하는 동작과, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하는 동작을 포함할 수 있다.A self-repair method for an IoT device according to an embodiment includes performing a test to identify whether the self-check function in a sensor included in the IoT device is available, and identifying that the self-check function is not available. In response, an operation of driving a diagnostic circuit to perform a test on the sensor, an operation of performing scheduling for self-inspection using the diagnostic circuit, and an operation of performing scheduling for a self-check using the diagnostic circuit, based on the scheduling, It may include an operation to perform a check.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment must include all of the following effects or only the following effects, the scope of rights of the disclosed technology should not be understood as being limited thereby.

본 발명의 실시예들은 자가복구 기능 및 상태점검 기능이 부족한 종래의 IoT 디바이스의 문제를 해결하여 IoT 디바이스를 현장에 설치한 후 유지관리를 위한 시간과 비용을 절감할 수 있다.Embodiments of the present invention can solve the problems of conventional IoT devices that lack self-recovery functions and status check functions, thereby reducing the time and cost for maintenance after installing IoT devices in the field.

본 발명의 실시예들은 IoT 디바이스 내부에 자가점검 알고리즘을 내장하여 하드웨어 상태, 소프트웨어 상태 및 네트워크 상태를 점검하여 원인에 대한 이벤트를 발생하고 자가복구 및 복구 메시지 전송, 에너지 절약 모드로 전환 등의 처리를 스스로 수행할 수 있다. Embodiments of the present invention embed a self-check algorithm inside the IoT device to check the hardware status, software status, and network status to generate an event for the cause and perform processing such as self-recovery and recovery message transmission, and switching to energy saving mode. You can do it yourself.

도 1은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 센서 상태 모니터링 과정을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 전원 상태 모니터링 과정을 나타낸 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 소프트웨어 상태 모니터링을 위한 와치독 타이머와 소프트웨어 상태 모니터링 과정을 나타낸 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 네트워크 모니터링 과정을 나타낸 도면이다. 도 5 및 도 6은 A-A 및 B-B로 연결되어 있다.
도 7은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 장치의 구성도이다.
Figure 1 is a diagram showing the sensor status monitoring process in the IoT device health index and self-recovery method according to an embodiment of the present invention.
Figure 2 is a diagram showing the power status monitoring process in the IoT device health index and self-recovery method according to an embodiment of the present invention.
Figures 3 and 4 are diagrams showing a watchdog timer for software state monitoring and a software state monitoring process in the IoT device health index and self-recovery method according to an embodiment of the present invention.
Figures 5 and 6 are diagrams showing a network monitoring process in the IoT device health index and self-recovery method according to an embodiment of the present invention. Figures 5 and 6 are connected by AA and BB.
Figure 7 is a configuration diagram of an IoT device health index and self-recovery device according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can be modified in various ways and can have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and may be understood to include all transformations, equivalents, and substitutes included in the technical idea and scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various components, but the components are not limited by the terms. Terms are used only to distinguish one component from another.

본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. The terms used in the present invention are general terms that are currently widely used as much as possible while considering the functions in the present invention, but this may vary depending on the intention of a person skilled in the art, precedents, or the emergence of new technology. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the relevant invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than simply the name of the term.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. In the present invention, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, identical or corresponding components will be assigned the same drawing numbers and redundant description thereof will be omitted. do.

도 1은 본 발명의 일 실시예에 따른 IoT 디바이스에서 자가 복구를 수행하는 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a method of performing self-recovery in an IoT device according to an embodiment of the present invention.

도 1을 참조하면, 단계 S101에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로, 테스트 수행을 요청하는 제어 신호를 송신할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 지정된 주기마다 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 자가 점검 요청 신호를 외부 전자 장치로부터 수신한 경우, 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다.Referring to FIG. 1, in step S101, the IoT device may perform a test to determine whether the self-inspection function of the sensor included in the IoT device is available. For example, an IoT device may transmit a control signal requesting test performance to a sensor included in the IoT device. According to one embodiment, the IoT device may perform a test to determine whether the sensor's self-inspection function is available at specified intervals. According to one embodiment, when an IoT device receives a self-inspection request signal from an external electronic device, it may perform a test to determine whether the sensor's self-inspection function is available.

단계 S103에서, IoT 디바이스는, 테스트 수행 결과에 기반하여 IoT 디바이스에 포함된 센서의 자가 점검 기능이 이용 가능한지 여부를 판단할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로 테스트 수행을 요청하는 제어 신호를 송신한 이후 지정된 시간 내에 센서로부터 응답 신호가 수신된 경우, 센서의 자가 점검 기능이 이용 가능한 것으로 판단할 수 있다. 다른 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로 테스트 수행을 요청하는 제어 신호를 송신한 이후 지정된 시간 내에 센서로부터 응답 신호가 수신되지 않는 경우, 센서의 자가 점검 기능이 이용 불가능한 것으로 판단할 수 있다. IoT 디바이스는, 센서의 자가 점검 기능이 이용한 경우, 단계 S105를 수행하고, 센서의 자가 점검 기능을 이용할 수 없는 경우, 단계 S107을 수행할 수 있다.In step S103, the IoT device may determine whether the self-inspection function of the sensor included in the IoT device is available based on the test performance results. For example, an IoT device may determine that the sensor's self-check function is available if a response signal is received from the sensor within a specified time after transmitting a control signal requesting test performance to a sensor included in the IoT device. there is. For another example, if a response signal is not received from the sensor within a specified time after transmitting a control signal requesting test performance to a sensor included in the IoT device, the IoT device determines that the sensor's self-check function is unavailable. can do. The IoT device may perform step S105 if the sensor's self-check function is used, and may perform step S107 if the sensor's self-check function cannot be used.

단계 S105에서, IoT 디바이스는, 센서의 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 센서 자가 점검 기능을 이용하여 센서에 대한 점검을 수행할 수 있다. 예를 들어, IoT 디바이스는, 센서로부터 자가 점검 결과를 지시하는 신호(예: 정상/비정상)를 수신함으로써, 센서의 상태를 식별할 수 있다. In step S105, the IoT device may perform a check on the sensor using the sensor self-check function, in response to identifying that the sensor's self-check function is available. For example, an IoT device can identify the state of a sensor by receiving a signal (e.g., normal/abnormal) indicating a self-inspection result from the sensor.

단계 S107에서, IoT 디바이스는, 센서의 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 진단 회로를 구동시킬 수 있다. At step S107, the IoT device may drive diagnostic circuitry in response to identifying that the sensor's self-check function is unavailable.

단계 S109에서, IoT 디바이스는, 진단 회로를 통해 센서를 점검하기 위해 스케줄링을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스가 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 센서가 진단 회로로부터 테스트 신호를 수신하는 타이밍, 센서가 테스트 신호에 대한 응답 신호를 진단 회로에게 송신하는 타이밍, 및 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 진단 회로로부터 수신하는 타이밍을 할당할 수 있다. IoT 디바이스는, 스케줄링을 수행한 것에 응답하여, 스케줄링 정보를 진단 회로로 제공하고, 스케줄링에 따라, 테스트 요청 신호를 진단 회로로 송신할 수 있다. 진단 회로는, IoT 디바이스로부터 테스트 요청 신호가 수신되면, 스케줄링 정보에 기반하여, 센서에 대한 테스트를 수행할 수 있다.In step S109, the IoT device may perform scheduling to check the sensor through a diagnostic circuit. For example, the IoT device includes the timing at which the IoT device transmits a test request signal to the diagnostic circuit, the timing at which the sensor receives the test signal from the diagnostic circuit, the timing at which the sensor transmits a response signal to the test signal to the diagnostic circuit, And the timing at which the IoT device receives a signal indicating the test inspection result from the diagnostic circuit can be assigned. In response to performing scheduling, the IoT device may provide scheduling information to the diagnostic circuit and transmit a test request signal to the diagnostic circuit according to the scheduling. When a test request signal is received from an IoT device, the diagnostic circuit may perform a test on the sensor based on scheduling information.

단계 S111에서, IoT 디바이스는, 진단 회로로부터 수신된 테스트 점검 결과를 지시하는 신호(예: 정상/비정상)에 기반하여 센서에 대한 점검을 수행할 수 있다. 예를 들어, IoT 디바이스는, 진단 회로로부터 점검 결과를 지시하는 신호(예: 정상/비정상)를 수신함으로써, 센서의 상태를 식별할 수 있다. In step S111, the IoT device may perform an inspection of the sensor based on a signal indicating a test inspection result (e.g., normal/abnormal) received from the diagnostic circuit. For example, an IoT device can identify the state of a sensor by receiving a signal indicating an inspection result (e.g., normal/abnormal) from a diagnostic circuit.

단계 S113에서, IoT 디바이스는, 센서 점검 결과에 대응하는 동작을 수행할 수 있다. 예를 들어, IoT 디바이스는, 센서의 상태가 제1 상태(예: 정상 상태)인 경우, 점검 기능을 종료할 수 있다. 다른 예를 들어, IoT 디바이스는 센서의 상태가 제2 상태(예: 비정상 상태)인 경우, 센서에 대한 리셋(reset)(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다. 또 다른 예를 들어, IoT 디바이스는, 센서의 상태가 제2 상태인 경우, IoT 디바이스의 구성 요소들 중 적어도 일부에 대한 리셋(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 센서에 대한 리셋을 수행한 후 센서의 상태를 식별하는 동작들(예: 동작 101 내지 동작 111)을 재수행하고, 리셋 이후에도 센서의 상태가 제2 상태인 경우, IoT 디바이스의 운용자에게 IoT 디바이스(또는 센서)가 이상 상태임을 알리기 위해, 기 설정된 외부 전자 장치로 알림을 제공할 수 있다. In step S113, the IoT device may perform an operation corresponding to the sensor inspection result. For example, the IoT device may end the inspection function when the state of the sensor is in the first state (eg, normal state). As another example, the IoT device may perform a reset (e.g., software reset and/or hardware reset) on the sensor when the state of the sensor is in a second state (e.g., abnormal state). As another example, when the state of the sensor is in the second state, the IoT device may perform a reset (eg, software reset and/or hardware reset) on at least some of the components of the IoT device. According to one embodiment, after performing a reset on the sensor, the IoT device re-performs operations (e.g., operations 101 to 111) that identify the state of the sensor, and if the state of the sensor is in the second state even after the reset. , In order to notify the operator of the IoT device that the IoT device (or sensor) is in an abnormal state, a notification can be provided to a preset external electronic device.

상술한 바와 같이, IoT 디바이스는, IoT 디바이스에 포함된 센서의 상태를 식별하고, 센서의 상태가 이상 상태인 경우, 자가복구를 위해, 센서에 대한 리셋을 수행할 수 있다. 이에 따라, IoT 디바이스의 유지관리를 위한 시간과 비용이 절감될 수 있다. As described above, the IoT device can identify the state of the sensor included in the IoT device and, if the sensor is in an abnormal state, reset the sensor for self-recovery. Accordingly, time and cost for maintenance of IoT devices can be reduced.

도 2는 본 발명의 일 실시예에 따른 IoT 디바이스가 전원 상태에 기반하여 전송 상태를 제어하는 방법을 설명하기 위한 흐름도이다.Figure 2 is a flowchart illustrating a method by which an IoT device controls transmission status based on power status according to an embodiment of the present invention.

도 2를 참조하면, 동작 201에서, IoT 디바이스는, 제1 전지의 전압을 식별할 수 있다. 예를 들어, IoT 디바이스는, 지정된 주기마다 제1 전지의 전압을 측정할 수 있다. 다른 예를 들어, IoT 디바이스는, 전지의 전압 측정을 요청하는 신호를 외부 전자 장치로부터 수신한 것에 응답하여, 제1 전지의 전압을 측정할 수 있다.Referring to FIG. 2, in operation 201, the IoT device may identify the voltage of the first battery. For example, the IoT device can measure the voltage of the first battery at designated periods. For another example, the IoT device may measure the voltage of the first battery in response to receiving a signal requesting measurement of the voltage of the battery from an external electronic device.

동작 203에서, IoT 디바이스는, 제1 전지의 전압을 측정한 것에 응답하여, 제1 전지의 전압이 제1 전압 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 제1 전지의 전압이 제1 전압 미만인 경우, 동작 205를 수행하고, 제1 저지의 전압이 제1 전압 이상인 경우, 동작 201을 재수행할 수 있다.In operation 203, the IoT device may determine whether the voltage of the first battery is less than the first voltage, in response to measuring the voltage of the first battery. If the voltage of the first battery is less than the first voltage, the IoT device may perform operation 205, and if the first blocking voltage is greater than or equal to the first voltage, the IoT device may perform operation 201 again.

동작 205에서, IoT 디바이스는, 제1 전지의 전압이 제1 전압 미안임을 식별한 것에 응답하여, 제2 전지의 전압을 측정할 수 있다. At operation 205, the IoT device may measure the voltage of the second battery in response to identifying that the voltage of the first battery is below the first voltage.

동작 207에서, IoT 디바이스는, 제2 전지의 전압을 측정한 것에 응답하여, 제2 전지의 전압이 제2 전압 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 제2 전지의 전압이 제2 전압 이상인 경우, 동작 205를 재수행하고, 제2 전지의 전압이 제2 전압 미만인 경우, 동작 209를 수행할 수 있다.At operation 207, the IoT device may determine whether the voltage of the second battery is less than the second voltage in response to measuring the voltage of the second battery. If the voltage of the second battery is higher than the second voltage, the IoT device may re-perform operation 205, and if the voltage of the second battery is lower than the second voltage, the IoT device may perform operation 209.

동작 209에서, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 변경할 수 있다. 예를 들어, IoT 디바이스는 IoT 디바이스의 전송 속도를 제1 속도에서 제1 속도보다 낮은 제2 속도로 변경시킬 수 있다. At operation 209, the IoT device may change its transmission rate in response to identifying that the voltage of the second battery is below the second voltage. For example, the IoT device may change the transmission speed of the IoT device from a first speed to a second speed that is lower than the first speed.

*동작 211에서, IoT 디바이스는, IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 메모리의 잔여 용량이 기준 용량 이상인 경우, 동작 205을 재수행하고, 메모리의 잔여 용량이 기준 용량 미만인 경우, 동작 213을 수행할 수 있다.*In operation 211, the IoT device may determine whether the remaining capacity of the IoT device's memory is less than the reference capacity. If the remaining capacity of the memory is greater than or equal to the standard capacity, the IoT device may re-perform operation 205, and if the remaining capacity of the memory is less than the standard capacity, the IoT device may perform operation 213.

동작 213에서, IoT 디바이스는, 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 주기를 변경하고, 센서값 저장을 우회(bypass)할 수 있다. 예를 들어, IoT 디바이스는, 전송 주기를 제1 주기에서 제1 주기보다 짧은 제2 주기로 조정하고, 센서로부터 획득되는 센서값을 메모리에 저장하는 동작을 우회할 수 있다. 다른 예를 들어, IoT 디바이스는, 전송 주기를 제2 주기에서 제1 주기로 조정하고, 센서로부터 획득되는 센서값을 메모리에 저장하는 동작을 우회할 수 있다.In operation 213, the IoT device may change the transmission cycle of the IoT device and bypass storing sensor values in response to identifying that the remaining capacity of the memory is less than the reference capacity. For example, the IoT device may adjust the transmission period from the first period to the second period, which is shorter than the first period, and bypass the operation of storing the sensor value obtained from the sensor in the memory. For another example, the IoT device may adjust the transmission cycle from the second cycle to the first cycle and bypass the operation of storing sensor values obtained from the sensor in memory.

이상에서는, IoT 디바이스가, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 변경시키는 것으로 설명하였으나, 일 실시예에 따르면, IoT 디바이스는, IoT 디바이스에 포함된 센서의 측정 주기를 변경시킬 수도 있다. 예를 들어, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도는 유지하고, 센서의 측정 주기를 제1 주기에서 제1 주기보다 낮은 제2 주기로 변경시킬 수 있다. 다른 예를 들어, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 제1 속도에서 제2 속도로 변경시키고, 센서의 측정 주기를 제1 주기에서 제2 주기로 변경시킬 수 있다. In the above, the IoT device has been described as changing the transmission speed of the IoT device in response to identifying that the voltage of the second battery is less than the second voltage. However, according to one embodiment, the IoT device is included in the IoT device. You can also change the measurement cycle of the sensor. For example, in response to identifying that the voltage of the second cell is below the second voltage, the IoT device may maintain the transmission rate of the IoT device and change the measurement period of the sensor from the first period to a second period that is lower than the first period. It can be changed periodically. For another example, the IoT device, in response to identifying that the voltage of the second cell is below the second voltage, changes the transmission rate of the IoT device from the first rate to the second rate and changes the measurement period of the sensor to the first rate. You can change from cycle to second cycle.

상술한 바와 같이, IoT 디바이스는, 전지의 상태를 모니터링하고, 전지의 상태에 기반하여, IoT 디바이스의 전송 상태를 변경시킴으로써, 전지의 전압이 저하된 상태에서도, 기 설정된 기능을 수행(또는 제공)할 수 있다.As described above, the IoT device monitors the state of the battery and changes the transmission state of the IoT device based on the state of the battery, thereby performing (or providing) a preset function even when the battery voltage is lowered. can do.

도 3 및 도 4는 본 발명의 일 실시예에 따른 IoT 디바이스의 소프트웨어 상태 모니터링을 위한 와치독 타이머와 소프트웨어 상태 모니터링 과정을 나타낸 도면이다.3 and 4 are diagrams showing a watchdog timer and a software status monitoring process for monitoring the software status of an IoT device according to an embodiment of the present invention.

IoT 디바이스는 다양한 임무(제어 및 모니텅)를 수행한다. 다양한 임무를 수행하기 위해 펌웨어가 IoT 디바이스 내부에 적재되고 순차적으로 실행된다. IoT devices perform various tasks (control and monitoring). To perform various tasks, firmware is loaded inside the IoT device and executed sequentially.

그러나 프로그래머의 실수 또는 컴파일러 오류 등의 이유로 오류가 발생하게 된다. 하지만, 현장에 설치된 IoT 디바이스의 경우, 점검을 위한 접근의 원활하지 않은 경우가 많으며, 유지보수를 위한 시간과 비용이 많이 소비되는 부분이 있다.However, errors may occur due to programmer mistakes or compiler errors. However, in the case of IoT devices installed in the field, access for inspection is often difficult, and maintenance requires a lot of time and cost.

이를 해결하기 위해, IoT 디바이스는 셀프 타이머를 구동하여 정상적인 루틴 수행이 이루어지지 않으면, 자기 스스로를 리셋하여 처음부터 임무를 수행한다. IoT 디바이스는 셀프 리셋을 위한 와치독 타이머(WDT(Watchdog Timer))를 이용하고, 이를 활용한 셀프 리셋 과정을 시도한다. 도 3에는 와치독 타이머가 도시되어 있다. To solve this problem, IoT devices run a self-timer and if normal routine performance is not achieved, they reset themselves and perform the task from the beginning. IoT devices use a watchdog timer (WDT (Watchdog Timer)) for self-reset and attempt a self-reset process using this. Figure 3 shows a watchdog timer.

마이크로 컨트롤러 유닛(MCU(micro controller unit)(100)은 CPU(110), 와치독 타이머(120), 및 클럭(130)을 포함할 수 있다. 와치독 타이머(120)가 만료되면, 와치독 타이머(120)는 CPU(110)로 리셋 명령을 송신하며, CPU(110)는 리셋 명령을 수신한 것에 응답하여 리셋 동작을 수행할 수 있다. A microcontroller unit (MCU) 100 may include a CPU 110, a watchdog timer 120, and a clock 130. When the watchdog timer 120 expires, the watchdog timer 120 120 transmits a reset command to CPU 110, and CPU 110 may perform a reset operation in response to receiving the reset command.

도 4에 도시된 바와 같이, 단계 S301에서, IoT 디바이스는 IoT 디바이스의 소프트웨어 상태에 대해 리셋을 수행할 수 있다. As shown in FIG. 4, in step S301, the IoT device may perform a reset on the software state of the IoT device.

단계 S302에서, IoT 디바이스는 일정 기간(예: 100ms) 동안 신호를 대기할 수 있다. In step S302, the IoT device may wait for a signal for a certain period of time (e.g., 100 ms).

단계 S303에서, IoT 디바이스는 신호가 수신되는지 여부를 결정할 수 있다. IoT 디바이스는, 신호가 수신되지 않는 경우, 단계 S304를 수행하고, 신호가 수신되는 경우, 단계 S305를 수행할 수 있다. In step S303, the IoT device can determine whether a signal is received. The IoT device may perform step S304 if the signal is not received, and may perform step S305 if the signal is received.

단계 S304에서, IoT 디바이스는 일정 기간 내에 신호가 수신되지 않음을 식별한 것에 응답하여, 와치독 타이머(120)가 만료되었는지 여부를 결정할 수 있다. IoT 디바이스는, 와치독 타이머(120)가 만료된 경우, 단계 S301을 재수행하고, 와치독 타이머(120)가 만료되지 않은 경우, 단계 S302를 재수행할 수 있다. At step S304, the IoT device may determine whether the watchdog timer 120 has expired in response to identifying that a signal is not received within a certain period of time. If the watchdog timer 120 has expired, the IoT device may re-perform step S301, and if the watchdog timer 120 has not expired, the IoT device may re-perform step S302.

단계 S305에서, IoT 디바이스는 일정 기간 내에 신호를 수신한 것에 응답하여, 와치독 타이머(120)에 대한 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스의 마이크로 컨트롤러 유닛(100)의 CPU(110)는 와치독 타이머(120)가 리셋되도록, Kick 신호를 와치독 타이머(120)로 송신할 수 있다.In step S305, the IoT device may reset the watchdog timer 120 in response to receiving a signal within a certain period of time. For example, the CPU 110 of the microcontroller unit 100 of the IoT device may transmit a kick signal to the watchdog timer 120 so that the watchdog timer 120 is reset.

단계 S306에서, IoT 디바이스는 수신된 신호를 처리하고, 단계 S301을 재수행할 수 있다. In step S306, the IoT device may process the received signal and re-perform step S301.

도 5 및 도 6은 일 실시예에 따른 IoT 디바이스에서 오류를 복구하는 방법을 설명하기 위한 흐름도이다.Figures 5 and 6 are flowcharts to explain a method for recovering an error in an IoT device according to an embodiment.

도 5 및 도 6을 참조하면, 단계 S401에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 센서 데이터를 취득할 수 있다. Referring to FIGS. 5 and 6 , in step S401, the IoT device may acquire sensor data from a sensor included in the IoT device.

단계 S402에서, IoT 디바이스는, 취득된 센서 데이터를 외부 전자 장치로 송신할 수 있다. 예를 들어, IoT 디바이스는, 취득된 센서 데이터를 브로드캐스팅(broadcasting)할 수 있다. 다른 예를 들어, IoT 디바이스는, 취득된 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.In step S402, the IoT device may transmit the acquired sensor data to an external electronic device. For example, an IoT device may broadcast acquired sensor data. For another example, the IoT device may transmit acquired sensor data to at least one preset external electronic device.

단계 S403에서, IoT 디바이스는, 전송 오류가 발생하는지 여부를 결정할 수 있다. 예를 들어, IoT 디바이스는 지정된 주기마다 전송 오류가 발생하는지 여부를 체크할 수 있다. 다른 예를 들어, IoT 디바이스는, 지정된 시간에 전송 오류가 발생하는지 여부를 체크할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S404를 수행하고, 전송 오류가 발생한 경우, 단계 S405를 수행할 수 있다. In step S403, the IoT device may determine whether a transmission error occurs. For example, an IoT device can check whether a transmission error occurs at specified intervals. As another example, an IoT device can check whether a transmission error occurs at a specified time. The IoT device may perform step S404 if a transmission error does not occur, and may perform step S405 if a transmission error occurs.

단계 S404에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다. In step S404, the IoT device may decrement the transmission error counter in response to identifying that a transmission error has not occurred. For example, an IoT device can reduce the transmission error counter by subtracting a preset value from the transmission error counter value stored in memory.

단계 S405에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 전송 오류 카운터를 증가시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운더 값에 기 설정된 값을 증가시킴으로써, 전송 오류 카운터를 증가시킬 수 있다. In step S405, the IoT device may increment a transmission error counter in response to identifying that a transmission error has occurred. For example, an IoT device can increase the transmission error counter by increasing the preset value of the transmission error counter stored in memory.

단계 S406에서, IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과하는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과하는 경우, 단계 S407을 수행하고, 전송 오류 카운터 값이 전송 오류 한계값 이하인 경우, 단계 S401을 재수행할 수 있다.In step S406, the IoT device may determine whether the transmission error counter value exceeds the transmission error threshold. The IoT device may perform step S407 if the transmission error counter value exceeds the transmission error threshold, and may re-perform step S401 if the transmission error counter value is less than or equal to the transmission error threshold.

단계 S407에서, IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과함을 식별한 것에 응답하여, 소프트웨어 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스 내에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행함으로써, 소프트웨어 리셋을 수행할 수 있다. 다른 예를 들어, IoT 디바이스는, IoT 디바이스의 네트워크 모듈에 대한 리셋을 수행함으로써, 소프트웨어 리셋을 수행할 수 있다.In step S407, the IoT device may perform a software reset in response to identifying that the transmission error counter value exceeds the transmission error threshold. For example, the IoT device may perform a software reset by initializing at least one program installed within the IoT device. As another example, the IoT device may perform a software reset by performing a reset on the network module of the IoT device.

단계 S408에서, IoT 디바이스는, 취득된 센서 데이터를 외부 전자 장치로 송신할 수 있다. 예를 들어, IoT 디바이스는, 센서 데이터를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.In step S408, the IoT device may transmit the acquired sensor data to an external electronic device. For example, IoT devices can broadcast sensor data. For another example, an IoT device may transmit sensor data to at least one preset external electronic device.

단계 S409에서, IoT 디바이스는, 전송 오류가 발생했는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S410을 수행하고, 전송 오류가 발생한 경우, 단계 S411을 수행할 수 있다. In step S409, the IoT device may determine whether a transmission error has occurred. The IoT device may perform step S410 if a transmission error does not occur, and may perform step S411 if a transmission error occurs.

단계 S410에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다.In step S410, the IoT device may decrease the transmission error counter in response to identifying that a transmission error has not occurred. For example, an IoT device can reduce the transmission error counter by subtracting a preset value from the transmission error counter value stored in memory.

단계 S411에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 하드웨어 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스의 프로세서의 상태를 식별하고, 프로세서의 상태가 제1 상태(예: 정상 상태)인 경우, 하드웨어 리셋을 수행할 수 있다. IoT 디바이스는, IoT 디바이스의 프로세서의 상태가 제2 상태(예: 비정상 상태)인 경우, 프로세서에 대한 리셋만 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 하드웨어 리셋을 수행할 시, 전송할 데이터가 유지되도록, 메모리를 제외한 나머지 구성에 대한 하드웨어 리셋을 수행할 수 있다. In step S411, the IoT device may perform a hardware reset in response to identifying that a transmission error has occurred. For example, the IoT device may identify the state of the processor of the IoT device and perform a hardware reset when the state of the processor is in the first state (eg, normal state). The IoT device may only perform a reset on the processor when the state of the processor of the IoT device is in the second state (e.g., abnormal state). According to one embodiment, when performing a hardware reset, the IoT device may perform a hardware reset for the remaining components except the memory so that data to be transmitted is maintained.

단계 S412에서, IoT 디바이스는, 하드웨어 리셋을 수행한 것에 응답하여, 센서 데이터를 전송할 수 있다. 예를 들어, IoT 디바이스는, 센서 데이터를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.In step S412, the IoT device may transmit sensor data in response to performing a hardware reset. For example, IoT devices can broadcast sensor data. For another example, an IoT device may transmit sensor data to at least one preset external electronic device.

단계 S413에서, IoT 디바이스는, 전송 오류가 발생했는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S414을 수행하고, 전송 오류가 발생한 경우, 단계 S415를 수행할 수 있다. In step S413, the IoT device may determine whether a transmission error has occurred. The IoT device may perform step S414 if a transmission error does not occur, and may perform step S415 if a transmission error occurs.

단계 S414에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다.In step S414, the IoT device may decrement the transmission error counter in response to identifying that a transmission error has not occurred. For example, an IoT device can reduce the transmission error counter by subtracting a preset value from the transmission error counter value stored in memory.

단계 S415에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 네트워크 복구 메시지를 전송할 수 있다. 예를 들어, IoT 디바이스는, 네트워크 복구 메시지를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 네트워크 복구 메시지를 기 설정된 적어도 하나의 외부 전자 장치(예: IoT 디바이스 운용자의 휴대용 단말기)로 송신할 수 있다.In step S415, the IoT device may transmit a network recovery message in response to identifying that a transmission error has occurred. For example, an IoT device can broadcast a network recovery message. For another example, the IoT device may transmit a network recovery message to at least one preset external electronic device (eg, the IoT device operator's portable terminal).

단계 S416에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 데이터를 취득할 수 있다. In step S416, the IoT device can acquire data from sensors included in the IoT device.

단계 S417에서, IoT 디바이스는, 센서 데이터의 전송을 중단(또는 우회)하고, 센서 데이터를 메모리에 저장할 수 있다. IoT 디바이스는, 기 설정된 시간 동안, 또는 지정된 신호가 수신될 때까지 센서 데이터를 취득하는 단계 S416과 취득된 센서 데이터를 저장하는 단계 S417을 반복적으로 수행할 수 있다. In step S417, the IoT device may stop (or bypass) transmission of sensor data and store the sensor data in memory. The IoT device may repeatedly perform step S416 of acquiring sensor data and step S417 of storing the acquired sensor data for a preset time or until a designated signal is received.

일 실시예에 따르면, IoT 디바이스는, 전송 오류 카운터 값이 기준값 이상인 경우, 네트워크 복구 메시지를 전송할 수 있다. 일 실시 예에 따르면, IoT 디바이스는, 전송 오류 카운터 값에 기반하여 네트워크 복구 메시지가 전송되면, 센서 데이터의 전송을 우회하고, 센서 데이터를 메모리에 저장할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 전송 오류 카운터 값에 기반하여 네트워크 복구 메시지가 전송되더라도, 센서 데이터의 전송 동작을 수행할 수 있다.According to one embodiment, the IoT device may transmit a network recovery message when the transmission error counter value is greater than or equal to the reference value. According to one embodiment, when a network recovery message is transmitted based on the transmission error counter value, the IoT device may bypass transmission of sensor data and store the sensor data in memory. According to one embodiment, the IoT device may perform a sensor data transmission operation even if a network recovery message is transmitted based on the transmission error counter value.

상술한 바와 같이, IoT 디바이스는, 센서 데이터의 전송 오류가 발생한 경우, 리셋 동작을 수행함으로써, IoT 디바이스 운용자의 도움 없이, 오류를 복구할 수 있다. 또한, IoT 디바이스는, 센서 데이터의 전송 오류가 발생한 경우, 센서 데이터를 메모리에 저장함으로써, IoT 디바이스의 네트워크 환경이 불안정한 상황에서도, IoT 운용자에게 센서 데이터를 제공할 수 있다. As described above, when a transmission error in sensor data occurs, the IoT device can recover from the error without the help of the IoT device operator by performing a reset operation. Additionally, when a transmission error in sensor data occurs, the IoT device stores the sensor data in memory, allowing it to provide sensor data to the IoT operator even in situations where the network environment of the IoT device is unstable.

도 7은 본 발명의 일 실시예에 따른 IoT 디바이스의 구성도이다.Figure 7 is a configuration diagram of an IoT device according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 디바이스(200)는 센서 모듈(210), 전원 모듈(220), 펌웨어 모듈(230), 네트워크 모듈(240), 메모리(250), 및 프로세서(260)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 예를 들어, IoT 디바이스(200)는 도시된 구성요소보다 많은 구성요소로 구현될 수 있고, 그보다 적은 구성요소로 구현될 수 있다.As shown in FIG. 7, the IoT device 200 according to an embodiment of the present invention includes a sensor module 210, a power module 220, a firmware module 230, a network module 240, and a memory 250. , and may include a processor 260. However, not all of the illustrated components are essential components. For example, the IoT device 200 may be implemented with more components than the components shown, or may be implemented with fewer components.

일 실시예에 따르면, 센서 모듈(210)은 IoT 디바이스에 부착될 수 있다. 센서 모듈(210)은 기 설정된 주기마다, IoT 디바이스가 온(on) 상태인 동안, 또는 비주기적으로 센싱 데이터를 획득할 수 있다.According to one embodiment, the sensor module 210 may be attached to an IoT device. The sensor module 210 may acquire sensing data at preset intervals, while the IoT device is in an on state, or aperiodically.

일 실시예에 따르면, 전원 모듈(220)은 IoT 디바이스에 전원을 공급할 수 있다. According to one embodiment, the power module 220 may supply power to an IoT device.

일 실시예에 따르면, 펌웨어 모듈(230)은 IoT 디바이스의 동작을 실행시키기 위한 적어도 하나의 프로그램(또는 마이크로프로그램)을 포함할 수 있다. According to one embodiment, the firmware module 230 may include at least one program (or microprogram) for executing the operation of an IoT device.

일 실시예에 따르면, 네트워크 모듈(240)은 데이터 통신을 위한 네트워크 연결을 수립할 수 있다. 일 실시예에 따르면, 네트워크 모듈(240)은 네트워크 연결 없이, 데이터 통신을 수행하기 위한 브로드캐스팅을 지원할 수 있다. According to one embodiment, the network module 240 may establish a network connection for data communication. According to one embodiment, the network module 240 may support broadcasting to perform data communication without a network connection.

일 실시예에 따르면, 메모리(250)는 하나 이상의 프로그램을 저장할 수 있다. According to one embodiment, memory 250 may store one or more programs.

일 실시예에 따르면, 프로세서(260)는 메모리(250)에 저장된 하나 이상의 프로그램을 실행할 수 있다. 프로세서(260)는 IoT 디바이스 내부의 구성 요소들(예: 센서 모듈(210), 전원 모듈(220), 펌웨어 모듈(230), 및 네트워크 모듈(240)) 중에서 적어도 하나의 모듈의 상태를 모니터링할 수 있다. 프로세서(260)는 IoT 디바이스 내부의 구성 요소들 중 적어도 하나의 상태가 제2 상태(예: 비정상 상태)임을 식별한 경우, 자가복구 기능(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다. According to one embodiment, the processor 260 may execute one or more programs stored in the memory 250. The processor 260 monitors the status of at least one module among the components inside the IoT device (e.g., sensor module 210, power module 220, firmware module 230, and network module 240). You can. When the processor 260 identifies that the state of at least one of the components inside the IoT device is a second state (e.g., abnormal state), the processor 260 may perform a self-recovery function (e.g., software reset and/or hardware reset). there is.

일 실시예에 따르면, 프로세서(260)는 자가복구 기능 수행 후에도 IoT 디바이스의 상태가 제2 상태인 경우, IoT 디바이스의 동작 모드를 일반 모드에서 에너지 절약 모드로 전환할 수 있다. 예를 들어, 프로세서(260)는 데이터 전송 속도, 센서의 측정 주기, 및 데이터의 전송 주기 중 적어도 일부를 변경시킴으로써, IoT 디바이스의 소비 전력을 낮출 수 있다. According to one embodiment, if the state of the IoT device is in the second state even after performing the self-recovery function, the processor 260 may switch the operation mode of the IoT device from the normal mode to the energy saving mode. For example, the processor 260 may reduce power consumption of the IoT device by changing at least some of the data transmission speed, sensor measurement cycle, and data transmission cycle.

일 실시예에 따르면, 프로세서(260)는 생성된 점검 이벤트에 따라 IoT 디바이스의 센서 상태, 전원 상태, 소프트웨어 상태 및 네트워크 상태 중 적어도 하나의 상태를 자가 점검할 수 있다. According to one embodiment, the processor 260 may self-check at least one of the sensor status, power status, software status, and network status of the IoT device according to the generated inspection event.

일 실시예들 따르면, 프로세서(260)는 자가 점검 결과에 따라 센서 이상 이벤트 루틴, 저전압 이벤트 루틴, 셀프 리셋 이벤트 루틴 및 네트워크의 소프트웨어 및 하드웨어 리셋 이벤트 루틴 중 어느 하나의 이벤트 루틴을 수행할 수 있다. According to one embodiment, the processor 260 may perform any one of a sensor error event routine, a low voltage event routine, a self-reset event routine, and a network software and hardware reset event routine according to the self-check result.

한편, 프로세서(260)에 의해 실행될 때, 상기 프로세서(260)로 하여금 방법을 실행하게 하는 명령어들을 저장하기 위한 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 방법은: IoT 디바이스 내부의 헬스 인덱스(또는 상태)를 모니터링하는 단계; 상기 헬스 인덱스의 모니터링 결과, 상기 IoT 디바이스에서 점검 상황이 발생하면 상기 발생된 점검 상황에 따른 점검 이벤트를 생성하는 단계; 상기 생성된 점검 이벤트에 따라 상기 IoT 디바이스를 자가 점검하는 단계; 및 상기 자가 점검 결과에 따라 상기 IoT 디바이스가 이상 상태로 판단되면 상기 IoT 디바이스를 자가복구하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다. Meanwhile, a non-transitory computer-readable storage medium for storing instructions that, when executed by a processor 260, cause the processor 260 to execute a method, wherein the method includes: a health index (or state) inside an IoT device; ) monitoring; As a result of monitoring the health index, if an inspection situation occurs in the IoT device, generating an inspection event according to the occurrence of the inspection situation; Self-inspecting the IoT device according to the generated inspection event; and self-recovering the IoT device when the IoT device is determined to be in an abnormal state according to the self-inspection result. A non-transitory computer-readable storage medium may be provided.

상술한 바와 같은, IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다.As described above, the IoT device includes a sensor, a diagnostic circuit, a memory, and a processor operatively coupled to the sensor, the diagnostic circuit, and the memory, wherein the processor performs self-checking within the sensor. perform a test to identify whether a feature is available, and in response to identifying that the self-check feature is not available, drive diagnostic circuitry to perform a test on the sensor, and perform a check using the diagnostic circuit. For this purpose, it may be configured to perform scheduling and perform inspection of the sensor through the diagnostic circuit based on the scheduling.

일 실시예에 따르면, 상기 프로세서는, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당함으로써, 상기 스케줄링을 수행하도록 구성될 수 있다.According to one embodiment, the processor, timing at which the IoT device transmits a test request signal to the diagnostic circuit, timing at which the sensor receives a test signal from the diagnostic circuit, and timing at which the sensor receives a test signal from the diagnostic circuit, and a timing at which the sensor transmits a test request signal to the diagnostic circuit. It may be configured to perform the scheduling by allocating a timing for transmitting to the diagnostic circuit and a timing for the IoT device to receive a signal indicating a test inspection result from the diagnostic circuit.

일 실시예에 따르면, 상기 프로세서는, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하도록 더 구성될 수 있다.According to one embodiment, the processor may be further configured to perform a check on the sensor using the self-check function, in response to identifying that the self-check function is available.

일 실시예에 따르면, 상기 프로세서는, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하도록 더 구성될 수 있다.According to one embodiment, the processor may be further configured to perform a reset on the sensor in response to identifying that the state of the sensor is abnormal as a result of checking the sensor.

일 실시예에 따르면, 상기 프로세서는, 센서 데이터의 전송 오류의 발생을 식별하고, 상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하도록 더 구성될 수 있다.According to one embodiment, the processor may be further configured to identify the occurrence of a transmission error in sensor data and perform a software reset to initialize at least one program installed in the IoT device.

일 실시예에 따르면, 상기 프로세서는, 상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하고, 상기 IoT 디바이스의 프로세서의 상태를 식별하고, 상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.According to one embodiment, after performing the software reset, the processor identifies the occurrence of a transmission error of sensor data, identifies the state of the processor of the IoT device, and, when the state of the processor is abnormal, It may be further configured to perform a hardware reset on the processor.

일 실시예에 따르면, 상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.According to one embodiment, the processor may be further configured to perform a hardware reset on the IoT device when the processor is in a normal state.

일 실시예에 따르면, 상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.According to one embodiment, the processor may be further configured to perform a hardware reset on the remaining components except the memory of the IoT device when the processor is in a normal state.

일 실시예에 따르면, 상기 프로세서는, 상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하고, 상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하도록 더 구성될 수 있다.According to one embodiment, the processor, in response to identifying that the voltage of the first battery of the IoT device is less than the first voltage, measures the voltage of the second battery of the IoT device, and measures the voltage of the second battery of the IoT device. In response to identifying that the second voltage is below, the sensor may be further configured to change at least one of a transmission rate of the IoT device and a measurement period of the sensor.

일 실시예에 따르면, 상기 프로세서는, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하도록 더 구성될 수 있다.According to one embodiment, the processor, in response to identifying that the remaining capacity of the memory of the IoT device is less than the reference capacity after changing at least one of the transmission rate and the measurement cycle of the sensor, It may be further configured to change the transmission period and bypass storage of the sensor's measurements.

상술한 바와 같은, IoT 디바이스의 자가복구 방법은, IoT 디바이스에 포함된 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하는 동작과, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하는 동작과, 상기 진단 회로를 이용한 자가 점검을 위한 스케줄링을 수행하는 동작과, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하는 동작을 포함할 수 있다.As described above, the self-recovery method of an IoT device includes the operation of performing a test to identify whether the self-check function in a sensor included in the IoT device is available, and identifying that the self-check function is unavailable. In response, an operation of driving a diagnostic circuit to perform a test on the sensor, an operation of performing scheduling for self-inspection using the diagnostic circuit, and an operation of performing scheduling for a self-check using the diagnostic circuit, based on the scheduling, It may include an operation to perform a check.

일 실시예에 따르면, 상기 스케줄링을 수행하는 동작은, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당하는 동작을 포함할 수 있다. According to one embodiment, the operation of performing the scheduling includes timing at which the IoT device transmits a test request signal to the diagnostic circuit, timing at which the sensor receives the test signal from the diagnostic circuit, and timing at which the sensor receives the test signal from the diagnostic circuit. It may include an operation of allocating a timing for transmitting a response signal to the diagnostic circuit and a timing for the IoT device to receive a signal indicating a test inspection result from the diagnostic circuit.

일 실시예에 따르면, 상기 동작 방법은, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하는 동작을 더 포함할 수 있다. According to one embodiment, the operating method may further include performing a check on the sensor using the self-check function in response to identifying that the self-check function is available.

일 실시예에 따르면, 상기 동작 방법은, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하는 동작을 더 포함할 수 있다. According to one embodiment, the operating method may further include performing a reset on the sensor in response to identifying that the state of the sensor is abnormal as a result of inspecting the sensor.

일 실시예에 따르면, 상기 동작 방법은, 센서 데이터의 전송 오류의 발생을 식별하는 동작 및 상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하는 동작을 더 포함할 수 있다.According to one embodiment, the operating method may further include identifying the occurrence of a transmission error in sensor data and performing a software reset to initialize at least one program installed in the IoT device. .

일 실시예에 따르면, 상기 동작 방법은, 상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하는 동작과, 상기 IoT 디바이스의 프로세서의 상태를 식별하는 동작, 및 상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.According to one embodiment, the operating method includes identifying the occurrence of a transmission error of sensor data after performing the software reset, identifying the state of the processor of the IoT device, and the state of the processor. In case of an abnormal state, the operation of performing a hardware reset for the processor may be further included.

일 실시예에 따르면, 상기 동작 방법은, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.According to one embodiment, the operating method may further include performing a hardware reset on the IoT device when the processor is in a normal state.

일 실시예에 따르면, 상기 동작 방법은, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.According to one embodiment, the operating method may further include performing a hardware reset on the remaining components except the memory of the IoT device when the processor is in a normal state.

일 실시예에 따르면, 상기 동작 방법은, 상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하는 동작 및 상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하는 동작을 더 포함할 수 있다.According to one embodiment, the method of operation includes, in response to identifying that the voltage of the first battery of the IoT device is less than the first voltage, measuring the voltage of the second battery of the IoT device and the second battery In response to identifying that the voltage is less than the second voltage, the method may further include changing at least one of a transmission rate of the IoT device and a measurement period of the sensor.

일 실시예에 따르면, 상기 동작 방법은, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하는 동작을 더 포함할 수 있다.According to one embodiment, the operating method is, in response to identifying that the remaining capacity of the memory of the IoT device is less than the reference capacity after changing at least one of the transmission rate and the measurement cycle of the sensor, It may further include an operation of changing the transmission cycle and bypassing the storage of the measured values of the sensor.

한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. Meanwhile, according to an embodiment of the present invention, the various embodiments described above are implemented as software including instructions stored in a machine-readable storage media (e.g., a computer). It can be. The device is a device capable of calling instructions stored from a storage medium and operating according to the called instructions, and may include an electronic device (eg, electronic device A) according to the disclosed embodiments. When an instruction is executed by a processor, the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor. Instructions may contain code generated or executed by a compiler or interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.

또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.Additionally, according to an embodiment of the present invention, the method according to the various embodiments described above may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play Store™). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.

또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.In addition, according to an embodiment of the present invention, the various embodiments described above are stored in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof. It can be implemented in . In some cases, embodiments described herein may be implemented in a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.

한편, 상술한 다양한 실시예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.Meanwhile, computer instructions for performing processing operations of devices according to the various embodiments described above may be stored in a non-transitory computer-readable medium. Computer instructions stored in such a non-transitory computer-readable medium, when executed by a processor of a specific device, cause the specific device to perform processing operations in the device according to the various embodiments described above. A non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories. Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

또한, 상술한 다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.In addition, each component (e.g., module or program) according to the various embodiments described above may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be omitted. Sub-components may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. It can be.

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In the above, preferred embodiments of the present invention have been shown and described, but the present invention is not limited to the specific embodiments described above, and may be used in the technical field pertinent to the disclosure without departing from the gist of the present invention as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical idea or perspective of the present invention.

Claims (10)

IoT 디바이스에 있어서,
센서;
진단 회로;
메모리;
상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는,
상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고,
상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고,
상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고,
상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성된 전자 장치.
In IoT devices,
sensor;
diagnostic circuit;
Memory;
a processor operatively coupled to the sensor, the diagnostic circuit, and the memory, the processor comprising:
perform a test to identify whether a self-check function within the sensor is available;
In response to identifying that the self-check function is unavailable, drive diagnostic circuitry to perform a test on the sensor;
For inspection using the diagnostic circuit, scheduling is performed,
An electronic device configured to perform inspection on the sensor through the diagnostic circuit based on the scheduling.
제1항에 있어서,
상기 프로세서는, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당함으로써, 상기 스케줄링을 수행하도록 구성된 전자 장치.
According to paragraph 1,
The processor provides timing for the IoT device to transmit a test request signal to the diagnostic circuit, timing for the sensor to receive a test signal from the diagnostic circuit, and timing for the sensor to transmit a response signal to the test signal to the diagnostic circuit. An electronic device configured to perform the scheduling by allocating a timing at which the IoT device receives a signal indicating a test inspection result from the diagnostic circuit.
제1항에 있어서,
상기 프로세서는, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하도록 더 구성된 전자 장치.
According to paragraph 1,
The electronic device wherein the processor is further configured to, in response to identifying that the self-check function is available, perform a check on the sensor using the self-check function.
제1항에 있어서,
상기 프로세서는, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하도록 더 구성된 전자 장치.
According to paragraph 1,
The processor is further configured to perform a reset on the sensor in response to identifying that the sensor is in an abnormal state as a result of checking the sensor.
제1항에 있어서,
상기 프로세서는,
센서 데이터의 전송 오류의 발생을 식별하고,
상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하도록 더 구성된 전자 장치.
According to paragraph 1,
The processor,
Identify the occurrence of transmission errors in sensor data,
An electronic device further configured to perform a software reset that initializes at least one program installed in the IoT device.
제5항에 있어서,
상기 프로세서는,
상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하고,
상기 IoT 디바이스의 프로세서의 상태를 식별하고,
상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
According to clause 5,
The processor,
After performing the software reset, identify the occurrence of a transmission error in sensor data,
Identify the state of the processor of the IoT device,
The electronic device further configured to perform a hardware reset on the processor when the state of the processor is abnormal.
제6항에 있어서,
상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
According to clause 6,
The processor is further configured to perform a hardware reset on the IoT device when the processor is in a normal state.
제6항에 있어서,
상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
According to clause 6,
The processor is further configured to perform a hardware reset on components other than the memory of the IoT device when the processor is in a normal state.
제1항에 있어서,
상기 프로세서는,
상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하고,
상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하도록 더 구성된 전자 장치.
According to paragraph 1,
The processor,
In response to identifying that the voltage of the first battery of the IoT device is below the first voltage, measure the voltage of the second battery of the IoT device,
The electronic device further configured to change at least one of a transmission rate of the IoT device and a measurement period of the sensor in response to identifying that the voltage of the second battery is below the second voltage.
제9항에 있어서,
상기 프로세서는, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하도록 더 구성된 전자 장치.
According to clause 9,
The processor changes the transmission cycle of the IoT device in response to identifying that the remaining capacity of the memory of the IoT device is less than the reference capacity after changing at least one of the transmission rate and the measurement cycle of the sensor, The electronic device further configured to bypass storage of measurements of the sensor.
KR1020230197106A 2020-12-31 2023-12-29 Method for self recovery of iot device KR20240008287A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200189910 2020-12-31
KR20200189910 2020-12-31
KR1020210167392A KR20220097226A (en) 2020-12-31 2021-11-29 Method for self recovery of iot device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210167392A Division KR20220097226A (en) 2020-12-31 2021-11-29 Method for self recovery of iot device

Publications (1)

Publication Number Publication Date
KR20240008287A true KR20240008287A (en) 2024-01-18

Family

ID=82398928

Family Applications (8)

Application Number Title Priority Date Filing Date
KR1020210167392A KR20220097226A (en) 2020-12-31 2021-11-29 Method for self recovery of iot device
KR1020230197106A KR20240008287A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197110A KR20240008291A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197107A KR20240008288A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197108A KR20240008289A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197112A KR20240007640A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197109A KR20240008290A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197111A KR20240008292A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020210167392A KR20220097226A (en) 2020-12-31 2021-11-29 Method for self recovery of iot device

Family Applications After (6)

Application Number Title Priority Date Filing Date
KR1020230197110A KR20240008291A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197107A KR20240008288A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197108A KR20240008289A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197112A KR20240007640A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197109A KR20240008290A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device
KR1020230197111A KR20240008292A (en) 2020-12-31 2023-12-29 Method for self recovery of iot device

Country Status (1)

Country Link
KR (8) KR20220097226A (en)

Also Published As

Publication number Publication date
KR20240008288A (en) 2024-01-18
KR20220097226A (en) 2022-07-07
KR20240007640A (en) 2024-01-16
KR20240008289A (en) 2024-01-18
KR20240008291A (en) 2024-01-18
KR20240008290A (en) 2024-01-18
KR20240008292A (en) 2024-01-18

Similar Documents

Publication Publication Date Title
US20190205233A1 (en) Fault injection testing apparatus and method
WO2017125014A1 (en) Method and device for monitoring hard disk
US8140730B2 (en) System reconfiguration of expansion cards
EP2615552A1 (en) System testing method
JP2004537787A (en) Method and apparatus for analyzing power failures in a computer system
US20140068350A1 (en) Self-checking system and method using same
JP2007323193A (en) System, method and program for detecting abnormality of performance load
CN116340076B (en) Hard disk performance test method, device and medium
CN111048139A (en) Storage medium detection method, device, equipment and readable storage medium
CN112395122A (en) Flash memory controller and method thereof
US8060332B2 (en) Method for testing sensor function and computer program product thereof
KR20240008290A (en) Method for self recovery of iot device
Mazouz et al. Statistical validation methodology of CPU power probes
US9575860B2 (en) Apparatus and a method for memory testing by a programmable circuit in a safety critical system
CN103975310A (en) Method and apparatus for saving processor information prior to a reset for post reset evaluation
US10289467B2 (en) Error coordination message for a blade device having a logical processor in another system firmware domain
JP2019213142A (en) Information processing device, processor, and optical fiber inspection method
US11914703B2 (en) Method and data processing system for detecting a malicious component on an integrated circuit
CN114902059A (en) Extended performance monitoring counter triggered by debug state machine
CN110058979A (en) A kind of temperature reads monitoring method, BMC and the storage medium of failure failure
CN108415788B (en) Data processing apparatus and method for responding to non-responsive processing circuitry
JP2012168784A (en) Device, system and method for power consumption measurement and program
KR100877326B1 (en) Power measurement system using JTAG interface and method thereof
CN116414611A (en) Redundant storage-based fault positioning system for power-on self-checking equipment
CN117149492A (en) Server fault detection method, device, equipment and computer storage medium

Legal Events

Date Code Title Description
A107 Divisional application of patent