KR20170115802A - 전자 장치 및 전자장치의 외부장치 제어 방법 - Google Patents

전자 장치 및 전자장치의 외부장치 제어 방법 Download PDF

Info

Publication number
KR20170115802A
KR20170115802A KR1020160043447A KR20160043447A KR20170115802A KR 20170115802 A KR20170115802 A KR 20170115802A KR 1020160043447 A KR1020160043447 A KR 1020160043447A KR 20160043447 A KR20160043447 A KR 20160043447A KR 20170115802 A KR20170115802 A KR 20170115802A
Authority
KR
South Korea
Prior art keywords
external device
information
external
action
electronic device
Prior art date
Application number
KR1020160043447A
Other languages
English (en)
Inventor
신승민
동지연
손혜림
송인지
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160043447A priority Critical patent/KR20170115802A/ko
Priority to EP17153981.0A priority patent/EP3229409B1/en
Priority to US15/456,922 priority patent/US10523460B2/en
Priority to CN201710223450.0A priority patent/CN107343020A/zh
Publication of KR20170115802A publication Critical patent/KR20170115802A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • H04L12/2829Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality involving user profiles according to which the execution of a home appliance functionality is automatically triggered
    • 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
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/284Home automation networks characterised by the type of medium used
    • H04L2012/2841Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Telephone Function (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 다양한 실시 예에 따른 전자 장치는, 외부장치와 통신을 수행하는 통신부; 상기 외부장치에 대한 제 1 정보 및 액션 템플릿을 저장하는 메모리; 및 상기 통신부를 통해 상기 외부장치의 식별 정보를 수신하고, 상기 식별 정보에 기초하여 상기 외부장치에 대응하는 제 1 정보를 상기 메모리로부터 획득하고, 상기 제 1 정보에 기초하여 복수의 액션 템플릿으로부터 적어도 하나의 액션 템플릿을 선택하고, 상기 선택된 액션 템플릿에 포함된 상기 외부장치를 동작시키는 명령을 상기 외부장치로 전송하도록 상기 통신부를 제어하는 제어부;를 포함할 수 있다.

Description

전자 장치 및 전자장치의 외부장치 제어 방법{Electronic apparatus and IOT Device Controlling Method thereof}
본 발명은 전자 장치 및 전자장치의 외부장치 제어 방법에 관한 것으로서, 더욱 상세하게는 외부장치의 정보 및 사용자의 컨텍스트 정보를 이용하여 외부장치를 제어하는 장치 및 방법에 관한 것이다.
최근 반도체 기술 및 무선 통신 기술의 발전으로 인하여 다양한 사물에 통신기능이 포함되어 네크워크를 형성함으로써 편리하게 사물을 제어할 수 있게 되었다. 이와 같이 외부장치인 사물에 통신기능을 포함하여 네트워크로 연결하는 것을 사물 인터넷(IOT : Internet Of Things)이라 하며 점차 그 사용 용도가 증가하는 추세이다.
한편 이러한 사물 인터넷 환경에서 동작하는 외부장치를 아이오티(IOT) 디바이스라고 하며, 이러한 외부장치를 효과적으로 제어하기 위해서는 각각의 외부장치의 기능 및 특징에 대해 사용자가 잘 알고 있어야 하며, 이러한 사물 인터넷 환경에서 다양한 외부장치를 식별하고 효율적으로 제어하기 위한 연구가 진행되고 있다. 특히 사용자가 외부장치를 사용하는 이력을 분석하여 외부장치를 동작시키는 서비스가 제공되고 있다.
사용자가 외부장치를 사용하는 이력을 분석하여 외부장치를 동작시키는 방법은 정확도나 외부장치의 특성들을 유추하기 어려우며, 어느 정도 외부장치를 사용한 이력이 축적되어야 동작이 가능하므로 번거롭다. 또한 급증하는 아이오티 환경에서 비슷한 기능을 가진 복수의 외부장치 간의 관계를 고려하지 않아 효율적으로 외부장치를 제어하기 어렵다.
본 발명의 실시예에 따른 전자장치는 댁내에 배치된 외부장치에 대한 정보를 메모리에 저장된 지식정보를 이용하여 동작 조건 및 특성을 분석하고, 각 외부장치간의 관계를 고려하여 동작시킬 외부장치를 결정하므로 외부장치의 사용 이력이 축적되지 않아도 현재 조건에 가장 적합한 외부장치가 동작되도록 제어할 수 있다.
또한 사용자의 컨텍스트 정보를 고려하여 외부장치를 결정하고 동작시킴으로써 사용자의 현재 조건에 맞게 외부장치를 결정하고 동작시키는데 목적이 있다.
본 발명의 일 실시예에 따른 전자 장치는 외부장치와 통신을 수행하는 통신부; 상기 외부장치에 대한 제 1 정보 및 액션 템플릿을 저장하는 메모리; 및 상기 통신부를 통해 상기 외부장치의 식별 정보를 수신하고, 상기 식별 정보에 기초하여 상기 외부장치에 대응하는 제 1 정보를 상기 메모리로부터 획득하고, 상기 제 1 정보에 기초하여 복수의 액션 템플릿으로부터 적어도 하나의 액션 템플릿을 선택하고, 상기 선택된 액션 템플릿에 포함된 상기 외부장치를 동작시키는 명령을 상기 외부장치로 전송하도록 상기 통신부를 제어하는 제어부;를 포함할 수 있다.
본 발명의 다른 실시예에 따른 전자장치의 외부장치 제어 방법은, 통신부를 통해 외부장치로부터 외부장치의 식별 정보를 수신하는 단계; 상기 식별 정보에 기초하여 상기 외부장치에 대응하는 제 1 정보를 메모리로부터 획득하는 단계; 상기 제 1 정보에 기초하여 상기 메모리에 저장된 복수의 액션 템플릿으로부터 적어도 하나의 액션 템플릿을 선택하는 단계; 및 상기 선택된 액션 템플릿에 포함된 상기 외부장치를 동작시키는 명령을 상기 외부장치로 전송하는 단계;를 포함할 수 있다.
본 발명의 일 실시 예에 따른 전자 장치는 다양한 외부장치에 대한 정보를 메모리에 저장된 지식 정보 및 액션 템플릿을 이용하여 수집하여 외부장치의 동작 조건 및 기능을 분석하고, 각각의 외부장치간의 관계를 고려하여 기능을 수행할 외부장치를 결정하고 동작시킴으로써 외부장치 사용이력이 축적되지 않더라도 현재 사용자의 조건에 가장 적합한 외부장치를 선택하여 동작시킬 수 있는 장점이 있다
도 1은 본 발명의 일 실시 예에 따른 전자장치 및 외부장치의 시스템 구성을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 전자장치의 블록도를 도시한다.
도 3은 본 발명의 일 실시 예에 따른 전자 장치의 상세 블록도를 도시한다.
도 4는 본 발명의 일 실시 예에 따른 전자장치의 소프트웨어 블록을 도시한다.
도 5는 본 발명의 일 실시 예에 따른 전자장치의 동작 방법에 대한 흐름도이다.
도 6은 지식 정보의 예를 도시한다.
도 7은 액션 템플릿의 예를 도시한다.
도 8은 본 발명의 다른 실시 예에 따른 전자장치에서 루틴(routine)을 생성하는 방법에 대한 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다" 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)" 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU(central processing unit) 또는 AP(application processor))를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아니며, 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는 예를 들면 스마트폰(smartphone), TV, 가전 기기, 오디오 장치일 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예들에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 전자장치 및 외부장치의 시스템 구성을 도시한다.
도 1을 참조하면 전자장치(201) 및 외부장치(311, 313, 315, 317, 319, 321, 325)가 도시되어 있다. 전자장치(201)는 예를 들면 스마트 TV 또는 스마트폰 일 수 있으나 이에 한정되지 않는다. 전자장치(201)는 통신 기능을 포함할 수 있으며 주변의 외부장치(311, 313, 315, 317, 319, 321, 325)와 통신을 통해 데이터를 전송하거나 수신할 수 있다. 전자장치(201)에 대해서는 도 3 및 도 4를 활용하여 상세히 설명할 것이다. 외부장치(311, 313, 315, 317, 319, 321, 325)는 통신 기능을 가지며 전자장치(201)와 통신을 수행하며 전자장치로 데이터를 전송하거나 또는 수신할 수 있다.
외부장치(311,313,315,317,319,321,325)는 주변 환경을 센싱하는 센서에 통신기능이 포함된 아이오티 센서(319) 및 가전 기기에 통신 기능이 포함된 아이오티(311, 313, 315, 317, 321, 325) 가전기기로 구분될 수 있다.
예를 들면 외부장치는 통신 기능이 포함된 전자레인지(microwave oven)(311)일 수 있다. 전자장치(201)는 전자레인지(311)로부터 전자레인지(311)의 가동 시간, 내부 온도 및 조리 상태에 대한 데이터를 수신하고, 전자레인지(311)의 동작을 제어할 수 있다.
외부장치는 통신 기능이 포함된 조명장치(313)일 수 있다. 전자장치(201)는 조명장치(313)으로부터 현재 조명의 상태 및 밝기에 대한 데이터를 수신하고, 조명장치(313)의 동작을 제어할 수 있다.
외부장치는 통신 기능이 포함된 냉장고(315)일 수 있다. 전자장치(201)는 냉장고(315)로부터 냉장고의 상태 및 온도에 대한 데이터를 수신하고, 냉장고(315)의 동작을 제어할 수 있다.
전자장치(201)는 외부장치(311, 313, 315, 317, 319, 321)와 근거리 통신을 통해 통신을 수행할 수 있다. 전자장치(201)는 근거리 통신을 이용하여 외부장치(311, 313, 315, 317, 319, 321)로부터 로그 정보를 수신할 수 있다. 로그 정보는 외부장치의 식별 정보 및 상태 정보를 포함할 수 있다. 로그 정보에 대해서는 도 2를 사용하여 상세히 설명할 것이다. 근거리 통신은 예를 들면 직비(zigbee), 와이파이(wifi) 또는 블루투쓰(Bluetooth, BT) 통신일 수 있다.
전자장치(201)는 원거리 통신을 통해 서버(325)와 통신을 수행할 수 있다. 전자장치(201)는 서버(325)로부터 외부장치에 대한 정보를 수신할 수 있다. 구체적으로 전자장치(201)는 서버(325)로부터 외부장치에 대한 지식 정보(knowledge information) 및 액션 템플릿(action template)에 대한 정보를 실시간으로 전송 받거나 또는 지식 정보(knowledge information) 및 액션 템플릿(action template)에 대한 업데이트 정보를 수신할 수 있다.
지식 정보는 외부장치의 기능 및 각각의 기능이 가질 수 있는 파라미터가 상세히 정의된 테이블이며, 데이터베이스 형태로 메모리에 저장될 수 있다. 지식 정보에 대해서는 도 6을 사용하여 상세히 설명할 것이다.
액션 템플릿은 사용자 입장에서 정의된 명령어의 집합으로 명령을 수행하기 위한 조건 및 명령을 수행할 적어도 하나의 외부장치가 정의된 테이블이며, 데이터베이스 형태로 메모리에 저장될 수 있다. 액션 템플릿에 대해서는 도 7을 사용하여 상세히 설명할 것이다.
원거리 통신은 예를 들면 3G 통신 또는 LTE 통신일 수 있다. 또한 전자장치(201)는 인터넷 망을 통해 서버(325)와 통신을 수행할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 전자장치의 블록도를 도시한다.
도 2를 참조하면 통신부(220), 제어부(210), 메모리(230), 입력부(250) 및 디스플레이부(260)가 도시되어 있다.
통신부(220)는 외부장치 및 서버와 통신을 수행할 수 있다. 통신부(220)는 외부장치와 통신을 수행할 수 있으며, 외부장치에서 전송된 로그 정보를 수신할 수 있다. 로그 정보는 외부장치에 대한 식별 정보(ID)를 포함할 수 있다.
통신부(220)는 근거리 통신부 및 원거리 통신부를 포함할 수 있다. 전자장치는 근거리 통신부를 통해 외부장치와 통신할 수 있다. 전자장치(201)는 원거리 통신부를 통해 서버와 통신할 수 있다. 통신부(220)의 구체적인 구성 요소에 대해서는 도 3에서 상세히 설명할 것이다.
메모리(230)는 외부장치로부터 수신된 로그(log) 정보를 저장할 수 있다. 로그 정보는 외부장치의 상태 정보, 외부장치가 수집한 외부 환경 정보, 외부장치의 식별 정보(ID: Identification Data), 외부장치가 데이터를 수집한 시간 정보가 포함될 수 있다. 외부 환경 정보는 예를 들면 외부장치 주변의 온도 및 습도일 수 있다. 외부장치가 냉장고인 경우 로그 정보는 냉장고의 현재 온도 및 시간이 될 수 있다. 외부장치가 에어컨인 경우 로그 정보는 에어컨의 가동 상태 및 주변의 온도가 될 수 있다. 외부장치가 모션 센서인 경우 로그 정보는 모션이 감지된 시각 및 위치 정보가 될 수 있다. 외부장치가 조도 센서인 경우 로그 정보는 주변의 조도가 될 수 있다.
메모리(230)는 지식 정보 및 액션 템플릿을 저장할 수 있다. 지식 정보 및 액션 템플릿은 서버로부터 수신될 수 있으며 주기적으로 업데이트 될 수 있다. 지식 정보는 외부장치에 대한 상세 정보를 포함할 수 있다. 지식 정보는 외부장치의 기능 및 각각의 기능이 가질 수 있는 데이터 종류 및 데이터 값이 상세히 정의된 테이블이며, 데이터베이스 형태로 메모리에 저장될 수 있다. 지식 정보에 대해서는 도 6을 사용하여 상세히 설명할 것이다.
액션 템플릿은 외부장치의 동작을 정의하는 테이블이며, 사용자 입장에서 정의된 명령어의 집합으로 명령을 수행하기 위한 조건 및 명령을 수행할 적어도 하나의 외부장치가 정의되어 있으며, 데이터베이스 형태로 메모리에 저장될 수 있다. 액션 템플릿에 대해서는 도 7을 사용하여 상세히 설명할 것이다.
센서부(미도시)는 사용자 주변 환경에 대한 정보를 센싱할 수 있다. 또한 센서부는 사용자의 움직임을 센싱할 수 있다. 센서부는 센싱한 값에 대응하는 전기 신호를 제어부(210)로 출력할 수 있다. 센서부는 전자장치에 포함되거나 또는 별도의 외부장치 형태로 존재할 수 있다. 센서부의 구체적인 동작 및 예에 대해서는 도 3을 사용하여 상세히 설명할 것이다.
입력부(250)는 사용자 입력을 수신할 수 있다. 예를 들면 입력부(250)는 키보드, 터치 또는 모션 입력일 수 있으며, 사용자는 입력부를 통해 전자장치와 인터렉션을 할 수 있다. 입력부(250)에 대해서는 도 3을 사용하여 상세히 설명할 것이다.
디스플레이부(260)는 사용자에게 메시지를 표시할 수 있다. 구체적으로 디스플레이부(260)는 사용자에게 확인을 요청하는 메시지를 표시하거나 및/또는 사용자 입력을 수신할 수 있는 그래픽 오브젝트를 표시할 수 있다. 디스플레이부(260)의 예에 대해서는 도 3에서 상세히 설명할 것이다.
제어부(210)는 전자장치의 전반적인 동작을 제어한다. 제어부(210)는 통신부를 통해 외부장치에서 전송되는 로그 정보를 수신하고, 로그 정보에 기초하여 외부장치에 대응하는 지식 정보를 메모리로부터 획득하고, 지식 정보에 기초하여 액션 템플릿으로부터 동작시킬 외부장치를 결정하고 액션 템플릿에 포함된 액션에 따라 외부장치를 동작시킬 수 있다.
제어부(210)는 전자장치(201)의 주변의 환경 정보 및 사용자 움직임 정보 중 적어도 하나에 기초하여 액션템플릿으로부터 동작시킬 외부장치를 결정하고 액션 템플릿에 정의된 동작을 수행하도록 제어할 수 있다. 환경 정보는 로그 정보에 기초하여 획득될 수 있다. 즉 로그 정보는 외부장치로부터 획득되며, 외부장치는 전자장치 주변의 환경 정보를 수집할 수 있다. 예를 들면 외부장치는 전자장치 주변의 습도 또는 온도를 센싱하고 이를 전자장치로 전송하며 전자장치는 외부장치로부터 수신된 데이터를 분석하여 전자장치 주변의 습도 또는 온도를 체크할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 전자장치의 상세 블록도를 도시한다.
전자 장치(201)는 제어부(210), 통신부(220), (가입자 식별 모듈(224), 메모리(230), 센서부(240), 입력부(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298)를 포함할 수 있다.
제어부(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 제어부(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 제어부(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 제어부(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 제어부(210)는 도 3에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 제어부(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신부(220)은, 도 2의 통신부(170)과 동일 또는 유사한 구성을 가질 수 있다. 통신부(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227)(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈(228) 및 RF(radio frequency) 모듈(229)를 포함할 수 있다.
셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 제어부(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서부(240)는, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여 계측 또는 감지된 정보를 전기 신호로 변환할 수 있으며, 예컨대 도 3에 도시된 센서부(240)에 포함된 센서들 중 하나를 포함할 수 있으나, 이에 한정되지는 않는다. 센서부(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 제어부(210)의 일부로서 또는 별도로, 센서부(240)을 제어하도록 구성된 프로세서를 더 포함하여, 제어부(210)가 슬립(sleep) 상태에 있는 동안, 센서부(240)을 제어할 수 있다.
입력부(250)는, 예를 들면, 터치 패널(touch panel)(252), (디지털) 펜 센서(pen sensor)(254), 키(key)(256), 또는 초음파(ultrasonic) 입력 장치(258)를 포함할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 또는 프로젝터(266) 및 이를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스(270)는, 예를 들면, HDMI(high-definition multimedia interface)(272), USB(universal serial bus)(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 추가적으로 또는 대체적으로(additionally and alternatively), 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 xenon lamp 등)를 포함할 수 있다.
전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 제어부(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치(201)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 전자장치의 소프트웨어 블록을 도시한다.
도 4를 참조하면 외부장치(431, 433, 435, 437), 제어부(210) 및 메모리(230)가 도시되어 있다. 제어부에는 소프트웨어 모듈(411, 413, 415, 417)이 생성될 수 있다. 메모리에는 아이오티 로그 데이터베이스(419), 지식 데이터베이스(421) 및 액션 템플릿(422)가 저장될 수 있다. 아이오티 로그 데이터 베이스(419)는 로그 정보를 포함할 수 있다. 지식 데이터 베이스(421)는 제품에 대한 지식 정보를 포함할 수 있다.
소프트웨어 모듈(411, 413, 415, 417)은 어플리케이션을 구성하며 인스트럭션 코드(code) 형태로 메모리(230)에 저장되며 어플리케이션 실행 시 제어부(210)로 로드되어 해당하는 기능을 수행할 수 있다.
외부장치는 예를 들면 통신 기능이 포함된 아이오티 전자기기(431, 433) 또는 일반 사물에 센싱 및 통신 기능이 포함된 아이오티 센서(435, 437)일 수 있다. 외부장치는 디바이스의 ID 정보(식별 정보), 센싱 값 및 상태 정보를 포함하는 로그 데이터(log data)를 전자장치로 전송할 수 있다.
어플리케이션은 프로그램 실행시 메모리로부터 로드(load) 되어 해당되는 기능을 수행할 수 있다. 어플리케이션은 4개의 소프트웨어 모듈 및 데이터 베이스를 포함할 수 있다. 소프트웨어 모듈은 로그 매니저(411), 지식 추출부(knowledge retriever, 413), 액션 제너레이터(415) 및 액션 어플라이어(action applier)(417)로 구성될 수 있다.
로그 매니저(411)는 외부장치(431, 433, 435, 437)로부터 실시간으로 전송되는 데이터를 수신하고 아이오티 로그 데이터베이스(419)에 저장할 수 있다. 데이터는 댁내에 배치된 외부장치를 식별하는데 사용될 수 있다. 즉, 외부장치로부터 전송된 데이터는 외부장치에 대한 식별 정보를 포함할 수 있다.
전자장치는 데이터를 분석하여 댁내에 어떤 외부장치가 있는지 결정할 수 있다. 사용자가 어플리케이션을 실행하면 전자장치는 로그 매니저(411)를 통해 외부장치로부터 댁내에 배치된 외부장치에 대한 정보를 획득할 수 있다.
지식 추출부(413)는 로그 매니저(411)를 통해 수신한 데이터, 즉 식별정보에 기초하여 지식 정보 데이터베이스(421)로부터 특정 외부장치에 대응하는 지식 정보를 추출할 수 있다. 즉, 지식 추출부(413)는 로그 매니저(411)를 통해 수신한 특정 외부장치의 식별정보에 대응하는 지식 정보를 추출할 수 있다. 지식 정보 데이터베이스(421)는 외부장치 제품에 대한 상세 정보를 포함할 수 있다. 지식 정보 데이터베이스(421)는 메모리(230)에 저장될 수 있다. 지식 정보 데이터베이스(421)는 전자장치 제조 시 생성될 수 있으며, 서버와 네트웍으로 연결될 때 업데이트 될 수 있다. 즉, 전자장치는 서버와 연결이 되어 있지 않더라도 메모리(230)에 저장되어 있는 지식 정보 데이터베이스(421)를 이용하여 외부장치에 대응하는 지식 정보를 획득할 수 있다. 지식 정보 데이터 베이스(421)에 대해서는 도 6에서 상세히 설명할 것이다.
액션 제너레이터(415)는 지식 추출부(413)로부터 수신한 지식 정보에 기초하여 복수의 액션 템플릿(422)에서 지식 정보에 대응하는 적어도 하나의 액션 템플릿을 선택하고 액션 템플릿에 정의된 액션을 추출할 수 있다. 액션 템플릿에 대해서는 도 7에서 상세히 설명할 것이다. 여기서 액션의 의미는 외부장치가 수행하는 동작 또는 기능일 수 있다. 액션이 추출되면 전자장치는 액션을 수행할 외부장치를 결정하고 액션 어플라이어(417)을 통해 해당 액션에 대한 명령을 해당 외부장치로 전송될 수 있다.
실시 형태에 따라 전자장치는 생성된 액션에 대한 정보를 디스플레이로 출력하여 사용자 확인을 요청할 수도 있다. 즉, 전자장치는 액션을 수행할지 여부를 묻는 메시지를 디스플레이부에 표시하고, 사용자 입력을 수신하여 액션과 관련된 명령을 대응하는 아이오티 디바이로 전송할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 전자장치의 동작 방법에 대한 흐름도이다.
전자장치는 동작 501에서 통신부를 통해 외부장치 정보를 획득할 수 있다. 외부장치 정보는 예컨대 외부장치에 대한 식별 정보 및 외부장치의 상태 정보를 포함할 수 있다.
전자장치는 동작 503에서 외부장치 정보에 기초하여 사용자 컨텍스트 정보를 획득할 수 있다. 사용자 컨텍스트 정보는 예를 들면 사용자의 행동 패턴, 사용자의 외부장치 사용 이력을 포함할 수 있다. 센서부는 전자장치에 포함되거나 또는 외부장치 형태로 전자장치 외부에 배치될 수도 있다. 예를 들면 모션 감지 센서는 댁내의 주요 위치에 배치될 수 있으며 사용자의 존재 여부를 감지할 수 있다. 댁내에 복수의 모션 감지 센서가 배치된 경우, 전자장치는 각각의 모션 감지 센서로부터 출력된 신호를 수신하고 이를 분석하여 사용자의 댁내 이동 경로를 추적할 수도 있다. 또한 전자장치는 외부장치 정보를 분석하여 사용자가 외부장치를 동작시키는 패턴을 식별하여 사용자의 컨텍스트 정보를 획득할 수 있다.
전자장치는 동작 505에서 외부장치 정보에 기초하여 메모리에 저장되어 있는 외부장치에 대한 지식 정보를 획득할 수 있다. 지식 정보는 외부장치에 대한 상세 정보를 포함할 수 있다.
지식 정보 데이터베이스에는 복수의 외부장치에 대한 지식 정보가 포함되어 있으며, 전자장치는 외부장치의 식별 정보(ID)를 활용하여 댁내 배치된 또는 사용자가 보유하고 있는 외부장치에 대한 지식 정보를 획득할 수 있다. 외부장치에 대한 지식 정보는 제품 제조시 메모리에 저장되거나 또는 서버로부터 수신될 수도 있으며, 주기적으로 업데이트 될 수 있다. 외부장치에 대한 지식 정보는 외부장치를 제조하는 업체에서 제공하거나 또는 사용자가 직접 생성할 수도 있다. 전자장치는 외부장치에 대한 지식 정보를 편집하거나 또는 생성할 수 있는 UI(user interface)를 디스플레이부에 표시할 수 있다.
전자장치는 동작 507에서 지식 정보에 기초하여 액션 템플릿에서 정의된 규칙(rule)을 이용하여 외부장치를 동작 시킬 수 있는 액션을 획득할 수 있다. 구체적으로 전자장치는 지식 정보를 이용하여 액션 템플릿의 규칙 필드에서 액션을 수행할 외부장치를 결정할 수 있다. 액션 템플릿은 외부장치의 동작을 정의하는 정보를 포함할 수 있다. 구체적으로 액션 템플릿에는 동작 시킬 외부장치의 이름, 외부장치를 동작시키기 위한 조건 및 조건 만족시 수행할 동작 명령이 포함될 수 있다.
실시 형태에 따라 전자장치의 제어부는 환경 정보 및 사용자 움직임 정보 중 적어도 하나에 기초하여 복수의 액션 템플릿 중에서 적어도 하나의 액션 템플릿을 선택하고, 선택된 액션 템플릿에 정의된 동작을 수행하는 명령을 외부장치로 전송하도록 통신부를 제어할 수 있다. 상기 환경 정보는 외부장치로부터 전송될 수 있다.
전자장치는 동작 509에서 생성된 액션을 디스플레이부에 출력하고, 사용자로부터 입력을 받아, 생성된 액션을 확정할 수 있다. 전자장치는 액션이 생성되면 수행할 액션에 대한 정보를 디스플레이부에 출력하거나 또는 음성으로 출력하여 사용자 입력을 요청하고 사용자로부터 입력이 수신되면 해당하는 액션을 수행할 외부장치에게 대응되는 명령을 전송할 수 있다.
예를 들면 수행될 액션이 집의 온도를 22도, 습도를 5%로 유지하는 것인 경우 전자장치는 디스플레이부에 목표 설정 온도가 22도, 습도는 5% 인 것으로 표시를 하고 사용자한테 확인을 요청하는 메시지를 표시하거나 또는 이에 대응하는 그래픽 오브젝트를 표시할 수 있다. 사용자가 상기 메시지 또는 그래픽 오브젝트를 터치하면 전자장치는 에어컨에게 온도를 22도로 유지하는 명령을 전송하고, 제습기에게 습도를 5%로 유지하는 명령을 전송할 수 있다.
전자장치는 동작 511에서 선택된 액션 템플릿을 참조하여 액션을 수행할 외부장치를 결정하고 외부장치를 제어하기 위한 명령을 전송할 수 있다. 액션을 수행할 외부장치는 액션 템플릿의 규칙 필드에 포함될 수 있으며, 전자장치는 규칙 필드를 참조하여 액션을 수행할 외부장치를 결정할 수 있다.
실시 형태에 따라 전자장치는 비슷한 기능을 가진 복수의 외부장치 중에서 가장 효율이 좋은 외부장치를 선택하여 동작시킬 수 있다. 예를 들면 사용자가 제습 기능을 동작시키는 명령을 입력하는 경우, 전자장치는 지식 정보를 이용하여 제습 기능이 있는 외부장치가 에어컨과 제습기인 것으로 결정할 수 있다. 전자장치는 사용자의 제습 명령을 수신하면 소비전력이 적고 제습 효율이 좋은 제습기를 선택하여 동작시킬 수 있다. 전자장치는 제습기가 제습 동작을 수행하는 중에 제습기 근처의 습도는 낮아지지만 제습기 근처에 배치된 에어컨의 습도가 낮아지지 않는 경우 사용자에게 에어컨 근처의 습도를 높이는 요인을 찾도록 사용자에게 제안하는 메시지를 출력할 수 있다.
다른 예로 전자장치는 사용자가 더위를 느끼는 상태에서 제습 명령을 입력하면 전자장치는 사용자의 컨텍스트 정보로부터 사용자가 더위를 느끼는 것으로 결정하고, 사용자의 제습 명령에 대해 에어컨을 동작시켜 온도를 낮추는 동시에 제습 동작을 수행할 수 있다.
실시 형태에 따라 전자장치는 액션 템플릿에 정의된 액션에 기초하여 동작하는 외부장치가 사용자에 의해 동작이 정지된 것으로 판단되는 경우, 외부장치의 재작동을 중단할 수 있다. 예를 들면 전자장치는 액션 템플릿에 정의된 액션에 따라 제습기를 가동시키는 중에 사용자에 의해 제습기의 가동이 중단되는 동작이 반복되는 경우, 사용자가 제습기를 의도적으로 중단 시킨 것으로 결정하고, 제습기의 재작동을 중단할 수 있다. 또한 전자장치는 이후에 해당 액션 템플릿에서 제습기의 동작을 중단하도록 액션 템플릿을 수정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 지식 정보의 예를 도시한다.
도 6을 참조하면 지식 정보는 복수의 외부장치에 대한 지식 정보를 포함할 수 있다. 지식 정보는 외부장치의 기능 및 각각의 기능이 가질 수 있는 데이터 종류 및 데이터 값을 포함할 수 있다.
지식 정보는 ID 필드(601), 지식 필드(602) 및 디바이스 타입 필드(603)을 포함할 수 있다.
ID 필드(601)은 사용자 식별이 가능하도록 제품의 명칭, 모델명 및 제조업체 이름에 대한 정보를 포함할 수 있다. 예를 들면 외부장치가 에어컨인 경우 ID 필드(611)는 제조업체 이름인 'samsung', 제품 명칭인 'aircondition' 및 모델명인 'q9000'을 조합하여 생성될 수 있다.
지식 필드(602)는 제품에 대한 기능, 각각의 기능이 가질 수 있는 데이터 종류 및 데이터 값을 포함할 수 있다. 예를 들면 에어컨은 기능에 대한 구성요소로 power(612), 모드(614), 온도(616) 및 조건(618)을 포함할 수 있다. 각각의 구성요소는 대응하는 데이터 값을 가질 수 있다. power(612)는 데이터 값으로 [on, off](613)을 가질 수 있다. 모드(614)는 데이터 값으로 [auto, cool, heat, dry, wind](615)를 가질 수 있다. 온도(616)는 최고 데이터 값으로 '40', 최저 데이터 값으로 '10'(617)을 가질 수 있다. 조건(618)은 데이터 값으로 [normal, error](619)를 가질 수 있다. 디바이스 필드(603)은 airconditioner(620)가 될 수 있다.
외부장치가 스마트 전구인 경우 ID 필드(631)는 'ge_link_a19'이며,제조업체 이름인 'ge', 제품 명칭인 'link' 및 모델명인 'a19"를 조합하여 생성될 수 있다. 스마트 전구는 기능 필드에 대한 구성 요소로 power(632) 및 lux(634)를 포함할 수 있다. power(632)는 데이터 값으로 [on, off](633)를 가질 수 있다. lux(634)는 데이터 값으로 [high value:255, low value:0](634)를 가질 수 있다. 디바이스 타입 필드(603)은 'light'이 될 수 있다.
도 7은 본 발명의 일 실시예에 따른 액션 템플릿의 예를 도시한다.
도 7을 참조하면 액션 템플릿은 이름 필드(701), 규칙 필드(703), 조건 필드(705) 및 액션 필드(707)를 포함할 수 있다. 이름 필드(701)는 액션에 대한 콜 싸인(call sign, 호출 부호)의 역할을 담당할 수 있다. 즉, 액션 이름(701)은 액션 템플릿에 정의된 복수의 액션 중에서 원하는 액션을 선택하기 위한 콜 싸인 일 수 있다. 규칙 필드(703)는 복수의 액션 중에서 적어도 하나의 액션이 선택되기 위한 규칙을 정의하고 있다. 규칙 필드(703)에는 액션 수행의 주체가 되는 적어도 하나의 외부장치의 이름 및/또는 선택 조건에 대한 정보가 포함될 수 있다. 규칙 필드(703)에 액션이 선택되기 위한 조건이 포함된 경우, 전자장치는 조건(705) 필드를 참조할 수 있다. 즉, 규칙 필드(703)는 조건 필드(705)를 참조할 수 있다.
조건 필드(705)는 해당 외부장치를 동작시키기 위한 조건을 포함할 수 있다. 액션 필드(707)는 액션을 수행할 외부장치 및 해당 외부장치가 수행할 액션을 포함할 수 있다. 전자장치는 조건 필드(705)의 조건이 만족되는 경우 액션 필드(707)를 참조하여 액션을 수행할 적어도 하나의 외부장치를 선택하고 해당하는 액션을 수행하도록 외부장치를 제어할 수 있다.
예를 들면 이름 필드(701)는 "turn on light(711)", 규칙 필드(703)는 "target_type==condition_target && device==light && device==lux sensor",조건 필드(705)는 "(time > 6oclock && time < 23oclock) && lux < 50(715)", 액션 필드(707)는 "$targetlight => turn on(717)"일 수 있다. 규칙 필드에 condition이 포함되어 있으므로, 전자장치는 condition을 결정하기 위해 조건 필드(705)를 참조할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 전자장치에서 루틴(routine)을 생성하는 방법에 대한 흐름도이다.
도 8을 참조하면 전자장치는 동작 801에서 외부장치로부터 외부장치 식별 정보를 수신한다. 식별 정보에 대해서는 전술한 바와 같으므로 상세한 설명은 생략한다.
전자장치는 외부장치로부터 전송된 식별 정보에 기초하여 복수의 외부장치를 하나로 그룹핑하고, 그룹핑된 복수의 외부장치를 일괄적으로 제어할 수 있다. 또한 전자장치는 외부장치로부터 전송된 식별 정보에 기초하여 일정 시간 범위 안에 동작된 복수의 외부장치가 존재하는 경우 복수의 외부장치를 그룹핑 할 수 있다.
구체적으로 전자장치는 수신된 식별 정보를 분석하여 사용자가 외부장치를 사용할 때 규칙적인 사용 패턴이 있는지를 판단하고, 규칙적인 사용 패턴이 있는 경우 이를 그룹화하여 루틴(routine)으로 생성할 수 있다. 루틴에는 사용자가 설정한 외부장치의 설정 값 및 외부장치를 동작시키는 순서에 대한 정보가 포함될 수 있다. 예를 들면 사용자가 아침 6시에 침실의 조명을 온 시키고, 5분 안에 TV를 온 시키고, 5분 안에 에어컨을 26도로 설정하고 동작시키는 경우, 전자장치는 외부장치인 조명, TV 및 에어컨으로부터 식별 정보를 수신할 수 있다. 이때 수신되는 식별 정보는 "조명 → TV → 에어컨" 순으로 수신될 수 있으며, 전자장치는 수신된 식별 정보에 일정 규칙이 있음을 판단하고 그룹화 할 수 있다. 즉, 전자장치는 일정 시간 동안 수신되는 식별 정보를 분석하여 수신되는 순서가 동일하고, 일정 주기로 반복되는 경우 그룹핑하고 루틴으로 생성할 수 있다. 루틴에는 조명의 상태(온/오프), 조도, TV의 채널 정보 및 에어컨의 설정 온도가 포함될 수 있다. 루틴이 생성되면 생성된 루틴에 대응하는 그래픽 오브젝트가 화면에 표시될 수 있다. 사용자가 화면에 표시된 그래픽 오브젝트를 선택하면 루틴에 대응하는 기능이 일괄적으로 수행될 수 있다. 예를 들면 전자장치는 루틴이 생성되면 화면에 생성된 루틴의 리스트를 표시하고, 사용자가 이 중에서 하나의 루틴을 터치하면 선택된 루틴에 대한 기능이 일괄적으로 수행될 수 있다.
전자장치는 동작 803에서 그룹핑된 식별 정보와 관련된 루틴 생성이 필요한지를 판단한다. 루틴이 생성이 필요하다고 판단되는 경우, 전자장치는 동작 803에서 루틴을 생성할 수 있다. 전자장치는 동작 805에서 루틴을 생성하기 위해 일정 시간 동안 수신된 식별 정보를 분석하고, 외부장치의 동작 순서를 결정할 수 있다. 전자장치는 외부장치의 동작 순서가 주기적으로 반복되는 경우 해당하는 외부장치를 하나로 그룹핑하여 루틴으로 생성할 수 있다.
전자장치는 사용자가 자주 사용하는 외부장치에 대한 설정 값을 루틴 안에 자동으로 적용할 수 있다. 예를 들면 루틴에 포함된 외부장치가 TV 및 에어컨이고, 사용자가 TV에서 7번 채널을 자주 시청하고, 에어컨은 26도로 자주 설정하는 경우, 전자장치는 루틴에 포함된 TV 및 에어컨의 설정 값을 TV는 자동으로 7번으로 설정하고 에어컨은 자동으로 26도로 설정할 수 있다.
전자장치는 동작 803에서 루틴 생성이 필요하지 않다고 판단되는 경우, 동작 807에서 루틴에 대한 업데이트가 필요한지 여부를 판단한다. 전자장치는 루틴이 이미 생성되어 있는 경우 루틴 생성이 필요하지 않은 것으로 판단할 수 있다.
전자장치는 동작 809에서 사용자의 루틴 사용 기록 및 식별 정보에 기초하여 루틴을 업데이트 할 수 있다. 전자장치는 사용자의 사용 패턴에 따라 루틴에 포함된 외부장치 또는 외부장치에 대한 설정 값이 변경되는 경우 루틴을 업데이트 할 수 있다.
실시 형태에 따라 전자장치는 동작 803 과 동작 805 사이에 사용자에게 확인을 요청하는 메시지를 디스플레이부에 표시하고 사용자 입력을 수신하여 루틴을 생성할 수 있다. 또한 전자장치는 동작 807 이후에 사용자에게 확인을 요청하는 메시지를 디스플레이부에 표시하고 사용자 입력을 수신하여 루틴을 생성할 수도 있다.
이상과 같이 본 발명의 일 실시 예에 따른 전자 장치가 한정된 예시적 실시 예와 도면을 통해 설명되었으나, 일 실시 예에 따른 전자 장치는 상기의 예시적 실시 예에 한정되는 것은 아니며, 전자 장치가 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
210 : 제어부
220 : 통신부
230 : 메모리
250 : 입력부
260 : 디스플레이부

Claims (18)

  1. 전자장치에 있어서,
    외부장치와 통신을 수행하는 통신부;
    상기 외부장치에 대한 상세 정보를 포함하는 지식 정보 및 상기 외부장치의 동작을 정의하는 복수의 액션 템플릿을 저장하는 메모리; 및
    상기 통신부를 통해 상기 외부장치의 식별 정보를 수신하고, 상기 식별 정보에 기초하여 상기 외부장치에 대응하는 지식 정보 및 액션 템플릿을 상기 메모리로부터 획득하고, 상기 지식 정보 및 상기 액션 템플릿에 기초하여 상기 외부장치를 동작시키는 명령을 생성하여 상기 통신부를 통해 상기 외부장치로 전송하도록 제어하는 제어부;를 포함하는 전자장치.
  2. 제 1 항에 있어서,
    상기 지식 정보는 상기 외부장치의 기능 또는 상태 정보를 포함하는 것을 특징으로 하는 전자장치.
  3. 제 1 항에 있어서,
    상기 액션 템플릿에는 동작시킬 외부장치의 이름, 외부장치를 동작시키기 위한 조건 및 조건 만족 시 수행할 동작 명령이 포함되어 있는 것을 특징으로 하는 전자장치.
  4. 제 1 항에 있어서,
    상기 제어부는 환경 정보 및 사용자 움직임 정보 중 적어도 하나에 기초하여 상기 복수의 액션 템플릿 중에서 적어도 하나의 액션 템플릿을 선택하고, 상기 선택된 액션 템플릿에 정의된 동작을 수행하는 명령을 상기 외부장치로 전송하도록 상기 통신부를 제어하는 전자장치.
  5. 제 4 항에 있어서,
    상기 환경 정보는 외부장치로부터 전송되는 것을 특징으로 하는 전자장치
  6. 제 1 항에 있어서,
    상기 지식 정보 및 상기 액션 템플릿은 서버로부터 전송된 데이터에 기초하여 업데이트 되는 것을 특징으로 하는 전자장치.
  7. 제 1 항에 있어서,
    상기 제어부는,
    상기 외부장치로부터 전송된 식별 정보에 기초하여 복수의 외부장치를 하나로 그룹핑하고, 상기 그룹핑 된 복수의 외부장치를 일괄적으로 제어하는 것을 특징으로 하는 전자장치.
  8. 제 7 항에 있어서,
    상기 제어부는,
    상기 외부장치로부터 전송된 식별 정보에 기초하여 일정 시간 범위 안에 동작된 상기 복수의 외부장치가 존재하는 경우 상기 복수의 외부장치를 그룹핑하는 것을 특징으로 하는 전자장치.
  9. 제 1 항에 있어서,
    상기 제어부는,
    상기 액션 템플릿에 정의된 액션에 기초하여 동작하는 상기 외부장치가 사용자에 의해 동작이 정지된 것으로 판단되는 경우, 상기 외부장치의 재작동을 중단하는 것을 특징으로 하는 전자장치.
  10. 통신부를 통해 외부장치로부터 외부장치의 식별 정보를 수신하는 단계;
    상기 식별 정보에 기초하여 상기 외부장치에 대응하는 제 1 정보를 메모리로부터 획득하는 단계;
    상기 제 1 정보에 기초하여 상기 메모리에 저장된 복수의 액션 템플릿으로부터 적어도 하나의 액션 템플릿을 선택하는 단계; 및
    상기 선택된 액션 템플릿에 포함된 상기 외부장치를 동작시키는 명령을 상기 외부장치로 전송하는 단계;를 포함하는 전자장치의 외부장치 제어 방법
  11. 제 10 항에 있어서,
    상기 제 1 정보는 상기 외부장치의 기능 또는 상태 정보를 포함하는 것을 특징으로 하는 전자장치의 외부장치 제어 방법.
  12. 제 10 항에 있어서,
    상기 액션 템플릿에는 동작시킬 외부장치의 이름, 외부장치를 동작시키기 위한 조건 및 조건 만족 시 수행할 동작 명령이 포함되어 있는 것을 특징으로 하는 전자장치의 외부장치 제어 방법.
  13. 제 10 항에 있어서,
    상기 방법은,
    환경 정보 및 사용자 움직임 정보 중 적어도 하나에 기초하여 상기 복수의 액션 템플릿 중에서 적어도 하나의 액션 템플릿을 선택하는 단계; 및
    상기 선택된 액션 템플릿에 정의된 동작을 수행하는 명령을 상기 외부장치로 전송하는 단계;를 더 포함하는 전자장치의 외부장치 제어 방법
  14. 제 13 항에 있어서,
    상기 환경 정보는 외부장치로부터 전송되는 것을 특징으로 하는 전자장치의 외부장치 제어 방법.
  15. 제 10 항에 있어서,
    상기 지식 정보 및 상기 액션 템플릿은 서버로부터 전송된 식별 정보에 기초하여 업데이트 되는 것을 특징으로 하는 전자장치의 외부장치 제어 방법
  16. 제 10 항에 있어서,
    상기 방법은,
    상기 외부장치로부터 전송된 식별 정보에 기초하여 복수의 외부장치를 하나로 그룹핑하는 단계; 및
    상기 그룹핑 된 복수의 외부장치를 일괄적으로 제어하는 단계;를 더 포함하는 전자장치의 외부장치 제어 방법.
  17. 제 16 항에 있어서,
    상기 그룹핑하는 단계는,
    상기 외부장치로부터 전송된 식별 정보에 기초하여 일정 시간 범위 안에 동작된 상기 복수의 외부장치가 존재하는 경우 상기 복수의 외부장치를 그룹핑하는 것을 특징으로 하는 전자장치의 외부장치 제어 방법.
  18. 제 10 항에 있어서,
    상기 방법은,
    상기 액션 템플릿에 정의된 액션에 기초하여 동작하는 상기 외부장치가 사용자에 의해 동작이 정지된 것으로 판단되는 경우, 상기 외부장치의 재작동을 중단하는 단계:를 더 포함하는 전자장치의 외부장치 제어 방법.
KR1020160043447A 2016-04-08 2016-04-08 전자 장치 및 전자장치의 외부장치 제어 방법 KR20170115802A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160043447A KR20170115802A (ko) 2016-04-08 2016-04-08 전자 장치 및 전자장치의 외부장치 제어 방법
EP17153981.0A EP3229409B1 (en) 2016-04-08 2017-01-31 Electronic apparatus and external apparatus controlling method thereof
US15/456,922 US10523460B2 (en) 2016-04-08 2017-03-13 Electronic apparatus and external apparatus controlling method thereof
CN201710223450.0A CN107343020A (zh) 2016-04-08 2017-04-07 电子设备及其外部设备控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160043447A KR20170115802A (ko) 2016-04-08 2016-04-08 전자 장치 및 전자장치의 외부장치 제어 방법

Publications (1)

Publication Number Publication Date
KR20170115802A true KR20170115802A (ko) 2017-10-18

Family

ID=58046475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160043447A KR20170115802A (ko) 2016-04-08 2016-04-08 전자 장치 및 전자장치의 외부장치 제어 방법

Country Status (4)

Country Link
US (1) US10523460B2 (ko)
EP (1) EP3229409B1 (ko)
KR (1) KR20170115802A (ko)
CN (1) CN107343020A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102305B2 (en) 2017-03-17 2021-08-24 Samsung Electronics Co., Ltd. Method and system for routine disruption handling and routine management in a smart environment
WO2022211245A1 (ko) * 2021-04-01 2022-10-06 삼성전자 주식회사 전자 장치 및 전자 장치에서 동적 조건으로 태스크를 수행하는 방법
WO2023080574A1 (ko) * 2021-11-03 2023-05-11 삼성전자 주식회사 음성 인식 서비스를 제공하는 전자 장치 및 이의 동작 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985699B1 (en) 2014-12-16 2018-05-29 Blazer and Flip Flops, Inc. NFC center
US10580011B1 (en) 2014-12-17 2020-03-03 Blazer and Flip Flops, Inc. NFC-based options selection
US10262311B1 (en) 2014-12-17 2019-04-16 Blazer and Flip Flops, Inc. NFC-based payments tagging
US10679207B1 (en) 2014-12-17 2020-06-09 Blazer and Flip Flops, Inc. Bill splitting and account delegation for NFC
US11062375B1 (en) 2014-12-17 2021-07-13 Blazer and Flip Flops, Inc. Automatic shopping based on historical data
US10262318B1 (en) 2014-12-17 2019-04-16 Blazer and Flip Flops, Inc. Eligibility verification for real-time offers
KR102440233B1 (ko) * 2017-12-20 2022-09-06 한국전자통신연구원 데이터 분석 기반 자동화 시스템 운영을 위한 IoT 기기 자동 환경 설정 방법 및 장치
CN109495562B (zh) * 2018-11-09 2022-04-12 北京明略昭辉科技有限公司 获取设备标识的方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US8249885B2 (en) * 2001-08-08 2012-08-21 Gary Charles Berkowitz Knowledge-based e-catalog procurement system and method
US20040076941A1 (en) * 2002-10-16 2004-04-22 Kaplan, Inc. Online curriculum handling system including content assembly from structured storage of reusable components
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
KR101077404B1 (ko) * 2003-11-20 2011-10-26 파나소닉 주식회사 연관 제어 장치, 연관 제어 방법과 서비스 연관 시스템
US9323515B1 (en) * 2004-01-16 2016-04-26 Qualcomm Incorporated Network with broker for device management
EP2345998B1 (en) 2009-12-01 2019-11-20 Honda Research Institute Europe GmbH Multi-object tracking with a knowledge-based, autonomous adaptation of the tracking modeling level
US8924392B2 (en) 2011-05-23 2014-12-30 Cisco Technology, Inc. Clustering-based resource aggregation within a data center
US9355393B2 (en) * 2011-08-18 2016-05-31 Visa International Service Association Multi-directional wallet connector apparatuses, methods and systems
US9582598B2 (en) * 2011-07-05 2017-02-28 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
US20150220914A1 (en) * 2011-08-18 2015-08-06 Visa International Service Association Electronic Wallet Management Apparatuses, Methods and Systems
WO2013138528A1 (en) * 2012-03-14 2013-09-19 Visa International Service Association Point-of-transaction account feature redirection apparatuses, methods and systems
CN102915627A (zh) * 2012-09-25 2013-02-06 金同磊 一种控制传统家电的方法、系统及家电控制器
KR102062580B1 (ko) * 2012-12-13 2020-02-11 삼성전자주식회사 홈 네트워크 시스템에서 디바이스 제어 방법 및 장치
US20140244001A1 (en) 2013-02-25 2014-08-28 Qualcomm Incorporated Controlling many different devices from a smart controller
JP2014240733A (ja) * 2013-06-12 2014-12-25 パナソニックIpマネジメント株式会社 環境判断システム、環境判断プログラム、及び、機器選択装置
US10185934B2 (en) 2013-07-09 2019-01-22 Qualcomm Incorporated Real-time context aware recommendation engine based on a user internet of things environment
US9600571B2 (en) 2013-07-11 2017-03-21 Neura, Inc. Interoperability mechanisms for internet of things integration platform
KR101481536B1 (ko) 2013-08-09 2015-01-13 전자부품연구원 디바이스 동적 연결을 위한 제어-룰 설정 방법
CN103475707B (zh) 2013-09-09 2016-08-10 清华大学 通用物联网支撑系统
CN103941665B (zh) * 2013-12-31 2017-11-07 海尔集团公司 家电控制装置与家电设备的控制方法
US20150199610A1 (en) 2014-01-10 2015-07-16 Qualcomm Incorporated Determining indoor location using pattern matching of proximal peer-to-peer devices
KR102330255B1 (ko) 2014-05-28 2021-11-23 삼성전자주식회사 사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법
CN104191931B (zh) * 2014-08-21 2017-07-18 广汽吉奥汽车有限公司 一种车内环境参数控制方法、装置及系统
US9135559B1 (en) * 2015-03-20 2015-09-15 TappingStone Inc. Methods and systems for predictive engine evaluation, tuning, and replay of engine performance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102305B2 (en) 2017-03-17 2021-08-24 Samsung Electronics Co., Ltd. Method and system for routine disruption handling and routine management in a smart environment
WO2022211245A1 (ko) * 2021-04-01 2022-10-06 삼성전자 주식회사 전자 장치 및 전자 장치에서 동적 조건으로 태스크를 수행하는 방법
WO2023080574A1 (ko) * 2021-11-03 2023-05-11 삼성전자 주식회사 음성 인식 서비스를 제공하는 전자 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
EP3229409A1 (en) 2017-10-11
US10523460B2 (en) 2019-12-31
EP3229409B1 (en) 2023-08-23
US20170295032A1 (en) 2017-10-12
CN107343020A (zh) 2017-11-10

Similar Documents

Publication Publication Date Title
KR20170115802A (ko) 전자 장치 및 전자장치의 외부장치 제어 방법
CN111683500B (zh) 电子装置和用于控制电子装置的风扇的方法
US20210080940A1 (en) Server, electronic device, and electronic device information providing method
US10345767B2 (en) Apparatus and method for gamification of sensor data interpretation in smart home
US20210084595A1 (en) Electronic device and power saving method thereof
CN105628081B (zh) 用于检测装置浸没于液体中的方法和设备
US9867162B2 (en) Device and method for providing notification on wireless charging state
KR102180528B1 (ko) 색맹 교정을 위한 전자 장치 및 운영 방법
US9794441B2 (en) Electronic device using composition information of picture and shooting method using the same
US20150312398A1 (en) Apparatus and method for automatic discovery and suggesting personalized gesture control based on user&#39;s habit and context
US20170017531A1 (en) Application operating method and electronic device using the same
US20160344815A1 (en) Apparatus and method for controlling external device
US10908568B2 (en) Electronic device for controlling IoT device to correspond to state of external electronic device and operation method thereof
US20180367843A1 (en) Electronic device for playing contents and operating method thereof
KR102149448B1 (ko) 이미지를 처리하기 위한 전자 장치 및 방법
KR102314690B1 (ko) 디바이스의 통신 연결 방법 및 그 장치
EP3016374A1 (en) Electronic device for sensing lens and operating method thereof
US20170034281A1 (en) Network apparatus, server, and control methods thereof
KR102256683B1 (ko) 재난 관리 방법 및 그 전자 장치
KR102319981B1 (ko) 다중 에너지 자원을 이용한 충전 방법 및 장치
KR102209729B1 (ko) 인식 영역에 기반하여 콘텐트를 검출하는 전자 장치 및 방법
KR101697607B1 (ko) 냉난방 제어 장치, 냉난방 장치의 온도 제어 방법 및 컴퓨터 판독 가능한 기록 매체
KR102329763B1 (ko) 통신 전력 운용 방법 및 이를 지원하는 전자 장치
US10698590B2 (en) Method for providing content and electronic device therefor
KR20190115883A (ko) 전자 장치의 전력을 제어하는 방법 및 이를 위한 서버

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment