KR101927022B1 - 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 - Google Patents
단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 Download PDFInfo
- Publication number
- KR101927022B1 KR101927022B1 KR1020180016931A KR20180016931A KR101927022B1 KR 101927022 B1 KR101927022 B1 KR 101927022B1 KR 1020180016931 A KR1020180016931 A KR 1020180016931A KR 20180016931 A KR20180016931 A KR 20180016931A KR 101927022 B1 KR101927022 B1 KR 101927022B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- condition information
- terminal
- server
- instruction set
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H04Q9/02—Automatically-operated arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72415—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
-
- H04M1/72533—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/40—Arrangements in telecontrol or telemetry systems using a wireless architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
Abstract
단말의 동작 방법이 개시된다. 일 실시예는 제어 대상 기기의 제어를 위한 조건 정보를 정의하는 단계; 상기 조건 정보와 미리 설정된 명령어 세트 사이에 충돌(conflict)이 있는지 여부의 확인을 기초로 생성된 가이드(guide) 정보를 서버로부터 수신하는 단계; 및 상기 가이드 정보에 기초하여, 상기 조건 정보의 재정의 및 상기 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작하는 단계를 포함한다.
Description
아래 실시예들은 단말, 단말에서 실행되는 어플리케이션, 및 단말과 통신하는 서버에 관한 것이다.
최근, 사물들이 서로 통신을 수행하는 사물 인터넷(Internet of Things, IoT) 기술이 발달하고 있다. 스마트 홈, 스마트 카 등 다양한 분야에서 사물들이 네트워크로 연결되어 원거리에서도 사물들을 제어할 수 있고, 사물들의 동작과 관련된 정보를 쉽게 확인할 수 있다.
한국 공개특허 공보 제10-2011-0047764호(발명의 명칭: 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치, 출원인: 삼성전자 주식회사)에는 이동 단말이 홈 네트워크에 접속하는 과정과, 상기 이동 단말이 상기 홈 네트워크의 게이트웨이로부터 상기 홈 네트워크에 연결된 장치들의 리스트를 수신하는 과정과, 상기 이동 단말이 상기 홈 네트워크에 연결된 장치들을 표시하는 과정과, 상기 표시된 장치들 중 하나가 선택되면 상기 선택된 장치의 상태 정보를 상기 게이트웨이를 통해 상기 선택된 장치에게 요청하는 과정과, 상기 선택된 장치로부터 상기 선택된 장치의 상태 정보를 수신하는 과정과, 상기 수신한 상태 정보 및 상기 선택된 장치를 제어하기 위한 사용자 인터페이스를 표시하는 과정이 개시된다.
실시예들은 사용자가 설정하는 명령어 세트가 미리 설정된 명령어 세트와 충돌하지 않도록 할 수 있다. 또한, 실시예들은 다양한 사용자의 요구에 따라 설정된 조건에 기초하여 홈 가전 등 복수의 제어 대상 기기들을 자동실행 시킬 수 있다. 또한, 자동 실행의 전제가 되는 조건 판단에 사용되는 정보는 홈 가전 등 복수의 제어 대상 기기, 단말, 네트워크로부터 얻어지므로, 조건 판단 및 그에 따른 실행에 있어, 실제 사용자의 의사에 더욱 부합하는 홈 가전 등 복수의 제어 대상 기기들의 기능을 제공한다. 또한, 홈 가전 등 복수의 제어 대상 기기 등의 자동 제어를 함에 있어서, 다양한 홈 가전 등 복수의 제어대상기기등과 관련된 기능을 제어하는 플랫폼을 제공할 수 있다.
일 측에 따른 단말의 동작 방법은 제어 대상 기기의 제어를 위한 조건 정보를 정의하는 단계; 상기 조건 정보와 미리 설정된 명령어 세트 사이에 충돌(conflict)이 있는지 여부의 확인을 기초로 생성된 가이드(guide) 정보를 서버로부터 수신하는 단계; 및 상기 가이드 정보에 기초하여, 상기 조건 정보의 재정의 및 상기 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작하는 단계를 포함한다.
상기 충돌은, 상기 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우일 수 있다.
상기 조건 정보는, 이벤트 발생을 기초로 이벤트 신호를 생성하는 이벤트 발생 기기의 식별 정보 및 상기 이벤트 발생에 대응하는 실행 정보를 포함할 수 있다.
단말의 동작 방법은 상기 조건 정보의 재정의로 동작하는 경우, 상기 가이드 정보에 대응하는 메시지를 상기 단말의 디스플레이에 출력하는 단계를 더 포함할 수 있다.
상기 명령어 세트의 생성으로 동작하는 경우, 단말의 동작 방법은 제어 대상 기기 목록을 상기 단말의 디스플레이에 노출하는 단계; 상기 제어 대상 기기 목록에 대한 선택 입력을 기초로 상기 제어 대상 기기에 대응하는 실행 정보를 수신하는 단계; 및 상기 조건 정보 및 상기 실행 정보를 기초로 상기 명령어 세트를 생성하는 단계를 더 포함할 수 있다.
단말의 동작 방법은 상기 조건 정보를 상기 서버로 전송하는 단계를 더 포함할 수 있다.
일 측에 따른 어플리케이션은 단말의 메모리에 저장되고, 상기 단말의 프로세서에 의해 실행되며, 상기 어플리케이션은, 제어 대상 기기의 제어를 위한 조건 정보를 정의하는 단계; 및 상기 조건 정보와 미리 설정된 명령어 세트 사이의 충돌(conflict)이 있는지 여부의 확인을 기초로 생성된 가이드(guide) 정보가 서버로부터 수신되는 경우, 상기 가이드 정보에 기초하여, 상기 조건 정보의 재정의 및 상기 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나를 위해 동작하는 단계를 실행하고, 상기 충돌은, 상기 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우이다.
상기 조건 정보는, 이벤트 발생을 기초로 이벤트 신호를 생성하는 이벤트 발생 기기의 식별 정보 및 상기 이벤트 발생에 대응하는 실행 정보를 포함할 수 있다.
어플리케이션은 상기 조건 정보의 재정의로 동작하는 경우, 상기 가이드 정보에 대응하는 메시지를 상기 단말의 디스플레이에 출력하는 단계를 더 실행할 수 있다.
상기 명령어 세트의 생성으로 동작하는 경우, 어플리케이션은 제어 대상 기기 목록을 상기 단말의 디스플레이에 노출하는 단계; 상기 제어 대상 기기 목록에 대한 선택 입력을 기초로 상기 제어 대상 기기에 대응하는 실행 정보를 수신하는 단계; 및 상기 조건 정보 및 상기 실행 정보를 기초로 상기 명령어 세트를 생성하는 단계를 더 실행할 수 있다.
어플리케이션은 상기 조건 정보를 상기 서버로 전송하도록 상기 단말을 제어하는 단계를 더 실행할 수 있다.
일 측에 따른 서버의 동작 방법은 제어 대상 기기의 제어를 위해 정의된 조건 정보를 단말로부터 수신하는 단계; 상기 조건 정보가 미리 설정된 명령어 세트와 충돌(conflict)이 있는지 여부를 확인하는 단계; 상기 확인에 기초하여, 상기 단말이 상기 조건 정보의 재정의 및 상기 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작하도록 가이드 정보를 생성하는 단계; 및 상기 가이드 정보를 상기 단말로 전송하는 단계를 포함한다.
상기 조건 정보가 미리 설정된 명령어 세트와 충돌(conflict)이 있는지 여부를 확인하는 단계는, 상기 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우, 상기 충돌이 있는 것으로 결정하는 단계를 포함할 수 있다.
상기 조건 정보는, 이벤트 발생을 기초로 이벤트 신호를 생성하는 이벤트 발생 기기의 식별 정보 및 상기 이벤트 발생에 대응하는 실행 정보를 포함할 수 있다.
상기 단말이 상기 조건 정보의 재정의로 동작하는 경우, 상기 가이드 정보에 대응하는 메시지가 상기 단말의 디스플레이에 출력될 수 있다.
상기 단말이 명령어 세트의 생성으로 동작하는 경우, 상기 명령어 세트는,
제어 대상 기기 목록을 상기 단말의 디스플레이에 노출하는 단계; 상기 제어 대상 기기 목록에 대한 선택 입력을 기초로 상기 제어 대상 기기에 대응하는 실행 정보를 수신하는 단계; 및 상기 조건 정보 및 상기 실행 정보를 기초로 상기 명령어 세트를 생성하는 단계를 통해 생성될 수 있다.
실시예들은 사용자가 설정하는 명령어 세트가 미리 설정된 명령어 세트와 충돌하지 않도록 할 수 있다. 또한, 실시예들은 다양한 사용자의 요구에 따라 설정된 조건에 기초하여 홈 가전 등 복수의 제어 대상 기기들을 자동실행 시킬 수 있다. 또한, 자동 실행의 전제가 되는 조건 판단에 사용되는 정보는 홈 가전 등 복수의 제어 대상 기기, 단말, 네트워크로부터 얻어지므로, 조건 판단 및 그에 따른 실행에 있어, 실제 사용자의 의사에 더욱 부합하는 홈 가전 등 복수의 제어 대상 기기들의 기능을 제공한다. 또한, 홈 가전 등 복수의 제어 대상 기기 등의 자동 제어를 함에 있어서, 다양한 홈 가전 등 복수의 제어대상기기등과 관련된 기능을 제어하는 플랫폼을 제공할 수 있다.
도 1은 일 실시예에 따른 IoT 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 단말의 동작 방법을 설명하기 위한 순서도이다.
도 3a 내지 도 3b는 일 실시예에 따른 단말의 조건 정보의 재정의 또는 명령어 세트의 생성을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 옵션 정보의 생성을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 제어 대상 기기, 실행정보, 및 설정 정보 명칭의 입력을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 서버의 동작 방법을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따른 단말 및 서버의 동작을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 단말의 동작 방법을 설명하기 위한 순서도이다.
도 3a 내지 도 3b는 일 실시예에 따른 단말의 조건 정보의 재정의 또는 명령어 세트의 생성을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 옵션 정보의 생성을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 제어 대상 기기, 실행정보, 및 설정 정보 명칭의 입력을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 서버의 동작 방법을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따른 단말 및 서버의 동작을 설명하기 위한 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 IoT 서비스 제공 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 사물 인터넷(Internet of Things, IoT) 서비스 제공 시스템은 서버(110), 홈 IoT 디바이스(121), 및 단말(130)을 포함한다.
서버(110)는 연결 게이트웨이 서버(Connection Gateway Server, CGS)(111), 세션 서버(Session Server, SS)(112), 어플리케이션 서버(Application Server, AS)(113), 이벤트 처리 서버(Event Processing Server, EPS)(114), 데이터베이스 서버(Database Server, DS)(115), 및 IoT 서비스 서버(IoT Service Server, ISS)(116)를 포함한다.
CGS(111), SS(112), AS(113), EPS(114), DS(115), 및 ISS(116)은 하나의 물리적 장치인 서버(110)에서 논리적으로 구분된 것일 수 있다. 또한, CGS(111), SS(112), AS(113), EPS(114), DS(115), 및 ISS(116)은 서로 구분되는 물리적 장치일 수 있다.
CGS(111)는 홈 IoT 디바이스(121)와 연결된다. 보다 구체적으로, 홈 IoT 디바이스(121)의 접속 요청이 있고 접속 요청에 대한 CGS(111)의 응답이 있는 경우, CGS(111)와 홈 IoT 디바이스(121) 사이에는 세션이 설정될 수 있다. CGS(111)는 홈 IoT 디바이스(121)의 트래픽을 수신할 수 있다. CGS(111)와 홈 IoT 디바이스(121) 사이에 세션이 설정되는 경우, CGS(111)는 세션이 설정되었음을 AS(113)에게 알릴 수 있다.
SS(112)는 홈 IoT 디바이스(121)의 세션을 관리한다. SS(112)는 메모리 기반의 데이터 저장소일 수 있다. 예를 들어, SS(112)는 홈 IoT 디바이스(121)의 세션 정보를 저장할 수 있다. SS(112)에 저장된 세션 정보는 업데이트될 수 있다. AS(113)는 SS(112)를 통해 홈 IoT 디바이스(121)의 세션 정보를 조회할 수 있다. 또한, 홈 IoT 디바이스(121)와 CGS(111) 사이에 세션이 설정되어 있는지에 대한 확인이 필요한 경우, AS(113)는 SS(112)를 통해 세션 설정 여부를 확인할 수 있다.
AS(113)는 홈 IoT 디바이스(121)의 제어를 위한 제어 명령을 생성한다. AS(113)는 제어 명령을 CGS(111)로 전송할 수 있고, CSG(111)는 세션을 통해 홈 IoT 디바이스(121)로 제어 명령을 전송할 수 있다. 또한, AS(113)는 DBS(115)를 통해 홈 IoT 디바이스(121)의 프로파일을 관리할 수 있다. 또한, AS(113)는 홈 IoT 디바이스(121)의 상태를 수집할 수 있고, 상태를 DBS(115)에 저장할 수 있다. 또한, AS(113)는 DBS(115)를 통해 홈 IoT 디바이스(121)의 상태를 조회할 수 있다.
또한, AS(113)는 홈 IoT 디바이스(121)를 DBS(115)에 등록할 수 있다. 예를 들어, 단말(130)로부터 홈 IoT 디바이스(121)의 등록 요청이 있는 경우, AS(113)는 홈 IoT 디바이스(121)를 등록할 수 있다.
EPS(114)는 홈 IoT 디바이스(121)로부터 전송된 이벤트신호를 처리한다. 이벤트신호가 EPS(114)로 전달되는 경우, EPS(114)는 DBS(115)를 통해 이벤트신호와 관련된 명령어 세트를 조회할 수 있다. 예를 들어, "거실의 스위치가 켜짐"을 나타내는 이벤트신호가 수신되는 경우, EPS(114)는 거실의 스위치와 관련된 명령어 세트를 조회할 수 있다. 여기서, 거실의 스위치는 홈 IoT 디바이스(121)의 일 종류로, "거실 스위치가 켜지면 셋탑 단말의 전원을 켜라", "거실 스위치가 켜지면 화장실 스위치를 켜라" 등의 "거실 스위치가 켜짐"이라는 조건 정보를 포함하는 명령어 세트가 검색될 수 있다. EPS(114)는 AS(113)에게 명령어 세트에 기초한 홈 IoT 디바이스(121)의 제어를 요청할 수 있고, AS(113)는 명령어 세트에 대응하는 제어 명령을 생성할 수 있다. 예를 들어, AS(113)는 홈 IoT 디바이스(121)인 셋탑 단말의 전원이 켜지도록 제어 명령을 생성할 수 있고, 홈 IoT 디바이스(121)인 화장실 스위치가 켜지도록 제어 명령을 생성할 수 있다. CGS(111)는 생성된 제어 명령 각각을 셋탑 단말 및 화장실 스위치로 전송할 수 있다.
DBS(115)는 사용자의 IoT 서비스 가입 정보를 저장한다. 예를 들어, DBS(115)는 IoT 서비스와 관련된 홈 IoT 디바이스(121)의 청약 정보를 저장할 수 있다. 홈 IoT 디바이스(121)의 청약 정보는 홈 IoT 디바이스(121)의 종류 등을 포함할 수 있다. 또한, DBS(115)는 홈 IoT 디바이스(121)의 상태, 제어, 및 프로파일 중 적어도 하나를 저장할 수 있다. 또한, DBS(115)는 사용자와 홈 IoT 디바이스(121)의 매핑 정보를 저장할 수 있다. 또한, DBS(115)는 명령어 세트를 저장할 수 있다.
ISS(116)는 단말(130)에 저장된 어플리케이션과 연동하는 서버이다. ISS(116)는 푸쉬 메시지를 단말(130)로 전송할 수 있고, 어플리케이션은 푸쉬 메시지를 디스플레이에 표시할 수 있다.
서버(100)는 홈 IoT 디바이스(121)의 트래픽을 수신하는 곳(CSG(111))과 단말(130)의 트래픽을 수신하는 곳(AS(113) 및 ISS(116))이 구분될 수 있다. 트래픽이 분산되어, 서버(110)의 동작이 보다 효율적일 수 있다.
사용자가 IoT 서비스를 이용하기 위해서 홈(120) 내의 사물들이 서로 통신할 수 있어야 한다. 홈(120) 내의 사물에 대응하는 홈 IoT 디바이스(121)가 통신하여 댁 내의 사물 인터넷 서비스가 실현될 수 있다. 예를 들어, 홈 IoT 디바이스(121)는 전등에 대응하는 스위치, 현관문에 대응하는 도어락, 또는 창문에 대응하는 열림 센서 등을 포함할 수 있다. 홈 IoT 디바이스(121)는 스마트 냉장고, 스마트 세탁기 등의 스마트 가전 제품을 더 포함할 수 있다.
IoT 서비스를 위해 홈 IoT 디바이스(121)는 홈(120) 내에 위치한 무선 네트워크 장비와 페어링될 수 있다. 예를 들어, 무선 네트워크 장비의 USB 동글을 통해 스위치, 콘센트, 열림 센서 등의 홈 IoT 디바이스(121)와 무선 네트워크 장비는 Z-wave 방식으로 페어링될 수 있다. 또한, 홈 IoT 디바이스(121)는 서버(110)와 통신할 수 있고, 서버(110)에게 이벤트신호를 전송할 수 있다.
도 2는 일 실시예에 따른 단말의 동작 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 일 실시예에 따른 단말은 제어 대상 기기의 제어를 위한 조건 정보를 정의한다(210). 제어 대상 기기는 도 1을 통해 기술된 홈 IoT 디바이스일 수 있다. 조건 정보는 이벤트 발생을 기초로 이벤트 신호를 생성하는 이벤트 발생 기기의 식별 정보 및 이벤트 발생에 대응하는 실행 정보를 포함할 수 있다. 여기서, 이벤트 발생 기기는 다른 홈 IoT 디바이스일 수 있다.
어플리케이션의 실행을 기초로 단말은 이벤트 발생 기기의 식별 정보 및 실행 정보를 입력 받기 위한 사용자 인터페이스를 디스플레이에 노출할 수 있다. 사용자는 사용자 인터페이스를 통해 식별 정보 및 실행 정보를 입력할 수 있다. 예를 들어, 사용자가 도어락의 열림이라는 이벤트를 이용하여 보일러를 동작시키려는 경우, 사용자는 "도어락"에 대응하는 식별 정보와 도어락의 "열림"이라는 실행 정보를 입력할 수 있다. 단말은 식별 정보 및 실행 정보를 이용하여 "도어락이 열리면"이라는 조건 정보를 정의할 수 있다.
단말은 조건 정보와 미리 설정된 명령어 세트 사이에 충돌(conflict)이 있는지 여부의 확인을 기초로 생성된 가이드 정보를 서버로부터 수신한다(220). 충돌은 조건 정보가 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우이다.
단말은 조건 정보를 서버로 전송할 수 있다. 서버는 조건 정보를 이용하여 데이터베이스를 검색할 수 있다. 여기서, 데이터베이스는 미리 설정된 명령어 세트를 저장할 수 있다. 조건 정보는 식별 정보와 실행 정보를 포함할 수 있으므로, 서버는 식별 정보 및 실행 정보를 이용하여 데이터베이스를 검색할 수 있다. 전술한 예에서, 서버는 "도어락" 및 "열림"을 키워드로 하여 데이터베이스를 검색할 수 있다.
미리 설정된 명령어 세트는 조건 정보를 포함할 수 있고, 미리 설정된 명령어 세트의 조건 정보는 식별 정보 및 실행 정보를 포함할 수 있다. 서버는 단말로 수신된 조건 정보에 포함된 식별 정보 및 실행 정보 각각과 미리 설정된 명령어 세트의 조건 정보에 포함된 식별 정보 및 실행 정보 각각이 일치하는지 여부를 확인할 수 있다. 즉, 서버는 수신된 조건 정보에 포함된 식별 정보와 미리 설정된 명령어 세트의 조건 정보에 포함된 식별 정보가 일치하는지 확인할 수 있고, 수신된 조건 정보에 포함된 실행 정보와 미리 설정된 명령어 세트의 조건 정보에 포함된 실행 정보가 일치하는지 확인할 수 있다. 각각이 서로 일치하는 경우, 서버는 수신된 조건 정보와 미리 설정된 명령어 세트 사이에 충돌이 발생하는 것으로 결정할 수 있다.
충돌의 발생 여부를 기초로 서버는 가이드 정보를 생성할 수 있고, 가이드 정보를 단말에 전송할 수 있다.
단말은 가이드 정보에 기초하여, 조건 정보의 재정의 및 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작한다(230). 충돌이 발생한 경우, 단말은 조건 정보의 재정의로 동작할 수 있고, 충돌이 발생하지 않은 경우, 단말은 명령어 세트의 생성으로 동작할 수 있다.
충돌이 발생한 경우, 서버는 충돌 발생을 알리는 정보를 포함하는 가이드 정보를 생성하여 단말로 전송할 수 있다. 단말은 가이드 정보에 대응하는 메시지를 디스플레이에 노출할 수 있다. 예를 들어, 단말은 "입력된 조건 정보는 이미 등록된 명령어와 충돌이 발생하였으니, 조건 정보를 다시 입력해주세요"라는 메시지를 디스플레이에 노출할 수 있다. 단말은 사용자가 입력한 이벤트 발생 기기의 식별 정보 및 실행 정보를 초기화할 수 있다.
충돌이 발생하지 않은 경우, 단말은 제어 대상 기기 목록을 디스플레이에 노출할 수 있다. 제어 대상 기기 목록은 복수의 제어 대상 기기의 식별 정보를 포함할 수 있다. 단말은 제어 대상 기기 목록에 대한 선택 입력을 기초로 제어 대상 기기에 대응하는 실행 정보를 수신할 수 있다. 즉, 사용자는 제어 대상 기기 목록에서 제어 대상 기기를 선택할 수 있고, 선택된 제어 대상 기기의 실행 정보를 입력할 수 있다. 전술한 예에서, 사용자는 제어 대상 기기 목록에서 "보일러"에 대응하는 식별 정보를 선택할 수 있고, 보일러를 "동작시켜"라는 실행 정보를 입력할 수 있다. 단말은 조건 정보 및 실행 정보를 기초로 명령어 세트를 생성할 수 있다. 전술한 예에서, 단말은 "도어락이 열리면 보일러를 동작시켜"라는 명령어 세트를 생성할 수 있다.
단말은 명령어 세트를 서버로 전송할 수 있고, 서버는 명령어 세트를 데이터베이스에 저장할 수 있다.
이벤트가 발생하는 경우, 이벤트 발생 기기는 이벤트 신호를 생성할 수 있고, 이벤트 신호를 서버에 전송할 수 있다. 예를 들어, 도어락이 열리면, 도어락은 도어락의 열림을 나타내는 이벤트 신호를 서버에 전송할 수 있고, 도어락의 비밀번호가 5회 틀리면, 비밀번호가 5회 틀림을 나타내는 이벤트 신호를 서버에 전송할 수 있다.
서버는 이벤트 신호가 명령어 세트에 대응하는지 여부를 확인할 수 있다. 예를 들어, 서버는 이벤트 신호가 명령어 세트의 조건 정보와 일치하는지 확인할 수 있다.
이벤트 신호가 명령어 세트에 대응하는 경우, 서버는 명령어 세트에 대응하는 제어 명령을 생성할 수 있다. 예를 들어, 서버는 명령어 세트의 실행 정보를 이용하여 제어 명령을 생성할 수 있다.
서버는 제어 명령을 제어 대상 기기로 전송할 수 있다. 제어 대상 기기는 제어 명령에 따라 동작할 수 있다.
도 1을 통해 기술된 사항들은 도 2를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.
도 3a 내지 도 3b는 일 실시예에 따른 단말의 조건 정보의 재정의 또는 명령어 세트의 생성을 설명하기 위한 도면이다.
도 3a 내지 도 3b에 도시된 화면은 단말의 메모리에 저장된 어플리케이션의 실행에 따른 화면이다.
어플리케이션은 제어 대상 기기의 제어를 위한 조건 정보를 정의한다. 화면(310)에는 어플리케이션이 제공하는 사용자 인터페이스가 표시된다. 사용자 인터페이스는 조건 정보를 입력하기 위한 영역(311) 및 제어 대상 기기의 실행 정보를 입력하기 위한 영역(314)을 포함할 수 있다. 또한, 사용자 인터페이스는 조건 정보 및 실행 정보를 기초로 생성된 명령어 세트의 등록을 위한 영역(315)을 더 포함할 수 있다.
조건 정보가 정의되지 않은 경우, 영역(314) 및 영역(315)는 비활성화될 수 있다. 영역(311)의 이벤트 발생 기기 버튼(312)에 대한 입력이 있는 경우, 화면(320)이 디스플레이에 표시될 수 있다
어플리케이션은 이벤트 발생 기기의 식별 정보를 입력 받기 위한 사용자 인터페이스(321)를 표시할 수 있다. 도 3a에 도시된 예에서, 거실 스위치, 안방 스위치 등의 이벤트 발생 기기의 식별 정보가 표시된다.
영역(311)의 제어 조건 버튼(313)에 대한 입력이 있는 경우, 화면(330)이 디스플레이에 표시될 수 있다.
어플리케이션은 이벤트 발생 기기의 실행 정보를 입력 받기 위한 사용자 인터페이스(331)를 표시할 수 있다. 도 3a에 도시된 예에서, 사용자는 조명의 켜짐 또는 꺼짐의 실행 정보를 입력할 수 있다. 적용하기 버튼(332)에 대한 입력이 있는 경우, 어플리케이션은 식별 정보 및 실행 정보를 기초로 조건 정보를 정의할 수 있다.
조건 정보는 서버로 전송될 수 있고, 서버는 조건 정보와 미리 설정된 명령어 세트 사이에 충돌이 있는지 여부를 확인할 수 있다. 예를 들어, 서버는 조건 정보와 미리 설정된 명령어 세트의 조건 정보가 일치하는지 확인할 수 있다. 충돌 여부의 확인을 기초로 서버는 가이드 정보를 생성하여 단말로 전송할 수 있다.
충돌이 발생하지 않는 경우, 서버는 충돌 발생하지 않음에 대응하는 가이드 정보를 전송할 수 있다. 어플리케이션은 가이드 정보의 수신을 기초로 제어 대상 기기 목록을 노출할 수 있다. 또한, 어플리케이션은 제어 대상 기기 목록에 대한 선택 입력을 기초로 제어 대상 기기에 대응하는 실행 정보를 수신할 수 있다. 즉, 사용자는 제어 대상 기기 목록에서 제어 대상 기기를 선택할 수 있고, 선택된 제어 대상 기기의 실행 정보를 입력할 수 있다. 어플리케이션은 조건 정보 및 제어 대상 기기의 실행 정보를 기초로 명령어 세트를 생성할 수 있다.
충돌이 발생하는 경우, 서버는 충돌 발생에 대응하는 가이드 정보를 생성하여 단말로 전송할 수 있다. 이하, 도 3b를 참조하면서 설명한다.
도 3b를 참조하면, 디스플레이에는 화면(340)이 표시된다. 단말은 충돌 발생에 대응하는 가이드 정보를 수신할 수 있고, 가이드 정보에 대응하는 메시지(341)를 디스플레이에 노출할 수 있다. 일 실시예에 있어서, 메시지(341)는 팝업 메시지로서 미리 정해지 시간 동안(예를 들어, 5초 동안) 노출된 후 사라질 수 있다. 단말은 조건 정보의 재정의를 위해 동작할 수 있다.
도 4는 일 실시예에 따른 옵션 정보의 생성을 설명하기 위한 도면이다.
화면(410)에는 사용자 인터페이스가 표시된다. 어플리케이션은 명령어 세트의 생성을 위해 옵션 정보를 입력하기 위한 버튼(411)을 노출할 수 있다. 버튼(411)에 대한 입력이 있는 경우, 화면(420)이 디스플레이에 표시될 수 있다.
어플리케이션은 버튼(411)의 입력에 대한 응답으로 옵션 정보를 입력 받기 위한 사용자 인터페이스를 디스플레이에 표시할 수 있다. 적용하기 버튼(412)에 대한 입력이 있는 경우, 조건 정보가 정의될 수 있다.
사용자 인터페이스는 영역(421) 및 영역(422)를 포함할 수 있다. 영역(421)은 외출 모드, 취침 모드, 실내 모드 등을 사용자로부터 입력 받을 수 있다. 즉, 이벤트 발생 기기의 동작 모드가 선택될 수 있고, 동작 모드가 이벤트 발생 기기의 실행 정보에 포함될 수 있다. 복수의 동작 모드 중 어느 하나의 동작 모드에서 동작하는 동안 이벤트가 발생하는 경우, 이벤트 발생 기기는 이벤트 신호를 생성할 수 있다.
영역(422)은 시간 정보 및 요일 정보를 입력 받을 수 있다. 이벤트 발생 기기의 실행 정보는 시간 정보 및 요일 정보를 포함할 수 있다. 사용자에 의해 설정된 기간 또는 시간 동안에 이벤트가 발생하는 경우, 이벤트 발생 기기는 이벤트 신호를 생성할 수 있다. 영역(422)에 대한 입력이 있는 경우, 화면(430)이 디스플레이에 표시될 수 있다. 완료 버튼(423)에 대한 입력이 있는 경우, 화면(410)이 디스플레이에 표시될 수 있다.
어플리케이션은 영역(422)에 대한 입력에 응답하여, 시간 정보 및 요일 정보를 입력 받기 위한 사용자 인터페이스를 디스플레이에 표시할 수 있다. 영역(431)을 통해 사용자는 시간 정보를 입력할 수 있다.
완료 버튼(432)에 대한 입력이 있는 경우, 옵션 정보를 포함하는 조건 정보가 정의될 수 있다.
일 실시예에 있어서, 조건 정보가 정의되고, 조건 정보가 미리 설정된 명령어 세트와 충돌되지 않으며, 제어 대상 기기의 실행 정보가 정의되는 경우, 어플리케이션은 옵션 정보를 입력 받기 위한 사용자 인터페이스를 디스플레이에 표시할 수 있다. 예를 들어, "도어락이 열리면"의 조건 정보가 정의되고 "보일러를 동작시켜"라는 제어 대상 기기의 실행 정보가 정의되는 경우, 어플리케이션은 조건 정보의 구체화를 위한 옵션 정보를 입력 받기 위한 사용자 인터페이스를 표시할 수 있다. 사용자 인터페이스를 통해 어플리케이션은 이벤트 발생 기기의 동작 모드 정보, 시간 정보, 및 요일 정보 중 적어도 하나를 입력 받을 수 있다. 어플리케이션은 입력 받은 옵션 정보를 조건 정보에 포함시켜 명령어 세트를 생성할 수 있다. 예를 들어, "평일 저녁 7시부터 8시"의 옵션 정보가 입력되는 경우, 어플리케이션은 옵션 정보를 조건 정보에 포함시켜 "평일 저녁 7시부터 8시 사이에 도어락이 열리면 보일러를 동작시켜"라는 명령어 세트를 생성할 수 있다. 도 4에 도시된 예와 달리, 옵션 정보는 조건 정보의 정의를 위한 과정에서 입력되지 않을 수 있다.
도 5는 일 실시예에 따른 제어 대상 기기, 실행 정보, 및 옵션 정보 명칭의 입력을 설명하기 위한 도면이다.
화면(510)에는 영역(511), 영역(512), 및 영역(516)이 표시된다. 조건 정보가 정의된 경우, 영역(512)가 활성화될 수 있다. 앱 알림 설정 영역(513)에 대한 입력이 있는 경우, 사용자는 앱 알림을 설정할 것인지 결정할 수 있다. 앱 알림의 설정이 있는 경우, 조건 정보에 대응하는 이벤트가 발생했을 때, 이벤트 발생 기기는 이벤트 신호를 생성하여 서버로 전송할 수 있고, 서버는 단말로 이벤트 신호에 대응하는 알림을 전송할 수 있다. 앱 알림은 푸쉬 메시지, SMS 등의 형태일 수 있다.
제어 대상 기기 영역(514)에 대한 입력이 있는 경우, 화면(520)이 표시될 수 있다. 화면(520)에는 제어 대상 기기 목록(521)이 표시될 수 있다. 사용자는 제어 대상 기기 목록(521)에서 적어도 하나의 제어 대상 기기를 선택할 수 있다. 사용자가 제어 대상 기기를 선택한 경우, 화면(530)이 표시될 수 있다.
화면(530)에 표시된 영역(531)을 통해 어플리케이션은 제어 대상 기기의 실행 정보를 입력 받을 수 있다. 도 5에 도시된 예에서, 사용자는 연결하기 버튼 또는 차단하기 버튼에 입력을 인가할 수 있고, 어플리케이션은 실행 정보를 입력 받을 수 있다. 적용하기 버튼(533)에 대한 입력이 있는 경우, 어플리케이션은 제어 대상 기기의 실행 정보를 정의할 수 있다.
실행 정보가 정의된 경우, 화면(540)이 디스플레이에 표시될 수 있다. 영역(541)에는 정의된 조건 정보가 표시되고, 영역(542)에는 정의된 실행 정보가 표시될 수 있다. 또한, 추가하기 버튼(543)에 대한 입력이 있는 경우, 다른 제어 대상 기기의 실행 정보가 정의될 수 있다. 예를 들어, "도어락이 열리면 에어컨을 켜고 전등을 켜라"와 같이 "에어컨 켜기"와 "전등을 켜기"의 복수의 실행 정보를 정의할 수 있다.
실행 정보가 정의된 경우, 영역(544)이 활성화될 수 있다. 영역(544)를 통해 명령어 세트의 식별 정보가 입력될 수 있다. 설정명칭 정보 버튼(545)에 대한 입력이 있는 경우, 어플리케이션은 명령어 세트의 이름을 입력 받기 위한 사용자 인터페이스를 디스플레이에 표시할 수 있다.
자동실행 등록 버튼(546)에 대한 입력이 있는 경우, 명령어 세트가 생성될 수 있고, 단말은 명령어 세트를 서버로 전송할 수 있다.
도 6은 일 실시예에 따른 서버의 동작 방법을 설명하기 위한 순서도이다.
일 실시예에 따른 서버는 도 1에 도시된 서버에 대응될 수 있다.
도 6을 참조하면, 일 실시예에 따른 서버는 제어 대상 기기의 제어를 위해 정의된 조건 정보를 단말로부터 수신한다(610). 조건 정보는 이벤트 발생을 기초로 이벤트 신호를 생성하는 이벤트 발생 기기의 식별 정보 및 이벤트 발생에 대응하는 실행 정보를 포함할 수 있다.
서버는 조건 정보가 미리 설정된 명령어 세트와 충돌(conflict)이 있는지 여부를 확인한다(620). 일 실시예에 있어서, 조건 정보가 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우, 서버는 충돌이 있는 것으로 결정할 수 있다.
단계(620)에서의 확인에 기초하여, 서버는 단말이 조건 정보의 재정의 및 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작하도록 가이드 정보를 생성한다(630)
서버는 가이드 정보를 단말로 전송한다(640).
단말이 조건 정보의 재정의로 동작하는 경우, 가이드 정보에 대응하는 메시지가 단말의 디스플레이에 출력될 수 있다. 예를 들어, "조건 정보를 다시 입력하세요"라는 메시지가 출력될 수 있다.
단말이 명령어 세트의 생성으로 동작하는 경우, 제어 대상 기기 목록이 디스플레이에 노출될 수 있다. 또한, 제어 대상 기기 목록에 대한 선택 입력을 기초로 제어 대상 기기에 대응하는 실행 정보가 수신될 수 있다. 또한, 상기 조건 정보 및 상기 실행 정보를 기초로 명령어 세트가 생성될 수 있다.
도 1 내지 도 5를 통해 기술된 사항들은 도 6을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.
도 7은 일 실시예에 따른 단말 및 서버의 동작을 설명하기 위한 흐름도이다.
도 7을 참조하면, 단말(710)은 조건 정보를 정의한다. 단말(710)은 이벤트 발생 기기의 식별 정보 및 이벤트 발생 기기의 실행 정보를 이용하여 조건 정보를 정의할 수 있다.
단말(710)은 조건 정보를 서버(720)로 전송한다.
서버(720)는 조건 정보가 미리 설정된 명령어 세트와 충돌되는지 여부를 확인한다. 예를 들어, 서버(720)는 수신된 조건 정보가 미리 설정된 명령어 세트의 조건 정보와 일치하는지 여부를 확인할 수 있다. 서버(720)는 충돌 여부의 확인을 기초로 가이드 정보를 생성한다. 서버(720)는 가이드 정보를 단말(710)로 전송할 수 있다.
단말(710)는 가이드 정보를 수신한다. 단말(710)은 가이드 정보를 기초로 조건 정보의 재정의 및 조건 정보를 포함하는 명령어 세트의 생성 중 어느 하나로 동작한다. 조건 정보가 미리 설정된 명령어 세트와 충돌되는 경우, 단말(710)은 가이드 정보에 대응하는 메시지를 출력할 수 있다. 조건 정보가 미리 설정된 명령어 세트와 충돌되지 않는 경우, 단말(710)은 제어 대상 기기 목록을 노출할 수 있다. 제어 대상 기기 목록에 대한 선택 입력이 있는 경우, 단말(710)은 선택된 제어 기기에 대응하는 실행 정보를 수신할 수 있다. 단말(710)은 조건 정보 및 실행 정보를 기초로 명령어 세트를 생성할 수 있다.
단말(710)은 명령어 세트를 서버(720)에 전송할 수 있다.
이벤트가 발생하는 경우, 이벤트 발생 기기는 이벤트 신호를 생성할 수 있고, 이벤트 신호를 서버(720)에 전송할 수 있다. 서버(720)는 이벤트 신호가 명령어 세트에 대응하는지 여부를 확인할 수 있다. 예를 들어, 서버(720)는 이벤트 신호와 명령어 세트의 조건 정보가 일치하는지 여부를 확인할 수 있다.
이벤트 신호가 명령어 세트에 대응하는 경우, 서버(720)는 명령어 세트에 대응하는 제어 명령을 생성할 수 있다. 예를 들어, 서버(720)는 명령어 세트의 실행 정보를 이용하여 제어 명령을 생성할 수 있다.
서버(720)는 제어 명령을 제어 대상 기기로 전송할 수 있다. 제어 대상 기기는 제어 명령에 따라 동작할 수 있다.
도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (8)
- 단말에 의해 설정된 조건 정보를 상기 단말로부터 수신하는 단계 - 상기 설정된 조건 정보는 특정 기기의 실행 정보 및 상기 실행 정보와 관련된 옵션 정보를 포함함 -;
상기 설정된 조건 정보가 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는지 확인하는 단계; 및
상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우 상기 단말을 위한 제1 가이드 정보를 생성하고 상기 제1 가이드 정보를 상기 단말로 전송하며, 상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하지 않는 경우 상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하지 않음을 나타내는 제2 가이드 정보를 상기 단말로 전송하는 단계
를 포함하고,
상기 단말은,
상기 제1 가이드 정보를 수신하면, 다른 조건 정보의 입력에 대한 지시를 나타내는 메시지를 표시하고,
상기 제2 가이드 정보를 수신하면, 제어 대상 기기 목록을 표시하고, 상기 표시된 제어 대상 기기 목록에 포함된 제어 대상 기기들 중 어느 하나에 대한 선택이 있는 경우, 상기 선택된 제어 대상 기기의 실행 정보를 사용자로부터 입력받아 상기 설정된 조건 정보 및 상기 입력받은 실행 정보를 포함하는 명령어 세트를 생성하고, 상기 생성된 명령어 세트를 서버로 전송하는,
서버의 동작 방법.
- 제1항에 있어서,
상기 옵션 정보는 상기 특정 기기가 실행되는 시간 및 요일에 대한 정보를 포함하는,
서버의 동작 방법.
- 제1항에 있어서,
상기 특정 기기의 동작이 상기 생성된 명령어 세트 내의 조건 정보에 부합되는 경우, 상기 생성된 명령어 세트 내의 실행 정보에 해당하는 제어 명령을 생성하여 상기 선택된 제어 대상 기기로 전송하는 단계
를 더 포함하는,
서버의 동작 방법.
- 제1항에 있어서,
상기 특정 기기는 홈(home) 내에 위치한 다수의 센서들 중 하나를 나타내는,
서버의 동작 방법.
- 서버에 있어서,
단말에 의해 설정된 조건 정보를 상기 단말로부터 수신하고 - 상기 설정된 조건 정보는 특정 기기의 실행 정보 및 상기 실행 정보와 관련된 옵션 정보를 포함함 -, 상기 설정된 조건 정보가 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는지 확인하며, 상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하는 경우 상기 단말을 위한 제1 가이드 정보를 생성하고 상기 제1 가이드 정보를 상기 단말로 전송하며, 상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하지 않는 경우 상기 설정된 조건 정보가 상기 미리 설정된 명령어 세트에 포함된 조건 정보와 일치하지 않음을 나타내는 제2 가이드 정보를 상기 단말로 전송하는 컨트롤러
를 포함하고,
상기 단말은,
상기 제1 가이드 정보를 수신하면, 다른 조건 정보의 입력에 대한 지시를 나타내는 메시지를 표시하고,
상기 제2 가이드 정보를 수신하면, 제어 대상 기기 목록을 표시하고, 상기 표시된 제어 대상 기기 목록에 포함된 제어 대상 기기들 중 어느 하나에 대한 선택이 있는 경우, 상기 선택된 제어 대상 기기의 실행 정보를 사용자로부터 입력받아 상기 설정된 조건 정보 및 상기 입력받은 실행 정보를 포함하는 명령어 세트를 생성하고, 상기 생성된 명령어 세트를 서버로 전송하는,
서버.
- 제5항에 있어서,
상기 옵션 정보는 상기 특정 기기가 실행되는 시간 및 요일에 대한 정보를 포함하는,
서버.
- 제5항에 있어서,
상기 컨트롤러는 상기 특정 기기의 동작이 상기 생성된 명령어 세트 내의 조건 정보에 부합되는 경우, 상기 생성된 명령어 세트 내의 실행 정보에 해당하는 제어 명령을 생성하여 상기 선택된 제어 대상 기기로 전송하는,
서버.
- 제5항에 있어서,
상기 특정 기기는 홈(home) 내에 위치한 다수의 센서들 중 하나를 나타내는,
서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180016931A KR101927022B1 (ko) | 2018-02-12 | 2018-02-12 | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180016931A KR101927022B1 (ko) | 2018-02-12 | 2018-02-12 | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150090957A Division KR101831026B1 (ko) | 2015-06-26 | 2015-06-26 | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180019142A KR20180019142A (ko) | 2018-02-23 |
KR101927022B1 true KR101927022B1 (ko) | 2018-12-07 |
Family
ID=61387302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180016931A KR101927022B1 (ko) | 2018-02-12 | 2018-02-12 | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101927022B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100678126B1 (ko) | 2006-03-24 | 2007-02-02 | 삼성전자주식회사 | 이동 통신 단말기에서의 중복 일정 관리 방법 |
-
2018
- 2018-02-12 KR KR1020180016931A patent/KR101927022B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100678126B1 (ko) | 2006-03-24 | 2007-02-02 | 삼성전자주식회사 | 이동 통신 단말기에서의 중복 일정 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20180019142A (ko) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190103198A (ko) | 스마트 디바이스 제어 방법 및 장치 | |
US20180176031A1 (en) | Home automation via voice control | |
US20150292764A1 (en) | Reconfigurable network controller | |
EP3474517B1 (en) | Electronic device for controlling iot device to correspond to state of external electronic device and operation method thereof | |
CN111937051A (zh) | 使用增强现实可视化的智能家居设备放置和安装 | |
US20190019402A1 (en) | Set-top box gateway architecture for universal remote controller | |
KR101797812B1 (ko) | 다수의 장치들을 제어하기 위한 자동실행방법, 어플리케이션 및 설정서버 | |
KR101927022B1 (ko) | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 | |
KR101839267B1 (ko) | 셋탑 단말, 셋탑 단말을 위한 어플리케이션, 및 서버의 동작 방법 | |
KR101831026B1 (ko) | 단말의 동작 방법, 어플리케이션, 및 서버의 동작 방법 | |
KR101903706B1 (ko) | 전자 기기의 충전기를 활용하여 전자 기기가 위치한 공간을 파악하는 방법, 상기 전자 기기 및 상기 충전기 | |
US20200154261A1 (en) | Method and device for controlling target device of host and client | |
KR20210000965A (ko) | IoT 동시 실행을 위한 서비스 서버의 동작 방법 및 서비스 서버 | |
KR20140104156A (ko) | 리빙 패턴 기반의 단말 제어 장치 및 방법 | |
KR20190012599A (ko) | 전자 장치를 제어하는 방법 및 장치 | |
CN111093363A (zh) | 用于挤奶机的控制系统、方法及计算机程序 | |
EP4085596B1 (en) | A network controller for granting access rights to a set of devices | |
KR102282560B1 (ko) | Sbc 기반의 제로 월패드를 활용한 사이버 경계벽 시스템 및 그 동작 방법 | |
KR20170001999A (ko) | 셋탑 단말, 셋탑 단말을 위한 어플리케이션, 및 서버의 동작 방법 | |
CN111050544B (zh) | 用于自动挤奶机的控制系统、方法及计算机程序 | |
KR20170002333A (ko) | 다수의 장치들을 제어하기 위한 자동실행방법, 어플리케이션 및 설정서버 | |
KR101791738B1 (ko) | 단말, 단말의 동작 방법, 및 어플리케이션 | |
KR102167099B1 (ko) | 전원통신 통합 라인의 신규 설비 제어 자동 설정 방법 및 컴퓨터-판독가능 기록매체 | |
US20240264724A1 (en) | Application extensibility for smart device control | |
CN115460060B (zh) | 智能设备的设备升级方法及装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |