KR102330255B1 - 사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법 - Google Patents

사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법 Download PDF

Info

Publication number
KR102330255B1
KR102330255B1 KR1020140166616A KR20140166616A KR102330255B1 KR 102330255 B1 KR102330255 B1 KR 102330255B1 KR 1020140166616 A KR1020140166616 A KR 1020140166616A KR 20140166616 A KR20140166616 A KR 20140166616A KR 102330255 B1 KR102330255 B1 KR 102330255B1
Authority
KR
South Korea
Prior art keywords
electronic device
external electronic
iot
software program
information
Prior art date
Application number
KR1020140166616A
Other languages
English (en)
Other versions
KR20150136981A (ko
Inventor
윤석현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US14/724,174 priority Critical patent/US10248399B2/en
Priority to CN201580028156.3A priority patent/CN106537849B/zh
Priority to EP15169638.2A priority patent/EP2950510B1/en
Priority to PCT/KR2015/005362 priority patent/WO2015183014A1/en
Priority to CN201910977197.7A priority patent/CN110752976B/zh
Publication of KR20150136981A publication Critical patent/KR20150136981A/ko
Priority to US16/368,185 priority patent/US11409509B2/en
Application granted granted Critical
Publication of KR102330255B1 publication Critical patent/KR102330255B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • 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/2801Broadband local area networks

Abstract

전자장치에서 사물 인터넷을 제공하기 위한 장치 및 방법이 개시되어 있는 바, 다양한 실시예에 따르면, 전자장치는, 무선 통신 인터페이스와 메모리와 디스플레이와 상기 통신 인터페이스, 상기 메모리, 상기 디스플레이와 전기적으로 연결된 어플리케이션 프로세서를 포함하며, 상기 메모리는, 상기 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램의 적어도 일부를 서버로부터 수신하고, 상기 서버로부터 수신된 상기 소프트웨어 프로그램의 적어도 일부를 상기 전자장치에 설치하고, 상기 통신 인터페이스를 통해, 상기 제 1 외부 전자장치에 관한 정보의 적어도 일부 및/또는 상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분을 제 2 외부 전자장치로 송신하고, 상기 설치된 소프트웨어 프로그램의 적어도 일부를 이용하여, 사용자 인터페이스를 상기 디스플레이에 제공하도록 하는 인스트럭션들을 저장할 수 있도록 구성될 수 있다. 다른 실시예들도 가능할 수 있다.

Description

사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING INTERNET OF THINGS DEVICES}
본 개시(present disclosure)는 전자 장치에 관한 것이며, 더 상세히는, 사물 인터넷(Internet of Things, IoT) 기기들을 제어하는 장치 및 방법에 관한 것이다.
인터넷은, 서버들, 개인용 컴퓨터(personal computers), 모바일 장치들 등 많은 컴퓨팅 장치들을 서로 연결하여, 그러한 장치들 간에 정보의 교환을 가능하게 하였다. 최근에는, 종래의 컴퓨팅 장치들 뿐만 아니라, 일반적으로 컴퓨팅 기능을 가지고 있지 않은 물건들, 예를 들어, 센서들, 가전기기들, 미터기들을 인터넷에 연결하여, 다양한 정보 또는 데이터를 교환하려는 시도들이 이루어지고 있다. 이와 같이, 물건들을 인터넷에 연결하는 메커니즘은, 사물 인터넷 (Internet of things)라고 통상 일컬어진다.
사물 인터넷에 있어서, 다양한 기기들의 통신을 위한 프로토콜의 확립, 기기들간의 통신, 데이터의 수집 등에 많은 연구와 개발이 이루어지고 있다. 사물 인터넷은, 종래의 다양한 기술 분야와 결합되어, 인터넷을 통한 기술 발전에 기여할 것으로 기대되고 있다.
사물 인터넷의 구현을 위하여, 다양한 종류의 사물들 또는 전자장치들이 인터넷에 연결될 수 있다. 그러나, 각종 사물들이 가진 컴퓨팅 능력, 통신 수단 등의 다양성으로 인하여, 그러한 사물들을 인터넷에 연결함에 있어서, 제품 개발 및 사용성의 측면에서 많은 어려움이 수반될 수 밖에 없다.
본 개시의 일 실시예는, 상기와 같은 문제점을 해결할 수 있는 방안(scheme) 및 시스템적인 접근방법(systematic approach)을 제공할 수 있다.
본 개시의 다른 실시예들은, 인터넷에 접속하기에는 제한적인 리소스(resource)를 가지는 저 사양(low-end) IoT 장치들을 위한, 식별(identification) 및 디스커버리(discovery), 라이트 웨이트(light weight) 네트워크(network) 프로토콜(protocol), 및/또는 IoT 미들웨어(middleware) 프레임워크(framework)를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 전자장치는, 무선 통신 인터페이스와 메모리와 디스플레이와 상기 통신 인터페이스, 상기 메모리, 상기 디스플레이와 전기적으로 연결된 어플리케이션 프로세서를 포함하며, 상기 메모리는, 상기 어플리케이션 프로세서의 동작에 의하여, 상기 전자장치가, 제 1 외부 전자장치에 관한 정보를 획득하고, 상기 제 1 외부 전자장치에 관한 정보의 적어도 일부에 기반하여, 상기 통신 인터페이스를 통해 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 저장하는 서버에 접속하고, 상기 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램의 적어도 일부를 상기 서버로부터 수신하고, 상기 서버로부터 수신된 상기 소프트웨어 프로그램의 적어도 일부를 상기 전자장치에 설치하고, 상기 통신 인터페이스를 통해, 상기 제 1 외부 전자장치에 관한 정보의 적어도 일부 및/또는 상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분을 제 2 외부 전자장치로 송신하고, 상기 설치된 소프트웨어 프로그램의 적어도 일부를 이용하여, 사용자 인터페이스(user interface)를 상기 디스플레이에 제공하도록 하는 인스트럭션들(instructions)을 저장하며, 상기 사용자 인터페이스는, 상기 제 2 외부 전자장치가 상기 제 1 외부 전자장치와 관련된 동작을 수행함에 사용되는 사용자 입력을 수신할 수 있도록 구성될 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 제 1 외부 전자장치에 부착되거나, 상기 제 1 외부 전자장치와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용하여, 상기 제 1 외부 전자장치에 관한 정보를 획득하도록 구성될 수 있다. 다양한 실시예에서, 상기 코드는, 바 코드(bar code) 또는 QR (quick response) 코드 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 상기 태그는, RFID(radio frequency identification), NFC(near field communication) 태그 또는 BLE(Bluetooth low energy) 태그 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 상기 프로세서는, 상기 통신인터페이스를 통해 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하고, 상기 어플리케이션 프로그램 스토어에 관한 정보를 이용하여, 상기 디스플레이에 상기 소프트웨어 프로그램과 관련된 적어도 하나의 이미지 또는 아이콘을 표시하도록 구성될 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 통신인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하고, 상기 어플리케이션 프로그램 스토어에 관한 정보의 적어도 일부를 이용하여, 상기 소프트웨어 프로그램과 관련된 적어도 하나의 카테고리를 상기 디스플레이에 표시하고, 상기 카테고리를 선택하는 사용자 입력에 응답하여, 상기 소프트웨어 프로그램과 관련된 이미지 또는 아이콘을 포함하는 복수의 이미지들 또는 아이콘들을 표시하도록 구성될 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 디스플레이에 표시된 아이콘을 선택하는 사용자 입력에 응답하여, 상기 사용자 인터페이스를 제공하는 어플리케이션 프로그램을 구동하도록 구성되고, 상기 어플리케이션 프로그램은, 상기 제 2 외부 전자장치가, 제 3 외부 전자장치와 관련된 동작을 수행하는데 사용되는 사용자 인터페이스를 더 제공하도록 구성될 수 있다.
다양한 실시예에서, 상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분은, 상기 소프트웨어 프로그램의 식별 정보를 포함할 수 있다. 다양한 실시예에서, 상기 프로세서는, 상기 제 1 외부 전자장치에 관련된 위치를 획득 또는 결정하고, 상기 위치에 관한 정보를 상기 제 2 외부 전자장치로 전송하도록 구성될 수 있다.
다른 실시예에 따르면, 휴대용 전자장치는, 무선 통신 인터페이스와 저장 장치(storage device)와 디스플레이와 상기 통신 인터페이스, 상기 저장장치, 및 상기 디스플레이와 전기적으로 연결된 어플리케이션 프로세서를 포함하며, 상기 저장장치는, 복수의 외부 전자장치들의 제어를 위한 단일(single) 어플리케이션 프로그램을 저장하고, 상기 어플리케이션 프로세서의 동작에 의하여, 상기 전자장치가, 상기 통신 인터페이스를 통하여, 어플리케이션 프로그램 스토어(application program store)를 제공하는 외부 서버에 접속하고, 상기 어플리케이션 프로그램 스토어에 관련된 제 1 사용자 인터페이스를 상기 디스플레이에 표시하고, 상기 제 1 사용자 인터페이스를 통한 사용자의 제 1 선택에 응답하여, 제 1 외부 전자장치의 제어에 사용되는 제 1 소프트웨어 프로그램을 상기 통신 인터페이스를 통하여 수신하여, 상기 전자장치에 설치하며, 상기 제 1 사용자 인터페이스를 통한 사용자의 제 2 선택에 응답하여, 제 2 외부 전자장치의 제어에 사용되는 제 2 소프트웨어 프로그램을 상기 통신 인터페이스를 통하여 수신하여, 상기 전자장치에 설치하며, 상기 단일 어플리케이션 프로그램을 이용하여, 상기 제 1 외부 전자장치 및 상기 제 2 외부 전자장치에 관련된 각각의 사용자 입력을 수신하기 위한 제 2 사용자 인터페이스를 상기 디스플레이에 표시하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
다양한 실시예에서, 상기 제 2 사용자 인터페이스는, 상기 제 1 외부 전자장치의 선택을 위한 제 1 아이콘, 제 1 이미지 또는 제 1 텍스트, 및 상기 제 2 외부 전자장치의 선택을 위한 제 2 아이콘, 제 2 이미지 또는 제 2 텍스트를 포함하는 하나의(single) 스크린, 윈도우, 또는 페이지를 포함할 수 있다.
다양한 실시예에서, 상기 전자장치는, 상기 제 2 사용자 인터페이스 상에서, 상기 제 1 또는 제 2 아이콘, 상기 제 1 또는 제 2 이미지 또는 상기 제 1 또는 제 2 텍스트의 선택에 응답하여, 상기 제 1 또는 제 2 외부 전자장치의 제어를 위한 하위 사용자 인터페이스(sub user interface)를 상기 디스플레이에 표시할 수 있다.
또 다른 실시예에 따르면, 전자장치는, 제 1 면, 상기 제 1 면의 반대쪽으로 향하는 제 2 면, 및 상기 제 1 면 및 제 2 면 사이의 공간을 둘러싸는 측면을 포함하는 하우징으로서, 상기 하우징의 제 1 면, 제 2 면, 및 측면의 상당 부분(a substantial portion)이 불투명 또는 반투명 재질을 포함하는 상기 하우징과 상기 하우징의 상기 면들 중 하나에 위치하고, 외부 디스플레이 장치에 오디오/비디오(AV) 데이터를 전송하도록 구성된 유선 통신 포트와 상기 하우징의 상기 면들 중 상기 하나에 위치하고, 전력을 공급받도록 구성된 전력 커넥터(power connector)와 상기 하우징 내에 위치하고, 제 1 및 제 2 비셀룰러 (non-cellular) 통신 프로토콜들을 지원하는 무선 통신 인터페이스와 상기 하우징 내에 위치하는 비휘발성 메모리, 및 상기 하우징 내에 위치하고, 상기 무선 통신 인터페이스, 유선 통신 인터페이스, 및 메모리와 전기적으로 연결된 프로세서를 포함하며, 상기 메모리는, 운영 체제(operating system) 소프트웨어를 저장하고, 상기 프로세서의 동작에 의하여, 상기 전자장치가, 제 1 외부 전자장치의 제어에 사용되는 제 1 소프트웨어 프로그램을, 상기 통신 인터페이스를 통하여 수신하여, 상기 운영 체제 소프트웨어와 연동하도록 설치하며, 제 2 외부 전자장치의 제어에 사용되는 제 2 소프트웨어 프로그램을 상기 통신 인터페이스를 통하여 수신하여, 상기 운영 체제 소프트웨어와 연동하도록 설치(install)하며, 상기 오디오/비디오(AV) 데이터의 전송과 무관하게, 외부 휴대용 전자장치로부터 제공받은 상기 제 1 또는 제 2 외부 전자장치의 제어를 요청하는 신호에 응답하여, 상기 운영 체제 소프트웨어 및 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부를 이용하여, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호를 발생시키고, 상기 제 1 또는 제 2 비셀룰러 통신 프로토콜들 중 적어도 하나를 이용하여, 상기 제어하는 신호를 전송하도록 하는 인스트럭션들(instructions)을 저장할 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 외부 휴대용 전자장치로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부를 수신하도록 구성될 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 외부 휴대용 전자장치로부터 상기 제 1 또는 제 2 외부 전자장치의 식별 정보 중 적어도 일부를 수신하도록 구성될 수 있다.
다양한 실시예에서, 상기 프로세서는, 상기 외부 휴대용 전자장치로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부와 관련된 식별정보를 수신하고, 상기 식별정보에 기반하여, 외부 서버로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부를 수신하도록 구성될 수 있다.
다양한 실시예에서, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호는, 인터넷 프로토콜에 기반한(based on an Internet protocol) 주소(address)를 포함한 제 1 제어신호, 또는 비-인터넷 통신 프로토콜에 기반한(based on a non-Internet communication protocol) 제 2 제어신호 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호는, 제 1 통신 프로토콜에 기반한 제 1 제어신호, 또는 제 2 통신 프로토콜에 기반한 제 2 제어신호를 포함하며, 상기 제 1 제어신호의 패킷 또는 프레임의 헤더의 길이가 상기 제 2 제어신호의 패킷 또는 프레임의 헤더의 길이보다 긴 것을 특징으로 할 수 있다.
다양한 실시예에서, 상기 전자장치는, 인터넷 게이트웨이, 홈 네트워킹 제어장치, 셋탑 박스, 미디어 저장 장치, 보안 제어 장치, 게임 콘솔, 또는 온도 조절장치 (thermostat) 중의 하나인 것을 특징으로 할 수 있다.
또 다른 실시예에 따르면, 전자장치의 동작 방법은, 무선 통신 인터페이스, 메모리, 디스플레이, 및 프로세서를 포함하는 전자장치에 의하여, 제 1 외부 전자장치에 관한 정보를 획득하는 동작과 상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 정보의 적어도 일부에 기반하여, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 저장하는 서버에 접속하는 동작과 상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램의 적어도 일부를 상기 서버로부터 수신하는 동작과 상기 전자장치에 의하여, 상기 서버로부터 수신된 상기 소프트웨어 프로그램의 적어도 일부를 상기 전자장치 상에 설치하는 동작과 상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치에 관한 정보의 적어도 일부 및/또는 상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분을 제 2 외부 전자장치로 송신하는 동작, 및 상기 전자장치에 의하여, 상기 설치된 소프트웨어 프로그램의 적어도 일부를 이용하여, 사용자 인터페이스(user interface)를 상기 디스플레이에 표시하는 동작을 포함하며, 상기 사용자 인터페이스는, 상기 제 2 외부 전자장치가 상기 제 1 외부 전자장치와 관련된 동작을 수행함에 사용되는 사용자 입력을 수신할 수 있도록 구성될 수 있다.
다양한 실시예에서, 상기 정보를 획득하는 동작은, 상기 제 1 외부 전자장치에 부착되거나, 상기 제 1 외부 전자장치와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용할 수 있다.
다양한 실시예에서, 상기 코드는, 바 코드(bar code) 또는 QR (quick response) 코드 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 상기 태그는, RFID(radio-frequency identification), NFC(near field communication) 태그 또는 BLE(Bluetooth low energy) 태그 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하는 동작, 및 상기 전자장치에 의하여, 상기 어플리케이션 프로그램 스토어에 관한 정보를 이용하여, 상기 디스플레이에 상기 소프트웨어 프로그램과 관련된 적어도 하나의 이미지 또는 아이콘을 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하는 동작과 상기 전자장치에 의하여, 상기 어플리케이션 프로그램 스토어에 관한 정보의 적어도 일부를 이용하여, 상기 소프트웨어 프로그램과 관련된 적어도 하나의 카테고리를 상기 디스플레이에 표시하는 동작, 및 상기 전자장치에 의하여, 상기 카테고리를 선택하는 사용자 입력에 응답하여, 상기 소프트웨어 프로그램과 관련된 이미지 또는 아이콘을 포함하는 복수의 이미지들 또는 아이콘들을 표시하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 디스플레이에 표시된 아이콘을 선택하는 사용자 입력에 응답하여, 상기 사용자 인터페이스를 제공하는 어플리케이션 프로그램을 구동하는 동작을 더 포함하며, 상기 어플리케이션 프로그램은, 상기 제 2 외부 전자장치가, 제 3 외부 전자장치와 관련된 동작을 수행하는데 사용되는 사용자 인터페이스를 더 제공하도록 구성될 수 있다.
다양한 실시예에서, 상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분은, 상기 소프트웨어 프로그램의 식별 정보를 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 제 1 외부 전자장치에 관련된 위치를 획득 또는 결정하는 동작과 상기 전자장치에 의하여, 상기 위치에 관한 정보를 상기 제 2 외부 전자장치로 전송하는 동작을 더 포함할 수 있다.
여기에 또 다른 실시예에 따르면, 휴대용 전자장치의 동작 방법은, 무선 통신 인터페이스, 저장 장치(storage device), 디스플레이, 및 어플리케이션 프로세서를 포함하는 전자장치에 의하여, 상기 통신 인터페이스를 통하여, 어플리케이션 프로그램 스토어(application program store)를 제공하는 외부 서버에 접속하는 동작과 상기 전자장치에 의하여, 상기 어플리케이션 프로그램 스토어에 관련된 제 1 사용자 인터페이스를 상기 디스플레이에 표시하는 동작과 상기 전자장치에 의하여, 상기 제 1 사용자 인터페이스를 통한 사용자의 제 1 선택에 응답하여, 제 1 외부 전자장치의 제어에 사용되는 제 1 소프트웨어 프로그램을 수신하여, 상기 전자장치에 설치하는 동작과 상기 전자장치에 의하여, 상기 제 1 사용자 인터페이스를 통한 사용자의 제 2 선택에 응답하여, 제 2 외부 전자장치의 제어에 사용되는 제 2 소프트웨어 프로그램을 수신하여, 상기 전자장치에 설치하는 동작, 및 상기 전자장치에 의하여, 상기 메모리에 저장되며, 복수의 외부 전자장치들의 제어를 위한 단일 어플리케이션 프로그램을 이용하여, 상기 제 1 외부 전자장치 및 상기 제 2 외부 전자장치에 관련된 각각의 사용자 입력을 수신하기 위한 제 2 사용자 인터페이스를 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 제 2 사용자 인터페이스는, 상기 제 1 외부 전자장치의 선택을 위한 제 1 아이콘, 제 1 이미지 또는 제 1 텍스트, 및 상기 제 2 외부 전자장치의 선택을 위한 제 2 아이콘, 제 2 이미지 또는 제 2 텍스트를 포함하는 하나의(single) 스크린, 윈도우, 또는 페이지를 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 제 2 사용자 인터페이스 상에서, 상기 제 1 또는 제 2 아이콘, 상기 제 1 또는 제 2 이미지 또는 상기 제 1 또는 제 2 텍스트의 선택에 응답하여, 상기 제 1 또는 제 2 외부 전자장치의 제어를 위한 하위 사용자 인터페이스(sub user interface)를 상기 디스플레이에 표시하는 동작을 더 포함할 수 있다.
또 다른 실시예에 따르면, 전자장치의 동작 방법은, 제 1 면, 상기 제 1 면의 반대쪽으로 향하는 제 2 면, 및 상기 제 1 면 및 제 2 면 사이의 공간을 둘러싸는 측면을 포함하는 하우징으로서, 상기 하우징의 제 1 면, 제 2 면, 및 측면의 상당 부분(a substantial portion)이 불투명 또는 반투명 재질을 포함하는 하우징과 상기 하우징의 상기 면들 중 하나에 위치하고, 외부 디스플레이 장치(external display device)에 오디오/비디오(AV) 데이터를 전송하도록 구성된 유선 통신 포트와 상기 하우징의 상기 면들 중 상기 하나에 위치하고, 전력을 공급받도록 구성된 전력 커넥터(power connector)와 상기 하우징 내에 위치하고, 제 1 및 제 2 비셀률러 (non-cellular) 통신 프로토콜들을 서포트하는 무선 통신 인터페이스와 상기 하우징 내에 위치하고, 운영 체제 소프트웨어를 저장하는 불휘발성 메모리, 및 상기 하우징 내에 위치하고, 상기 무선 통신 인터페이스, 유선 통신 인터페이스, 및 메모리와 전기적으로 연결된 프로세서를 포함하는 전자장치에 의하여, 제 1 외부 전자장치의 제어에 사용되는 제 1 소프트웨어 프로그램을 상기 통신 인터페이스를 통하여 수신하여 운영 체제 소프트웨어와 연동하도록 설치하는 동작과 상기 전자장치에 의하여, 제 2 외부 전자장치의 제어에 사용되는 제 2 소프트웨어 프로그램을 상기 통신 인터페이스를 통하여 수신하여 상기 운영 체제 소프트웨어와 연동하도록 설치하는 동작과 상기 전자장치에 의하여, 오디오/비디오(AV) 데이터의 전송과 무관하게, 외부 휴대용 전자장치로부터 제공받은 상기 제 1 또는 제 2 외부 전자장치의 제어를 요청하는 신호에 응답하여, 상기 운영 체제 소프트웨어 및 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부를 이용하여, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호를 발생시키는 동작, 및 제 1 또는 제 2 비셀룰러 통신 프로토콜들 중 적어도 하나를 이용하여, 상기 제어하는 신호를 전송하는 동작을 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 외부 휴대용 전자장치로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중 적어도 일부를 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 외부 휴대용 전자장치로부터 상기 제 1 또는 제 2 외부 전자장치의 식별 정보 중 적어도 일부를 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 전자장치에 의하여, 상기 외부 포터블 전자장치로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부와 관련된 식별정보를 수신하는 동작, 및 상기 전자장치에 의하여, 상기 식별정보에 기초하여, 외부 서버로부터 상기 제 1 또는 제 2 소프트웨어 프로그램 중의 적어도 일부를 수신하는 동작을 더 포함할 수 있다.
다양한 실시예에서, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호는, 인터넷 프로토콜에 기반한(based on an Internet protocol) 주소(address)를 포함한 제 1 제어신호, 또는 비-인터넷 통신 프로토콜에 기반한(based on a non-Internet communication protocol) 제 2 제어신호 중 적어도 하나를 포함할 수 있다.
다양한 실시예에서, 상기 제 1 및/또는 제 2 외부 전자장치를 제어하는 신호는, 제 1 통신 프로토콜에 기반한 제 1 제어신호, 또는 제 2 통신 프로토콜에 기반한 제 2 제어신호를 포함하며, 상기 제 1 제어신호의 패킷 또는 프레임의 헤더의 길이가 상기 제 2 제어신호의 패킷 또는 프레임의 헤더의 길이보다 긴 것을 특징으로 할 수 있다.
본 개시의 실시예들에 따른 전자장치 및 방법은, 사물 인터넷을 위한 다양한 사물들을 용이하게 인터넷에 연결할 수 있도록 한다. 아울러, 사물 인터넷 장치들을 특정 장소 또는 원격으로 제어할 수 있는 시스템을 제공하여, 사용의 편의성을 제공할 수 있다.
도 1은 일 실시예에 따른, 다양한 사물들 또는 IoT 장치들이 인터넷에 연결된 시스템의 개략도이다.
도 2a는 일 실시예에 따른, 인터넷에 연결 가능한 IoT 장치의 구조의 개략도이다.
도 2b는 다른 실시예에 따른, 인터넷에 연결 가능한 IoT 장치의 구조의 개략도이다.
도 3은 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치를 도시하는 사시도이다.
도 4는 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 개략 블록도이다.
도 5는 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 하드웨어 블록도이다.
도 6은 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 소프트웨어 스택의 개략 블록도이다.
도 7은 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 사용자 인터페이스를 제공하는 전자장치의 개략 블록도이다.
도 8은 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 사용자 인터페이스를 제공하는 전자장치의 소프트웨어 스택의 개략 블록도이다.
도 9는 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 사용자 인터페이스를 제공하는 전자장치의 소프트웨어 하드웨어 개략 블록도이다.
도 10a 내지 도 10f는, IoT 장치를 제어 장치에 연결하는 방법의 일 실시예를 도시한다.
도 11은, IoT 장치를 제어 장치에 연결함에 있어서, 사용자 인터페이스를 제공하는 전자 장치를 동작하는 방법의 일 실시예를 도시하는 순서도(flowchart)이다.
도 12는, 도 11의 순서도에서의 단계들의 일부분을 구체적으로 구현하는 다른 실시예를 도시한 순서도이다.
도 13은, 도 12의 순서도에서의 단계들의 일부분을 구체적으로 구현하는 또다른 실시예를 도시한 순서도이다.
도 14a 내지 도 14b는 다양한 실시예들에 따른, IoT 장치용 어플리케이션 프로그램 스토어의 화면 구성을 도시한다.
도 15는 일 실시예에 따른, IoT 장치를 제어하는 방법을 도시하는 순서도이다.
도 16은 일 실시예에 따른, IoT 장치들을 제어하는 사용자 인터페이스의 구성을 도시하는 개략도이다.
도 17은 다른 실시예에 따른, IoT 장치를 제어하는 방법을 도시하는 순서도이다.
도 18은 다른 실시예에 따른, IoT 장치들을 제어하는 사용자 인터페이스의 구성을 도시하는 개략도이다.
도 19는 일 실시예에 따른, IoT 장치의 위치를 IoT 장치의 제어장치로 제공하는 방법의 순서도이다.
도 20은 일 실시예에 따른, IoT 장치의 위치를 IoT 장치의 제어장치로 제공하는 시나리오를 도시한다.
도 21은 일 실시예에 따른, IoT 장치들의 제어장치를 동작하는 방법을 도시하는 순서도이다.
도 22는, 도 21의 순서도의 단계들 중 일부의 구체적인 단계를의 일실시예를 도시하는 순서도이다.
도 23은, 도 21의 순서도의 단계들 중 일부의 구체적인 단계를의 다른 실시예를 도시하는 순서도이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 다양한 실시예의 다양한 변경(modification), 균등물(equivalent) 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 문서에서, “가진다,” “가질 수 있다,”“포함한다,” 또는 “포함할 수 있다” 등의 표현은 해당 특징 (예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, “A 또는 B”, “A 또는/및 B 중 적어도 하나” 또는 “A 또는/및 B 중 하나 또는 그 이상” 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, “A 또는 B”, “A 및 B 중 적어도 하나” 또는 “A 또는 B 중 적어도 하나”는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시예에서 사용된 “제 1”, “제 2”, “첫째” 또는 “둘째” 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상술한 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 개시의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어 ((operatively or communicatively) coupled with/to)" 있다거나 "접속되어 (connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소 (예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 어떤 구성요소와 다른 구성요소 사이에 다른 구성요소 (예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 “~하도록 구성된 (또는 설정된)(configured to)”은 상황에 따라, 예를 들면, “~에 적합한 (suitable for)”, “~하는 능력을 가지는 (having the capacity to)”, “~하도록 설계된 (designed to)”, “~하도록 변경된 (adapted to)”, “~하도록 만들어진 (made to)” 또는 “~를 할 수 있는 (capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성 (또는 설정)된”은 하드웨어적으로 “특별히 설계된 (specifically designed to)”것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, “~하도록 구성된 장치”라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서 (예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 개시의 실시예들을 배제하도록 해석될 수 없다.
본 문서에서 사용된 용어 “모듈”은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어 (firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위 (unit)를 의미할 수 있다. “모듈”은, 예를 들면, 유닛 (unit), 로직 (logic), 논리 블록 (logical block), 부품 (component), 또는 회로 (circuit) 등의 용어와 바꾸어 사용 (interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,“모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC (application-specific integrated circuit) 칩, FPGAs (field-programmable gate arrays) 또는 프로그램 가능 논리 장치 (programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치 (예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체 (computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 명령어는, 프로세서 (예: 프로세서 120)에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(430) 가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM (compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 상술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 개시의 다양한 실시예들에 따른 전자장치는, 예를 들면, 전자장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 장치 (wearable device)(예: 스마트 안경, 머리 착용형 장치 (head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시예들에서, 전자장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 자동 제어 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller’s machine), 상점의 POS (point of sales), 또는 사물 인터넷 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시예에 따르면, 전자장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자장치는 상술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시예에 따른 전자장치는 플렉서블 전자장치일 수 있다. 또한, 본 개시의 실시예에 따른 전자장치는 상술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시예에 따른 전자장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자장치를 사용하는 사람 또는 전자장치를 사용하는 장치 (예: 인공지능 전자장치)를 지칭할 수 있다.
IoT 시스템의 개요
이하 사물 인터넷의 구현을 위한 다양한 실시예들에 대하여 기술한다. 도 1은 일 실시예에 따른, 다양한 사물들 또는 IoT 장치들이 인터넷에 연결된 시스템의 개략도를 도시하고 있다. 도시된 시스템은, 인터넷과 연결된 제어 장치 (110), 상기 제어장치(110)에 연결된 다양한 IoT 장치들 (120-130), 상기 제어장치(110)와 근거리 통신을 통해 연결되며 사용자 인터페이스를 제공하는 제 1 전자장치(110-1), 및 상기 제어장치(110)와 원격으로 인터넷 등을 통하여 연결된 제 2 전자장치(110-2)를 포함할 수 있다. 일 실시예에서, 상기 제 1 전자장치(110-1)은 상기 제 2 전자장치(110-2)와 동일한 장치일 수 있다.
한 실시예에서, 상기 제어장치(110), 단독 기기(stand-alone device)일 수 잇다. 다른 실시예에서는, 상기 제어장치(110)는 홈 네트워크 제어 장치(home networking controller), 셋탑박스(set-top box), 미디어 장치((예를 들어, 삼성 홈싱크TM, 구글 TVTM, 애플 TVTM), 게임 콘솔(game console) (예를 들어, 마이크로소프트 XBOXTM, 소니 플레이스테이션TM), 네트워크 액세스 포인트(network access point), 보안 제어 패널(security control panel), 또는 홈 환경 제어 장치(home climate controller) 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
상기 제어장치(110)는 다양한 외부 전자장치들(IoT 장치들)(120 내지 130)과 다양한 통신 방식을 이용하여, 유선 및/또는 무선으로 연결될 수 있다. 어떤 실시예들에서는, 상기 통신 방식들의 예들은, 와이파이(WIFI), 블루투스(bluetooth), BLE(buletooth low energy), 지그비(zigbee), 전력선통신(power line communication), 적외선 통신(infrared transmission, IR) 또는 초음파 통신(ultrasound communication) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 제어장치(110)는 상기 IoT 장치들(120-130)과 연결되어, 상기 IoT 장치들(120-130)을 제어하고, 상기 IoT 장치들(120-130)과 데이터를 통신하는 기능을 할 수 있다. 다른 실시예에서는, 상기 제어장치(110)는 상기 IoT 장치들(120-130)로부터의 데이터를 수집하여, 인터넷을 통하여 외부 네트워크 상의 다른 장치(예를 들어, 서버 또는 다른 게이트웨이 장치들)로 전달하는 게이트웨이(gateway)의 역할을 수행할 수 있다.
다른 실시예들에 따르면, 상기 제어장치(110)는 적어도 하나의 클라우드(cloud)와 연결될 수 있다. 상기 클라우드에서는, 상기 제어장치(110)와 유사한 다른 장치들로부터 수집한 데이터를 이용하여 빅데이터(big data)를 형성할 수 있다. 상기 수집된 데이터는 특정 목적(예를 들어, 광고)를 위해 사용될 수 있다. 어떤 실시예에서는, 상기 제어장치(110)은, 개인 클라우드 (예를 들어, DropboxTM, iCloudTM, SugarSyncTM, SkydriveTM, Google DriveTM 등)와 연결될 수 있다.
도시된 실시예에서, 상기 IoT 장치들(120 내지 130)은, 가정용 기기(예: TV(120), 냉장고(123), 오븐(125), 세탁기, 건조기 등), 전등 시스템(122), 화재 경보 시스템(121), 계량기(예: 전기계량기(electricity meter)(126), 가스 계량기 등), 태양광 발전 시스템(solar power system), 스트링클러 시스템(sprinkler system)(124), 온도 조절 시스템(thermostat)(127), 또는 보안 시스템(security system)(128) 중 적어도 하나를 포함할 수 있다. 다른 실시예들에서는, 다른 다양한 IoT 장치들이 상기 제어장치(110)에 연결될 수 있다.
한 실시예에서, 상기 전자장치(100-1, 100-2)(예를 들어, 스마트폰 또는 태플릿 컴퓨팅 장치) 및/또는 선택적으로 웨어러블 장치 (예를 들어, 스마트 글래스 (129) 또는 스마트워치 (130))은, 상기 제어 장치(110)의 사용자 인터페이스로서의 기능을 수행할 수 있다. 상기 전자 장치(100-1 또는 100-2)는, 상기 제어장치(110)를 통하여, 다양한 IoT 장치들(120 내지 130)을 제어할 수 있다.
한 실시예에서, 상기 전자 장치(100-1)는 상기 제어장치(110)와 근거리 통신 방식(예: 와이파이, 블루투스, BLE, 지그비, 적외선 통신(IR) 또는 초음파 통신 등)을 이용하여 직접 연결될 수 있다. 다른 실시에에서는, 상기 전자 장치(100-2)는 인터넷 네트워크 또는 셀룰러 네트워크(cellular network)를 통해 상기 제어장치(110)와 연결될 수 있다.
어떤 실시예에서는, 상기 전자장치(100-1)은, 위치에 따라, 통신방식을 달리할 수 있다. 예를 들어, 상기 전자장치(100-1)은, 상기 제어장치(110)와 가까울 경우 근거리 통신을 이용하고, 상기 제어장치(110)와 원거리에 위치한 경우, 인터넷 네트워크 또는 셀룰러 네트워크를 이용하여 상기 제어 장치(110)과 통신할 수 있다.
다른 실시예에서, 상기 제어 장치(110)는, 선택적으로, 상기 TV (120)와 유선으로 연결되고, 상기 TV(120)를 사용자 인터페이스로서 사용할 수 있다.
다양한 실시예들에서, 도 1에 도시된 상기 IoT 장치들(120-130) 또는 다른 IoT 장치들은 다양한 컴퓨팅 능력 및/또는 통신 능력을 가질 수 있다. 예를 들면, IoT 장치들은 하기 <표 1>에 분류된 바와 같이 다양한 성능을 가질 수 있다.
class capability level IP protocol HW protocol examples
1 highest IPv6 and conventional TX, RX two or more of cellular, WiFi, BT, BLE, Zigbee, NFC, etc. mobile
2 second highest IPv6 or conventional TX, RX two or more of near-distance (WiFi, BT, BLE, Zigbee, NFC, etc.) and no cellular security panel (w/ landline), Homesync, settop
3 modest IPv6 or conventional TX, RX one of near-distance (WiFi, BT, BLE, Zigbee, NFC, etc.) TV, refrigerator,
4 conventional conventional TX, RX one of near-distance (WiFi, BT, BLE, Zigbee, NFC, etc.)
5 basic No IP protocol TX, RX one of near-distance (WiFi, BT, BLE, Zigbee, NFC, etc.) or wire, or power line (IEEE1901) Thermostat, washer/dryer, Lightbulb socket (outside), Gas valve, Sprinkler, Ventilation
6 Limited No IP protocol RX only One of near-distance, power line, or IR, etc. Lightbulb socket (inside)
7 Very limited No IP protocol TX only One of near-distance, power line, IR, acoustic, ultrasound, etc. smoke alarm, fire alarm, Electric meter, Water valve (leakage), Water tank (leakage), Heater (malfunction)
예를 들어, 상기 <표 1>과 같이 분류되는 IoT 장치들(120 내지 130)은, 그 분류 등급에 따라 각기 다른 하나 이상의 종류의 프로토콜에 따른 제어 신호를 사용할 수 있다. 한 실시예에서, 상기 <표 1>의 분류 등급 4("conventional" 이상인 IoT 장치(예: TV(120), 냉장고(123) 또는 보안 시스템(128) 등)(IP-enabled device)는 IPv6 프로토콜을 지원할 수 있는 컴퓨팅 능력 및 통신 수단을 포함할 수 있다. 한 실시예에서, 그러한 IoT 장치(200)는, 도 2a에 도시된 바와 같이, MAC(media access control)/PHY(physical)(예: radio), 수신부(receiver), 송신부(transmitter), 메모리(memory), 운영 시스템(operating system), 프로세서(processor) 또는 입출력 로직(I(input)/O(output) Logic) 중 적어도 하나를 포함하여 IPv6의 프로토콜을 지원할 수 있다.
다른 실시예에서, 상기 <표 1>의 분류 등급 5("basic") 이하인 IoT 장치(예: 오븐(125), 세탁기, 건조기, 화재 경보 시스템(121), 계량기(예: 전기 계량기(126), 가스 계량기 등), 스트링클러 시스템(sprinkler system)(124), 또는 온도 조절 시스템(thermostat)(127) 등)는 제한적인 컴퓨팅 능력과 단순한 통신수단을 가질 수 있어서, IPv6 프로토콜을 지원할 수 있는 능력을 가지지 않을 수 있다. 그러한 IoT 장치(210)는, 도 2b에 도시된 바와 같이, PHY(physical)(예: radio), 수신부(receiver), 송신부(transmitter), 변조부(modulator) 또는 검출부(detector) 중 적어도 하나를 포함하여, 제한된 리소스 및 통신 성능 만을 가질 수 있으며, 따라서 IPv6 프로토콜을 지원하지 못할 수 있다.
한 실시예에서, 상기 제어장치(110)는 저 전력 또는 저성능(low end)의 IoT 장치(예: 화재 경보 시스템(121))와 단방향 통신(uni-directional)을 수행할 수 있다. 예를 들어, 상기 제어장치(110)은 BLE 통신 방식을 이용하여 상기 저 전력의 IoT 장치로부터 제어 신호를 수신할 수 있다.
다른 실시예에서, 상기 제어장치(110)는 고 전력 또는 고성능(high end)의 IoT 장치(예: 가정용 기기)와 양방향 통신(bi-directional)을 수행할 수 있다. 예를 들면, 상기 제어장치(110)은 와이파이 통신 방식을 이용하여 상기 고 전력의 IoT 장치와 신호를 송수신할 수 있다.
또다른 실시예에서, 상기 제어장치(110)는 상기 IoT 장치들(120-130)의 전력 소모(power consumption) 및/또는 통신 가능 범위(range) 등에 기반하여 각각의 IoT 장치와 서로 다른 무선 통신 방식을 사용하여 연결될 수 있다. 예를 들어, 상기 제어장치(110)은 다수 개의 IoT 장치들과 연결되는 경우, 각 IoT 장치의 전력 소모(예: 배터리 잔량) 및/또는 통신 가능 범위 등에 기반하여 서로 다른 무선 통신 방식을 사용하여 각각의 IoT 장치와 연결될 수 있다.
또다른 실시예에서, 상기 제어장치(110)는 시간을 분할하여 각각의 IoT 장치와 데이터를 송수신할 수 있다. 예를 들어, 상기 제어장치(110)은 다수 개의 IoT 장치들과 연결되는 경우, 각각의 IoT 장치와 서로 다른 시간 구간 또는 간격(interval)을 이용하여 데이터를 송수신할 수 있다.
일 실시예의 상기 제어장치(110)은, 위와 같이, 다양한 구성과, 상이한 통신 프로토콜들을 이용하는 IoT 장치들을 효과적으로 그리고 저비용으로 제어하는 구성을 가질 수 있다. 아울러, 상기 제어장치(110)은, 사용자의 위치와 상관 없이, IoT 장치와 인접하여 위치함으로써, IoT 장치들로부터 데이터를 상시로 또는 선택된 주기로 수집하며, 필요시에 IoT 장치들의 제어를 제공할 수 있다. 아울러, 도시된 실시예에서는, 상기 제어장치(110)의 사용자 인터페이스는 다른 장치(예를 들어, 스마트폰)에 의하여 제공되어 사용자의 편의를 제공할 수도 있다. 그러나, 다른 실시예에서는, 상기 제어장치(110)에 사용자 인터페이스가 결합될 수 있다.
IoT 제어 장치
도 3 내지 도 6을 참조하여, 본 개시의 실시예들에 따른 IoT 제어장치를 설명한다. 도 3을 참조하면, IoT 제어 장치(300)의 외관이 도시되어 있다. 상기 제어 장치(300)은 도 1의 제어장치(110)일 수 있다. 상기 제어 장치(300)는 제 1 면(312), 제 1 면(312)의 반대쪽으로 향하는 제 2 면 (313), 제 1 면 및 제 2 면 사이의 공간을 둘러싸는 적어도 하나의 측면(314)으로 구성되는 하우징(310)을 포함할 수 있다. 예를 들어, 상기 하우징(310)에 포함되는 다수 개의 면들 중 적어도 하나의 면은 곡면 또는 평면으로 구성될 수 있다. 예를 들어, 상기 하우징(310)에 포함되는 다수 개의 면들 중 적어도 일부는 불투명 또는 반투명 재질로 구성될 수 있다.
한 실시예에 따르면, 상기 하우징(310)에 포함되는 면들 중 하나의 면(예: 측면(314))은 상기 제어장치(110)의 전력을 공급받도록 구성된 전력 커넥터(power connector)(320), 또는 외부 장치와 데이터를 송수신하도록 구성된 유선 통신 포트 중 적어도 하나를 포함할 수 있다. 예를 들어, 유선 통신 포트는 HDMI(high definition multimedia interface) 포트(330), USB 포트(340)(또는 마이크로 USB 포트), 광오디오 출력 포트(350) 또는 인터넷 포트(360)(예를 들어, Ethernet 포트) 중 적어도 하나가 상기 하나의 면에 포함될 수 있다. 다른 실시예들에서는, 상기 포트들(330-360)은 상기 하우징(310) 표면 상의 다른 위치에 또는 서로 다른 위치들에 배치될 수 있다.
도 4는 일 실시예에 따른, IoT 제어장치(400)의 구성을 도시한다. 상기 제어장치(400)는 버스(410), 프로세서(420, 메모리(430) (예를 들어, DRAM 및/또는 NAND Flash), 전력 관리 모듈(450), 입출력 인터페이스(460), 통신 인터페이스(470), 및 안테나(미도시)(예를 들어, 2.4 GHz, 5 GHz, or 60 GHz 지향성 안테나(directional antenna))를 포함할 수 있다. 어떤 실시예에서는, 상기 안테나는 MIMO (multiple input multiple output)구성을 가질 수 있다. 어떤 실시예에서는, 상기 제어장치(400)는, 상술한 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스(410)는 상술한 구성요소들(예: 프로세서(420), 메모리(430), 전력 관리 모듈(450), 입출력 인터페이스(460) 또는 통신 인터페이스(470) 등)을 서로 연결하고, 상술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(420)는, 중앙처리장치 (central processing unit (CPU)), 어플리케이션 프로세서 (application processor (AP)), 또는 커뮤니케이션 프로세서 (communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 제어장치(400)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
한 실시예에 따르면, 상기 프로세서(420)는, 외부 전자장치들(402 또는 404) 중 적어도 하나와 상기 통신 인터페이스(470)를 통하여 제어신호 및/또는 데이터를 통신할 수 있다. 상기 외부 전자장치(402)는, IoT 장치(예를 들어, 도 1의 IoT 장치들(120-130)) 또는 사용자인터페이스를 제공하는 장치(예를 들어, 도 1의 전자 장치(100-1))일 수 있다. 상기 외부 전자장치(404)는, 상기 제어장치(400)과 원격으로 연결되는 전자장치(예를 들어, 도 1의 전자 장치(100-2))일 수 있다. 또한, 상기 프로세서(420)는 상기 통신 인터페이스(470)을 통하여, 네트워크(462)(예를 들어, LAN, WAN, 또는 인터넷)과 연결된 서버(464)와 연결될 수 있다.
상기 메모리(430)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(430)는 제어장치(400)의 적어도 하나의 다른 구성요소에 관련된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(430)는 소프트웨어 및/또는 프로그램(440)을 저장할 수 있다. 예를 들어, 프로그램(440)은 커널(441), 미들웨어(443), 응용프로그램 프로그래밍 인터페이스(API: application programming interface)(445) 또는 응용프로그램(447) 등을 포함할 수 있다. 커널(441), 미들웨어(443), 또는 응용프로그램 프로그래밍 인터페이스(API)(445)의 적어도 일부는 운영 시스템(operating system (OS))라 불릴 수 있다.
상기 커널(441)은 다른 프로그램들(예: 미들웨어(443), API(445) 또는 응용프로그램(447))에 구현된 동작 또는 기능을 실행하는데 사용되는 시스템 리소스들(예: 버스(410), 프로세서(420) 또는 메모리(430) 등)을 제어 또는 관리할 수 있다. 상기 커널(441)은 미들웨어(443), API(445) 또는 응용프로그램(447)에서 제어장치(400)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(443)는 상기 API(445) 또는 상기 응용프로그램(447)이 상기 커널(441)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 상기 미들웨어(443)는 상기 응용프로그램(447)으로부터 수신된 작업 요청에 대한 제어를 수행할 수 있다. 예를 들어, 상기 미들웨어(443)는 상기 응용프로그램(447) 중 적어도 하나의 응용프로그램에 상기 제어장치(400)의 시스템 리소스를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API(445)는 상기 응용프로그램(447)이 상기 커널(441) 또는 상기 미들웨어(443)에서 제공되는 기능을 제어하기 위한 인터페이스로 또는 함수(예: 명령어)를 포함할 수 있다. 예를 들어, 상기 API(445)는 파일 제어, 창 제어, 화상 처리 또는 문자 제어와 같은 적어도 하나의 인터페이스를 포함할 수 있다.
상기 전력 관리 모듈(450)은 상기 제어장치(400)의 구동을 위한 전력을 제어할 수 있다. 예를 들어, 상기 전력 관리 모듈(450)은 상기 제어장치(400)가 지속적으로 구동되도록 상기 전력 커넥터(320)를 통해 연결된 외부 전원을 상기 제어장치(400)에 지속적으로 공급할 수 있다. 예를 들어, 상기 전력 관리 모듈(450)은 상기 제어장치(400)에 의한 전력 소모를 줄이기 위해 상기 제어장치(400)의 활성화 구간 동안 상기 전력 커넥터(320)를 통해 연결된 외부 전원을 상기 제어장치(400)에 공급하도록 제어할 수 있다.
상기 입출력 인터페이스(460)는 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 제어장치(400)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스(460)는 상기 제어장치(400)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 통신 인터페이스(470)는 상기 제어장치(400)와 외부 장치(예: 제 1 외부 전자장치(402), 제 2 외부 전자장치(404) 또는 서버(464))와의 통신을 연결할 수 있다. 예를 들어, 상기 통신 인터페이스(470)는 하나 또는 그 이상의 무선 통신 또는 유선 통신 프로토콜, 또는 이들의 조합을 통해서 네트워크(462)에 연결되어 외부 장치와 통신할 수 있다.
무선 통신은, 근거리 통신 또는 원거리 통신을 포함할 수 있다. 원거리 통신은, 예를 들면, 셀룰러 통신 프로토콜을 이용할 수 있다. 예를 들면, 셀룰러 통신 프로토콜은, LTE(long term evolution), LTE-A(advanced), CDMA(code division multiple access), WCDMA(wide-CDMA), UMTS(universal mobile telecommunication system), WiBro, 또는 GSM(global system for mobile communication) 등 중 적어도 하나를 사용할 수 있다. 무선통신의 경우, 기존의 광역 셀 뿐만 아니라, 피코셀 (pico cell) 또는 펨토셀 (fempto cell)과 같은 소규모 셀도 지원할 수 있다. 근거리 무선 통신은, 예를 들면, 와이파이(WIFI), 블루투스, BLE, 지그비, 적외선 통신(IR) 또는 초음파 통신 등 중 적어도 하나를 포함할 수 있다.
유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS-142 (recommended standard 142), 전력선통신, 또는 POTS (plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(462)는 통신 네트워크 (telecommunications network), 예를 들면, 컴퓨터 네트워크 (computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망 (telephone network) 중 적어도 하나를 포함할 수 있다.
앞서 설명한 바와 같이, 상기 제 1 및 제 2 외부 전자장치(402 또는 404)는 인터넷을 통해 외부 전자장치를 제어하기 위한 사용자 인터페이스를 제공하는 전자 장치일 수 있다. 한 실시예에 따르면, 서버(464)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 본 개시의 다양한 실시예에 따르면, 상기 제어장치(400)는 프로세서(420)와 기능적으로 또는 물리적으로 분리된 적어도 하나의 모듈을 이용하여 외부 전자장치의 연결 및 제어할 수 있다.
일 실시예에서, 상기 제어장치 (400)은, 운영 시스템, 어플리케이션들, 및 데이터를 위한 최소한의 저장 장치를 포함하고, IoT 장치들로부터 획득하는 데이터의 대부분은 클라우드에 저장될 수 있다. 어떤 실시예에서는, 상기 제어장치(400)는, 어떤 어플리케이션의 소프트웨어 프로그램 전체를 저장 또는 인스톨하지 않고, 상기 프로그램 중 IoT 제어에 관련된 부분만 저장 또는 인스톨하고, 사용자 인터페이스에 관련된 부분은 사용자 인터페이스로서 역할을 하는 모바일 장치에 저장될 수 있다.
어떤 상황에서는, 상기 제어장치(400)은, 어떤 IoT 장치들과 지속적인 연결이 가능하나, 다른 IoT 장치들과는, 주기적으로(periodically) 또는 필요에 따라(as needed) 간헐적인(intermittent) 접속을 수행할 수도 있다. 상기 제어 장치(400)은, 다른 장치(예를 들어, TV set-top, 미디어 장치, 및/또는 보안 패널) 의 기능을 더 포함하도록 구성된 경우, 그 기능을 수행하기 위한 하드웨어 및/또는 소프트웨어를 더 포함할 수 있다.
도 5는 일 실시예에 따른 제어장치의 하드웨어 구성을 도시하는 블록도이다. 이하 설명에서 제어장치(500)의 구성은, 예를 들면, 도 4에 도시된 제어장치(400)의 전체 또는 일부를 구성할 수 있다. 도시된 상기 제어장치(500)는 하나 이상의 응용프로그램 프로세서(AP: application processor)(510), 통신 모듈(520), 메모리(530), 센서 모듈(540), 인터페이스(550), 전력관리 모듈(560) 또는 인디케이터(570)를 포함할 수 있다.
상기 AP(510)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(510)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 또는 연산을 수행할 수 있다. 상기 AP(510)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다.
상기 통신 모듈(520)(예: 상기 통신 인터페이스(470))은 상기 제어장치(500)(예: 제어장치(400))와 네트워크를 통해 연결된 다른 전자장치들 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈(520)은 셀룰러 모듈(521), Wifi 모듈(523), 블루투스(BT) 모듈(525), NFC 모듈(527) 또는 RF 모듈(529)을 포함할 수 있다.
상기 셀룰러 모듈(521)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 인터넷 서비스 등을 제공할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈(521)은 상기 AP(510)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(521)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈(521)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈(521)은, 예를 들면, SoC로 구현될 수 있다. 도 5에서는 상기 셀룰러 모듈(521)(예: 커뮤니케이션 프로세서), 상기 메모리(530) 또는 상기 전력관리 모듈(560) 등의 구성요소들이 상기 AP(510)와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP(510)가 상술한 구성요소들의 적어도 일부(예: 셀룰러 모듈(521))를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP(510) 또는 상기 셀룰러 모듈(521)(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(510) 또는 상기 셀룰러 모듈(521)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈(523), 상기 BT 모듈(525), 또는 상기 NFC 모듈(527) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 5에서는 상기 셀룰러 모듈(521), 상기 Wifi 모듈(523), 상기 BT 모듈(525), 또는 상기 NFC 모듈(527)이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 상기 셀룰러 모듈(521), 상기 Wifi 모듈(523), 상기 BT 모듈(525), 또는 상기 NFC 모듈(527) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 상기 셀룰러 모듈(521), 상기 Wifi 모듈(523), 상기 BT 모듈(525), 또는 상기 NFC 모듈(527) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(521)에 대응하는 상기 커뮤니케이션 프로세서 및 상기 Wifi 모듈(523)에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(529)은 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(529)은, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(529)은 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 5에서는 상기 셀룰러 모듈(521), 상기 Wifi 모듈(523), 상기 BT 모듈(525) 및 상기 NFC 모듈(527)이 하나의 RF 모듈(529)을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 상기 셀룰러 모듈(521), 상기 Wifi 모듈(523), 상기 BT 모듈(525) 또는 상기 NFC 모듈(527) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 메모리(530)는 내장 메모리(532) 또는 외장 메모리(534)를 포함할 수 있다. 상기 내장 메모리(532)는, 예를 들면, 휘발성 메모리(예를 들면, 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 memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 내장 메모리(532)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(534)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리(534)는 다양한 인터페이스를 통하여 상기 제어장치(500)와 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 제어장치(500)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈(540)은 물리량을 계측하거나 상기 제어장치(500)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(540)은, 예를 들면, IR(infrared) 센서(540A) 또는 초음파 센서(540B) 중 적어도 하나를 포함할 수 있다. 센서 모듈(540)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(550)는, 예를 들면, HDMI(high-definition multimedia interface)(552), USB(universal serial bus)(554), 광 인터페이스(optical interface)(556) 또는 인터넷 포트(ethernet port)(558)를 포함할 수 있다.
상기 전력 관리 모듈(560)은 상기 제어장치(500)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(560)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 인디케이터(570)는 상기 제어장치(500) 혹은 그 일부(예: AP(910))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다.
본 개시의 다양한 실시예에 따른 제어장치의 상술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 제어장치의 종류에 따라서 달라질 수 있다. 본 개시의 다양한 실시예에 따른 제어장치는 상술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시의 다양한 실시예에 따른 제어장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 6은 일 실시예에 따른, IoT 장치들의 제어를 위한 제어장치의 소프트웨어 스택을 도시하는 개략 블록도이다. 도시된 실시예에 따르면, 프로그램 모듈(600) (예: 프로그램(440))은, 커널 (610), 미들웨어(620), 어플리케이션 프로그래밍 인터페이스 (Application Programming Interface, API)(660), 및 어플리케이션 계층(Application Layer)(670)을 포함할 수 있다. 상기 프로그램 모듈(600)의 적어도 일부는 제어장치(400 또는 500) 상에 프리로드 (preload) 되거나, 특정 제조업체 (예: IoT 장치 제조업체)의 서버 또는 주요 플랫폼(예: Android, iOS, Tizen, Firefox, Windows Mobile, Blackberry 10 등)에서 제공되는 어플리케이션 프로그램 스토어로부터 다운로드 (download) 될 수 있다.
상기 커널 (610) 및 상기 미들웨어(620) 중 적어도 일부는, 상기 제어장치 (예: 제어장치(400))에 관련된 자원을 제어하는 운영 체제(operating system)라 불릴 수 있다. 상기 운영 체제 상에서 구동되는 다양한 어플리케이션 (예: 어플리케이션 프로그램(447))이 상기 어플리케이션 계층 상에 포함될 수 있다. 운영 체제는, 예를 들면, 안드로이드 (AndroidTM), iOS, 윈도우즈 (WindowsTM), 심비안 (SymbianTM), 타이젠 (TizenTM), 파이어폭스 (FirefoxTM), 또는 바다 (BadaTM) 등이 될 수 있다.
상기 커널(610) (예: 도 4의 커널(441))은, 예를 들면, 시스템 리소스 매니저(미도시) 또는 디바이스 드라이버(미도시)를 포함할 수 있다. 시스템 리소스 매니저는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버는, 예를 들면, 제어장치에서 인터넷 통신을 위해 외부 전자장치와 통신하기 위한 각각의 통신 모듈들(611a 또는 611b 또는 611c 또는 611d)을 관리하기 위한 블루투스 드라이버, USB 드라이버, WIFI 드라이버 또는 IPC (inter-process communication) 드라이버 등을 포함할 수 있다.
한 실시예에서는, 상기 제어장치(도 5의 500)은, 다양한 통신 모듈을 (하드웨어, 펌웨어, 및/또는 소프트웨어에 있어서) 착탈 가능하도록 구성할 수 있다. 예를 들면, 상기 제어장치의 판매 시에는, 제 1 통신 모듈만 포함하지만, 사용자의 필요에 따라, 제 2 통신 모듈을 추가하거나, 교체할 수 있는 구성을 가질 수 있다. 이 경우, 상기 커널(610) 상의 통신 모듈용 소프트웨어도 추가 또는 업데이트 될 수 있다. 어떤 실시예에서는, 새로운 통신 하드웨어 모듈의 추가를 위해, 별도의 슬롯이 제어 장치(예: 도 3의 300)의 하우징에 포함될 수 있고, 대응하는 소프트웨어는 상기 제어 장치에 다운로드 될 수 있다.
상기 미들웨어(620)는, 예를 들면, 상기 어플리케이션(670)이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션(670)이 제어장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(660)를 통해 다양한 기능들을 어플리케이션(670)으로 제공할 수 있다. 한 실시예에 따르면, 상기 미들웨어(620) (예: 미들웨어(443))는 어플리케이션 매니저 (application manager) (641), 리소스 매니저 (resource manager) (642), 파워 매니저 (power manager) (643), 데이터베이스 매니저 (database manager) (644), 패키지 매니저 (package manager) (645), 연결 매니저 (connectivity manager) (646), 사물제어 매니저 (IoT manager) (647), 보안 매니저 (security manager) (648) 또는 런타임 라이브러리(649) 중 적어도 하나를 포함할 수 있다.
상기 어플리케이션 매니저(641)는, 예를 들면, 상기 어플리케이션(670) 중 적어도 하나의 어플리케이션의 생명 주기 (life cycle)를 관리할 수 있다. 상기 리소스 매니저(642)는 상기 어플리케이션(670) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저(643)는, 예를 들면, 바이오스 (BIOS: basic input/output system) 등과 함께 동작하여 배터리 (battery) 또는 전원을 관리하고, 제어장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저(644)는 상기 어플리케이션(670) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저(645)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저(646)는, 예를 들면, WIFI 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 사물제어 매니저(647)는 사물 인터넷 통신을 통해 제어하기 위한 외부 전자장치와의 연결 및 제어를 관리할 수 있다. 상기 보안 매니저(648)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다.
상기 런타임 라이브러리 (649)는, 예를 들면, 상기 어플리케이션(670)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리(649)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 미들웨어(620)는 상술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어(620)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어(620)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API(660) (예: API(445))는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠 (tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
한 실시예에 따르면, 어플리케이션 계층(layer)(670)은, 하나 이상의 어플리케이션 프로그램들(예: 응용프로그램(447))을 포함할 수 있다. 예를 들면, 상기 어플리케이션 계층(670)은 미디어 플레이어, 앨범, 또는 환경 정보 제공 (예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션 프로그램들(671a 내지 671c)을 포함할 수 있다.
도시된 실시예에 따르면, 상기 어플리케이션 계층(670)은 IoT 장치들의 제어를 위한 하나 이상의 어플리케이션 프로그램들(672a 내지 672b)을 포함할 수 있다. 상기 각각의 어플리케이션 프로그램(672a-672b)은 각기 대응하는 IoT 장치 또는 IoT 장치의 종류에 맞게 구성된 소프트웨어를 포함할 수 있다. 예를 들어, 일 실시예에서는, 제 1 어플리케이션 프로그램은 제 1 제조업체의 IoT 전구를 제어하는 프로그램을 포함할 수 있고, 제 2 어플리케이션 프로그램은 제 2 제조업체의 IoT 전구를 제어하는 프로그램을 포함할 수 있다.
다른 실시예에서는, 제 1 어플리케이션 프로그램은 다양한 제조업체들의 IoT 전구들을 제어하는 프로그램을 포함할 수 있고, 제 2 어플리케이션 프로그램은, 다양한 제조업체들의 가전기기들을 제어하는 프로그램을 포함할 수 있다. 또다른 실시예에선, 상기 <표 1>의 분류에 따라, IoT 장치를 제어하는 각각의 어플리케이션 프로그램들이 상기 어플리케이션 계층(670)에 포함될 수 있다.
한 실시예에서, 상기 어플리케이션 프로그램들 중 적어도 일부는, 상기 제어장치 (도 5의 500)의 제조 시에 프리로드(preload)될 수 있다. 다른 실시예에서는, 상기 어플리케이션 프로그램들의 적어도 일부는, 상기 제어장치(도 5의 500)가 사용자에게 판매된 후, 사용자에 의하여 앱스토어나 인터넷 사이트(예를 들어, IoT 장치 제조업체의 웹사이트)으로부터 다운로드된 후 인스톨될 수도 있다. 어떤 실시예에서는, 상기 제어장치에 범용(generic) 어플리케이션 프로그램이 설치되고, IoT 기기들의 종류, 분류. 및/또는 제조사에 따라, 특정 정보가 제공되는 경우, 다양한 IoT 기기들을 서포트 할 수도 있다. 또한, 다른 실시예에서는, 위의 여러가지 실시예들의 둘 이상의 조합을 구현 할 수 있다.
다양한 실시예에 따르면, 프로그램 모듈(600)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(600)의 적어도 일부는, 예를 들면, 프로세서 (예: 어플리케이션 응용프로그램에 의해 구현 (implement)(예: 실행)될 수 있다. 프로그램 모듈(600)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
IoT 제어 장치의 사용자 인터페이스
도 7을 참조하여, 상기 IoT 제어장치(예를 들어 도 5의 500)의 사용자 인터페이스를 제공할 수 있는 전자장치(700)가 설명된다. 도시된 전자장치(700)는 버스(710), 프로세서(720), 메모리(730), 입출력 인터페이스(750), 디스플레이(760) 및 통신 인터페이스(770)를 포함할 수 있다. 어떤 실시예에서는, 전자장치(700)는, 상술한 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다. 한 실시예에서는, 상기 전자장치(700)는, 모바일 장치(예를 들어, 스마트폰, 태블릿 컴퓨터, 랩탑 컴퓨터, 웨어러블 장치 등)일 수 있다.
상기 버스(710)는 상술한 구성요소들(예: 프로세서(720), 메모리(730), 입출력 인터페이스(750), 디스플레이(760) 또는 통신 인터페이스(770) 등)을 서로 연결하고, 상술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
상기 프로세서(720)는, 중앙처리장치 (central processing unit (CPU)), 어플리케이션 프로세서 (application processor (AP)), 또는 커뮤니케이션 프로세서 (communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서(120)는, 예를 들면, 상기 전자장치(700)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(730)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(730)는 상기 전자장치(700)의 적어도 하나의 다른 구성요소에 관련된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 상기 메모리(730)는 소프트웨어 및/또는 프로그램(740)을 저장할 수 있다. 예를 들어, 상기 프로그램(740)은 커널(741), 미들웨어(743), 응용프로그램 프로그래밍 인터페이스(API: application programming interface)(745) 또는 응용프로그램(747) 등을 포함할 수 있다. 커널(741), 미들웨어(743), 또는 응용프로그램 프로그래밍 인터페이스(API)(745)의 적어도 일부는 운영 시스템(operating system (OS))라 불릴 수 있다.
상기 커널(741)은 다른 프로그램들(예: 미들웨어(743), API(745) 또는 응용프로그램(747))에 구현된 동작 또는 기능을 실행하는데 사용되는 시스템 리소스들(예: 버스(710), 프로세서(720) 또는 메모리(730) 등)을 제어 또는 관리할 수 있다. 상기 커널(741)은 상기 미들웨어(743), API(745) 또는 상기 응용프로그램(747)에서 전자장치(700)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(743)는 상기 API(745) 또는 상기 응용프로그램(747)이 커널(741)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 상기 미들웨어(743)는 응용프로그램(747)으로부터 수신된 작업 요청에 대한 제어를 수행할 수 있다. 예를 들어, 상기 미들웨어(743)는 응용프로그램(747) 중 적어도 하나의 응용프로그램에 전자장치(700)의 시스템 리소스를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API(745)는 상기 응용프로그램(747)이 상기 커널(741) 또는 상기 미들웨어(743)에서 제공되는 기능을 제어하기 위한 인터페이스로 또는 함수(예: 명령어)를 포함할 수 있다. 예를 들어, 상기 API(745)는 파일 제어, 창 제어, 화상 처리 또는 문자 제어와 같은 적어도 하나의 인터페이스를 포함할 수 있다.
상기 입출력 인터페이스(750)는 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자장치(700)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스(750)는 전자장치(700)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이(760)는, 예를 들면, 액정 디스플레이 (LCD), 발광 다이오드 (LED) 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (microelectromechanical systems (MEMS)) 디스플레이, 또는 전자종이 (electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(760)는, 예를 들면, 사용자에게 각종 콘텐츠 (예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이(760)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스(770)는 전자장치(700)와 외부 장치(예: 제어장치(702), 외부 장치(704) 또는 서버(706))와의 통신을 연결할 수 있다. 예를 들어, 상기 통신 인터페이스(770)는 무선 통신 또는 유선 통신을 통해서 네트워크(762)에 연결되어 외부 장치와 통신할 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long term evolution), LTE-A(advanced), CDMA(code division multiple access), WCDMA(wide-CDMA), UMTS(universal mobile telecommunication system), WiBro, 또는 GSM(global system for mobile communication) 등 중 적어도 하나를 사용할 수 있다. 상기 무선 통신은, 예를 들면, 와이파이(WIFI), 블루투스, BLE, 지그비, 적외선 통신(IR) 또는 초음파 통신 등 중 적어도 하나를 포함할 수 있다.
상기 유선 통신은, 예를 들면, USB (universal serial bus), HDMI (high definition multimedia interface), RS-142 (recommended standard 142), 또는 POTS (plain old telephone service) 등 중 적어도 하나를 포함할 수 있다.
상기 네트워크(762)는 통신 네트워크 (telecommunications network), 예를 들면, 컴퓨터 네트워크 (computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망 (telephone network) 중 적어도 하나를 포함할 수 있다.
외부 전자장치(704)는 전자장치(700)와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시예에 따르면, 서버(706)는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시예에 따르면, 전자장치(700)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자장치 (예: 제어장치(702), 외부 전자장치(704), 또는 서버(706))에서 실행될 수 있다. 한 실시예에 따르면, 전자장치(700)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자장치(700)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치 (예: 제어장치(702), 외부 전자장치(704), 또는 서버(706))에게 요청할 수 있다. 다른 전자장치 (예: 제어장치(702), 외부 전자장치(704), 또는 서버(706))는 전자장치(700)로부터 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자장치(700)로 전달할 수 있다. 전자장치(700)는 수신된 결과를 그대로 또는 추가적으로 처리하여 다른 전자장치로 요청한 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 개시의 다양한 실시예에 따르면, 전자장치(700)는 프로세서(720)와 기능적으로 또는 물리적으로 분리된 적어도 하나의 모듈을 이용하여 외부 전자장치의 정보를 획득하고, 외부 전자장치와 관련된 소프트웨어 프로그램을 설치할 수 있다.
한 실시예에 따르면, 상기 프로세서(720)는, 적어도 하나의 외부 전자장치(704)(예를 들어, IoT 장치)의 정보를 획득할 수 있다. 예를 들어, 상기 프로세서(720)는 적어도 하나의 외부 전자장치(704)에 부착되거나, 외부 전자장치(704)와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용하여 외부 전자장치에 관한 정보를 획득할 수 있다. 예컨대, 상기 코드는 바 코드(bar code) 또는 QR 코드(quick response) 중 적어도 하나를 포함할 수 있다. 예컨대, 태그는 RFID(radio frequency identification), NFC 태그 또는 BLE 태그 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 프로세서(720)는 적어도 하나의 외부 전자장치(704)의 위치 정보를 추정할 수 있다. 예를 들어, 상기 프로세서(720)는 사물 인터넷을 통해 제어하기 위한 적어도 하나의 외부 전자장치(704)의 정보를 획득하는 시점의 전자장치(700)의 위치를 외부 전자장치(704)의 위치로 추정할 수 있다. 예를 들어, 상기 프로세서(720)는 SLAM(simulataneous location and mapping), LPPe(LTE positioning protocol extension) 2.0 등의 위치 추정 기술을 이용하여 사물 인터넷을 통해 제어하기 위한 적어도 하나의 외부 전자장치(704)의 위치로 추정할 수 있다.
한 실시예에 따르면, 상기 프로세서(720)는 서버(706)에 접속하여 외부 전자장치(704)의 정보에 대응하는 소프트웨어 프로그램의 적어도 일부를 수신하여 전자장치(700)에 설치할 수 있다. 예를 들어, 상기 프로세서(720)는 통신 인터페이스(770)를 통해 어플리케이션 프로그램 스토어로부터 제공받은 카테고리 목록을 표시하도록 디스플레이(760)를 제어할 수 있다. 상기 프로세서(720)는 디스플레이(760)에 표시된 카테고리 목록 중 사물 인터넷과 관련된 카테고리의 선택에 대응하여 해당 카테고리에 포함되는 소프트웨어 프로그램 목록을 표시하도록 디스플레이(760)를 제어할 수 있다.
상기 프로세서(720)는 소프트웨어 프로그램 목록 중 외부 전자장치(704)와 관련된 소프트웨어 프로그램의 선택에 대응하여 해당 소프트웨어 프로그램의 적어도 일부를 수신하여 전자장치(700)에 설치할 수 있다. 예컨대, 상기 프로세서(720)는 외부 전자장치(704)의 사용자 인터페이스에 대응하는 소프트웨어 프로그램의 적어도 일부를 전자장치(700)에 설치할 수 있다. 예컨대, 상기 프로세서(720)는 외부 전자장치(704)의 사용자 인터페이스 및 제어에 대응하는 소프트웨어 프로그램의 적어도 일부를 전자장치(700)에 설치할 수 있다.
한 실시예에 따르면, 상기 프로세서(720)는 외부 전자장치(704)에 대한 정보를 제어장치(702)로 전송할 수 있다. 예를 들어, 상기 프로세서(720)는 외부 전자장치(704)에 관한 식별 정보 또는 외부 전자장치(704)와 관련된 소프트웨어 프로그램의 식별 정보를 제어장치(702)로 전송할 수 있다.
다른 실시예에 따르면, 상기 프로세서(720)는 상기 디스플레이(760) 상에 사물 인터넷을 위한 응용프로그램 아이콘을 표시할 수 있다. 상기 디스플레이(760)는 사물 인터넷을 위한 응용프로그램이 실행되는 경우, 사물 인터넷을 위한 응용프로그램에 포함된 사물 인터넷을 위한 소프트웨어 프로그램 목록을 표시할 수 있다.
한 실시예에 따르면, 상기 디스플레이(760)는 사물 인터넷을 위한 소프트웨어 프로그램 폴더를 표시할 수 있다. 상기 디스플레이(760)는 소프트웨어 프로그램 폴더의 선택에 대응하여 전자장치(700)에서 제어할 수 있는 외부 전자장치에 대응하는 소프트웨어 프로그램 목록을 표시할 수 있다.
도 8은 일 실시예에 따른, 전자장치의 프로그램 모듈의 블록도를 도시하고 있다. 도시된 실시 예에 따르면, 프로그램 모듈(800) (예: 프로그램(740))은 전자장치 (예: 전자장치(700))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션 (예: 어플리케이션 프로그램(747))을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드 (android), iOS, 윈도우즈 (windows), 심비안 (symbian), 타이젠 (tizen), 또는 바다 (bada) 등이 될 수 있다.
상기 프로그램 모듈(800)은 상기 커널(810), 상기 미들웨어(830), 상기 API(860), 및/또는 상기 어플리케이션(870)을 포함할 수 있다. 프로그램 모듈(800)의 적어도 일부는 전자장치 상에 프리로드 (preload) 되거나, 서버로부터 다운로드 (download) 가능하다.
상기 커널(810) (예: 도 7의 커널(741))은, 예를 들면, 시스템 리소스 매니저(811) 또는 디바이스 드라이버(813)를 포함할 수 있다. 상기 시스템 리소스 매니저(811)는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시예에 따르면, 상기 시스템 리소스 매니저(811)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 디바이스 드라이버(813)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WIFI 드라이버, 오디오 드라이버, 배터리 드라이버, 터치 드라이버 또는 IPC (inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어(830)는, 예를 들면, 상기 어플리케이션(870)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(870)이 전자장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(860)를 통해 다양한 기능들을 어플리케이션(870)으로 제공할 수 있다. 한 실시예에 따르면, 상기 미들웨어(830) (예: 미들웨어(743))는 런타임 라이브러리(835), 어플리케이션 매니저 (application manager) (841), 윈도우 매니저 (window manager) (842), 멀티미디어 매니저 (multimedia manager) (843), 리소스 매니저 (resource manager) (844), 파워 매니저 (power manager) (845), 데이터베이스 매니저 (database manager) (846), 패키지 매니저 (package manager) (847), 연결 매니저 (connectivity manager) (848), 통지 매니저 (notification manager) (849), 위치 매니저 (location manager) (850), 그래픽 매니저 (graphic manager) (851), 또는 보안 매니저 (security manager) (852) 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 (835)는, 예를 들면, 상기 어플리케이션(870)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리(835)는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저(841)는, 예를 들면, 상기 어플리케이션(870) 중 적어도 하나의 어플리케이션의 생명 주기 (life cycle)를 관리할 수 있다. 상기 윈도우 매니저(842)는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저(843)는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱 (codec)을 이용하여 미디어 파일의 인코딩 (encoding) 또는 디코딩 (decoding)을 수행할 수 있다. 상기 리소스 매니저(844)는 어플리케이션(870) 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저(845)는, 예를 들면, 바이오스 (BIOS: basic input/output system) 등과 함께 동작하여 배터리 (battery) 또는 전원을 관리하고, 전자장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저(846)는 상기 어플리케이션(870) 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저(847)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저(848)는, 예를 들면, WIFI 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저(849)는 도착 메시지, 약속, 근접성 알림 등의 사건 (event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저(850)는 전자장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저(851)는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저(852)는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시예에 따르면, 전자장치(예: 전자장치(700))가 전화 기능을 포함한 경우, 상기 미들웨어(830)는 전자장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저 (telephony manager)를 더 포함할 수 있다.
상기 미들웨어(830)는 상술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어(830)는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어(830)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API(860) (예: API(745))는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠 (tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션(870)(예: 응용프로그램(747))은, 예를 들면, 홈(871), 다이얼러(872), SMS/MMS(873), IM (instant message) (874), 브라우저(875), 카메라(876), 알람(877), 컨택트(878), 음성 다이얼(879), 이메일(880), 달력(881), 미디어 플레이어(882), 앨범(883), 또는 시계(884), 건강 관리 (health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공 (예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시예에 따르면, 상기 어플리케이션(870)은 전자장치 (예: 전자장치(700))와 외부 전자장치 또는 제어정차 사이의 정보 교환을 지원하는 어플리케이션 (이하, 설명의 편의 상, "정보 교환 어플리케이션"을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 제어장치에 특정 정보를 전달하기 위한 알림 전달 (notification relay) 어플리케이션, 또는 외부 전자장치를 관리하기 위한 장치 관리 (device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자장치의 다른 어플리케이션 (예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자장치로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 제어장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자장치와 통신하는 외부 전자장치의 적어도 하나의 기능 (예: 외부 전자장치 자체 (또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기 (또는, 해상도) 조절), 외부 전자장치에서 동작하는 어플리케이션 또는 외부 전자장치에서 제공되는 서비스 (예: 통화 서비스 또는 메시지 서비스)를 관리 (예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시예에 따르면, 상기 어플리케이션(870)은 외부 전자장치의 속성 (예: 전자장치의 속성으로서, 전자장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션 (예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(870)은 외부 전자장치 (예: 서버 또는 전자장치)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(870)은 프리로드 어플리케이션 (preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션 (third party application)을 포함할 수 있다. 도시된 실시예에 따른 프로그램 모듈(800)의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시예에 따르면, 상기 프로그램 모듈(800)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈(800)의 적어도 일부는, 예를 들면, 프로세서 (예: 어플리케이션 응용프로그램에 의해 구현 (implement)(예: 실행)될 수 있다. 프로그램 모듈(800)의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
도 9는 일 실시예에 따른 전자장치의 블록도를 도시하고 있다. 이하 설명에서 전자장치(900)는, 예를 들면, 도 7에 도시된 전자장치(700)의 전체 또는 일부를 구성할 수 있다. 도 9를 참조하면, 전자장치(900)는 하나 이상의 응용프로그램 프로세서(AP: application processor)(910), 통신 모듈(920), SIM(subscriber identification module) 카드(924), 메모리(930), 센서 모듈(940), 입력 장치(950), 디스플레이(960), 인터페이스(970), 오디오 모듈(980), 이미지 센서 모듈(991), 전력관리 모듈(995), 배터리(996), 인디케이터(997) 또는 모터(998)를 포함할 수 있다.
상기 AP(910)는 운영체제 또는 응용 프로그램을 구동하여 AP(910)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 또는 연산을 수행할 수 있다. 상기 AP(910)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP(910)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈(920)(예: 통신 인터페이스(770))은 상기 전자장치(900)(예: 전자장치(700))와 네트워크를 통해 연결된 다른 전자장치들(예: 제어장치(702))간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈(920)은 셀룰러 모듈(921), Wifi 모듈(923), 블루투스(BT) 모듈(925), GPS 모듈(927), NFC 모듈(928) 또는 RF(radio frequency) 모듈(929)을 포함할 수 있다.
상기 셀룰러 모듈(921)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈(921)은, 예를 들면, 가입자 식별 모듈(예: SIM 카드(924))을 이용하여 통신 네트워크 내에서 전자장치의 구별 또는 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈(921)은 상기 AP(910)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(921)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈(921)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈(921)은, 예를 들면, SoC로 구현될 수 있다. 상기 도 9에서는 상기 셀룰러 모듈(921)(예: 커뮤니케이션 프로세서), 상기 메모리(930) 또는 상기 전력관리 모듈(995) 등의 구성요소들이 AP(910)와 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP(910)가 상술한 구성요소들의 적어도 일부(예: 셀룰러 모듈(921))를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP(910) 또는 상기 셀룰러 모듈(921)(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(910) 또는 셀룰러 모듈(921)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈(923), 상기 BT 모듈(925), 상기 GPS 모듈(927) 또는 상기 NFC 모듈(928) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 상기 도 9에서는 상기 셀룰러 모듈(921), 상기 Wifi 모듈(923), 상기 BT 모듈(925), 상기 GPS 모듈(927) 또는 상기 NFC 모듈(928)이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 상기 셀룰러 모듈(921), 상기 Wifi 모듈(923), 상기 BT 모듈(925), 상기 GPS 모듈(927) 또는 상기 NFC 모듈(928) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 상기 셀룰러 모듈(921), 상기 Wifi 모듈(923), 상기 BT 모듈(925), 상기 GPS 모듈(927) 또는 상기 NFC 모듈(928) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(921)에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈(923)에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(929)은 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(929)은, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, RF 모듈(929)은 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 상기 도 9에서는 상기 셀룰러 모듈(921), 상기 Wifi 모듈(923), 상기 BT 모듈(925), 상기 GPS 모듈(927) 및 상기 NFC 모듈(928)이 하나의 RF 모듈(929)을 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 상기 셀룰러 모듈(921), Wifi 모듈(923), BT 모듈(925), GPS 모듈(927) 또는 NFC 모듈(928) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
한 실시예에 따르면, 상기 RF 모듈(929)은 전자장치(900)와 기능적으로 연결된 메인 안테와 서브 안테나 중 적어도 하나의 안테나를 포함할 수 있다. 상기 통신 모듈(920)은 메인 안테나와 서브 안테나를 이용하여 다이버시티(diversity) 등과 같은 다중 안테나 서비스(MIMO: multiple input multiple output)를 지원할 수 있다.
상기 SIM 카드(924)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. SIM 카드(924)는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(930)는 내장 메모리(932) 또는 외장 메모리(934)를 포함할 수 있다. 상기 내장 메모리(932)는, 예를 들면, 휘발성 메모리(예를 들면, 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 memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시예에 따르면, 상기 내장 메모리(932)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(934)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리(934)는 다양한 인터페이스를 통하여 전자장치(900)와 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자장치(900)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈(940)은 물리량을 계측하거나 전자장치(900)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(940)은, 예를 들면, 제스처 센서(940A), 자이로 센서(940B), 기압 센서(940C), 마그네틱 센서(940D), 가속도 센서(940E), 그립 센서(940F), 근접 센서(940G), color 센서(940H)(예: RGB(red, green, blue) 센서), 생체 센서(940I), 온/습도 센서(940J), 조도 센서(940K) 또는 UV(ultra violet) 센서(940M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(940)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infrared) 센서(미도시), 초음파 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 센서 모듈(940)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치(950)는 터치 패널(touch panel)(952), (디지털) 펜 센서(pen sensor)(954), 키(key)(956) 또는 초음파(ultrasonic) 입력 장치(958)를 포함할 수 있다. 상기 터치 패널(952)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(952)은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널(952)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(952)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(954)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(956)는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파(ultrasonic) 입력 장치(958)는 초음파 신호를 발생하는 입력 도구를 통해, 상기 전자장치(900)에서 마이크로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자장치(900)는 상기 통신 모듈(920)을 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이(960)(예: 디스플레이(760))는 패널(962), 홀로그램 장치(964) 또는 프로젝터(966)를 포함할 수 있다. 패널(962)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(962)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(962)은 터치 패널(952)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(964)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(966)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 상기 전자장치(900)의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이(960)는 패널(962), 홀로그램 장치(964), 또는 프로젝터(966)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(970)는, 예를 들면, HDMI(high-definition multimedia interface)(972), USB(universal serial bus)(974), 광 인터페이스(optical interface)(976) 또는 D-sub(D-subminiature)(978)를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(970)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(980)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(980)은, 예를 들면, 스피커(982), 리시버(984), 이어폰(986) 또는 마이크(988) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 이미지 센서 모듈(991)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈(995)은 상기 전자장치(900)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(995)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
배터리 게이지는, 예를 들면, 상기 배터리(996)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 배터리(996)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자장치(900)에 전원을 공급할 수 있다. 상기 배터리(996)는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(997)는 상기 전자장치(900) 혹은 그 일부(예: AP(910))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(998)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자장치(900)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 개시의 다양한 실시예에 따른 전자장치의 상술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자장치의 종류에 따라서 달라질 수 있다. 본 개시의 다양한 실시예에 따른 전자장치는 상술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시의 다양한 실시예에 따른 전자장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
IoT 제어장치에 IoT 장치를 연결하는 프로세스
상기 도 1 내지 도 9를 참조하여 설명된 다양한 실시예들에 있어서, 다양한 IoT 장치들이 IoT 제어장치에 연결되어 제어될 수 있고, 스마트폰 등의 전자장치를 이용하여, 사용자의 편리하도록 IoT 장치들이 제어될 수 있다. 그러나, 다양한 종류의 IoT 장치들이 다양한 제조사들에 의하여 제조됨에 따라서, 하나의 IoT 제어장치에 다양한 IoT 장치들을 연결함에 있어서 일반 소비자들에게 어려움이 있을 수 있다. 또한 복수의 IoT 장치들을 용이하게 IoT 제어장치에 연결할 필요성이 있을 수 있다. 어떤 실시예에서는, 간단한 저기능 IoT 장치들은 사용자 인터페이스나 심지어 연결을 위한 포트(port, 예를 들어, USB 포트)도 포함하지 않을 수 있다. 이러한 경우, 상기 IoT 제어장치 및/또는 사용자 인터페이스에 IoT 장치를 연결할 수 있는 방법이 필요하다. 상기와 같은 필요성에 더하여, 보다 효율적이고 간편하게 IoT 장치들을 IoT 제어 장치에 연결하는 방법에 대한 필요가 있을 수 있다.
도 10a 내지 도 10f 및 도 11을 참조하여, IoT 제어장치에 IoT 장치를 연결하는 방법의 일 실시예를 아래에 설명한다. 도 10a를 참조하면, 제 1 전자장치(예: 도 7의 전자장치(700))(1000)는, 예를 들어, 모바일 장치(예: 스마트폰)이고, 제 2 전자장치(예: 도 4의 제어장치(400))(1010)는 IoT 제어 장치일 수 있다.
상기 도 7 내지 도 9를 참조하여 설명된 바와 같이, 상기 모바일 장치(1000)은, 상기 IoT 제어장치의 사용자 인터페이스의 기능을 수행할 수 있다. 그리고, 상기 도 1 내지 도 6을 참조하여 설명된 바와 같이, 상기 IoT 제어장치(1010)은, 각종 외부 전자장치 또는 IoT 장치(1020)를 제어할 수 있다. 도시된 실시예에서는, 상기 IoT 장치(1020)는 스마트 전등일 수 있다. 그러나, 다른 실시예에서는, 상기 IoT 장치(1020)는 하나 또는 그 이상의 다양한 다른 종류의 IoT 장치들(예를 들어, 도 1의 120-130) 일 수 있다.
도 10a을 다시 참조하면, 상기 모바일 장치(1000)와 상기 IoT 제어장치(1010)는, 미리 연결되어 서로 통신이 가능한 상태이다. 상기 스마트 전등(1020)은, 외부 포트를 포함하지 않으며, 단순한 기능과 구성을 가질 수 있다(예를 들어, 상기 도 2b의 구조). 이때, 상기 스마트 전등(1020)을 상기 IoT 제어장치(1010)를 이용하여 제어하기 위하여는, 상기 스마트 전등(1020)이 상기 IoT 제어장치(1010)에 연결될 필요가 있을 수 있다. 이때, 상기 IoT 제어장치(1010)는, 특정 위치에 놓여져 있으므로, 이동이 용이하지 않을 수 있다. 이 경우, 상기 모바일 장치(1000)를 이용한 연결 및 인스톨레이션 방법의 한 실시예가 도 10b-10f 및 도 11을 참조하여 이하에 기술된다.
(1) IoT 장치 인식
도 10b 및 도 11을 참조하면, 동작 1101에서, 상기 모바일 장치(1000)는 IoT 장치(1020)(스마트 전등)의 정보를 획득할 수 있다. 예를 들어, 상기 모바일 장치(1000)는 IoT 장치(1020)에 부착되거나, IoT 장치(1020)와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용하여 IoT 장치(1020)에 관한 정보(예: IoT 장치(1020)의 식별정보)를 획득할 수 있다. 예컨대, IoT 장치와 함께 제공되는 코드 또는 태그는 IoT 장치를 포함하는 박스 또는 포장에 위치할 수 있다.
예를 들어, 도 10b를 참조하면, 상기 모바일 장치(1000)는, 상기 스마트 전등(1020)의 정보를 획득할 수 있다. 예를 들어, 상기 모바일 장치(1000)는 내장된 카메라를 이용하여 상기 스마트 전등(1020)에 부착된 QR(quick response) 코드(1030)를 인식하여 상기 스마트 전등(1020)의 정보를 획득할 수 있다(1032).
다른 실시예에서, 상기 IoT 장치(1020)에 부착되거나, IoT 장치(1020)와 함께 제공되거나(예를 들어, 매뉴얼 내에 포함), IoT 장치(1020)의 포장에 부착된 코드 또는 태그는, 예를 들어, 바 코드(bar code)일 수 있다. 또다른 실시예에서, 상기 모바일 장치(1000)는 상기 모바일 장치(1000)에 내장된 카메라, 웨어러블 장치, 또는 스마트 글라스 중 적어도 하나를 이용하여, 증강 현실 메커니즘 또는 3D(dimensional) 인식 방식을 수행하여 IoT 장치(1020)를 식별할 수도 있다. 또다른 실시예에서는, 증강 현실 메커니즘 또는 3D(dimensional) 인식 방식과, 상기 IoT 장치(1020)에 부착되거나, IoT 장치(1020)와 함께 제공되거나, IoT 장치(1020)의 포장에 부착된 코드 또는 태그를 조합하여, 상기 IoT 장치(1020)의 정보를 획득할 수 있다.
다른 실시예에서, 상기 모바일 장치(1000)는 하나 이상의 RFID를 이용하여, IoT 장치(1020)에 관한 정보(예: IoT 장치(1020)의 식별정보)를 획득할 수 있다. 어떤 실시예에서, 상기 모바일 장치(1000)는, 상기 IoT 장치(1020)에 부착된 NFC 태그 또는 BLE 태그를 통해 IoT 장치(1020)에 관한 정보를 획득할 수 있다.
한 실시예에서, 상기 모바일 장치(1000)는 하나의 코드 또는 태그로부터 단 하나의 IoT 장치에 관한 정보, 또는 한 세트의 IoT 장치들에 관한 정보를 획득할 수 있다.
(2) 모바일 장치 상에 IoT 장치 관련 소프트웨어 다운로드 및 설치
도 10c 및 도 11을 참조하면, 동작 1103에서, 상기 모바일 장치는 어플리케이션 프로그램 스토어를 포함하는 서버(예: 서버(706 또는 1040))에 접속할 수 있다.
그 후에, 동작 1105에서, 상기 모바일 장치는 상기 서버로부터 IoT 장치와 관련된 소프트웨어 프로그램을 수신 또는 다운로드할 수 있다. 예를 들어, 상기 모바일 장치는 IoT 장치의 식별정보를 상기 서버로 전송하여 해당 IoT 장치와 관련된 소프트웨어 프로그램을 수신할 수 있다.
동작 1107에서, 상기 모바일 장치는 서버로부터 수신한 IoT 장치와 관련된 소프트웨어 프로그램을 전자장치에 설치할 수 있다. 예를 들어, 도 10c를 참조하면, 상기 모바일 장치(1000)는 어플리케이션 프로그램 스토어(예: 구글 플레이어 또는 애플 앱 스토어)를 포함하는 외부 서버(1040)에 접속하여 상기 스마트 전등(1020)에 관련된 소프트웨어 프로그램의 적어도 일부를 수신하여 설치할 수 있다.
일 실시예에서는, 상기 모바일 장치(1000)는 상기 스마트 전등(1020)의 사용자 인터페이스에 대응하는 소프트웨어 프로그램의 적어도 일부를 수신하여 설치할 수 있다. 다른 실시예에서는, 상기 모바일 장치(1000)는 스마트 전등(1020)의 사용자 인터페이스용 소프트웨어 프로그램 및 IoT 장치의 제어용 소프트웨어 프로그램의 적어도 일부를 수신하여 설치할 수 있다 (이 경우, 상기 IoT 장치의 제어용 소프트웨어 프로그램의 적어도 일부는 일단 상기 모바일 장치(1000)에 일시적으로 저장된 후, 아래에 설명될 IoT 제어 장치로 전송된 후 상기 모바일 장치(1000)로부터 제거될 수도 있다). 다른 실시예에서는, 상기 모바일 장치(1000)는 스마트 전등(1020)의 (a) 사용자 인터페이스용 소프트웨어 프로그램을 수신하여 설치하고, (b) IoT 장치의 제어용 소프트웨어 프로그램에 대신하여 그 식별 정보만을 수신할 수 있다 (이 경우, 그 식별 정보가 아래에 설명될 IoT 제어 장치로 전송될 수 있다).
다른 실시예에서는, 사용자가 앱스토어(예를 들면, Google Play, 또는 Apple App Store)에서, 상기 IoT 장치의 이름 및/또는 카테고리에 기초하여, 필요한 어플리케이션 프로그램을 식별하여 그 프로그램을 다운로드하여 상기 모바일 장치(1000)에 설치할 수 있다. 일 실시예에서, 상기 앱스토어는 IoT 장치들을 위한 앱들을 카테고리 별로 제공할 수 있다.
도 12를 참조하여, 상기 도 11의 동작 1101 내지 1105를 대신할 수 있는 방법을 이용하는 다른 실시예를 상세히 설명한다. 상기 도 12를 참조하면, 동작 1201에서, 상기 모바일 장치는 상기 도 11의 동작 1103에서 서버(예: 서버(706 또는 1040))에 접속한 경우, 서버로부터 어플리케이션 프로그램 스토어에 관한 정보를 수신할 수 있다.
동작 1203에서, 상기 모바일 장치는 어플리케이션 프로그램 스토어에 관한 정보를 이용하여 IoT 장치와 관련된 소프트웨어 프로그램의 정보를 디스플레이(예: 디스플레이(760))에 표시할 수 있다.
도 13 및 도 14a 내지 도 14b를 참조하여, 상기 도 12의 동작 1203의 상세 동작의 일 실시예를 설명한다. 상기 도 13을 참조하면, 동작 1301에서, 상기 모바일 장치는 상기 도 12의 1201에서 서버로부터 어플리케이션 프로그램 스토어에 관한 정보를 수신한 경우, 어플리케이션 프로그램 스토어에 포함되는 카테고리 목록을 디스플레이(예: 디스플레이(760))에 표시할 수 있다. 예를 들어, 상기 모바일 장치는 상기 도 14a에 도시된 바와 같이 어플리케이션 프로그램 스토어에 포함되는 게임, 사물 인터넷(1410), 교육, 교통, 금융, 날씨, 뉴스 및 잡지, 또는 데코레이션 등과 같은 카테고리 목록(1400)을 디스플레이에 표시할 수 있다.
동작 1303에서, 상기 모바일 장치는 디스플레이에 표시된 카테고리 목록에서 IoT에 대응하는 카테고리의 선택에 관한 사용자의 입력을 수신할 수 있다. 예를 들어, 모바일 장치는 상기 도 14a에 도시된 바와 같이 디스플레이에 표시된 카테고리 목록(1400)에서 사물 인터넷 카테고리(1410)의 선택을 수신할 수 있다.
동작 1305에서, 상기 모바일 장치는 IoT에 대응하는 카테고리의 선택에 대한 응답으로 외부 전자장치와 관련된 소프트웨어 프로그램 정보를 포함하는 IoT과 관련된 소트프웨어 프로그램 목록을 디스플레이에 표시할 수 있다. 예를 들어, 상기 모바일 장치는 상기 도 14b와 같이 IoT 카테고리(1410)에 포함된 전구 제어(1420), 보안 제어(1430), 또는 가스 제어(1440) 등과 같은 소트프웨어 프로그램 목록을 디스플레이에 표시할 수 있다.
상기 도 12의 동작 1205에서, 전자장치는 디스플레이에 표시된 외부 전자장치와 관련된 소프트웨어 프로그램의 선택 입력을 수신할 수 있다. 동작 1207에서, 전자장치는 선택 입력에 대한 응답으로 외부 전자장치와 관련된 소프트웨어 프로그램의 요청 신호를 서버로 전송할 수 있다. 동작 1209에서, 전자장치는 요청 신호에 대한 응답으로 서버로부터 외부 전자장치와 관련된 소프트웨어 프로그램을 수신할 수 있다.
(3) IoT 제어장치 상에 IoT 장치 관련 소프트웨어 다운로드 및 설치
도 10d 및 도 11을 참조하면, 동작 1109에서, 상기 모바일 장치는 IoT 장치와 관련된 정보를 제어장치(예: 제어장치(702) 또는 IoT 제어장치(1010))로 전송할 수 있다. 일 실시예에서, 상기 모바일 장치는 IoT 장치의 식별 정보 또는 IoT 장치와 관련된 소프트웨어 프로그램의 식별 정보를 제어장치로 전송할 수 있다. 다른 실시예에서는, 상기 모바일 장치는 IoT 장치와 관련하여 서버로부터 수신한 소프트웨어 프로그램의 적어도 일부를 상기 제어장치로 전송할 수 있다. 예컨대, 상기 모바일 장치는 IoT 장치와 관련하여 상기 제어 장치로 전송한 소프트웨어 프로그램의 적어도 일부 (예를 들어, 상기 프로그램 중 제어에 관한 부분)를 삭제할 수 있다. 다른 실시예에서는, 상기 모바일 장치는 IoT 장치와 관련하여 서버로부터 수신한 소프트웨어 프로그램의 식별자를 상기 제어장치로 전송할 수 있다.
예를 들어, 도 10d를 참조하면, 상기 모바일 장치(1000)는 상기 스마트 전등(1020)와 관련된 정보를 상기 IoT 제어장치(1010)로 전송할 수 있다. 예를 들어, 상기 모바일 장치(1000)는 상기 스마트 전등(1020)의 식별 정보 또는 상기 스마트 전등(1020)과 관련된 소프트웨어 프로그램의 식별정보(예: 제어에 대응하는 소프트웨어 프로그램의 식별 정보)를 상기 IoT 제어장치(1010)로 전송할 수 있다. 다른 실시예에서는, 상기 모바일 장치(1000)는 상기 스마트 전등(1020)와 관련하여 동작 1105에서 수신한 소프트웨어 프로그램의 적어도 일부 (예를 들어, 상기 프로그램 중 제어에 관한 부분)을 상기 IoT 제어장치(1010)로 전송할 수 있다. 예컨대, 상기 모바일 장치(1000)는 상기 IoT 제어 장치(1010)로 전송한 소프트웨어 프로그램의 적어도 일부 (예를 들어, 상기 프로그램 중 제어에 관한 부분)를 삭제할 수 있다. 다른 실시예에서는, 상기 모바일 장치(1000)는 상기 스마트 전등(1020)와 관련하여 동작 1105에서 수신한 소프트웨어 프로그램의 식별자를 상기 IoT 제어장치(1010)로 전송할 수 있다.
도 10e를 참조하면, 상기 IoT 제어장치(1010)는 상기 모바일 장치(1000)로부터 제공받은 스마트 전등(1020)과 관련된 정보 또는 소프트웨어 프로그램의 적어도 일부에 기반하여, 프로그램 모듈(1050)의 어플리케이션 계층(1090)에 상기 스마트 전등(1020)의 제어를 위한 소프트웨어 프로그램(1091d)을 설치할 수 있다.
일 실시예에서, 상기 IoT 제어장치(1010)는 커널(1060)의 통신 모듈 1(1061a)을 통해 상기 모바일 장치(1000)로부터 제공받은 상기 스마트 전등(1020)과 관련된 소프트웨어 프로그램을 어플리케이션 계층(1090)에 설치할 수 있다. 다른 실시예에서, 상기 IoT 제어장치(1010)는 커널(1060)의 통신 모듈 3(1061c)을 통해 어플리케이션 프로그램 스토어로부터 상기 스마트 전등(1020)과 관련된 소프트웨어 프로그램을 수신하여 어플리케이션 계층(1090)에 설치할 수 있다.
다른 실시예에 따르면, 상기 IoT 제어장치(1010)는, 예를 들어, 범용 어플리케이션 프로그램(예: 1091a) (예를 들어, 특정 통신 프로토콜을 이용할 수 있는 소프트웨어 모듈)을 프리로드 또는 다운로드하여 설치할 수 있다. 상기 IoT 제어장치(1010)는, 상기 모바일 장치(1000)로부터 수신한 정보 또는 메시지에 기초하여 단순히 새로운 IoT 장치를 등록(register)함으로써 위의 실시예들의 절차를 대신할 수 있다.
또다른 실시예에서는, 상기 IoT 제어장치(1010)는, 특정 IoT 장치 또는 복수의 상이한 종류 또는 브랜드의 IoT 장치들을 위해 사용될 수 있는 디폴트 제어용 소프트웨어(예: 1092a)를 프리로드 또는 다운로드하여 미리 설치할 수 있다. 이 경우, 상기와 같이 상기 모바일 장치(1000)로부터 수신한 정보 또는 메시지에 기초하여 단순히 새로운 IoT 장치를 등록(register)하여 통신할 수 있다.
이와 같이, 상기 모바일 장치(1000)를 이용하여, 상기 IoT 제어장치(1010)에 상기 스마트 전등(1020)의 제어를 위한 소프트웨어 또는 제어 모듈이 설치되면, 상기 IoT 제어장치(1010)는 상기 스마트 전등(1020)을 필요에 따라 제어할 수 있다. 상기 IoT 제어장치(1010)와 상기 스마트 전등(1020)은 각종 제어 및 상태 확인을 위한 제어 신호를 서로 교환할 수 있다.
어떤 실시예에서는, 상기 모바일 장치 및/또는 IoT 제어장치에 설치된 소프트웨어 프로그램들 중 적어도 일부가 지속적으로, 앱스토어 또는 제조업체의 웹사이트와 연동하여 업데이트될 수 있다.
(4) 모바일 장치 상에 IoT 장치 관련 유저 인터페이스 제공
도 10f 및 도 11을 참조하면, 동작 1111에서, 상기 모바일 장치는, 상기 IoT 제어장치에 설치된 IoT 장치와 관련된 소프트웨어 프로그램을 이용하여 IoT 장치와 관련된 사용자 인터페이스를 디스플레이(예: 디스플레이(760))에 표시할 수 있다.
도 15 및 도 16a 내지 도 16b를 참조하여, 일 실시예에 따른 모바일 장치에서 IoT 장치를 위한 전용 소프트웨어 프로그램의 실행 방법을 설명한다.
도 15를 참조하면, 동작 1501에서, 모바일 장치(예: 전자장치(700) 또는 모바일 장치(1000))는 디스플레이(예: 디스플레이(760))에 표시된 사물 인터넷(IoT)를 위한 전용 어플리케이션 프로그램 아이콘의 선택을 사용자로부터 수신할 수 있다.
상기 모바일 장치는 도 16a에 도시된 바와 같이 디스플레이에 각종 어플리케이션 프로그램들을 나타내는 아이콘들을 표시할 수 있다. 상기 아이콘들 중 IoT 장치들을 제어하기 위한 전용 어플리케이션 프로그램(예: IoT app(1600))의 아이콘이 우측 하단에 표시되어 있다.
동작 1503에서, 상기 모바일 장치는 사물 인터넷을 위한 전용 어플리케이션 프로그램 아이콘의 선택에 대한 응답하여, IoT를 위한 전용 어플리케이션 프로그램을 열 수 있다. 상기 전용 어플리케이션 프로그램이 구동되면, 유저 인터페이스가 도 16(b)에 도시된 바와 같이 표시될 수 있다. 상기 유저 인터페이스는, 상기 모바일 장치가 제어할 수 있는 IoT 장치들의 목록을 디스플레이에 아이콘, 이미지, 및/또는 텍스트를 이용하여 표시할 수 있다. 예를 들어, 상기 모바일 장치는 도 16b에 도시된 바와 같이, 상기 모바일 장치가 제어가능한 전등 시스템(1612), 보안 시스템, 전시계 계량기, 스프링쿨러 시스템 또는 가스 계량기 등의 이미 설치된 IoT 장치들을 디스플레이에 표시할 수 있다. 상기 모바일 장치는 IoT 장치들의 목록 중, 예를 들어, 상기 전등 시스템(1612)의 선택을 수신한 경우, 전등 제어를 위한 세부 메뉴(1620)를 디스플레이에 표시할 수도 있다.
도 17 및 도 18a 내지 도 18b을 참조하여, 다른 실시예에 따른 모바일 장치에서 IoT 장치를 위한 어플리케이션 프로그램들의 실행 방법을 설명한다. 도 17을 참조하면, 동작 1701에서, 모바일 장치(예: 전자장치(700) 또는 모바일 장치(1000))는 디스플레이(예: 디스플레이(760))에 표시된 IoT 장치용 어플리케이션 프로그램들의 폴더(예: IoT Folder)(1800)의 선택을 사용자로부터 수신할 수 있다.
동작 1703에서, 상기 모바일 장치는 IoT 장치용 어플리케이션 프로그램들 폴더의 선택에 대한 응답으로, 상기 모바일 장치에 이미 인스톨된 IoT 장치용 어플리케이션 프로그램들의 아이콘들을 상기 폴더의 확장 영역(1810) 내에 표시할 수 있다. 예를 들어, 상기 모바일 장치는 도 18b에 도시된 바와 같이, 예를 들어, 전등 시스템용 어플리케이션, 보안 시스템용 어플리케이션, 전시계 계량기용 어플리케이션, 스프링쿨러 시스템용 어플리케이션 또는 가스 계량기용 어플리케이션 등의 아이콘들을 디스플레이에 표시할 수 있다.
동작 1705에서, 상기 모바일 장치는 상기 어플리케이션 프로그램들 중 특정 IoT 장치용 어플리케이션 프로그램의 선택을 사용자로부터 수신할 수 있다.
동작 1707에서, 상기 모바일 장치는 어플리케이션 프로그램의 선택에 대한 응답으로 해당 어플리케이션 프로그램을 실행할 수 있다. 예를 들어, 상기 모바일 장치는 해당 어플리케이션 프로그램을 실행하여, 대응하는 IoT 장치를 제어하기 위한 사용자 인터페이스를 디스플레이에 표시할 수 있다.
어떤 실시예에서, 모바일 장치는 IoT 장치를 인식하고, IoT 제어 장치와 IoT 장치를 연결하기 위해 RFID, GPS, 전자기 위치 표시기(electromagnetic position indicators), 가속도계(accelerometer) 및 다른 환경 정보 중 적어도 하나를 사용할 수 있다.
어떤 실시예에서, IoT 장치가 통신 모듈을 포함하지 않는 경우, IoT 장치와 AC 콘센트(outlet)를 연결하는 애프터마켓 장치(aftermarket device)를 이용하여 해당 IoT 장치를 제어할 수 있다.
아래에 설명될 다양한 실시예들에 따르면, 모바일 장치는 새로운 IoT 장치를 다양한 방법으로 IoT 제어 장치에 추가할 수 있다.
시나리오 1: 이미 설치된 IoT 제어장치에 새로운 IoT 장치 추가
- 상기 모바일 장치는, 예를 들면, NFC 태그, RFID, 증강현실, QR 코드 또는 바코드 등을 이용하여 새로운 IoT 장치를 식별할 수 있다.
- 상기 모바일 장치는 상기 IoT 장치와 관련된 소프트웨어 프로그램 (또는 상기 프로그램의 사용자 인터페이스에 관한 부분만)를 수신 또는 다운로드하여 설치할 수 있다.
- 상기 모바일 장치는 상기 IoT 장치와 관련된 소프트웨어 프로그램에 대한 정보(예: IoT 장치의 식별 정보 또는 IoT 장치와 관련된 소프트웨어 프로그램의 식별 정보)를 제어 장치로 전송할 수 있다.
- 상기 제어 장치는 상기 IoT 장치와 관련된 소프트웨어 프로그램에 대한 정보에 기반하여 상기 IoT 장치와 관련된 소프트웨어 프로그램의 적어도 일부(예: 상기 프로그램의 제어에 관한 부분)를 수신 또는 다운로드하여 설치할 수 있다.
- 상기 IoT 장치가 활성화되어 되고, 상기 제어 장치가 상기 IoT 장치로부터 신호를 수신하는 경우, 상기 제어 장치는 상기 IoT 장치의 등록을 완료하고, 상기 IoT 장치에 대한 모니터링을 시작할 수 있다. 상기 제어 장치는 상기 등록 완료 정보를 상기 모바일 장치로 전송할 수 있다.
- 상기 제어 장치가 상기 IoT 장치로부터 신호를 수신하지 못한 경우, 상기 제어 장치는 선택된 기간(예를 들어: 하루 또는 이틀) 동안 상기 IoT 장치로부터 신호가 수신되는지 기다린 후, 상기 IoT 장치와 관련된 소프트웨어 프로그램을 삭제할 수 있다. 예를 들어, 상기 제어 장치는 사용자의 선택에 기반하여 상기 IoT 장치와 관련된 소프트웨어 프로그램을 삭제할 수 있다.
- 상기 제어 장치는 상기 제어 장치의 위치를 기준으로 적어도 하나의 IoT 장치의 위치를 결정할 수 있다.
시나리오 2: IoT 장치들과 이미 연결된 기존의 IoT 제어장치(기존 제어장치, existing control device)를 교체하여 새로운 IoT 제어장치 (신규 제어장치, new control device) 설치
일 실시예에 따르면, 상기 기존 제어 장치는 이미 설치된 IoT 장치들의 정보(예: IoT 장치의 식별정보 또는 IoT 장치와 관련된 소프트웨어 프로그램의 식별정보)를 수집하여 서버(예: 클라우드 서버) 또는 모바일 장치에 저장할 수 있다. 한 실시예에 따르면, 상기 기존 제어 장치가 신규 제어 장치로 교체되는 경우, 상기 서버 또는 모바일 장치로부터 기 저장된 IoT 장치의 정보가 신규 제어 장치로 제공될 수 있고, 신규 제어 장치가 기존의 IoT 장치들과 연결될 수 있다. 다른 실시예에 따르면, 상기 기존 제어 장치가 리셋되거나 변경되는 경우에도, 상기 서버 또는 모바일 장치로부터 기 저장된 IoT 장치의 정보가 기존 제어 장치로 제공될 수 있다.
시나리오 3: 한 세트의 IoT 장치들을 IoT 제어장치에 최초 설치
일 실시예에 따르면, IoT 제어장치는, 한 세트의 새로운 IoT 장치들의 포장 또는 패키지에 제공되는 식별자들(예를 들면, 바 코드)를 이용하여, 위에 설명된 실시예에 따라서 관련 소프트웨어를 IoT 제어장치에 설치한 후, 한 세트의 IoT 장치들을 IoT 제어장치에 연결할 수 있다. 예를 들면, 상기 IoT 제어 장치는 복수의 IoT 장치들을 위한 소프트웨어 프로그램의 패키지를 서버로부터 수신하여 설치할 수 있다.
시나리오 4: IoT 제어 장치를 포함하는 네트워크에 새로운 모바일 장치 연결
다른 실시예에 따르면, IoT 제어장치는 사용자 인터페이스를 제공하기 위해 새로운 모바일 장치와 접속될 수 있다. 이 경우, 상기 IoT 제어 장치는 상기 모바일 장치에 정보를 제공하여, 상기 모바일 장치가 앱 스토어나 상기 IoT 제어장치로부터 IoT 사용자 인터페이스를 위한 소프트웨어를 다운로드하여 설치할 수 있도록 할 수 있다. 이 경우, 상기 IoT 제어 장치는, 상기 제어장치가 제어할 수 있는 적어도 하나의 IoT 장치의 정보(예: IoT 장치의 식별정보 또는 IoT 장치와 관련된 소프트웨어 프로그램의 식별정보)를 새롭게 접속한 모바일 장치로 전송할 수 있다.
IoT 제어장치에 IoT 장치의 위치 정보를 제공하는 프로세스
본 개시의 다른 실시예들에 따르면, IoT 제어장치가, IoT 장치들의 제어를 위하여 상기 IoT 장치들의 위치 정보를 필요로 할 수 있다. 예를 들어, 동일한 신호를 송수신하는 다수 개의 조명 장치(예: 스마트 전등)들이 댁내에 존재하는 경우, 그 제어 장치는 적어도 일부의 조명 장치를 제어하기 위해 각각의 조명 장치에 대한 위치 정보를 필요로 할 수 있다.
그러나, 상기에 설명된 실시예들의 방법에 따르면, IoT 제어장치 또는 모바일 장치는, 저사양의 IoT 장치의 위치정보를 가질 수 없을 수 있다. 더욱이 고사양의 IP 기반의 IoT 장치가 IoT 제어 장치에 연결된 경우일지라도, 그 물리적인 위치는 쉽게 획득할 수 없을 수 있다. 그러나, 동일 또는 유사한 IoT 장치들이 다수개 존재하는 경우, IoT 제어장치 또는 그 유저에게 IoT 장치들의 위치 정보를 제공할 필요가 있을 수 있다.
한 실시예에 따르면, 모바일 장치는, 예를 들면, 상기 도 10를 참조하여 설명된 단계에서, QR 코드 (또는 바 코드)를 캡쳐하여 IoT 장치를 식별할 때, 상기 IoT 장치의 위치를 결정할 수 있다. 예를 들어, 모바일 장치는 IoT 장치를 인식하는 시점에, 예를 들면, 상기 모바일 장치 내에 포함된 GPS 또는 실내 위치 확인 메커니즘 등을 이용하여 확인한 상기 모바일 장치의 위치를 해당 IoT 장치의 위치로 간주할 수 있다. 어떤 실시예에서는 상기 모바일 장치는 상기 모바일 장치의 MIMO(multiple input multiple output) 메커니즘을 이용하여, 상기 모바일 장치를 기준으로 IoT 장치의 상대적인 방향을 결정할 수 있다.
다른 실시예에서는, IoT 장치의 정확한 위치 정보가 필요한 경우, 상기 모바일 장치는 IoT 장치 인식을 위해 캡쳐한 QR 코드 또는 바코드의 크기와 기 설정된 QR 코드 또는 바코드의 원본 크기를 비교하여 상기 IoT 장치의 위치를 보다 상세히 계산, 추정 또는 도출할 수 있다. 이 경우, 상기 모바일 장치는 (a) 상기 모바일 장치의 나침반(compass)에 의해 결정된 방향(direction)(남, 북 등), (b) 상기 모바일 장치의 위치, 또는 (c) 상기 모바일 장치의 자세(orientation)(예: 자이로센서 또는 가속도 센서에 의해 결정) 중 적어도 하나를 이용하여 보다 정확한 IoT 장치의 위치를 추정할 수 있다.
한 실시예에 따르면, IoT 제어 장치는, IoT 장치들의 위치 정보에 기반하여, 지향성 안테나 또는 빔 포밍(beam-forming) 기술을 사용함으로써, 특정 위치에 설치된 다수 개의 IoT 장치들 중 적어도 하나의 IoT 장치로 신호를 선택적으로 제공하면서, 나머지 IoT 장치들에는 영향을 주지 않을 수 있다.
다른 실시예들에 따르면, 모바일 장치는 WiFi SLAM(simultaneous localization and mapping), LPPe2.0를 이용한 위치 측정 기법, 또는 한국 공개특허 10-2013-0038757에 개시된 위치 추정 기술 중 적어도 하나를 이용하여, IoT 장치의 위치를 결정할 수 있다.
한 실시예에 따르면, SLAM를 사용하는 경우, 모바일 장치는 2차원 데이터(이미지)를 입력으로 받으면서 3차원 MAP을 만들고, 자신의 위치까지 파악하는 위치 추정(localization) 기능을 가질 수 있다. 예를 들어, 상기 SLAM은 로봇 청소기에 카메라를 달아서 집안 구석구석을 돌아다니면서 로봇 청소기만의 지도를 만들고 현재 자신이 지도상의 어디에 있는지를 파악하는 서비스를 제공할 수 있다. 예를 들어, 상기 SLAM은 증강 현실(AR) 서비스 제공 시, 카메라 입력을 통해서 공간의 MAP을 생성하고, 카메라(카메라를 포함하는 모바일 장치)가 3차원 공간 상에서 어느 위치에서 어디를 바라보고 있는지를 파악하는 서비스를 제공할 수 있다.
상기 WiFi SLAM을 사용하는 경우, 모바일 장치는 상기 SLAM의 원리와 유사하게 WiFi 신호를 이용하여 3차원 MAP을 만들고, 현재 모바일 장치의 위치를 파악하는 위치 추정(localization)기능을 가질 수 있다. 이에 따라, 상기 WiFi SLAM을 사용하는 모바일 장치는 AP(access point)가 설치된 공간을 이동하면 WiFi 신호로 구성된 고유 정보(fingerprint)를 입력 받아 공간 상의 MAP을 만들어 상기 모바일 장치의 위치를 추정하고 이에 근거하여 IoT 장치들의 위치 정보를 파악할 수 있다.
한 실시예에 따르면, 상기 WiFi SLAM을 사용하는 경우, WiFi를 각각 지원하는 모바일 장치와 IoT 장치는 WiFi 고유 정보(Fingerprint)를 이용하여 각각의 위치를 측정할 수 있다. 이 경우, 상기 IoT 장치는 상기 모바일 장치와의 상대적인 거리 및 방향을 파악할 수 있다.
다른 실시예에 따르면, 상기 LPPe2.0 기술에 근거하여, 실내 측위 성능을 향상시키기 위해 전파특성정보 전달(Radio Characteristic Information) 방법, 영상기반 상황인지 방법(IRB: Image Recognition Based method), 보행자용 추측항법 기반 측위방법(PDR: Pedestrian Dead Reckoning), 단말 보조기반 운동 서브상태 제공(UE-assisted motion sub-state), 지도 속성정보 제공(Map based attributes), 단말 스스로의 위치 및 측정정보에 대한 크라우드 소싱(Crowd sourcing) 지원, 실내/실외 전송 영역 정보(Indoor/Outdoor Transit area information), 무선 맵 데이터(Radio map data), UE-based IRB 측위, 또는 향상된 WLAN 측위정보 제공에 의한 방법 중 적어도 하나를 이용하여, 모바일 장치를 통해 IoT 장치들의 위치 정보를 획득할 수 있다.
한 실시예에 따르면, 상기 모바일 장치는 보수계(pedometer)/가속도(accelerometer) 센서를 이용(사용자가 걸어서 다가감)하여 추정한 상기 모바일 장치의 위치로부터 IoT 기기까지 거리를 이용하여 최초 모바일 장치의 위치로부터 IoT 장치의 상대적인 이동 거리 및 방향을 감지할 수 있다.
또다른 실시예에 따르면, 한국 공개특허 10-2013-0038757의 기술을 사용하는 경우, 모바일 장치는 상기 모바일 장치가 지향하는 방향과 기타 거리 측정(예: 깊이(depth) 카메라 또는 깊이 센서(depth sensor))을 이용하여 추정한 상기 모바일 장치의 좌표와 방향 정보를 이용하여 IoT 장치까지의 거리와 방향을 파악할 수 있다.
또 다른 실시예에 따르면, 모바일 장치는 고정 카메라를 설치하고 각각의 거리 단위마다 마커를 설치함으로써, 이미지의 각 픽셀에 해당하는 각각 위치의 좌표를 미리 식별해두고, 특정 물체(예: IoT 장치)가 이미지 상 어느 위치에 있는지 확인하여 공간상의 좌표를 추정함으로써, 상기 IoT 장치의 위치를 추정할 수 있다.
도 19는 일 실시예에 따른, IoT 장치의 위치를 IoT 장치의 제어장치로 제공하는 방법의 순서도를 도시하고 있다. 이하 설명은 도 20의 외부 전자장치의 위치를 확인하기 구조를 참조하여 외부 전자장치의 위치를 확인하는 방안에 대해 설명할 수 있다.
도 19를 참조하면, 동작 1901에서, 전자장치(예: 전자장치(700) 또는 모바일 장치(1000))는 외부 전자장치의 위치를 확인할 수 있다. 예를 들어, 도 20의 경우, 전자장치(2002)는 사물 통신을 통해 제어하기 위한 외부 전자장치(예: 전등(2000))의 정보를 획득하기 위해 전자장치가 외부 전자장치에 근접한 경우, 전자장치(2002)의 위치를 해당 외부 전자장치의 위치로 추정할 수 있다. 예를 들어, 도 20의 경우, 전자장치(2012)는 SLAM, LPPe2.0 등의 위치 추정 기술을 이용하여 사물 통신을 통해 제어하기 위한 외부 전자장치(예: TV(2010))의 위치를 추정할 수 있다.
동작 1903에서, 전자장치는 외부 전자장치의 위치 정보를 제어장치(예: 제어장치(702) 또는 IoT 제어장치(1010))로 전송할 수 있다.
도 21은 일 실시예에 따른, IoT 장치들의 제어장치를 동작하는 방법을 도시하는 순서도를 도시하고 있다.
도 21을 참조하면, 동작 2101에서, 제어장치(예: 제어장치(702) 또는 IoT 제어장치(1010))는 외부 전자장치(예: 스마트 전등 (1020))의 제어에 사용되는 소프트웨어 프로그램을 수신할 수 있다. 예를 들어, 제어장치는 전자장치(예: 전자장치(700) 또는 모바일 장치(1000))로부터 제공받은 외부 전자장치의 식별 정보 또는 외부 전자장치에 대응하는 소프트웨어 프로그램의 식별 정보를 이용하여 서버(예: 서버(464 또는 1040))로부터 외부 전자장치의 제어에 사용되는 소프트웨어 프로그램을 수신할 수 있다. 예를 들어, 제어장치는 전자장치로부터 외부 전자장치의 제어에 사용되는 소프트웨어 프로그램을 수신할 수 있다.
동작 2103에서, 제어장치는 외부 전자장치의 제어에 사용되는 소프트웨어 프로그램을 제어장치에 설치할 수 있다.
동작 2105에서, 제어장치는 전자장치로부터 외부 전자장치의 제어를 요청하는 신호를 수신할 수 있다.
동작 2107에서, 제어장치는 외부 전자장치의 제어를 요청하는 신호의 수신에 대한 응답으로 외부 전자장치를 제어하기 위한 제어 신호를 생성할 수 있다. 예를 들어, 제어장치는 전자장치로부터 수신한 외부 전자장치를 제어하기 위한 제어 신호를 외부 전자장치와의 통신 방식에 대응하도록 변환할 수 있다.
동작 2109에서, 제어장치는 외부 전자장치로 제어 신호를 전송할 수 있다.
도 22, 도 21의 순서도의 단계들 중 일부의 구체적인 단계들의 일실시예를 도시하는 순서도이다. 도 22를 참조하면, 동작 2201에서, 제어장치(예: 제어장치(702) 또는 IoT 제어장치(1010))는 전자장치(예: 전자장치(700) 또는 모바일 장치(1000))로부터 제공받은 외부 전자장치(예: 스마트 전등(1020))의 식별 정보를 수신할 수 있다.
동작 2203에서, 제어장치는 외부 전자장치의 식별정보와 관련된 소프트웨어 프로그램의 요청 신호를 서버(예: 서버(464 또는 1040))로 전송할 수 있다.
동작 2205에서, 제어장치는 요청 신호에 대한 응답으로 서버로부터 외부 전자장치의 식별정보와 관련된 소프트웨어 프로그램을 수신할 수 있다.
도 21의 동작 2103에서, 제어장치는 서버로부터 수신한 외부 전자장치의 제어에 사용되는 소프트웨어 프로그램을 제어장치에 설치할 수 있다.
도 23은, 도 21의 순서도의 단계들 중 일부의 구체적인 단계들의 다른 실시예를 도시하는 순서도이다.
도 23을 참조하면, 동작 2301에서, 제어장치(예: 제어장치(702) 또는 IoT 제어장치(1010))는 전자장치(예: 전자장치(700) 또는 모바일 장치(1000))로부터 제공받은 외부 전자장치(예: 스마트 전등(1020))와 관련된 소프트웨어 프로그램의 식별 정보를 수신할 수 있다.
동작 2303에서, 제어장치는 외부 전자장치와 관련된 사용되는 소프트웨어 프로그램의 식별정보를 포함하는 요청 신호를 서버(예: 서버(464 또는 1040))로 전송할 수 있다.
동작 2305에서, 제어장치는 요청 신호에 대한 응답으로 서버로부터 외부 전자장치의 식별정보와 관련된 소프트웨어 프로그램을 수신할 수 있다.
도 21의 동작 2103에서, 제어장치는 서버로부터 수신한 외부 전자장치의 제어에 사용되는 소프트웨어 프로그램을 제어장치에 설치할 수 있다.
다른 실시예에 따르면, 모바일 장치는 음성 명령을 이용하여 IoT 장치를 제어할 수 있다. 예를 들어, 상기 모바일 장치는 음성 명령을 수신한 경우, 상기 음성 명령을 해석(또는 선택적으로 별도의 서버의 도움을 받아서)할 수 있다. 상기 모바일 장치는 상기 해석된 음성 명령을 IoT 제어 장치로 전송할 수 있다. 상기 IoT 제어 장치는 상기 해석된 음성 명령에 대응하는 제어 신호를 IoT 장치로 전송할 수 있다.
한 실시예에 따르면, 상기 모바일 장치는 “전등 꺼(turn off the light)”의 음성 명령을 수신한 경우, 음성 명령을 수신한 시간 및 위치와 같은 컨텍스트(context)에 기반하여 해당 음성 명령을 해석할 수 있다. 예컨대, 상기 모바일 장치는, 상기 음성 명령이 집의 1번 방에 설치된 전등을 끄기 위한 명령으로 해석할 수 있다. 상기 모바일 장치는 상기 해석된 음성 명령을 IoT 제어 장치로 전송할 수 있다. 상기 IoT 제어 장치는 상기 해석된 음성 명령에 대응하는 1번 방의 전등 장치로 “전등을 끄기”위한 제어 신호를 전송할 수 있다. 상기 1번 방의 전등 장치는 상기 제어 신호에 기반하여 소등(turn off)될 수 있다.
다른 실시예에 따르면, 모바일 장치와 IoT 제어 장치가 연결되는 순간 또는 그 직후에, IoT(예: home control)가 활성화될 수 있다. 예를 들어, 상기 IoT 제어 장치의 서비스 영역 내에 모바일 장치가 위치하는 경우, 선택된 IoT 장치와 관련된 특정 동작 또는 서비스가 활성화될 수 있다. 예를 들어, 상기 모바일 장치를 구비한 사용자가 집에 도착하는 경우, 상기 모바일 장치는 무선 연결(예: WiFi, BLE, 블루투스 등)을 이용하여 상기 IoT 제어 장치에 연결될 수 있다.
한 실시예에 따르면, 상기 IoT 제어 장치와 상기 모바일 장치의 통신이 연결되는 경우, IoT 장치와 관련된 특정 동작 또는 서비스가 활성화될 수 있다. 예를 들면, 상기 IoT 제어 장치는 상기 모바일 장치가 상기 IoT 제어 장치에 연결됨을 감지한 경우, 기 선택된 IoT 장치로 제어 신호를 전송하여, 상기 IoT 장치가 선택된 동작을 수행하도록 할 수 있다.
일 실시예에서는, IoT 제어장치는 상황 정보(circumstances) 및/또는 컨텍스트(예: 환경, 온도, 시간, 조명의 필요성 등)에 기반하여 IoT 장치와 관련된 동작 또는 서비스(예: 에어 컨디셔닝)를 선택적으로 활성화할 수 있다. 다른 실시예에서는, IoT 장치 및 그와 관련된 특정 동작 또는 서비스(예: 방 2의 조명 점등)는 사용자에 의해 미리 선택될 수 있다.
다른 실시예에 따르면, 상기 IoT 장치가 모바일 장치와 무선으로 연결되지 않고도 특정 동작을 활성화 할 수 있다. 예를 들면, 모바일 장치를 가진 사용자가 집을 향하여 운전하는 경우, 상기 모바일 장치는 IoT 제어 장치에 그 위치정보를 제공할 수 있다. 상기 IoT 제어장치는 상기 모바일 장치가 집으로부터 선택된 거리 안에 들어왔다고 판단할 때, IoT 장치(예: 에어 컨디셔너)의 특정 동작을 시작할 수 있다.
본 개시의 다양한 실시예에 따라, IoT 제어장치, 유저 인터페이스 장치와 IoT 장치의 정보를 이용하여 효율적이고, 용이하게 IoT 장치와 연결 될 수 있다.
본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 개시의 다양한 실시예의 범위를 한정하는 것은 아니다. 따라서, 본 개시의 다양한 실시예의 범위는, 본 개시의 다양한 실시예의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.

Claims (37)

  1. 전자장치에 있어서,
    통신 인터페이스;
    메모리;
    디스플레이; 및
    상기 통신 인터페이스, 상기 메모리, 상기 디스플레이와 전기적으로 연결된 어플리케이션 프로세서를 포함하며,
    상기 메모리는, 상기 어플리케이션 프로세서의 동작에 의하여, 상기 전자장치가,
    제 1 외부 전자장치에 관한 정보를 획득하고,
    상기 제 1 외부 전자장치에 관한 정보의 적어도 일부에 기반하여, 상기 통신 인터페이스를 통해 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 저장하는 서버에 접속하고,
    상기 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램의 적어도 일부를 상기 서버로부터 수신하고,
    상기 서버로부터 수신된 상기 소프트웨어 프로그램의 적어도 일부를 상기 전자장치에 설치하고,
    상기 통신 인터페이스를 통해, 상기 수신된 소프트웨어 프로그램의 적어도 일부를 제 2 외부 전자장치로 송신하고,
    상기 설치된 소프트웨어 프로그램의 적어도 일부를 이용하여, 사용자 인터페이스(user interface)를 상기 디스플레이에 제공하도록 하는 인스트럭션들(instructions)을 저장하며,
    상기 사용자 인터페이스는, 상기 제 2 외부 전자장치가 상기 제 1 외부 전자장치와 관련된 동작을 수행함에 사용되는 사용자 입력을 수신할 수 있도록 구성된 것을 특징으로 하는 전자장치.
  2. 제 1항에 있어서,
    상기 프로세서는, 상기 제 1 외부 전자장치에 부착되거나, 상기 제 1 외부 전자장치와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용하여, 상기 제 1 외부 전자장치에 관한 정보를 획득하도록 구성된 것을 특징으로 하는 전자장치.
  3. 제 2항에 있어서,
    상기 코드는, 바 코드(bar code) 또는 QR (quick response) 코드 중 적어도 하나를 포함하는 것을 특징으로 하는 전자장치.
  4. 제 2항에 있어서,
    상기 태그는, RFID(radio frequency identification), NFC(near field communication) 태그 또는 BLE(Bluetooth low energy) 태그 중 적어도 하나를 포함하는 것을 특징으로 하는 전자장치.
  5. 제 1항에 있어서,
    상기 프로세서는, 상기 통신인터페이스를 통해 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하고,
    상기 어플리케이션 프로그램 스토어에 관한 정보를 이용하여, 상기 디스플레이에 상기 소프트웨어 프로그램과 관련된 적어도 하나의 이미지 또는 아이콘을 표시하도록 구성된 것을 특징으로 하는 전자장치.
  6. 제 1항에 있어서,
    상기 프로세서는, 상기 통신인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하고,
    상기 어플리케이션 프로그램 스토어에 관한 정보의 적어도 일부를 이용하여, 상기 소프트웨어 프로그램과 관련된 적어도 하나의 카테고리를 상기 디스플레이에 표시하고,
    상기 카테고리를 선택하는 사용자 입력에 응답하여, 상기 소프트웨어 프로그램과 관련된 이미지 또는 아이콘을 포함하는 복수의 이미지들 또는 아이콘들을 표시하도록 구성된 것을 특징으로 하는 전자장치.
  7. 제 1항에 있어서,
    상기 프로세서는, 상기 디스플레이에 표시된 아이콘을 선택하는 사용자 입력에 응답하여, 상기 사용자 인터페이스를 제공하는 어플리케이션 프로그램을 구동하도록 구성되고,
    상기 어플리케이션 프로그램은, 상기 제 2 외부 전자장치가, 제 3 외부 전자장치와 관련된 동작을 수행하는데 사용되는 사용자 인터페이스를 더 제공하도록 구성된 것을 특징으로 하는 전자장치.
  8. 제 1항에 있어서,
    상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분은, 상기 소프트웨어 프로그램의 식별 정보를 포함하는 것을 특징으로 하는 전자장치.
  9. 제 1항에 있어서,
    상기 프로세서는, 상기 제 1 외부 전자장치에 관련된 위치를 획득 또는 결정하고,
    상기 위치에 관한 정보를 상기 제 2 외부 전자장치로 전송하도록 구성된 것을 특징으로 하는 전자장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 전자장치를 동작하는 방법에 있어서,
    무선 통신 인터페이스, 메모리, 디스플레이, 및 프로세서를 포함하는 전자장치에 의하여, 제 1 외부 전자장치에 관한 정보를 획득하는 동작;
    상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 정보의 적어도 일부에 기반하여, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 저장하는 서버에 접속하는 동작;
    상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램의 적어도 일부를 상기 서버로부터 수신하는 동작;
    상기 전자장치에 의하여, 상기 서버로부터 수신된 상기 소프트웨어 프로그램의 적어도 일부를 상기 전자장치 상에 설치하는 동작;
    상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 수신된 소프트웨어 프로그램의 적어도 일부를 제 2 외부 전자장치로 송신하는 동작; 및
    상기 전자장치에 의하여, 상기 설치된 소프트웨어 프로그램의 적어도 일부를 이용하여, 사용자 인터페이스(user interface)를 상기 디스플레이에 표시하는 동작을 포함하며,
    상기 사용자 인터페이스는, 상기 제 2 외부 전자장치가 상기 제 1 외부 전자장치와 관련된 동작을 수행함에 사용되는 사용자 입력을 수신할 수 있도록 구성된 것을 특징으로 하는 방법.
  21. 제 20항에 있어서,
    상기 정보를 획득하는 동작은,
    상기 제 1 외부 전자장치에 부착되거나, 상기 제 1 외부 전자장치와 함께 제공되는 코드 또는 태그 중 적어도 하나를 이용하는 것을 특징으로 하는 방법.
  22. 제 21항에 있어서,
    상기 코드는, 바 코드(bar code) 또는 QR (quick response) 코드 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  23. 제 21항에 있어서,
    상기 태그는, RFID(radio-frequency identification), NFC(near field communication) 태그 또는 BLE(Bluetooth low energy) 태그 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  24. 제 20항에 있어서,
    상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하는 동작; 및
    상기 전자장치에 의하여, 상기 어플리케이션 프로그램 스토어에 관한 정보를 이용하여, 상기 디스플레이에 상기 소프트웨어 프로그램과 관련된 적어도 하나의 이미지 또는 아이콘을 표시하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  25. 제 20항에 있어서,
    상기 전자장치에 의하여, 상기 무선 통신 인터페이스를 통해, 상기 제 1 외부 전자장치와 관련된 소프트웨어 프로그램을 제공하는 어플리케이션 프로그램 스토어에 관한 정보를 수신하는 동작;
    상기 전자장치에 의하여, 상기 어플리케이션 프로그램 스토어에 관한 정보의 적어도 일부를 이용하여, 상기 소프트웨어 프로그램과 관련된 적어도 하나의 카테고리를 상기 디스플레이에 표시하는 동작; 및
    상기 전자장치에 의하여, 상기 카테고리를 선택하는 사용자 입력에 응답하여, 상기 소프트웨어 프로그램과 관련된 이미지 또는 아이콘을 포함하는 복수의 이미지들 또는 아이콘들을 표시하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  26. 제 20항에 있어서,
    상기 전자장치에 의하여, 상기 디스플레이에 표시된 아이콘을 선택하는 사용자 입력에 응답하여, 상기 사용자 인터페이스를 제공하는 어플리케이션 프로그램을 구동하는 동작을 더 포함하며,
    상기 어플리케이션 프로그램은, 상기 제 2 외부 전자장치가, 제 3 외부 전자장치와 관련된 동작을 수행하는데 사용되는 사용자 인터페이스를 더 제공하도록 구성된 것을 특징으로 하는 방법.
  27. 제 20항에 있어서,
    상기 수신된 소프트웨어 프로그램의 적어도 일부의 적어도 일부분은, 상기 소프트웨어 프로그램의 식별 정보를 포함하는 것을 특징으로 하는 방법.
  28. 제 20항에 있어서,
    상기 전자장치에 의하여, 상기 제 1 외부 전자장치에 관련된 위치를 획득 또는 결정하는 동작;
    상기 전자장치에 의하여, 상기 위치에 관한 정보를 상기 제 2 외부 전자장치로 전송하는 동작을 더 포함하는 것을 특징으로 하는 방법.
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020140166616A 2014-05-28 2014-11-26 사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법 KR102330255B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US14/724,174 US10248399B2 (en) 2014-05-28 2015-05-28 Apparatus and method for controlling Internet of Things devices
CN201580028156.3A CN106537849B (zh) 2014-05-28 2015-05-28 用于控制物联网设备的装置和方法
EP15169638.2A EP2950510B1 (en) 2014-05-28 2015-05-28 Apparatus and method for controlling internet of things devices
PCT/KR2015/005362 WO2015183014A1 (en) 2014-05-28 2015-05-28 Apparatus and method for controlling internet of things devices
CN201910977197.7A CN110752976B (zh) 2014-05-28 2015-05-28 用于控制物联网设备的装置和方法
US16/368,185 US11409509B2 (en) 2014-05-28 2019-03-28 Apparatus and method for controlling internet of things devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462003947P 2014-05-28 2014-05-28
US62/003,947 2014-05-28

Publications (2)

Publication Number Publication Date
KR20150136981A KR20150136981A (ko) 2015-12-08
KR102330255B1 true KR102330255B1 (ko) 2021-11-23

Family

ID=54872910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140166616A KR102330255B1 (ko) 2014-05-28 2014-11-26 사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102330255B1 (ko)
CN (2) CN110752976B (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102499108B1 (ko) * 2015-12-17 2023-02-14 삼성전자주식회사 전자 장치, 전자 장치의 전력 공급 장치 및 전력 공급 방법
KR102405694B1 (ko) * 2015-12-23 2022-06-07 삼성전자주식회사 전자 장치의 동작 방법과 중계 장치와 이의 동작 방법
KR102465092B1 (ko) * 2016-01-21 2022-11-10 삼성전자주식회사 전자 장치 및 그 제어 방법
CN107025037B (zh) * 2016-02-02 2020-06-02 腾讯科技(深圳)有限公司 一种智能设备的控制方法及装置
KR102459370B1 (ko) 2016-02-18 2022-10-27 삼성전자주식회사 전자 장치 및 그 동작 방법
KR102408649B1 (ko) * 2016-02-19 2022-06-15 삼성전자주식회사 환경 설정 방법 및 장치
KR102651726B1 (ko) 2016-02-19 2024-04-02 삼성전자주식회사 발광 장치를 포함하는 전자 장치 및, 이의 발광 방법
KR20170115802A (ko) 2016-04-08 2017-10-18 삼성전자주식회사 전자 장치 및 전자장치의 외부장치 제어 방법
KR101859715B1 (ko) * 2016-09-28 2018-06-29 (주)동연시스템 IoT 스마트 홈 장치 및 이를 위한 IoT 서비스 제공 서버를 포함하는 IoT 서비스 제공 시스템
KR102365678B1 (ko) * 2017-03-29 2022-02-21 삼성전자주식회사 외부 장치를 이용한 화면 출력 방법 및 이를 지원하는 전자 장치
KR102339857B1 (ko) * 2017-03-29 2021-12-16 삼성전자주식회사 외부의 IoT 장치를 관리 및 제어하는 방법 및 이를 지원하는 전자 장치
US11215377B2 (en) 2017-04-21 2022-01-04 Danfoss A/S Control system for controlling a cooling system
US11892738B2 (en) 2017-04-26 2024-02-06 View, Inc. Tandem vision window and media display
CN110709784A (zh) 2017-04-26 2020-01-17 唯景公司 可着色窗户系统计算平台
WO2018198318A1 (ja) * 2017-04-28 2018-11-01 株式会社オプティム コンピュータシステム、遠隔操作通知方法及びプログラム
KR102367053B1 (ko) * 2017-07-13 2022-02-24 삼성전자주식회사 외부 전자 장치와 통신을 수행하기 위한 전자 장치
KR102044529B1 (ko) * 2017-07-28 2019-11-14 주식회사 아모센스 전자식 계량기
KR102044533B1 (ko) * 2018-01-24 2019-11-14 주식회사 아모센스 무선 전력 충전 계량기
KR102405752B1 (ko) * 2017-08-23 2022-06-08 삼성전자주식회사 어플리케이션 프로그램의 권한을 제어하는 방법 및 전자 장치
US10721518B2 (en) * 2017-09-22 2020-07-21 Enseo, Inc. Set-top box with interactive features and system and method for use of same
US20210297278A1 (en) * 2017-09-28 2021-09-23 Lg Electronics Inc. Method for controlling internet home appliance system
KR102042502B1 (ko) * 2017-11-14 2019-11-11 주식회사 트라콤 통합단말기용 스마트 하드웨어 IoT플랫폼장치
KR20190076441A (ko) 2017-12-22 2019-07-02 김우종 화분겸용 인공지능형 무선 스피커
CN108447479B (zh) * 2018-02-02 2020-11-24 上海大学 嘈杂工况环境的机器人语音控制系统
US10838710B2 (en) 2018-05-15 2020-11-17 International Business Machines Corporation Dynamically updating security preferences in an Internet of Things (IoT) environment
JP7106984B2 (ja) * 2018-05-22 2022-07-27 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
JP7155605B2 (ja) * 2018-05-22 2022-10-19 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
KR102514692B1 (ko) * 2018-06-04 2023-03-29 삼성전자주식회사 다중 무선 통신 프로토콜들을 지원하는 전자 장치 및 이를 위한 방법
US11212277B1 (en) * 2018-07-02 2021-12-28 Knwn Technologies, Inc. System and method for securing, perfecting and accelerating biometric identification via holographic environmental data
KR102532047B1 (ko) * 2018-07-03 2023-05-12 삼성전자주식회사 네트워크 파라미터를 조정하기 위한 장치 및 방법
KR102502655B1 (ko) * 2018-08-08 2023-02-23 삼성전자주식회사 연속성을 갖는 컨텐츠 재생 방법 및 이를 위한 전자 장치
CN110830536B (zh) * 2018-08-13 2022-02-15 中兴通讯股份有限公司 一种实现远程控制的方法、装置、设备以及存储介质
CN109116863B (zh) * 2018-08-24 2021-12-03 北京京东乾石科技有限公司 无人机调度方法、装置、系统、电子设备及可读介质
KR102502577B1 (ko) * 2018-08-30 2023-02-22 삼성전자주식회사 외부 전자 장치 내에서 멀티미디어 콘텐트를 이어서 재생하기 위한 전자 장치 및 방법
EP3857497A4 (en) * 2018-11-19 2021-10-06 Samsung Electronics Co., Ltd. METHOD AND SYSTEM FOR PREDICTING CONTENT-BASED RECOMMENDATIONS
KR102624327B1 (ko) * 2019-03-15 2024-01-15 삼성전자주식회사 IoT 기기의 위치 추론 방법, 이를 지원하는 서버 및 전자 장치
KR102583785B1 (ko) * 2019-10-31 2023-09-27 (주)영진이엘 스마트 스토어 관리 시스템
CN115004641A (zh) * 2020-03-09 2022-09-02 Oppo广东移动通信有限公司 一种设置方法和设备
KR20210119174A (ko) 2020-03-24 2021-10-05 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN113572800B (zh) * 2020-09-10 2022-09-16 华为技术有限公司 获取应用的下载信息的方法、系统、服务器以及存储介质
CN116456425A (zh) * 2020-09-10 2023-07-18 华为技术有限公司 配网方法及设备
WO2022057731A1 (zh) * 2020-09-15 2022-03-24 华为技术有限公司 电子设备及其定位控制方法和介质
TW202225941A (zh) * 2020-11-03 2022-07-01 美商視野公司 虛擬檢視設施中之裝置
KR20220112032A (ko) * 2021-02-03 2022-08-10 삼성전자주식회사 복수의 외부 전자 장치와 관련된 사용자 인터페이스를 제공하는 전자 장치 및 전자 장치의 동작 방법
US20220291726A1 (en) * 2021-03-09 2022-09-15 Apple Inc. Transferrable interface
CN112667122B (zh) * 2021-03-16 2021-06-18 北京翼辉信息技术有限公司 图标显示方法、装置、存储介质及计算设备
CN116506836A (zh) * 2022-01-21 2023-07-28 武汉领普科技有限公司 门铃控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020193145A1 (en) * 1999-12-29 2002-12-19 Juhani Latvakoski Controller and controlling method thereof
US20060168178A1 (en) * 2004-12-21 2006-07-27 Electronics And Telecommunications Research Institute Platform-independent system for remotely controlling home devices and method thereof
US20140047487A1 (en) * 2012-08-10 2014-02-13 Qualcomm Incorporated Ad-hoc media presentation based upon dynamic discovery of media output devices that are proximate to one or more users

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069091B2 (en) * 2001-11-01 2006-06-27 Salton, Inc. Intelligent microwave oven appliance
JP2009282896A (ja) * 2008-05-26 2009-12-03 Takamasa Takahashi 情報処理端末および情報提供システム
CN102662675A (zh) * 2012-04-13 2012-09-12 我查查信息技术(上海)有限公司 用于向终端设备提供软件的方法及装置
CN202948298U (zh) * 2012-11-19 2013-05-22 李文庆 一种智能家电控制系统
CN202995447U (zh) * 2013-01-21 2013-06-12 深圳市旗云智能科技有限公司 基于物联网的家居智能控制系统
CN103237058B (zh) * 2013-04-02 2016-06-08 南京物联传感技术有限公司 红外控制的学习方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020193145A1 (en) * 1999-12-29 2002-12-19 Juhani Latvakoski Controller and controlling method thereof
US20060168178A1 (en) * 2004-12-21 2006-07-27 Electronics And Telecommunications Research Institute Platform-independent system for remotely controlling home devices and method thereof
US20140047487A1 (en) * 2012-08-10 2014-02-13 Qualcomm Incorporated Ad-hoc media presentation based upon dynamic discovery of media output devices that are proximate to one or more users

Also Published As

Publication number Publication date
CN106537849B (zh) 2019-11-05
CN110752976B (zh) 2021-11-02
KR20150136981A (ko) 2015-12-08
CN106537849A (zh) 2017-03-22
CN110752976A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
US11409509B2 (en) Apparatus and method for controlling internet of things devices
KR102330255B1 (ko) 사물 인터넷 기기들을 제어하기 위한 제어 장치 및 방법
KR102293660B1 (ko) 전자 장치의 근거리 무선 통신 방법 및 이를 사용하는 전자 장치
US10262203B2 (en) Method for recognizing iris and electronic device therefor
KR102493721B1 (ko) 외부 전자 장치와 연결을 수립하는 방법 및 전자 장치
EP3110179B1 (en) A service providing method using a beacon and electronic apparatus thereof
EP3534671B1 (en) Method for controlling and electronic device thereof
US11240662B2 (en) Electronic device and method by which electronic device transmits and receives authentication information
CN109491932B (zh) 用于与外部电子设备通信的电子设备和方法
KR102250947B1 (ko) 전자 장치의 위치 확인 방법, 전자 장치 및 서버의 동작 방법
KR20160137224A (ko) 외부 장치를 제어하기 위한 장치 및 방법
KR20160071826A (ko) 무선 네트워크 연결 방법 및 그 전자 장치 및 방법
EP3065006A1 (en) Electronic device with wearable part and operation method thereof
EP3379284B1 (en) Positioning method, electronic device, and storage medium
US11089127B2 (en) Electronic device and method for providing IP network service
KR20160100153A (ko) 장치 검색 방법 및 이를 지원하는 전자 장치
KR102366289B1 (ko) 디스플레이 제어 방법 및 그 전자 장치
KR20160073242A (ko) 근거리 통신을 통해 스캔을 요청 또는 수행하는 전자 장치 및 그 동작 방법
KR102240719B1 (ko) 위치 정보 획득 방법 및 그 전자 장치
US11323880B2 (en) Method for wireless connection and electronic device therefor
KR102459370B1 (ko) 전자 장치 및 그 동작 방법
US10469649B2 (en) Electronic device and method for controlling the same
KR102332934B1 (ko) 다른 전자 장치와 연결되는 전자 장치 및 그 제어 방법
US10084793B2 (en) Electronic device for managing use of data from other electronic device and method for controlling the same
KR102185182B1 (ko) 전류 소모를 줄이기 위한 방법 및 그 전자 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant