WO2018021798A1 - 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법 - Google Patents

외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법 Download PDF

Info

Publication number
WO2018021798A1
WO2018021798A1 PCT/KR2017/008000 KR2017008000W WO2018021798A1 WO 2018021798 A1 WO2018021798 A1 WO 2018021798A1 KR 2017008000 W KR2017008000 W KR 2017008000W WO 2018021798 A1 WO2018021798 A1 WO 2018021798A1
Authority
WO
WIPO (PCT)
Prior art keywords
controlling
external device
external devices
control application
gui
Prior art date
Application number
PCT/KR2017/008000
Other languages
English (en)
French (fr)
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 CN201780059428.5A priority Critical patent/CN110192177B/zh
Priority to EP17834740.7A priority patent/EP3477451B1/en
Priority to US16/321,257 priority patent/US11360786B2/en
Publication of WO2018021798A1 publication Critical patent/WO2018021798A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the present disclosure relates to a device and a method for generating a GUI for controlling an external device, and more particularly, to a device and a method for generating a GUI for controlling a plurality of external devices.
  • control applications for controlling external devices are provided by the manufacturer of the external device.
  • Conventional control applications for controlling external devices are provided in the form of a dedicated application for each device, and when a dedicated control application is provided for each external device, a user has difficulty in controlling a plurality of external devices.
  • control application for controlling external devices together is provided, such a control application provides a control function to only a plurality of predetermined external devices, which makes it difficult to effectively integrate and control various external devices. .
  • Some embodiments provide a device and method for generating a GUI for controlling an external device that can edit an integrated GUI for controlling the external device and other external devices together after the control application of the external device has been downloaded. can do.
  • some embodiments may provide a device and method for generating a GUI for controlling an external device capable of creating or editing an integrated GUI, depending on whether the downloaded control application can interact with the integrated control application. .
  • FIG. 1 is a diagram illustrating an example in which the device 1000 controls at least one external device 2000.
  • FIG. 2 is a flowchart of a method of generating, by the device 1000, a GUI for controlling the external device 2000, according to an exemplary embodiment.
  • FIG. 3 is a flowchart of a method of editing and displaying a GUI for controlling a plurality of external devices 2000 using an integrated application, according to some embodiments.
  • FIG. 4 is a flowchart of a method in which the device 1000 generates a GUI based on whether a control application interworks with an integrated control application.
  • FIG. 5 is a flowchart of a method in which the device 1000 adds an object having various attributes to the GUI to control the external device 2000, according to an exemplary embodiment.
  • FIG. 6 is a diagram illustrating an example of a table 60 indicating a level of function of an external device 2000 according to some embodiments.
  • FIG. 7 is a flowchart of a method in which the device 1000 controls an external device using a GUI of an integrated control application, according to some embodiments.
  • FIG. 8 is a diagram illustrating an example of objects included in an integrated GUI of an integrated control application, according to some embodiments.
  • FIG 9 is a diagram illustrating an example in which an integrated GUI of an integrated control application is displayed on a screen of the device 1000.
  • FIG. 10 is a diagram illustrating an example of displaying a detailed menu for controlling the external device 2000 according to a user input to an integrated GUI, according to some embodiments.
  • FIG. 11 is a diagram illustrating an example of executing a control application of the external device 2000 using the integrated GUI according to some embodiments.
  • FIG. 12 is a diagram illustrating an example of a control system for allowing the device 1000 to control the external device 2000, according to some embodiments.
  • FIG. 13 is a flowchart of a method of controlling, by the device 1000, an external device in a home or an outdoor device according to an exemplary embodiment.
  • FIGS. 14 and 15 are block diagrams of a device 1000 according to some embodiments.
  • a communication interface for communicating with a plurality of external devices, download a plurality of control applications for controlling the plurality of external devices;
  • a processor that collects function information for controlling the plurality of external devices from the downloaded plurality of control applications and provides an integrated application for controlling the plurality of external devices using the collected function information;
  • a display unit configured to display a GUI for controlling the plurality of external devices when the integrated application is executed, wherein the GUI is for controlling some functions selected from functions provided by the plurality of external devices.
  • a device for generating a GUI (Graphic User Interface) for controlling a plurality of external devices may be provided.
  • a second aspect of the present disclosure includes the steps of downloading a plurality of control applications for controlling the plurality of external devices; Collecting function information for controlling the plurality of external devices from the downloaded plurality of control applications; Providing an integrated application for controlling a plurality of external devices using the collected function information; And displaying a GUI for controlling the plurality of external devices when the integrated application is executed, wherein the GUI is for controlling some functions selected from functions provided by the plurality of external devices.
  • the device may provide a method of generating a graphical user interface (GUI) for controlling a plurality of external devices.
  • GUI graphical user interface
  • the third aspect of the present disclosure can provide a computer readable recording medium having recorded thereon a program for executing the method of the second aspect on a computer.
  • the integrated control application may refer to an application for controlling a plurality of external devices together, and the GUI (Graphical User Interface) of the integrated control application controls the functions preset for each of the plurality of external devices. Objects may be included together.
  • control application of the external device may be a dedicated control application for controlling the external device 2000, for example, an application provided by the manufacturer of the external device 2000.
  • control application of the external device may be a control application generated by an entity other than the manufacturer.
  • the integrated GUI may be a GUI of the integrated control application, and objects for controlling some of the functions of the plurality of external devices may be included in the integrated GUI.
  • an object included in the integrated GUI may correspond to a preset function of the external device.
  • FIG. 1 is a diagram illustrating an example in which the device 1000 controls at least one external device 2000.
  • the device 1000 may download a control application for controlling at least one external device 2000 from an application store, and control the at least one external device 2000 after the control application is downloaded. You can create an integrated GUI to do this.
  • the control application for controlling the external device 2000 may be a dedicated control application for controlling the external device 2000, and may be, for example, an application provided by the manufacturer of the external device 2000.
  • the device 1000 selects a preset function of the external device 2000 before the downloaded control application is installed, during or after the installation. You can create a GUI that contains objects for controlling functionality.
  • the device 1000 selects a preset function of the external device 2000 before, during, or after the installation of the downloaded control application, and selects the selected function.
  • the integrated GUI can be created or updated.
  • the device 1000 may control at least one external device 2000 by using the integrated GUI.
  • the device 1000 may be a smartphone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book device, a digital broadcasting terminal, navigation, and the like. , Kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices.
  • the device 1000 may be a wearable device such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function.
  • the present disclosure is not limited thereto, and the device 1000 may include all kinds of devices capable of controlling the external device 2000 through a network.
  • the external device 2000 may be a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book device, a digital broadcasting terminal, Navigation, kiosks, MP3 players, digital cameras, home appliances, electronic devices in automobiles, and other mobile or non-mobile computing devices, but are not limited thereto.
  • the device 1000 may be a wearable device such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function.
  • the present invention is not limited thereto, and the external device 2000 may include all kinds of devices capable of receiving a control command from the device 1000 through a network.
  • the device 1000 may be communicatively connected to a server (not shown) that provides a control application and an external device 2000 through a network.
  • the network may include a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and their interconnections. It may include a combination, and is a comprehensive data communication network that allows the device 1000, the server (not shown) and the external device 2000 to communicate with each other smoothly, wired Internet, wireless Internet and mobile wireless communication network It may include.
  • the wireless communication is, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy (ZiBee), Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared) Data Association), Near Field Communication (NFC), and the like, but are not limited thereto.
  • Wi-Fi wireless LAN
  • ZiBee Bluetooth low energy
  • Zigbee Zigbee
  • WFD Wi-Fi Direct
  • UWB ultra wideband
  • IrDA infrared communication
  • NFC Near Field Communication
  • FIG. 2 is a flowchart of a method of generating, by the device 1000, a GUI for controlling the external device 2000, according to an exemplary embodiment.
  • the device 1000 may download a control application for controlling the external device 2000.
  • the control application for controlling the external device 2000 may be a dedicated application provided by the manufacturer of the external device 2000, but is not limited thereto.
  • the control application for controlling the external device 2000 may be a control application generated by an entity other than the manufacturer.
  • the device 1000 may access an application store and download a control application for controlling the external device 2000 from the application store.
  • the device 1000 may receive a control application of the external device 2000 from a predetermined storage medium, another device (not shown), or an external server (not shown), but the device 1000 may be connected to the external device 2000.
  • the method of receiving the control application of is not limited to this.
  • the device 1000 may determine a preset function of the external device 2000. As the device 1000 downloads the control application of the external device 2000, the device 1000 may confirm that the control application of the external device 2000 is downloaded and identify the downloaded control application. The device 1000 may determine in real time whether the control application of the external device 2000 is downloaded by monitoring whether the control application of the external device 2000 is downloaded.
  • the device 1000 may determine a preset function of the external device 2000 during or after the downloaded control application is installed, but is not limited thereto. In this case, the device 1000 may monitor in real time whether the downloaded control application is installed.
  • the preset function of the external device 2000 may be some of the functions of the external device 2000.
  • the device 1000 may select some functions from among the functions of the external device 2000 in order to enable the integrated application to control some functions from among the functions of the external device 2000 corresponding to the downloaded control application. have.
  • the preset function of the external device 2000 may be a function that may be controlled by the integrated control application, and may be preset when the control application is generated by the manufacturer of the external device 2000. .
  • the information about the preset function of the external device 2000 may be provided to the integrated control application from the control application.
  • the functions of the external device 2000 may be set to different levels according to the extent to which they can be used by the integrated control application, and the level of the functions of the external device 2000 will be described in more detail with reference to FIG. 6. .
  • the preset function of the external device 2000 may be set in the device 1000.
  • the device 1000 may set a function of the external device 2000 that may be controlled through the integrated control application.
  • the device 1000 may extract a list of controllable functions of the external device 2000 from the control application and receive a user input of selecting a specific function from the extracted list.
  • the device 1000 may determine a specific function as a function to be controlled through the integrated control application based on the user input.
  • the preset function of the external device 2000 may be a function predefined in the integrated control application.
  • the integrated control application may predefine a function to be included in the integrated GUI of the integrated control application among the functions of the control application and the list of the control application that can interoperate with the integrated control application.
  • the device 1000 may add an object for controlling the determined function to the integrated GUI for controlling the plurality of external devices 2000.
  • the object may be at least one of text, icons, and images displayed within the integrated GUI.
  • the object may include, for example, an object for controlling the external device 2000 through an integrated control application, and an object for executing a control application for exclusively controlling the external device 2000. It doesn't work.
  • the device 1000 may update the integrated GUI by adding an object for controlling a function of the external device 2000 to the integrated GUI.
  • an integrated GUI for other external devices other than the external device 2000 may be generated in advance in operation 200, and the device 1000 may update the generated integrated GUI in operation S220.
  • the device 1000 may control a function of the external device 2000 corresponding to the selected object.
  • FIG. 3 is a flowchart of a method of editing and displaying a GUI for controlling a plurality of external devices 2000 using an integrated application, according to some embodiments.
  • the device 1000 may download a control application of the external device 2000.
  • the device 1000 may determine whether the integrated control application is installed.
  • the device 1000 may monitor whether the control application of the external device 2000 is downloaded, and determine whether the integrated control application is downloaded when the control application is downloaded.
  • the device 1000 may install the integrated control application.
  • the device 1000 may access an external server (not shown) that provides an integrated control application using preset link information, and download the integrated control application from an external server (not shown) and install the downloaded integrated control application. have.
  • the device 1000 may download and install the integrated control application in the background, but is not limited thereto.
  • the device 1000 may display a GUI for downloading the integrated control application, and may download and install the integrated control application according to a user input.
  • the device 1000 may extract function information from the installed control application by using the integrated control application.
  • the device 1000 may obtain function information regarding a function of the external device 2000 that may be controlled by the control application from the control application.
  • the device 1000 may obtain, for example, a list of the functions of the external device 2000 and information about the level of the functions of the external device 2000. For example, if the list of functions of the external device 2000 is predefined by the control application, the list of functions of the external device 2000 may be provided from the control application to the integrated control application.
  • the level of functionality of the external device 2000 may be preset in relation to whether the functionality of the external device 2000 can be controlled by the integrated control application. For example, depending on whether a control command for controlling the function of the external device 2000 is provided to the integrated control application, and whether the integrated control application is allowed to control the function of the external device 2000, the external device.
  • the level of the function of 2000 can be set. The level of the function of the external device 2000 will be described in more detail later with reference to FIG. 6.
  • the integrated control application may acquire the function information.
  • the integrated control application may request and receive the function information from the control application, so that the integrated control application may obtain the function information.
  • the device 1000 may determine a function of the external device 2000 from the extracted function information.
  • the device 1000 may identify a function that can be controlled by the integrated control application among the functions of the external device 2000 by using the extracted function information. For example, the device 1000 may determine whether the function of the external device 2000 may be controlled by the integrated control application based on the level of the function of the external device 2000 included in the function information.
  • the device 1000 may determine a specific function among functions that may be controlled by the integrated control application.
  • the device 1000 displays a list of functions that can be controlled by the integrated control application on the screen of the device 1000, and displays at least some of the functions that can be controlled by the integrated control application according to a user's selection input. You can choose.
  • the functions that can be controlled by the integrated control application may be some of the functions necessary for the operation of the external device 2000.
  • the device 1000 may edit the integrated GUI for controlling the plurality of external devices 2000 by using the object for controlling the determined function. For example, the device 1000 may match an object for controlling a function of the external device 2000 by matching a control command for controlling the function of the external device 2000 or path information for invoking the control command with the object. Can be generated. You can also edit the integration GUI by adding the generated objects to the integration GUI.
  • the integrated GUI may be generated in advance and may include objects for controlling functions of other external devices.
  • the device 1000 may, for example, identify an identification value of the external device 2000, an object for controlling the determined function of the external device 2000, and an object for executing a dedicated control application of the external device 2000. Can be added to the integrated GUI, but is not limited thereto.
  • the device 1000 may display the edited integrated GUI on the execution screen of the integrated control application.
  • editing of the integrated GUI may be performed by the integrated control application in the background, and if the integrated control application is run in the foreground, the edited integrated GUI may be displayed on the execution screen of the integrated control application, but is not limited thereto. It doesn't work.
  • FIG. 4 is a flowchart of a method in which the device 1000 generates a GUI based on whether a control application interworks with an integrated control application.
  • the device 1000 may download a control application for controlling the external device 2000.
  • the control application for controlling the external device 2000 may be a dedicated application provided by the manufacturer of the external device 2000.
  • the device 1000 may determine whether the downloaded control application is linked with the integrated control application.
  • the integrated control application and the control application may be linked in various ways.
  • the integrated control application may determine whether the control application shares certain functionality with the integrated control application.
  • the integrated control application may determine whether some functionality of the control application is provided to the integrated control application.
  • the integrated control application may determine whether the control application provides a control command for controlling a predetermined function of the external device 2000 to the integrated control application.
  • the integrated control application may determine whether the control application controls a predetermined function of the external device 2000 according to the request of the integrated application.
  • the device 1000 may generate an object for executing the control application in step S410.
  • the device 1000 may generate an object for executing the control application, for example, by associating an icon of the control application with a control command for executing the control application.
  • the device 1000 may determine a predetermined function of the external device 2000 in operation S415.
  • the device 1000 may select some functions that can be controlled by the integrated control application among the functions of the external device 2000.
  • the device 1000 may generate an object for controlling the determined function, and in operation S425, the device 1000 may add the generated object to the integrated GUI for controlling the plurality of external devices.
  • FIG. 5 is a flowchart of a method in which the device 1000 adds an object having various attributes to the GUI to control the external device 2000, according to an exemplary embodiment.
  • the device 1000 may download a control application for controlling the external device.
  • the device 1000 may generate an object for controlling a preset function of the external device 2000.
  • the device 1000 may generate an object for controlling the function of the external device 2000 by matching path information for calling a control command for controlling the function of the external device 2000 to a predetermined icon. have.
  • the control command for controlling the function of the external device 2000 may be stored in different locations according to the level of the function of the external device 2000.
  • the control command for controlling the function of the external device 2000 may be stored in a storage space allocated for the integrated control application in the memory in the external device 2000.
  • a control command for controlling a function of the external device 2000 may be stored in a storage space allocated to a control application of the external device 2000 in a memory in the external device 2000.
  • the device 1000 may match a command for requesting the control application of the external device 2000 to control the function of the external device 2000 by the control application of the external device 2000 with a predetermined icon.
  • the device 1000 may generate an object for displaying the state of the external device 2000.
  • the device 1000 may display a state of the external device 2000 by matching a control command with a predetermined icon to request the external device 2000 with status information indicating the state of the external device 2000. You can create an object.
  • the device 1000 may match a command for requesting the control application of the external device 2000 to obtain and provide the state information of the external device 2000 by the control application of the external device 2000 with a predetermined icon. have.
  • the device 1000 may monitor the state of the external device 2000 or obtain it when a predetermined event occurs and generate text indicating the state of the external device 2000.
  • the device 1000 may generate an object for executing the control application of the external device 2000.
  • the device 1000 may generate an object for executing the control application of the external device 2000 by matching an execution command for executing the control application of the external device 2000 with a predetermined icon.
  • the GUI of the control application for controlling the external device 2000 may be displayed on the screen of the device 1000.
  • the device 1000 may add the generated objects to the integrated GUI for controlling the plurality of external devices. As added to the integrated GUI, the location or arrangement of objects for controlling the functionality of other external devices in the integrated GUI may change.
  • FIG. 6 is a diagram illustrating an example of a table 60 indicating a level of function of an external device 2000 according to some embodiments.
  • the functions of the external device 2000 may be divided into, for example, level 1, level 2, and level 3.
  • the level of function of the external device 2000 may be classified according to the authority for the integrated control application to access a control command for controlling the function of the external device 2000.
  • the device 1000 obtains a control command for controlling the function of the external device 2000 from the control application, and transmits the obtained control command in the device 1000. It can be stored in memory in the storage space allocated to the integrated control application. In addition, a list of Level 1 functions may be provided to the integrated control application.
  • the device 1000 may control the external device 2000 independently of the control application of the external device 2000 by using a control command stored in a storage space allocated to the integrated control application.
  • Level 1 functionality may generally be an essential function frequently used by a user.
  • a control command for controlling the function of the external device 2000 is stored in the storage space allocated to the control application of the external device 2000 in the memory in the device 1000. Can be stored.
  • a list of levels 2 functions may be provided to the integrated control application.
  • the device 1000 may acquire a right for the integrated control application to transmit a control command for controlling the function of the external device 2000 to the external device 2000 using the control application.
  • the integrated control application may request the control application to provide the integrated control application with a control command for controlling the function of the external device 2000.
  • a control command for controlling the function of the external device 2000 may not be provided to the integrated control application.
  • the integrated control application may not directly transmit a control command to the external device 2000, and may request the control application to transmit a control command for controlling a function of the external device 2000 to the external device 2000.
  • the control application may transmit a control command for controlling the function of the external device 2000 to the external device 2000 according to a request of the integrated control application.
  • the integrated control application provides the control application with a first control command requesting to control the external device 2000, and the control application is configured to control the external device 2000 according to the provided first control command.
  • the second control command may be transmitted to the external device 2000.
  • FIG. 7 is a flowchart of a method in which the device 1000 controls an external device using a GUI of an integrated control application, according to some embodiments.
  • the device 1000 may execute the integrated control application, and in operation S705, the device 1000 may display the integrated GUI of the integrated control application. As the icon of the integrated control application displayed on the screen of the device 1000 is selected, the integrated control application may be executed. In addition, when the control application of the external device 2000 is downloaded or installed in the device 1000, the integrated control application may be executed in the background or foreground.
  • the device 1000 may receive a user input for the displayed integrated GUI.
  • Objects of various attributes may be displayed in the integrated GUI, and the device 1000 may receive a user input for selecting at least one object.
  • the device 1000 may determine whether an object for controlling a preset function of the external device 2000 is selected.
  • the device 1000 may obtain a control command for controlling a function corresponding to the selected object in step S720.
  • the selected function is a level 1 function
  • the device 1000 may extract a control command stored in the storage space allocated to the integrated control application in the memory from the memory.
  • the selected function is a level 2 function
  • the device 1000 may obtain a control command from the control application by requesting the control application that the control application provides the control command to the integrated control application. .
  • the device 1000 may transmit the obtained control command to the external device 2000. Accordingly, the preset function of the external device 2000 may be controlled by the integrated control application of the device 1000.
  • step S715 when it is determined that the object for controlling the preset function of the external device 2000 is not selected, the device 1000 determines that the object for executing the control application of the external device 2000 is determined in step S730. It can be determined whether it is selected.
  • the device 1000 may execute the control application of the external device 2000 in operation S735.
  • the control application may be executed while the integrated control application is running.
  • the device 1000 may control the external device 2000 through the GUI of the executed control application.
  • the device 1000 may display a GUI of the executed control application on a screen of the device 1000 and control the external device 2000 based on a user input through the displayed GUI.
  • FIG. 8 is a diagram illustrating an example of objects included in an integrated GUI of an integrated control application, according to some embodiments.
  • the integrated GUI includes an area 80 displaying an object for identifying the external device 2000, an area 82 displaying an object for controlling a function of the external device 2000, and an external device.
  • An area 84 for displaying an object indicating a state of 2000 may be included, and an area 86 for displaying an object for executing a control application of the external device 2000 may be included.
  • An icon representing the external device 2000 may be displayed in the area 80 displaying the object for identifying the external device 2000.
  • an icon of a washing machine, an icon of a TV, an icon of an air conditioner, and an icon of an automobile may be displayed in an area 80 displaying an object for identifying the external device 2000.
  • an icon of the external device 2000 may be displayed to be distinguished. For example, depending on whether the external device 2000 is located inside or outside the home, the icon may be highlighted and displayed together with an object indicating the location of the external device.
  • An icon for controlling the function of the external device 2000 may be displayed in the area 82 displaying the object for controlling the function of the external device 2000.
  • An object for controlling an essential function of the external device 2000 may be displayed in the area 82 displaying an object for controlling the function of the external device 2000.
  • a predetermined button (not shown) in the integrated GUI is selected, objects for controlling detailed functions of the external device 2000 may be displayed, but the present invention is not limited thereto.
  • text indicating the current state of the external device 2000 may be displayed.
  • the text indicating the current state of the washing machine, the text indicating the current channel of the TV, the text indicating the target temperature of the air conditioner, and the text indicating the current room temperature of the car may represent an object indicating the state of the external device 2000. It may be displayed in the area 84 to display.
  • a GUI indicating the detailed current state of the external device 2000 may be displayed on the screen of the device 1000, but is not limited thereto.
  • An icon of the control application of the external device 2000 may be displayed in an area 86 displaying an object for executing the control application of the external device 2000. If an icon of the control application of the external device 2000 is selected, the device 1000 may execute the control application of the selected icon.
  • FIG 9 is a diagram illustrating an example in which an integrated GUI of an integrated control application is displayed on a screen of the device 1000.
  • some areas of the areas of the integrated GUI may be displayed on the screen of the device 1000.
  • an area 80 displaying an object for identifying the external device 2000 and an area 82 displaying an object for controlling a function of the external device 2000 on the screen of the device 1000. Can be displayed.
  • the area 80 displaying an object for identifying the external device 2000 and the external device ( An area 82 for displaying an object for controlling the function of 2000, an area 84 for displaying an object indicating the state of the external device 2000, and an object for executing a control application of the external device 2000;
  • the display area 86 may be displayed on the screen of the device 1000.
  • FIG. 10 is a diagram illustrating an example of displaying a detailed menu for controlling the external device 2000 according to a user input to an integrated GUI, according to some embodiments.
  • a user may touch an icon 100 representing an air conditioner among icons displayed in an area 80 displaying an object for identifying the external device 2000 in the integrated GUI. have.
  • a detailed menu 102 for controlling the function of the air conditioner may be displayed in the integrated GUI.
  • the functions that can be controlled by the detail menu 102 can be more than the functions controlled by the icons in the area 82.
  • an icon 104 for executing the control application of the air conditioner may be displayed in the integrated GUI together with the detailed menu 102.
  • FIG. 11 is a diagram illustrating an example of executing a control application of the external device 2000 using the integrated GUI according to some embodiments.
  • a user may execute an Acon control application from among icons displayed in an area 86 that displays an object for executing a control application of the external device 2000 in the integrated GUI.
  • the icon 110 may be touched.
  • the device 1000 executes the control application of the air conditioner and executes the execution screen 112 of the executed control application. ) May be displayed on the screen of the device 1000.
  • FIG. 12 is a diagram illustrating an example of a control system for allowing the device 1000 to control the external device 2000, according to some embodiments.
  • control system may include a device 1000, a first external device 2100 in a house, a gateway 3000, and a second external device 2200 outside the house.
  • the first external device 2100 in the home may be controlled and managed through the gateway 3000, and the device 1000 may control the first external device 2100 in the home using the integrated GUI through the gateway 3000. can do.
  • the device 1000 may control the second external device 2200 outside the home by transmitting a control command directly to the second external device 2200 outside the home.
  • FIG. 13 is a flowchart of a method of controlling, by the device 1000, an external device in a home or an outdoor device according to an exemplary embodiment.
  • the gateway 3000 and the first external device 2100 may be communicatively connected to each other.
  • the gateway 3000 may be in a state capable of controlling and managing the first external device 2100 by communicating with the first external device 2100.
  • the device 1000 may display the integrated GUI of the integrated control application.
  • an object for controlling the function of the first external device 2100 and an object for controlling the function of the second external device 2200 may be displayed together.
  • the device 1000 may select a function of the first external device 2100.
  • the device 1000 may select the function of the first external device 2100 as a controlled function.
  • the device 1000 may request authentication from the gateway 3000.
  • the device 1000 may transmit values such as an identification value of the device 1000, an identification value of a user of the device 1000, and a password for authentication to the gateway 3000 for authentication.
  • the device 1000 may request authentication from the gateway 3000 while transmitting the identification value of the first external device 2100 to be controlled and the identification value of the controlled function to the gateway 3000.
  • the gateway 3000 may authenticate the device 1000.
  • the gateway 3000 may authenticate the device 1000 using an identification value of the device 1000, an identification value of the user of the device 1000, a password, and the like.
  • the gateway 3000 determines whether the device 1000 is authorized to control the function of the first external device 2100 by using the identification value of the first external device 2100 and the identification value of the controlled function. can do.
  • the device 1000 may transmit a control command for controlling a function of the first external device 2100 to the gateway 3000, and in operation S1330, the gateway 3000 controls the first external device 2100. You can send a command.
  • the present disclosure is not limited thereto, and the device 1000 may transmit an identification value of a function of the first external device 2100 to the gateway 3000, and the gateway 3000 may identify an identification value of the function of the first external device 2100.
  • the control command for controlling the function of the first external device 2100 may be extracted from the memory in the gateway 3000, and the extracted control command may be transmitted to the first external device 2100.
  • the device 1000 may select a function of the second external device 2200.
  • the device 1000 may select a function of the second external device 2200 as a controlled function.
  • the device 1000 may request authentication from the second external device 2200.
  • the device 1000 may transmit a value such as an identification value of the device 1000, an identification value of a user of the device 1000, and a password for authentication to the second external device 2200 for authentication.
  • the device 1000 may request authentication of the second external device 2200 while transmitting the identification value of the controlled function to the gateway 3000.
  • the second external device 2200 may authenticate the device 1000.
  • the second external device 2200 may authenticate the device 1000 using an identification value of the device 1000, an identification value of the user of the device 1000, a password, and the like.
  • the second external device 2200 may determine whether the device 1000 is authorized to control the function of the second external device 2200 by using the identification value of the controlled function.
  • the device 1000 may transmit a control command for controlling a function of the second external device 2200 to the second external device 2200 to the second external device 2200.
  • FIGS. 14 and 15 are block diagrams of a device 1000 according to some embodiments.
  • the device 1000 may include a user input unit 1100, an output unit 1200, a controller 1300, and a communication unit 1500.
  • the device 1000 may be implemented by more components than the components illustrated in FIG. 14, and the device 1000 may be implemented by fewer components than the components illustrated in FIG. 14.
  • the device 1000 may include a sensing unit 1400 in addition to the user input unit 1100, the output unit 1200, the control unit 1300, and the communication unit 1500. ) May further include an A / V input unit 1600 and a memory 1700.
  • the user input unit 1100 means a means for a user to input data for controlling the device 1000.
  • the user input unit 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive layer type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the user input unit 1100 may generate or edit an integrated GUI and receive a user input for controlling the external device 2000 using the integrated GUI.
  • the output unit 1200 may output an audio signal, a video signal, or a vibration signal, and the output unit 1200 may include a display unit 1210, an audio output unit 1220, and a vibration motor 1230. have.
  • the display unit 1210 displays and outputs information processed by the device 1000.
  • the display unit 1210 may display a user interface for creating or editing an integrated GUI and controlling the external device 2000.
  • the display unit 1210 may be used as an input device in addition to the output device.
  • the display unit 1210 may include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display. 3D display, an electrophoretic display.
  • the sound output unit 1220 outputs audio data received from the communication unit 1500 or stored in the memory 1700.
  • the vibration motor 1230 may output a vibration signal.
  • the controller 1300 generally controls the overall operation of the device 1000.
  • the controller 1300 executes programs stored in the memory 1700, such that the user input unit 1100, the output unit 1200, the sensing unit 1400, the communication unit 1500, and the A / V input unit 1600 are executed. ) Can be controlled overall.
  • the controller 1300 may use an integrated control application to perform the functions of the device 1000 illustrated in FIGS. 1 to 13, and generate and edit an integrated GUI using the integrated control application, and perform an integrated GUI.
  • the external device 2000 may be controlled based on a user input.
  • the controller 1300 may download a control application for controlling the external device 2000.
  • the controller 1300 may access the application store by controlling the communication unit 1500 and download a control application for controlling the external device 2000 from the application store.
  • the controller 1300 may receive a control application of the external device 2000 from a predetermined storage medium, another device (not shown), or an external server (not shown).
  • the controller 1300 may determine a preset function of the external device 2000. As the control unit 1300 downloads the control application of the external device 2000, the controller 1300 may confirm that the control application of the external device 2000 is downloaded and identify the downloaded control application. The controller 1300 may determine whether the control application of the external device 2000 is downloaded in real time by monitoring whether the control application of the external device 2000 is downloaded.
  • the controller 1300 may determine a preset function of the external device 2000 during or after the downloaded control application is installed, but is not limited thereto. In this case, the controller 1300 may monitor in real time whether the downloaded control application is installed.
  • the preset function of the external device 2000 may be a function that may be controlled by the integrated control application, and may be preset when the control application is generated by the manufacturer of the external device 2000. .
  • the preset function of the external device 2000 may be set in the controller 1300.
  • the controller 1300 may set a function of the external device 2000 that can be controlled through the integrated control application.
  • the controller 1300 may extract a list of controllable functions of the external device 2000 from the control application and receive a user input of selecting a specific function from the extracted list.
  • the controller 1300 may determine a specific function as a function to be controlled through the integrated control application based on the user input.
  • the controller 1300 may add an object for controlling the determined function to the integrated GUI for controlling the plurality of external devices 2000.
  • the controller 1300 may update the integrated GUI by adding an object for controlling the function of the external device 2000 to the integrated GUI.
  • an integrated GUI for external devices other than the external device 2000 may be generated in advance in operation 200, and the controller 1300 may update the generated integrated GUI.
  • the controller 1300 may control a function of the external device 2000 corresponding to the selected object.
  • the controller 1300 may determine a function of the external device 2000 to be controlled by using the function information obtained from the control application.
  • the controller 1300 may determine whether the integrated control application is installed. The controller 1300 may monitor whether the control application of the external device 2000 is downloaded, and if the control application is downloaded, may determine whether the integrated control application is downloaded.
  • the controller 1300 may install the integrated control application.
  • the controller 1300 may access an external server (not shown) that provides an integrated control application using preset link information, and download the integrated control application from an external server (not shown) and install the downloaded integrated control application. have.
  • the controller 1300 may download and install the integrated control application in the background, but is not limited thereto.
  • the controller 1300 may display a GUI for downloading the integrated control application and may download and install the integrated control application according to a user input.
  • the controller 1300 may extract function information from the installed control application using the integrated control application.
  • the controller 1300 may obtain function information about a function of the external device 2000 that may be controlled by the control application from the control application.
  • the controller 1300 may acquire, for example, a list of the functions of the external device 2000 and information about the level of the functions of the external device 2000.
  • the controller 1300 may determine the function of the external device 2000 from the extracted function information.
  • the controller 1300 may identify a function that can be controlled by the integrated control application from among functions of the external device 2000 using the extracted function information. For example, the controller 1300 may determine whether the function of the external device 2000 can be controlled by the integrated control application based on the level of the function of the external device 2000 included in the function information.
  • controller 1300 may determine a specific function among functions that can be controlled by the integrated control application.
  • the controller 1300 displays a list of functions that can be controlled by the integrated control application on the screen of the device 1000, and displays at least some of the functions that can be controlled by the integrated control application according to a user's selection input. You can choose.
  • the controller 1300 may determine whether the downloaded control application is linked with the integrated control application. If it is determined that the downloaded control application does not cooperate with the integrated control application, the controller 1300 may generate an object for executing the control application. If it is determined that the downloaded control application is linked with the integrated control application, the controller 1300 may determine a predetermined function of the external device 2000. The device 1000 may select some functions that can be controlled by the integrated control application among the functions of the external device 2000, and generate an object for controlling the selected functions.
  • the controller 1300 may generate an object for controlling a preset function of the external device 2000.
  • the controller 1300 may generate an object for controlling the function of the external device 2000 by matching path information for calling a control command for controlling the function of the external device 2000 to a predetermined icon. have.
  • the control command for controlling the function of the external device 2000 may be stored in different locations according to the level of the function of the external device 2000.
  • the control command for controlling the function of the external device 2000 may be stored in a storage space allocated for the integrated control application in the memory in the external device 2000.
  • a control command for controlling a function of the external device 2000 may be stored in a storage space allocated to a control application of the external device 2000 in a memory in the external device 2000.
  • controller 1300 may match a command for requesting the control application of the external device 2000 to control the function of the external device 2000 by the control application of the external device 2000 with a predetermined icon.
  • the controller 1300 may generate an object for displaying the state of the external device 2000.
  • the controller 1300 matches the control command for requesting the external device 2000 with status information indicating the state of the external device 2000 to a predetermined icon, thereby displaying the state of the external device 2000. You can create an object.
  • the controller 1300 may match a command for requesting the control application of the external device 2000 to obtain and provide the state information of the external device 2000 by the control application of the external device 2000 with a predetermined icon. have.
  • the controller 1300 may generate an object for executing the control application of the external device 2000.
  • the device 1000 may generate an object for executing the control application of the external device 2000 by matching an execution command for executing the control application of the external device 2000 with a predetermined icon.
  • the controller 1300 may generate a text indicating the state of the external device 2000 by monitoring the state of the external device 2000 or obtaining it when a predetermined event occurs.
  • the controller 1300 may perform an operation for controlling the external device 2000 according to the type and attribute of the object selected by the user in the integrated GUI.
  • the controller 1300 may directly control the external device 2000 or control the external device 2000 through the gateway 3000.
  • the controller 1300 may request authentication from the external device 2000 or request authentication from the gateway 3000.
  • the sensing unit 1400 may detect a state of the device 1000 or a state around the device 1000 and transmit the detected information to the controller 1300.
  • the sensing unit 1400 may include a geomagnetic sensor 1410, an acceleration sensor 1420, a temperature / humidity sensor 1430, an infrared sensor 1440, a gyroscope sensor 1450, and a position sensor. (Eg, GPS) 1460, barometric pressure sensor 1470, proximity sensor 1480, and RGB sensor (illuminance sensor) 1490, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the communicator 1500 may include one or more components for allowing the device 1000 to communicate with the outside in order to create or edit an integrated GUI and to control the external device 2000 using the integrated GUI.
  • the communicator 1500 may include a short range communicator 1510, a mobile communicator 1520, and a broadcast receiver 1530.
  • the communication unit 1500 may be a communication interface for communicating with an external device, for example, a first communication interface for communicating with an external device 2000, and a communication with a server (not shown) to download a control application. It may include a second communication interface.
  • the implementation of the communication unit 1500 is not limited thereto.
  • the short-range wireless communication unit 151 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit (Near Field Communication unit), a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray ( IrDA (Infrared Data Association) communication unit, WFD (Wi-Fi Direct) communication unit, UWB (ultra wideband) communication unit, Ant + communication unit and the like, but may not be limited thereto.
  • the mobile communication unit 1520 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the broadcast receiving unit 1530 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel. According to an implementation example, the device 1000 may not include the broadcast receiver 1530.
  • the communication unit 1500 may provide information necessary for creating or editing an integrated GUI and controlling the external device 2000 using the integrated GUI with an external server, an application store, an external device 2000, and a gateway 3000. Can send and receive
  • the A / V input unit 1600 is for inputting an audio signal or a video signal, and may include a camera 1610 and a microphone 1620.
  • the memory 1700 may store a program for processing and controlling the controller 1300, and may store data input to or output from the device 1000.
  • the memory 1700 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), RAM Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • Magnetic Memory Magnetic Disk It may include at least one type of storage medium of the optical disk.
  • Programs stored in the memory 1700 may be classified into a plurality of modules according to their functions.
  • the programs stored in the memory 1700 may be classified into a UI module 1710, a touch screen module 1720, a notification module 1730, and the like. .
  • the UI module 1710 may provide a specialized UI, GUI, or the like that is linked with the device 1000 for each application.
  • the touch screen module 1720 may detect a touch gesture on a user's touch screen and transmit information about the touch gesture to the controller 1300.
  • the touch screen module 1720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen module 1720 may be configured as separate hardware including a controller.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.
  • unit may be a hardware component such as a processor or a circuit, and / or a software component executed by a hardware component such as a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

외부 디바이스를 제어하기 위한 GUI를 생성하는 디바이스 및 방법이 제공된다. 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 디바이스는, 복수의 외부 디바이스와 통신하며, 상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 통신 인터페이스; 상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 수집하고, 상기 수집된 기능 정보를 이용하여 상기 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 프로세서; 및 상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 디스플레이부;를 포함한다.

Description

외부 디바이스를 제어하기 위한 GUI를 생성하는 디바이스 및 방법
본 개시는 외부 디바이스를 제어하기 위한 GUI를 생성하는 디바이스 및 방법에 관한 것으로서, 보다 상세하게는, 복수의 외부 디바이스들을 제어하기 위한 GUI를 생성하는 디바이스 및 방법에 관한 것이다.
네트워크 및 멀티 미디어 기술이 발전함에 따라, 사용자는 디바이스를 활용하여 다른 외부 디바이스를 제어할 수 있게 되었다. 일반적으로, 외부 디바이스를 제어하기 위한 제어 애플리케이션이 외부 디바이스의 제조사에 의해 제공되고 있다.
종래의 외부 디바이스를 제어하기 위한 제어 애플리케이션은 디바이스마다 하나씩 전용 애플리케이션의 형태로 제공되고 있으며, 외부 디바이스 별로 전용의 제어 애플리케이션을 제공하는 경우에는, 사용자가 여러 개의 외부 디바이스를 제어하기 힘든 문제가 있었다.
또한, 외부 디바이스들을 함께 제어하기 위한 제어 애플리케이션이 제공되고는 있지만, 이러한 제어 애플리케이션은 미리 정해진 몇몇의 외부 디바이스에 대하여만 제어 기능을 제공하고 있으므로, 다양한 외부 디바이스를 효과적으로 통합하여 제어하기 힘든 문제가 있었다.
일부 실시예는, 외부 디바이스의 제어 애플리케이션이 다운로드된 이후에, 외부 디바이스 및 다른 외부 디바이스들을 함께 제어하기 위한 통합 GUI를 편집할 수 있는, 외부 디바이스를 제어하기 위한 GUI를 생성하는 디바이스 및 방법을 제공할 수 있다.
또한, 일부 실시예는, 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동할 수 있는 지에 따라, 통합 GUI를 생성 또는 편집할 수 있는 외부 디바이스를 제어하기 위한 GUI를 생성하는 디바이스 및 방법을 제공할 수 있다.
도 1은 일부 실시예에 따른 디바이스(1000)가 적어도 하나의 외부 디바이스(2000)를 제어하는 예시를 나타내는 도면이다.
도 2는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하기 위한 GUI를 생성하는 방법의 흐름도이다.
도 3은 일부 실시예에 따른 디바이스(1000)가 통합 애플리케이션을 이용하여, 복수의 외부 디바이스(2000)를 제어하기 위한 GUI를 편집하고 표시하는 방법의 흐름도이다.
도 4는 일부 실시예에 따른 디바이스(1000)가 제어 애플리케이션이 통합 제어 애플리케이션과 연동하는 지에 기초하여 GUI를 생성하는 방법의 흐름도이다.
도 5는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하기 위한 다양한 속성의 오브젝트를 GUI에 추가하는 방법의 흐름도이다.
도 6은 일부 실시예에 따른 외부 디바이스(2000)의 기능의 레벨을 나타내는 테이블(60)의 예시를 나타내는 도면이다.
도 7은 일부 실시예에 따른 디바이스(1000)가 통합 제어 애플리케이션의 GUI를 이용하여 외부 디바이스를 제어하는 방법의 흐름도이다.
도 8은 일부 실시예에 따른 통합 제어 애플리케이션의 통합 GUI에 포함되는 오브젝트들의 예시를 나타내는 도면이다.
도 9는 일부 실시예에 따른 통합 제어 애플리케이션의 통합 GUI가 디바이스(1000)의 화면 상에 디스플레이되는 예시를 나타내는 도면이다.
도 10은 일부 실시예에 따른 통합 GUI에 대한 사용자 입력에 따라 외부 디바이스(2000)를 제어하기 위한 세부 메뉴를 디스플레이하는 예시를 나타내는 도면이다.
도 11은 일부 실시예에 따른 통합 GUI를 이용하여 외부 디바이스(2000)의 제어 애플리케이션을 실행하는 예시를 나타내는 도면이다.
도 12는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하도록 하는 제어 시스템의 예시를 나타내는 도면이다.
도 13은 일부 실시예에 따른 디바이스(1000)가 댁내 또는 댁외의 외부 디바이스를 제어하는 방법의 흐름도이다.
도 14 및 도 15는 일부 실시예에 따른 디바이스(1000)의 블록도이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 복수의 외부 디바이스와 통신하며, 상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 통신 인터페이스; 상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 수집하고, 상기 수집된 기능 정보를 이용하여 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 프로세서; 및 상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 디스플레이부;를 포함하며, 상기 GUI는, 상기 복수의 외부 디바이스에 의해 제공되는 기능 중에서 선택된 일부 기능을 제어하기 위한 것인, 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 디바이스를 제공할 수 있다.
또한, 본 개시의 제 2 측면은, 상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 단계; 상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 수집하는 단계; 상기 수집된 기능 정보를 이용하여 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 단계; 및 상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 단계;를 포함하며, 상기 GUI는, 상기 복수의 외부 디바이스에 의해 제공되는 기능 중에서 선택된 일부 기능을 제어하기 위한 것인, 디바이스가 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 방법을 제공할 수 있다.
또한, 본 개시의 제 3 측면은, 제 2 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서, 통합 제어 애플리케이션은 복수의 외부 디바이스를 함께 제어하기 위한 애플리케이션을 의미할 수 있으며, 통합 제어 애플리케이션의 GUI(Graphical User Interface)에는 복수의 외부 디바이스 각각에 대하여 기설정된 기능들을 제어하기 위한 오브젝트들이 함께 포함될 수 있다.
또한, 외부 디바이스의 제어 애플리케이션은, 외부 디바이스(2000)를 제어하는 전용의 제어 애플리케이션일 수 있으며, 예를 들어, 외부 디바이스(2000)의 제조사에 의해 제공되는 애플리케이션일 수 있다. 그러나, 이에 제한되지 않으며, 외부 디바이스의 제어 애플리케이션은 제조사 이외의 다른 주체에 의해 생성된 제어 애플리케이션일 수도 있다.
또한, 통합 GUI는 통합 제어 애플리케이션의 GUI일 수 있으며, 복수의 외부 디바이스의 기능들 중 일부 기능을 제어하기 위한 오브젝트들이 통합 GUI 내에 포함될 수 있다. 이 경우, 통합 GUI 내에 포함된 오브젝트는 외부 디바이스의 기 설정된 기능에 대응될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일부 실시예에 따른 디바이스(1000)가 적어도 하나의 외부 디바이스(2000)를 제어하는 예시를 나타내는 도면이다.
도 1을 참조하면, 디바이스(1000)는 애플리케이션 스토어로부터 적어도 하나의 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있으며, 제어 애플리케이션이 다운로드된 후에 적어도 하나의 외부 디바이스(2000)를 제어하기 위한 통합 GUI를 생성할 수 있다. 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션은, 외부 디바이스(2000)를 제어하는 전용의 제어 애플리케이션일 수 있으며, 예를 들어, 외부 디바이스(2000)의 제조사에 의해 제공되는 애플리케이션일 수 있다.
또한, 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되면, 다운로드된 제어 애플리케이션이 설치되기 전, 설치되는 중 또는 설치된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 선택하고, 선택된 기능을 제어하기 위한 오브젝트를 포함하는 GUI를 생성할 수 있다.
디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되면, 다운로드된 제어 애플리케이션이 설치되기 전, 설치되는 중 또는 설치된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 선택하고, 선택된 기능을 제어하기 위한 오브젝트를 통합 GUI 내에 추가함으로써, 통합 GUI를 생성 또는 갱신할 수 있다. 또한, 디바이스(1000)는 통합 GUI를 이용하여, 적어도 하나의 외부 디바이스(2000)를 제어할 수 있다.
디바이스(1000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 네트워크를 통하여 외부 디바이스(2000)를 제어할 수 있는 모든 종류의 기기를 포함할 수 있다.
외부 디바이스(2000)는 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기, 자동차 내의 전자 장치 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 디바이스(1000)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않으며, 외부 디바이스(2000)는 네트워크를 통하여 디바이스(1000)로부터의 제어 명령을 수신할 수 있는 모든 종류의 기기를 포함할 수 있다.
또한, 디바이스(1000)는 제어 애플리케이션을 제공하는 서버(미도시) 및 외부 디바이스(2000)와 네트워크를 통해 통신 연결될 수 있다. 이 경우, 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함할 수 있으며, 디바이스(1000), 서버(미도시) 및 외부 디바이스(2000)가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 또한, 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하기 위한 GUI를 생성하는 방법의 흐름도이다.
단계 S200에서 디바이스(1000)는 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다. 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션은 외부 디바이스(2000)의 제조사에 의해 제공되는 전용 애플리케이션일 수 있으나, 이에 제한되지 않는다. 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션은 제조사 이외의 다른 주체에 의해 생성된 제어 애플리케이션일 수 있다.
디바이스(1000)는 애플리케이션 스토어에 접속하고, 애플리케이션 스토어로부터 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다. 또는, 디바이스(1000)는 소정의 저장 매체, 다른 디바이스(미도시) 또는 외부 서버(미도시)로부터 외부 디바이스(2000)의 제어 애플리케이션을 수신할 수 있으나, 디바이스(1000)가 외부 디바이스(2000)의 제어 애플리케이션을 수신하는 방법은 이에 제한되지 않는다.
단계 S210에서 디바이스(1000)는 제어 애플리케이션이 다운로드된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 결정할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 다운로드함에 따라, 외부 디바이스(2000)의 제어 애플리케이션이 다운로드됨을 확인하고, 다운로드된 제어 애플리케이션을 식별할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되는지를 모니터링함으로써, 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되었는지를 실시간으로 판단할 수 있다.
또는, 디바이스(1000)는 다운로드된 제어 애플리케이션이 설치되는 도중에 또는 설치된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 결정할 수 있으나, 이에 제한되지 않는다. 이 경우, 디바이스(1000)는 다운로드된 제어 애플리케이션이 설치되는지를 실시간으로 모니터링할 수 있다.
또한, 외부 디바이스(2000)의 기 설정된 기능은, 외부 디바이스(2000)의 기능들 중 일부 기능일 수 있다. 또한, 디바이스(1000)는 다운로드된 제어 애플리케이션에 대응되는 외부 디바이스(2000)의 기능들 중에서 일부 기능을 통합 애플리케이션에서 제어할 수 있도록 하기 위하여, 외부 디바이스(2000)의 기능들 중에서 일부 기능을 선택할 수 있다.
또한, 외부 디바이스(2000)의 기 설정된 기능은 통합 제어 애플리케이션에 의해 제어될 수 있는 기능으로 미리 설정된 기능일 수 있으며, 외부 디바이스(2000)의 제조사에 의해 제어 애플리케이션이 생성될 때 미리 설정될 수 있다. 이 경우, 외부 디바이스(2000)의 기 설정된 기능에 관한 정보는, 제어 애플리케이션으로부터 통합 제어 애플리케이션에게 제공될 수 있다. 또한, 외부 디바이스(2000)의 기능들은 통합 제어 애플리케이션에 의해 이용될 수 있는 정도에 따라 상이한 레벨로 설정될 수 있으며, 외부 디바이스(2000)의 기능의 레벨에 대하여는 도 6에서 보다 상세히 설명하기로 한다.
또는, 외부 디바이스(2000)의 기 설정된 기능은 디바이스(1000)에서 설정될 수 있다. 디바이스(1000)는 통합 제어 애플리케이션을 통하여 제어될 수 있는 외부 디바이스(2000)의 기능을 설정할 수 있다. 디바이스(1000)는, 예를 들어, 외부 디바이스(2000)의 제어 가능한 기능들의 목록을 제어 애플리케이션으로부터 추출하고, 추출된 목록에서 특정 기능을 선택하는 사용자 입력을 수신할 수 있다. 또한, 디바이스(1000)는 사용자 입력에 기초하여 특정 기능을 통합 제어 애플리케이션을 통해 제어할 기능으로 결정할 수 있다.
또한, 외부 디바이스(2000)의 기 설정된 기능은, 통합 제어 애플리케이션에서 미리 정의된 기능일 수 있다. 이 경우, 통합 제어 애플리케이션에 의해, 통합 제어 애플리케이션과 연동할 수 있는 제어 애플리케이션의 목록 및 제어 애플리케이션의 기능들 중에서 통합 제어 애플리케이션의 통합 GUI에 포함될 기능이 미리 정의될 수 있다.
단계 S220에서 디바이스(1000)는 결정된 기능을 제어하기 위한 오브젝트를, 복수의 외부 디바이스(2000)를 제어하기 위한 통합 GUI에 추가할 수 있다. 오브젝트는 통합 GUI 내에 표시되는 텍스트, 아이콘 및 이미지 중 적어도 하나일 수 있다. 오브젝트는, 예를 들어, 통합 제어 애플리케이션을 통하여 외부 디바이스(2000)를 제어하기 위한 오브젝트, 및 외부 디바이스(2000)를 전용으로 제어하기 위한 제어 애플리케이션을 실행하기 위한 오브젝트를 포함할 수 있으나, 이에 제한되지 않는다.
디바이스(1000)는 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 통합 GUI에 추가함으로써, 통합 GUI를 갱신할 수 있다. 이 경우, 단계 200에서의 외부 디바이스(2000) 외의 다른 외부 디바이스들에 대한 통합 GUI가 미리 생성될 수 있으며, 단계 S220에서 디바이스(1000)는 미리 생성된 통합 GUI를 갱신할 수 있다.
또한, 통합 GUI 내의 오브젝트가 사용자에 의해 선택되면, 디바이스(1000)는 선택된 오브젝트에 대응되는 외부 디바이스(2000)의 기능을 제어할 수 있다.
도 3은 일부 실시예에 따른 디바이스(1000)가 통합 애플리케이션을 이용하여, 복수의 외부 디바이스(2000)를 제어하기 위한 GUI를 편집하고 표시하는 방법의 흐름도이다.
단계 S300에서 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 다운로드할 수 있다.
단계 S305에서 디바이스(1000)는 통합 제어 애플리케이션이 설치되었는지를 판단할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되는지를 모니터링하고, 제어 애플리케이션이 다운로드되면, 통합 제어 애플리케이션이 다운로드되었는지를 판단할 수 있다.
단계 S305에서의 판단 결과, 통합 제어 애플리케이션이 설치되지 않았으면, 단계 S310에서 디바이스(1000)는 통합 제어 애플리케이션을 설치할 수 있다. 디바이스(1000)는 기 설정된 링크 정보를 이용하여 통합 제어 애플리케이션을 제공하는 외부 서버(미도시)에 접속할 수 있으며, 외부 서버(미도시)로부터 통합 제어 애플리케이션을 다운로드하고 다운로드된 통합 제어 애플리케이션을 설치할 수 있다. 디바이스(1000)는 백그라운드에서 통합 제어 애플리케이션을 다운로드하고 설치할 수 있으나, 이에 제한되지 않는다. 디바이스(1000)는 통합 제어 애플리케이션을 다운로드하기 위한 GUI를 디스플레이하고, 사용자 입력에 따라 통합 제어 애플리케이션을 다운로드하고 설치할 수도 있다.
단계 S315에서 디바이스(1000)는 통합 제어 애플리케이션을 이용하여, 설치된 제어 애플리케이션으로부터 기능 정보를 추출할 수 있다. 디바이스(1000)는 제어 애플리케이션에 의해 제어될 수 있는 외부 디바이스(2000)의 기능에 관한 기능 정보를 제어 애플리케이션으로부터 획득할 수 있다. 디바이스(1000)는, 예를 들어, 외부 디바이스(2000)의 기능의 목록 및 외부 디바이스(2000)의 기능의 레벨에 관한 정보를 획득할 수 있다. 예를 들어, 외부 디바이스(2000)의 기능의 목록이 제어 애플리케이션에 의해 미리 정의된 경우, 외부 디바이스(2000)의 기능의 목록은 제어 애플리케이션으로부터 통합 제어 애플리케이션에게 제공될 수 있다.
외부 디바이스(2000)의 기능의 레벨은, 외부 디바이스(2000)의 기능이 통합 제어 애플리케이션에 의해 제어될 수 있는지와 관련하여 미리 설정될 수 있다. 예를 들어, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령이 통합 제어 애플리케이션에게 제공되는지 여부, 및 외부 디바이스(2000)의 기능을 제어하는 것이 통합 제어 애플리케이션에게 허용되는지 여부에 따라, 외부 디바이스(2000)의 기능의 레벨이 설정될 수 있다. 외부 디바이스(2000)의 기능의 레벨에 관하여는 후술할 도 6에서 보다 상세히 기술하기로 한다.
또한, 디바이스(1000)에 설치된 제어 애플리케이션이 통합 제어 애플리케이션에게 기능 정보를 푸쉬함으로써, 통합 제어 애플리케이션이 기능 정보를 획득할 수 있다. 또는, 통합 제어 애플리케이션이 제어 애플리케이션에게 기능 정보를 요청하고 수신함으로써, 통합 제어 애플리케이션이 기능 정보를 획득할 수 있다.
단계 S320에서 디바이스(1000)는 추출된 기능 정보로부터, 외부 디바이스(2000)의 기능을 결정할 수 있다. 디바이스(1000)는 추출된 기능 정보를 이용하여, 외부 디바이스(2000)의 기능들 중에서 통합 제어 애플리케이션에 의해 제어될 수 있는 기능을 식별할 수 있다. 예를 들어, 디바이스(1000)는 기능 정보에 포함된 외부 디바이스(2000)의 기능의 레벨에 기초하여, 통합 제어 애플리케이션에 의해 외부 디바이스(2000)의 기능이 제어될 수 있는 지를 판단할 수 있다.
또한, 디바이스(1000)는 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들 중에서 특정 기능을 결정할 수 있다. 디바이스(1000)는 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들의 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들 중에서 적어도 일부를 사용자의 선택 입력에 따라 선택할 수 있다. 또한, 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들은, 외부 디바이스(2000)의 동작을 위한 기능들 중에서 필수적인 일부 기능들일 수 있다.
단계 S325에서 디바이스(1000)는 결정된 기능을 제어하기 위한 오브젝트를 이용하여, 복수의 외부 디바이스(2000)를 제어하기 위한 통합 GUI를 편집할 수 있다. 예를 들어, 디바이스(1000)는 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령 또는 제어 명령을 호출하기 위한 경로 정보를 오브젝트와 매칭시킴으로써, 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 생성할 수 있다. 또한, 생성된 오브젝트를 통합 GUI에 추가함으로써 통합 GUI를 편집할 수 있다.
이 경우, 통합 GUI는 미리 생성되어 있을 수 있으며, 다른 외부 디바이스들의 기능을 제어하기 위한 오브젝트들을 포함할 수 있다. 또한, 디바이스(1000)는, 예를 들어, 외부 디바이스(2000)의 식별 값, 외부 디바이스(2000)의 결정된 기능을 제어하기 위한 오브젝트, 및 외부 디바이스(2000)의 전용 제어 애플리케이션을 실행하기 위한 오브젝트를 통합 GUI에 추가할 수 있으나, 이에 제한되지 않는다.
단계 S330에서 디바이스(1000)는 편집된 통합 GUI를 통합 제어 애플리케이션의 실행 화면 상에 표시할 수 있다. 예를 들어, 통합 GUI의 편집은 백그라운드에서 통합 제어 애플리케이션에 의해 수행될 수 있으며, 통합 제어 애플리케이션이 포어 그라운드에서 실행되면 편집된 통합 GUI가 통합 제어 애플리케이션의 실행 화면 상에 표시될 수 있으나, 이에 제한되지 않는다.
도 4는 일부 실시예에 따른 디바이스(1000)가 제어 애플리케이션이 통합 제어 애플리케이션과 연동하는 지에 기초하여 GUI를 생성하는 방법의 흐름도이다.
단계 S400에서 디바이스(1000)는 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다. 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션은 외부 디바이스(2000)의 제조사에 의해 제공되는 전용 애플리케이션일 수 있다.
단계 S405에서 디바이스(1000)는 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동하는 지를 판단할 수 있다. 외부 디바이스(2000)의 소정 기능을 제어하기 위하여 통합 제어 애플리케이션과 제어 애플리케이션은 다양한 방법으로 연동할 수 있다. 또한, 예를 들어, 통합 제어 애플리케이션은 제어 애플리케이션이 통합 제어 애플리케이션과 소정의 기능을 공유하는 지를 판단할 수 있다. 예를 들어, 통합 제어 애플리케이션은, 제어 애플리케이션의 일부 기능이 통합 제어 애플리케이션에게 제공되는 지를 판단할 수 있다. 예를 들어, 통합 제어 애플리케이션은, 제어 애플리케이션이 외부 디바이스(2000)의 소정 기능을 제어하기 위한 제어 명령을 통합 제어 애플리케이션에게 제공하는 지를 판단할 수 있다. 예를 들어, 통합 제어 애플리케이션은, 제어 애플리케이션이 통합 애플리케이션의 요청에 따라 외부 디바이스(2000)의 소정 기능을 제어하는 지를 판단할 수 있다.
단계 S405에서의 판단 결과, 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동하지 않는다고 판단되면, 단계 S410에서 디바이스(1000)는 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 디바이스(1000)는, 예를 들어, 제어 애플리케이션의 아이콘을 제어 애플리케이션을 실행하기 위한 제어 명령과 연관시킴으로써, 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다.
단계 S405에서의 판단 결과, 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동한다고 판단되면, 단계 S415에서 디바이스(1000)는 외부 디바이스(2000)의 소정의 기능을 결정할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 기능들 중에서 통합 제어 애플리케이션에 의해 제어될 수 있는 일부 기능을 선택할 수 있다.
단계 S420에서 디바이스(1000)는 결정된 기능을 제어하기 위한 오브젝트를 생성할 수 있으며, 단계 S425에서 디바이스(1000)는 생성된 오브젝트를, 복수의 외부 디바이스를 제어하기 위한 통합 GUI 내에 추가할 수 있다.
도 5는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하기 위한 다양한 속성의 오브젝트를 GUI에 추가하는 방법의 흐름도이다.
단계 S500에서 디바이스(1000)는 외부 디바이스를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다.
단계 S505에서 디바이스(1000)는 외부 디바이스(2000)의 기 설정된 기능을 제어하기 위한 오브젝트를 생성할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 메모리로부터 호출하기 위한 경로 정보를 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 생성할 수 있다. 이 경우, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은, 외부 디바이스(2000)의 기능의 레벨에 따라 상이한 위치에 저장될 수 있다. 예를 들어, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 외부 디바이스(2000) 내의 메모리에서 통합 제어 애플리케이션에 대하여 할당된 저장 공간에 저장될 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 외부 디바이스(2000) 내의 메모리에서 외부 디바이스(2000)의 제어 애플리케이션에 대하여 할당된 저장 공간에 저장될 수 있다.
또한, 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 외부 디바이스(2000)의 기능을 제어할 것을 외부 디바이스(2000)의 제어 애플리케이션에게 요청하는 명령을 소정의 아이콘과 매칭할 수도 있다.
단계 S510에서 디바이스(1000)는 외부 디바이스(2000)의 상태를 표시하기 위한 오브젝트를 생성할 수 있다. 이 경우, 디바이스(1000)는 외부 디바이스(2000)의 상태를 나타내는 상태 정보를 외부 디바이스(2000)에게 요청하기 위한 제어 명령을 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 상태를 표시하기 위한 오브젝트를 생성할 수 있다. 또한, 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션이 외부 디바이스(2000)의 상태 정보를 획득하여 제공해 줄 것을 외부 디바이스(2000)의 제어 애플리케이션에게 요청하는 명령을 소정의 아이콘과 매칭할 수도 있다. 또는 디바이스(1000)는 외부 디바이스(2000)의 상태를 모니터링하거나 소정 이벤트가 발생되는 경우에 획득하여, 외부 디바이스(2000)의 상태를 나타내는 텍스트를 생성할 수 있다.
단계 S515에서 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 실행 명령을 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 제어 애플리케이션을 실행하기 위한 오브젝트가 통합 GUI 내에서 선택되면, 외부 디바이스(2000)를 제어 하기 위한 제어 애플리케이션의 GUI가 디바이스(1000)의 화면 상에 디스플레이될 수 있다.
단계 S520에서 디바이스(1000)는 생성된 오브젝트들을, 복수의 외부 디바이스를 제어하기 위한 통합 GUI에 추가할 수 있다. 통합 GUI에 추가됨에 따라, 통합 GUI 내의 다른 외부 디바이스들의 기능을 제어하기 위한 오브젝트들의 위치 또는 배열이 변경될 수 있다.
도 6은 일부 실시예에 따른 외부 디바이스(2000)의 기능의 레벨을 나타내는 테이블(60)의 예시를 나타내는 도면이다.
도 6을 참조하면, 외부 디바이스(2000)의 기능은, 예를 들어, 레벨 1, 레벨 2 및 레벨 3으로 구분될 수 있다. 이 경우, 외부 디바이스(2000)의 기능의 레벨은, 통합 제어 애플리케이션이 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령에 접근할 수 있는 권한에 따라 구분될 수 있다.
외부 디바이스(2000)의 기능이 레벨 1의 기능인 경우에, 디바이스(1000)는 제어 애플리케이션으로부터 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 획득하고, 획득된 제어 명령을 디바이스(1000) 내의 메모리에서 통합 제어 애플리케이션에 할당된 저장 공간에 저장할 수 있다. 또한, 레벨 1의 기능들의 목록이 통합 제어 애플리케이션에게 제공될 수 있다.
또한, 디바이스(1000)는 통합 제어 애플리케이션에 할당된 저장 공간에 저장된 제어 명령을 이용하여, 외부 디바이스(2000)의 제어 애플리케이션과는 무관하게 독립적으로 외부 디바이스(2000)를 제어할 수 있다. 레벨 1의 기능은, 일반적으로, 사용자에 의해 자주 이용되는 필수적인 기능일 수 있다.
외부 디바이스(2000)의 기능이 레벨 2의 기능인 경우에, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 디바이스(1000) 내의 메모리에서 외부 디바이스(2000)의 제어 애플리케이션에 할당된 저장 공간에 저장될 수 있다. 또한, 레벨 2의 기능들의 목록이 통합 제어 애플리케이션에게 제공될 수 있다.
이 경우, 디바이스(1000)는 통합 제어 애플리케이션이 제어 애플리케이션을 이용하여 외부 디바이스(2000)에게 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 전송할 수 있는 권한을 획득할 수 있다. 이에 따라, 통합 제어 애플리케이션은 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 통합 제어 애플리케이션에게 제공해 줄 것을 제어 애플리케이션에게 요청할 수 있다.
외부 디바이스(2000)의 기능이 레벨 3의 기능인 경우에, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 통합 제어 애플리케이션에게 제공되지 않을 수 있다. 이 경우, 통합 제어 애플리케이션은 외부 디바이스(2000)에게 제어 명령을 직접 전송할 수 없으며, 제어 애플리케이션에게 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 외부 디바이스(2000)에게 전송할 것을 요청할 수 있다. 제어 애플리케이션은 통합 제어 애플리케이션의 요청에 따라 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 외부 디바이스(2000)에게 전송할 수 있다. 이 경우, 통합 제어 애플리케이션은 외부 디바이스(2000)를 제어할 것을 요청하는 제1 제어 명령을 제어 애플리케이션에게 제공하고, 제어 애플리케이션은, 제공된 제1 제어 명령에 따라, 외부 디바이스(2000)를 제어하기 위한 제2 제어 명령을 외부 디바이스(2000)에게 전송할 수 있다.
도 7은 일부 실시예에 따른 디바이스(1000)가 통합 제어 애플리케이션의 GUI를 이용하여 외부 디바이스를 제어하는 방법의 흐름도이다.
단계 S700에서 디바이스(1000)는 통합 제어 애플리케이션을 실행하고, 단계 S705에서 디바이스(1000)는 통합 제어 애플리케이션의 통합 GUI를 디스플레이할 수 있다. 디바이스(1000)의 화면 상에 표시된 통합 제어 애플리케이션의 아이콘이 선택됨에 따라 통합 제어 애플리케이션이 실행될 수 있다. 또한, 디바이스(1000)에 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되거나 설치될 때, 통합 제어 애플리케이션이 백그라운드 또는 포어 그라운드에서 실행될 수 있다.
단계 S710에서 디바이스(1000)는 디스플레이된 통합 GUI에 대한 사용자 입력을 수신할 수 있다. 통합 GUI 내에는 다양한 속성의 오브젝트들이 표시될 수 있으며, 디바이스(1000)는 적어도 하나의 오브젝트를 선택하는 사용자 입력을 수신할 수 있다.
단계 S715에서 디바이스(1000)는 외부 디바이스(2000)의 기 설정된 기능을 제어하기 위한 오브젝트가 선택되었는 지를 판단할 수 있다.
단계 S715에서의 판단 결과, 외부 디바이스(2000)의 기 설정된 기능을 제어하기 위한 오브젝트가 선택되었다고 판단되면, 단계 S720에서 디바이스(1000)는 선택된 오브젝트에 대응되는 기능을 제어하기 위한 제어 명령을 획득할 수 있다. 예를 들어, 선택된 기능이 레벨 1의 기능인 경우에, 디바이스(1000)는 메모리 내에서 통합 제어 애플리케이션에 할당된 저장 공간에 저장된 제어 명령을 메모리로부터 추출할 수 있다. 또한, 예를 들어, 선택된 기능이 레벨 2의 기능인 경우에, 디바이스(1000)는 제어 애플리케이션이 제어 명령을 통합 제어 애플리케이션에게 제공할 것을 제어 애플리케이션에게 요청함으로써, 제어 애플리케이션으로부터 제어 명령을 획득할 수 있다.
단계 S725에서 디바이스(1000)는 획득된 제어 명령을 외부 디바이스(2000)에게 전송할 수 있다. 이에 따라, 외부 디바이스(2000)의 기 설정된 기능은 디바이스(1000)의 통합 제어 애플리케이션에 의해 제어될 수 있다.
단계 S715에서의 판단 결과, 외부 디바이스(2000)의 기 설정된 기능을 제어하기 위한 오브젝트가 선택되지 않았다고 판단되면, 단계 S730에서 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트가 선택되었는지를 판단할 수 있다.
외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트가 선택되었다고 판단되면, 단계 S735에서 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 실행할 수 있다. 이 경우, 통합 제어 애플리케이션이 실행되는 도중에 제어 애플리케이션이 실행될 수 있다.
단계 S740에서 디바이스(1000)는 실행된 제어 애플리케이션의 GUI를 통하여 외부 디바이스(2000)를 제어할 수 있다. 디바이스(1000)는 실행된 제어 애플리케이션의 GUI를 디바이스(1000)의 화면 상에 디스플레이하고, 디스플레이된 GUI를 통한 사용자 입력에 기초하여 외부 디바이스(2000)를 제어할 수 있다.
도 8은 일부 실시예에 따른 통합 제어 애플리케이션의 통합 GUI에 포함되는 오브젝트들의 예시를 나타내는 도면이다.
도 8을 참조하면, 통합 GUI은, 외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80), 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 표시하는 영역(82), 외부 디바이스(2000)의 상태를 나타내는 오브젝트를 표시하는 영역(84), 및 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 표시하는 영역(86)을 포함할 수 있다.
외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80)에는 외부 디바이스(2000)를 나타내는 아이콘이 표시될 수 있다. 예를 들어, 외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80)에, 세탁기의 아이콘, TV의 아이콘, 에어컨의 아이콘 및 자동차의 아이콘이 표시될 수 있다. 또한, 외부 디바이스(2000)의 위치에 따라, 외부 디바이스(2000)의 아이콘이 구별되게 표시될 수 있다. 예를 들어, 외부 디바이스(2000)가 댁 내에 위치하였는지 댁 외에 위치하였는지에 따라, 아이콘이 하일라이트되어 표시되거나, 아이콘 주변에 외부 디바이스의 위치를 나타내는 오브젝트가 함께 표시될 수 있다.
외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 표시하는 영역(82)에는 외부 디바이스(2000)의 기능을 제어하기 위한 아이콘이 표시될 수 있다. 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 표시하는 영역(82)에는 외부 디바이스(2000)의 필수 기능을 제어하기 위한 오브젝트가 표시될 수 있다. 또한, 통합 GUI 내의 소정 버튼(미도시)을 선택하면, 외부 디바이스(2000)의 상세 기능을 제어하기 위한 오브젝트들이 디스플레이될 수도 있으나, 이에 제한되지 않는다.
외부 디바이스(2000)의 상태를 나타내는 오브젝트를 표시하는 영역(84)에는 외부 디바이스(2000)의 현재 상태를 나타내는 텍스트가 표시될 수 있다. 예를 들어, 세탁기의 현재 상태를 나타내는 텍스트, TV의 현재 채널을 나타내는 텍스트, 에어컨의 목표 온도를 나타내는 텍스트, 및 자동차의 현재 실내 온도를 나타내는 텍스트가, 외부 디바이스(2000)의 상태를 나타내는 오브젝트를 표시하는 영역(84)에 표시될 수 있다. 또한, 외부 디바이스(2000)의 상태를 나타내는 텍스트를 선택하면, 외부 디바이스(2000)의 상세한 현재 상태를 나타내는 GUI가 디바이스(1000)의 화면 상에 디스플레이될 수 있으나, 이에 제한되지 않는다.
외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 표시하는 영역(86)에는 외부 디바이스(2000)의 제어 애플리케이션의 아이콘이 표시될 수 있다. 외부 디바이스(2000)의 제어 애플리케이션의 아이콘이 선택되면, 디바이스(1000)는 선택된 아이콘의 제어 애플리케이션을 실행할 수 있다.
도 9는 일부 실시예에 따른 통합 제어 애플리케이션의 통합 GUI가 디바이스(1000)의 화면 상에 디스플레이되는 예시를 나타내는 도면이다.
도 9의 식별 번호 1을 참조하면, 디바이스(1000)의 화면이 세로 모드인 경우에, 디바이스(1000)의 화면 상에는 통합 GUI의 영역들 중 일부 영역이 디스플레이될 수 있다. 예를 들어, 디바이스(1000)의 화면 상에, 외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80) 및 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 표시하는 영역(82)이 디스플레이될 수 있다.
또한, 도 9의 식별 번호 2를 참조하면, 디바이스(1000)의 화면이 가로 모드인 경우에, 예를 들어, 외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80), 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 표시하는 영역(82), 외부 디바이스(2000)의 상태를 나타내는 오브젝트를 표시하는 영역(84), 및 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 표시하는 영역(86)이 디바이스(1000)의 화면 상에 디스플레이될 수 있다
도 10은 일부 실시예에 따른 통합 GUI에 대한 사용자 입력에 따라 외부 디바이스(2000)를 제어하기 위한 세부 메뉴를 디스플레이하는 예시를 나타내는 도면이다.
도 10의 식별 번호 3을 참조하면, 사용자는 통합 GUI 내에서 외부 디바이스(2000)를 식별하기 위한 오브젝트를 표시하는 영역(80)에 표시된 아이콘들 중에서, 에어컨을 나타내는 아이콘(100)을 터치할 수 있다.
또한, 에어컨의 아이콘(100)이 터치되면, 도 10의 식별 번호 4에서와 같이, 에어컨의 기능을 제어하기 위한 세부 메뉴(102)가 통합 GUI에 표시될 수 있다. 세부 메뉴(102)에 의해 제어될 수 있는 기능들은, 영역(82)의 아이콘들에 의해 제어되는 기능들보다 많을 수 있다. 또한, 에어컨의 아이콘(100)이 터치되면, 에어컨의 제어 애플리케이션을 실행하기 위한 아이콘(104)가 세부 메뉴(102)와 함께 통합 GUI 내에 표시될 수 있다.
도 11은 일부 실시예에 따른 통합 GUI를 이용하여 외부 디바이스(2000)의 제어 애플리케이션을 실행하는 예시를 나타내는 도면이다.
도 11의 식별 번호 5를 참조하면, 사용자는 통합 GUI 내에서 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 표시하는 영역(86)에 표시된 아이콘들 중에서, 에이컨의 제어 애플리케이션을 실행하기 위한 아이콘(110)을 터치할 수 있다.
또한, 에어컨의 제어 애플리케이션을 실행하기 위한 아이콘(110)이 터치되면, 도 11의 식별 번호 6에서와 같이, 디바이스(1000)는 에어컨의 제어 애플리케이션을 실행하고, 실행된 제어 애플리케이션의 실행 화면(112)을 디바이스(1000)의 화면 상에 디스플레이할 수 있다.
도 12는 일부 실시예에 따른 디바이스(1000)가 외부 디바이스(2000)를 제어하도록 하는 제어 시스템의 예시를 나타내는 도면이다.
도 12를 참조하면, 제어 시스템은 디바이스(1000), 댁 내의 제 1 외부 디바이스(2100), 게이트웨이(3000) 및 댁 외의 제 2 외부 디바이스(2200)를 포함할 수 있다.
댁 내의 제 1 외부 디바이스(2100)는 게이트웨이(3000)를 통하여 제어되고 관리될 수 있으며, 디바이스(1000)는 게이트웨이(3000)를 통하여 댁 내의 제 1 외부 디바이스(2100)를 통합 GUI를 이용하여 제어할 수 있다. 또한, 디바이스(1000)는 댁 외의 제 2 외부 디바이스(2200)에 직접 제어 명령을 전송함으로써, 댁 외의 제 2 외부 디바이스(2200)를 제어할 수 있다.
도 13은 일부 실시예에 따른 디바이스(1000)가 댁내 또는 댁외의 외부 디바이스를 제어하는 방법의 흐름도이다.
단계 S1300에서 게이트웨이(3000) 및 제 1 외부 디바이스(2100)는 서로 통신 연결될 수 있다. 게이트웨이(3000)는 제 1 외부 디바이스(2100)와 통신 연결됨으로써, 제 1 외부 디바이스(2100)를 제어하고 관리할 수 있는 상태가 될 수 있다.
단계 S1305에서 디바이스(1000)는 통합 제어 애플리케이션의 통합 GUI를 디스플레이할 수 있다. 통합 GUI에는 제 1 외부 디바이스(2100)의 기능을 제어하기 위한 오브젝트 및 제 2 외부 디바이스(2200)의 기능을 제어하기 위한 오브젝트가 함께 표시될 수 있다.
단계 S1310에서 디바이스(1000)는 제 1 외부 디바이스(2100)의 기능을 선택할 수 있다. 통합 GUI 내에서 제 1 외부 디바이스(2100)의 기능을 제어하기 위한 오브젝트를 선택하는 사용자 입력에 응답하여, 디바이스(1000)는 제 1 외부 디바이스(2100)의 기능을 피제어 기능으로 선택할 수 있다.
단계 S1315에서 디바이스(1000)는 게이트웨이(3000)에게 인증을 요청할 수 있다. 디바이스(1000)는 디바이스(1000)의 식별 값, 디바이스(1000)의 사용자의 식별 값 및 인증을 위한 패스워드 등의 값을 인증을 위하여 게이트웨이(3000)에게 전송할 수 있다. 또한, 디바이스(1000)는 피제어 대상인 제 1 외부 디바이스(2100)의 식별 값 및 피제어 기능의 식별 값을 게이트웨이(3000)에게 전송하면서 게이트웨이(3000)에게 인증을 요청할 수 있다.
단계 S1320에서 게이트웨이(3000)는 디바이스(1000)를 인증할 수 있다. 게이트웨이(3000)는 디바이스(1000)의 식별 값, 디바이스(1000)의 사용자의 식별 값 및 패스워드 등을 이용하여 디바이스(1000)를 인증할 수 있다. 또한, 게이트웨이(3000)는 제 1 외부 디바이스(2100)의 식별 값 및 피제어 기능의 식별 값을 이용하여, 디바이스(1000)가 제 1 외부 디바이스(2100)의 기능을 제어할 권한이 있는지를 판단할 수 있다.
단계 S1325에서 디바이스(1000)는 제 1 외부 디바이스(2100)의 기능을 제어하기 위한 제어 명령을 게이트웨이(3000)에게 전송할 수 있으며, 단계 S1330에서 게이트웨이(3000)는 제 1 외부 디바이스(2100)에게 제어 명령을 전송할 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(1000)는 제 1 외부 디바이스(2100)의 기능의 식별 값을 게이트웨이(3000)에게 전송하고, 게이트웨이(3000)가 제 1 외부 디바이스(2100)의 기능의 식별 값을 이용하여, 제 1 외부 디바이스(2100)의 기능을 제어하는 제어 명령을 게이트웨이(3000) 내의 메모리로부터 추출하고, 추출된 제어 명령을 제 1 외부 디바이스(2100)에게 전송할 수도 있다.
단계 S1335에서 디바이스(1000)는 제 2 외부 디바이스(2200)의 기능을 선택할 수 있다. 통합 GUI 내에서 제 2 외부 디바이스(2200)의 기능을 제어하기 위한 오브젝트를 선택하는 사용자 입력에 응답하여, 디바이스(1000)는 제 2 외부 디바이스(2200)의 기능을 피제어 기능으로 선택할 수 있다.
단계 S1340에서 디바이스(1000)는 제 2 외부 디바이스(2200)에게 인증을 요청할 수 있다. 디바이스(1000)는 디바이스(1000)의 식별 값, 디바이스(1000)의 사용자의 식별 값 및 인증을 위한 패스워드 등의 값을 인증을 위하여 제 2 외부 디바이스(2200)에게 전송할 수 있다. 또한, 디바이스(1000)는 피제어 기능의 식별 값을 게이트웨이(3000)에게 전송하면서 제 2 외부 디바이스(2200)에게 인증을 요청할 수 있다.
단계 S1345에서 제 2 외부 디바이스(2200)는 디바이스(1000)를 인증할 수 있다. 제 2 외부 디바이스(2200)는 디바이스(1000)의 식별 값, 디바이스(1000)의 사용자의 식별 값 및 패스워드 등을 이용하여 디바이스(1000)를 인증할 수 있다. 또한, 제 2 외부 디바이스(2200)는 피제어 기능의 식별 값을 이용하여, 디바이스(1000)가 제 2 외부 디바이스(2200)의 기능을 제어할 권한이 있는지를 판단할 수 있다.
단계 S1350에서 디바이스(1000)는 제 2 외부 디바이스(2200)에게 제 2 외부 디바이스(2200)의 기능을 제어하기 위한 제어 명령을 제 2 외부 디바이스(2200)에게 전송할 수 있다.
도 14 및 도 15는 일부 실시예에 따른 디바이스(1000)의 블록도이다.
도 14에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500)를 포함할 수 있다. 그러나, 도 14에 도시된 구성 요소 모두가 디바이스(1000)의 필수 구성 요소인 것은 아니다. 도 14에 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있고, 도 14에 도시된 구성 요소보다 적은 구성 요소에 의해 디바이스(1000)가 구현될 수도 있다.
예를 들어, 도 15에 도시된 바와 같이, 일부 실시예에 따른 디바이스(1000)는, 사용자 입력부(1100), 출력부(1200), 제어부(1300), 및 통신부(1500) 이외에 센싱부(1400), A/V 입력부(1600), 및 메모리(1700)를 더 포함할 수도 있다.
사용자 입력부(1100)는, 사용자가 디바이스(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(1100)는, 통합 GUI를 생성 또는 편집하고 통합 GUI를 이용하여 외부 디바이스(2000)를 제어하기 위한 사용자 입력을 수신할 수 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다.
디스플레이부(1210)는 디바이스(1000)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이부(1210)는, 통합 GUI를 생성 또는 편집하고 외부 디바이스(2000)를 제어하기 위한 사용자 인터페이스를 디스플레이할 수 있다.
한편, 디스플레이부(1210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다.
음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 진동 모터(1230)는 진동 신호를 출력할 수 있다.
제어부(1300)는, 통상적으로 디바이스(1000)의 전반적인 동작을 제어한다. 예를 들어, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 제어부(1300)는, 도 1 내지 도 13에 설시된 디바이스(1000)의 기능을 수행하기 위하여, 통합 제어 애플리케이션을 이용할 수 있으며, 통합 제어 애플리케이션을 이용하여 통합 GUI를 생성 및 편집하며 통합 GUI를 통한 사용자 입력에 기초하여 외부 디바이스(2000)를 제어할 수 있다.
구체적으로, 제어부(1300)는 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다. 제어부(1300)는 통신부(1500)를 제어함으로써 애플리케이션 스토어에 접속하고, 애플리케이션 스토어로부터 외부 디바이스(2000)를 제어하기 위한 제어 애플리케이션을 다운로드할 수 있다. 또는, 제어부(1300)는 소정의 저장 매체, 다른 디바이스(미도시) 또는 외부 서버(미도시)로부터 외부 디바이스(2000)의 제어 애플리케이션을 수신할 수 있다.
제어부(1300)는 제어 애플리케이션이 다운로드된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 결정할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션을 다운로드함에 따라, 외부 디바이스(2000)의 제어 애플리케이션이 다운로드됨을 확인하고, 다운로드된 제어 애플리케이션을 식별할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되는지를 모니터링함으로써, 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되었는지를 실시간으로 판단할 수 있다.
또는, 제어부(1300)는 다운로드된 제어 애플리케이션이 설치되는 도중에 또는 설치된 이후에, 외부 디바이스(2000)의 기 설정된 기능을 결정할 수 있으나, 이에 제한되지 않는다. 이 경우, 제어부(1300)는 다운로드된 제어 애플리케이션이 설치되는지를 실시간으로 모니터링할 수 있다.
또한, 외부 디바이스(2000)의 기 설정된 기능은 통합 제어 애플리케이션에 의해 제어될 수 있는 기능으로 미리 설정된 기능일 수 있으며, 외부 디바이스(2000)의 제조사에 의해 제어 애플리케이션이 생성될 때 미리 설정될 수 있다.
또는, 외부 디바이스(2000)의 기 설정된 기능은 제어부(1300)에서 설정될 수 있다. 제어부(1300)는 통합 제어 애플리케이션을 통하여 제어될 수 있는 외부 디바이스(2000)의 기능을 설정할 수 있다. 제어부(1300)는, 예를 들어, 외부 디바이스(2000)의 제어 가능한 기능들의 목록을 제어 애플리케이션으로부터 추출하고, 추출된 목록에서 특정 기능을 선택하는 사용자 입력을 수신할 수 있다. 또한, 제어부(1300)는 사용자 입력에 기초하여 특정 기능을 통합 제어 애플리케이션을 통해 제어할 기능으로 결정할 수 있다.
제어부(1300)는 결정된 기능을 제어하기 위한 오브젝트를, 복수의 외부 디바이스(2000)를 제어하기 위한 통합 GUI에 추가할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 통합 GUI에 추가함으로써, 통합 GUI를 갱신할 수 있다. 이 경우, 단계 200에서의 외부 디바이스(2000) 외의 다른 외부 디바이스들에 대한 통합 GUI가 미리 생성될 수 있으며, 제어부(1300)는 미리 생성된 통합 GUI를 갱신할 수 있다.
또한, 통합 GUI 내의 오브젝트가 사용자에 의해 선택되면, 제어부(1300)는 선택된 오브젝트에 대응되는 외부 디바이스(2000)의 기능을 제어할 수 있다.
한편, 제어부(1300)는 제어 애플리케이션으로부터 획득되는 기능 정보를 이용하여, 제어하고자 하는 외부 디바이스(2000)의 기능을 결정할 수 있다.
제어부(1300)는 통합 제어 애플리케이션이 설치되었는지를 판단할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션이 다운로드되는지를 모니터링하고, 제어 애플리케이션이 다운로드되면, 통합 제어 애플리케이션이 다운로드되었는지를 판단할 수 있다.
통합 제어 애플리케이션이 설치되지 않았으면, 제어부(1300)는 통합 제어 애플리케이션을 설치할 수 있다. 제어부(1300)는 기 설정된 링크 정보를 이용하여 통합 제어 애플리케이션을 제공하는 외부 서버(미도시)에 접속할 수 있으며, 외부 서버(미도시)로부터 통합 제어 애플리케이션을 다운로드하고 다운로드된 통합 제어 애플리케이션을 설치할 수 있다. 제어부(1300)는 백그라운드에서 통합 제어 애플리케이션을 다운로드하고 설치할 수 있으나, 이에 제한되지 않는다. 제어부(1300)는 통합 제어 애플리케이션을 다운로드하기 위한 GUI를 디스플레이하고, 사용자 입력에 따라 통합 제어 애플리케이션을 다운로드하고 설치할 수도 있다.
제어부(1300)는 통합 제어 애플리케이션을 이용하여, 설치된 제어 애플리케이션으로부터 기능 정보를 추출할 수 있다. 제어부(1300)는 제어 애플리케이션에 의해 제어될 수 있는 외부 디바이스(2000)의 기능에 관한 기능 정보를 제어 애플리케이션으로부터 획득할 수 있다. 제어부(1300)는, 예를 들어, 외부 디바이스(2000)의 기능의 목록 및 외부 디바이스(2000)의 기능의 레벨에 관한 정보를 획득할 수 있다.
제어부(1300)는 추출된 기능 정보로부터, 외부 디바이스(2000)의 기능을 결정할 수 있다. 제어부(1300)는 추출된 기능 정보를 이용하여, 외부 디바이스(2000)의 기능들 중에서 통합 제어 애플리케이션에 의해 제어될 수 있는 기능을 식별할 수 있다. 예를 들어, 제어부(1300)는 기능 정보에 포함된 외부 디바이스(2000)의 기능의 레벨에 기초하여, 통합 제어 애플리케이션에 의해 외부 디바이스(2000)의 기능이 제어될 수 있는 지를 판단할 수 있다.
또한, 제어부(1300)는 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들 중에서 특정 기능을 결정할 수 있다. 제어부(1300)는 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들의 목록을 디바이스(1000)의 화면 상에 디스플레이하고, 통합 제어 애플리케이션에 의해 제어될 수 있는 기능들 중에서 적어도 일부를 사용자의 선택 입력에 따라 선택할 수 있다.
한편, 제어부(1300)는 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동하는 지를 판단할 수 있다. 만약, 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동하지 않는다고 판단되면, 제어부(1300)는 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 만약, 다운로드된 제어 애플리케이션이 통합 제어 애플리케이션과 연동한다고 판단되면, 제어부(1300)는 외부 디바이스(2000)의 소정의 기능을 결정할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 기능들 중에서 통합 제어 애플리케이션에 의해 제어될 수 있는 일부 기능을 선택하고, 선택된 기능을 제어하기 위한 오브젝트를 생성할 수 있다.
제어부(1300)는 외부 디바이스(2000)의 기 설정된 기능을 제어하기 위한 오브젝트를 생성할 수 있다. 제어부(1300)는 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령을 메모리로부터 호출하기 위한 경로 정보를 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 기능을 제어하기 위한 오브젝트를 생성할 수 있다. 이 경우, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은, 외부 디바이스(2000)의 기능의 레벨에 따라 상이한 위치에 저장될 수 있다. 예를 들어, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 외부 디바이스(2000) 내의 메모리에서 통합 제어 애플리케이션에 대하여 할당된 저장 공간에 저장될 수 있다. 또한, 예를 들어, 외부 디바이스(2000)의 기능을 제어하기 위한 제어 명령은 외부 디바이스(2000) 내의 메모리에서 외부 디바이스(2000)의 제어 애플리케이션에 대하여 할당된 저장 공간에 저장될 수 있다.
또한, 제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션이 외부 디바이스(2000)의 기능을 제어할 것을 외부 디바이스(2000)의 제어 애플리케이션에게 요청하는 명령을 소정의 아이콘과 매칭할 수도 있다.
제어부(1300)는 외부 디바이스(2000)의 상태를 표시하기 위한 오브젝트를 생성할 수 있다. 이 경우, 제어부(1300)는 외부 디바이스(2000)의 상태를 나타내는 상태 정보를 외부 디바이스(2000)에게 요청하기 위한 제어 명령을 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 상태를 표시하기 위한 오브젝트를 생성할 수 있다. 또한, 제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션이 외부 디바이스(2000)의 상태 정보를 획득하여 제공해 줄 것을 외부 디바이스(2000)의 제어 애플리케이션에게 요청하는 명령을 소정의 아이콘과 매칭할 수도 있다.
제어부(1300)는 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 디바이스(1000)는 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 실행 명령을 소정의 아이콘에 매칭함으로써, 외부 디바이스(2000)의 제어 애플리케이션을 실행하기 위한 오브젝트를 생성할 수 있다. 또는 제어부(1300)는 외부 디바이스(2000)의 상태를 모니터링하거나 소정 이벤트가 발생되는 경우에 획득하여, 외부 디바이스(2000)의 상태를 나타내는 텍스트를 생성할 수 있다.
한편, 제어부(1300)는 통합 GUI에서 사용자에 의해 선택된 오브젝트의 종류 및 속성에 따라, 외부 디바이스(2000)를 제어하기 위한 동작을 수행할 수 있다. 또한, 제어부(1300)는 외부 디바이스(2000)를 직접 제어하거나, 게이트웨이(3000)를 통하여 외부 디바이스(2000)를 제어할 수 있다. 이 경우, 제어부(1300)는 외부 디바이스(2000)에게 인증을 요청하거나, 게이트웨이(3000)에게 인증을 요청할 수 있다.
센싱부(1400)는, 디바이스(1000)의 상태 또는 디바이스(1000) 주변의 상태를 감지하고, 감지된 정보를 제어부(1300)로 전달할 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 통합 GUI를 생성 또는 편집하고 통합 GUI를 이용하여 외부 디바이스(2000)를 제어하기 위하여, 디바이스(1000)가 외부와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
또한, 통신부(1500)는 외부와 통신을 수행하는 통신 인터페이스일 수 있으며, 예를 들어, 외부 디바이스(2000)와 통신하는 제1 통신 인터페이스, 및 제어 애플리케이션을 다운로드하기 위하여 서버(미도시)와 통신하는 제2 통신 인터페이스를 포함할 수 있다. 그러나, 통신부(1500)의 구현은 이에 제한되지 않는다.
근거리 통신부(short-range wireless communication unit)(151)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 디바이스(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
또한, 통신부(1500)는, 통합 GUI를 생성 또는 편집하고 통합 GUI를 이용하여 외부 디바이스(2000)를 제어하기 위하여 필요한 정보를, 외부 서버, 애플리케이션 스토어, 외부 디바이스(2000) 및 게이트웨이(3000)와 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다.
메모리(1700)는, 제어부(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 디바이스(1000)로 입력되거나 디바이스(1000)로부터 출력되는 데이터를 저장할 수도 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 디바이스(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 디바이스에 있어서,
    복수의 외부 디바이스와 통신하며, 상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 통신 인터페이스;
    상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 수집하고, 상기 수집된 기능 정보를 이용하여 상기 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 프로세서; 및
    상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 디스플레이부;
    를 포함하며,
    상기 GUI는, 상기 복수의 외부 디바이스에 의해 제공되는 기능 중에서 선택된 일부 기능을 제어하기 위한 것인, 디바이스.
  2. 제 1 항에 있어서,
    상기 통신 인터페이스는 신규의 제어 애플리케이션을 다운로드하며,
    상기 프로세서는, 상기 신규의 제어 애플리케이션을 설치하고, 상기 설치된 신규의 제어 애플리케이션에 대응되는 외부 디바이스를 제어하기 위한 기능을 상기 통합 애플리케이션에 추가하는 것인, 디바이스.
  3. 제 2 항에 있어서,
    상기 프로세서는, 상기 신규의 제어 애플리케이션이 다운로드됨에 따라, 상기 신규의 제어 애플리케이션이 상기 통합 애플리케이션과 연동하는 지를 결정하는 것인, 디바이스.
  4. 제 1 항에 있어서,
    상기 통합 애플리케이션에 의해 제어될 상기 복수의 외부 디바이스의 기능의 목록은, 상기 복수의 외부 디바이스 별로 상기 통합 애플리케이션에 미리 설정된 것인, 디바이스.
  5. 제 1 항에 있어서,
    상기 통합 애플리케이션에 의해 제어될 상기 복수의 외부 디바이스의 기능의 목록은, 상기 복수의 제어 애플리케이션으로부터 상기 통합 애플리케이션에게 제공된 것인, 디바이스.
  6. 제 1 항에 있어서,
    상기 프로세서는, 상기 통합 애플리케이션에 의해 제공되는 상기 GUI에 대한 사용자 입력에 기초하여, 상기 복수의 외부 디바이스를 제어하는 것인, 디바이스.
  7. 제 6 항에 있어서,
    상기 복수의 외부 디바이스를 제어하기 위한 제어 명령이 상기 복수의 제어 애플리케이션으로부터 상기 통합 애플리케이션에게 제공되며, 상기 제어 명령은 상기 통합 애플리케이션에 의해 상기 복수의 외부 디바이스에게 제공되는 것인, 디바이스.
  8. 제 6 항에 있어서,
    상기 복수의 외부 디바이스를 제어하기 위한 제어 요청이, 상기 통합 애플리케이션으로부터 상기 복수의 제어 애플리케이션에게 제공되며,
    상기 제어 요청에 응답하여, 상기 복수의 외부 디바이스를 제어하기 위한 제어 명령이 상기 복수의 제어 애플리케이션에 의해 상기 복수의 외부 디바이스에게 제공되는 것인, 디바이스.
  9. 제 1 항에 있어서,
    상기 GUI는 상기 복수의 외부 디바이스를 제어하기 위한 복수의 오브젝트를 포함하는 것인, 디바이스.
  10. 제 1 항에 있어서,
    상기 GUI는 상기 복수의 제어 애플리케이션을 실행하기 위한 복수의 오브젝트를 포함하는 것인, 디바이스.
  11. 제 1 항에 있어서,
    상기 통신 인터페이스는,
    상기 복수의 외부 디바이스와 통신하는 제1 통신 인터페이스; 및
    상기 복수의 제어 애플리케이션을 다운로드하는 제2 통신 인터페이스;
    를 포함하는 것인, 디바이스.
  12. 디바이스가 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 방법에 있어서,
    상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 단계;
    상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 수집하는 단계;
    상기 수집된 기능 정보를 이용하여 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 단계; 및
    상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 단계;
    를 포함하며,
    상기 GUI는, 상기 복수의 외부 디바이스에 의해 제공되는 기능 중에서 선택된 일부 기능을 제어하기 위한 것인, 방법.
  13. 제 12 항에 있어서,
    신규의 제어 애플리케이션을 다운로드하는 단계;
    상기 신규의 제어 애플리케이션을 설치하는 단계; 및
    상기 설치된 신규의 제어 애플리케이션에 대응되는 외부 디바이스를 제어하기 위한 기능을 상기 통합 애플리케이션에 추가하는 단계;
    를 더 포함하는 것인, 방법.
  14. 제 13 항에 있어서,
    상기 신규의 제어 애플리케이션이 다운로드됨에 따라, 상기 신규의 제어 애플리케이션이 상기 통합 애플리케이션과 연동하는 지를 결정하는 단계;
    를 더 포함하는 것인, 방법.
  15. 디바이스가 복수의 외부 디바이스를 제어하기 위한 GUI(Graphic User Interface)를 생성하는 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    상기 디바이스가 복수의 외부 디바이스를 제어하기 위한 GUI를 생성하는 방법은,
    상기 복수의 외부 디바이스를 제어하기 위한 복수의 제어 애플리케이션을 다운로드하는 단계;
    상기 다운로드된 복수의 제어 애플리케이션으로부터 상기 복수의 외부 디바이스를 제어하기 위한 기능 정보를 획득하는 단계;
    상기 획득된 기능 정보를 이용하여 복수의 외부 디바이스를 제어하기 위한 통합 애플리케이션을 제공하는 단계; 및
    상기 통합 애플리케이션이 실행되면 상기 복수의 외부 디바이스를 제어하기 위한 GUI 를 디스플레이하는 단계;
    를 포함하며,
    상기 GUI는, 상기 복수의 외부 디바이스에 의해 제공되는 기능 중에서 선택된 일부 기능을 제어하기 위한 것인 기록 매체.
PCT/KR2017/008000 2016-07-28 2017-07-25 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법 WO2018021798A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201780059428.5A CN110192177B (zh) 2016-07-28 2017-07-25 用于生成用于控制外部设备的gui的设备和方法
EP17834740.7A EP3477451B1 (en) 2016-07-28 2017-07-25 Device and method for generating gui for controlling external device
US16/321,257 US11360786B2 (en) 2016-07-28 2017-07-25 Device and method for generating GUI for controlling external device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0096129 2016-07-28
KR1020160096129A KR102642923B1 (ko) 2016-07-28 2016-07-28 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법

Publications (1)

Publication Number Publication Date
WO2018021798A1 true WO2018021798A1 (ko) 2018-02-01

Family

ID=61017543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/008000 WO2018021798A1 (ko) 2016-07-28 2017-07-25 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법

Country Status (5)

Country Link
US (1) US11360786B2 (ko)
EP (1) EP3477451B1 (ko)
KR (1) KR102642923B1 (ko)
CN (1) CN110192177B (ko)
WO (1) WO2018021798A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102419119B1 (ko) 2020-12-16 2022-07-07 주식회사 한화 인터페이스 제어 문서에 따라 그래픽 유저 인터페이스를 생성하는 시험 장치 및 이의 동작 방법
KR102436523B1 (ko) * 2022-05-19 2022-08-25 한화시스템(주) 유, 무인 복합체계를 위한 통합 운영자 인터페이스 시스템 및 그 방법
KR20240073555A (ko) * 2022-11-18 2024-05-27 삼성전자주식회사 멀티 뷰 화면에서 외부 디바이스를 제어하는 전자 장치 및 그 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438696B1 (ko) * 2001-04-13 2004-07-05 삼성전자주식회사 홈네트워크 환경에서의 디바이스 제어 시스템 및 방법
KR20120079208A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 이동통신 단말기에서 주변 디바이스를 원격 제어하기 위한 장치 및 방법
KR20140077093A (ko) * 2012-12-13 2014-06-23 삼성전자주식회사 주변 기기의 디바이스 정보를 등록하기 위한 디바이스 제어 방법, 디바이스 및 그 시스템
KR20150024938A (ko) * 2012-09-11 2015-03-09 알리바바 그룹 홀딩 리미티드 애플리케이션 세트 식별자의 디스플레이
KR20150051865A (ko) * 2014-08-08 2015-05-13 주식회사 서비전자 스마트기기를 이용한 디바이스 제어방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
AU2003237363A1 (en) 2002-08-29 2004-03-19 United States Postal Services Shared services platform
WO2010024358A1 (ja) 2008-08-28 2010-03-04 京セラ株式会社 ユーザインタフェース生成装置
WO2011014040A2 (en) * 2009-07-31 2011-02-03 Samsung Electronics Co., Ltd. Method and device for creation of integrated user interface
KR20110064674A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 동적 로컬 기능 결합 장치 및 방법
WO2014092441A1 (en) 2012-12-13 2014-06-19 Samsung Electronics Co., Ltd. Device control method for registering device information of peripheral device, and device and system thereof
KR102318442B1 (ko) 2013-06-18 2021-10-28 삼성전자주식회사 사용자 단말 장치 및 그 홈 네트워크 관리 방법
US10564813B2 (en) 2013-06-18 2020-02-18 Samsung Electronics Co., Ltd. User terminal apparatus and management method of home network thereof
KR20150005061A (ko) * 2013-07-04 2015-01-14 삼성전자주식회사 사용자단말기, 디스플레이장치 및 그들의 제어방법
KR101465230B1 (ko) * 2013-11-05 2014-11-25 주식회사 서비전자 스마트기기를 이용한 디바이스 제어방법 및 장치
US9742840B2 (en) * 2013-12-20 2017-08-22 Siemens Aktiengesellschaft Integration of user interfaces for different physically distributed medical applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438696B1 (ko) * 2001-04-13 2004-07-05 삼성전자주식회사 홈네트워크 환경에서의 디바이스 제어 시스템 및 방법
KR20120079208A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 이동통신 단말기에서 주변 디바이스를 원격 제어하기 위한 장치 및 방법
KR20150024938A (ko) * 2012-09-11 2015-03-09 알리바바 그룹 홀딩 리미티드 애플리케이션 세트 식별자의 디스플레이
KR20140077093A (ko) * 2012-12-13 2014-06-23 삼성전자주식회사 주변 기기의 디바이스 정보를 등록하기 위한 디바이스 제어 방법, 디바이스 및 그 시스템
KR20150051865A (ko) * 2014-08-08 2015-05-13 주식회사 서비전자 스마트기기를 이용한 디바이스 제어방법 및 장치

Also Published As

Publication number Publication date
EP3477451A4 (en) 2019-08-14
KR102642923B1 (ko) 2024-03-05
CN110192177A (zh) 2019-08-30
US20190163503A1 (en) 2019-05-30
EP3477451B1 (en) 2023-05-31
EP3477451A1 (en) 2019-05-01
CN110192177B (zh) 2023-11-03
US11360786B2 (en) 2022-06-14
KR20180013038A (ko) 2018-02-07

Similar Documents

Publication Publication Date Title
WO2019160345A1 (ko) 어플리케이션과 관련된 기능 또는 콘텐트를 제공하는 방법 및 이를 수행하는 전자 장치
WO2017171204A1 (ko) 단말장치 및 그 제어방법
WO2015012449A1 (en) Electronic device and control method thereof
WO2014017858A1 (en) User terminal apparatus and control method thereof
WO2020171513A1 (en) Method and apparatus for displaying surrounding information using augmented reality
WO2015093865A1 (en) Method for controlling a composition of a screen and electronic device thereof
WO2014058250A1 (en) User terminal device, sns providing server, and contents providing method thereof
WO2014157886A1 (en) Method and device for executing application
WO2014204239A1 (en) Electronic device for displaying lock screen and method of controlling the same
WO2014157897A1 (en) Method and device for switching tasks
WO2020162709A1 (en) Electronic device for providing graphic data based on voice and operating method thereof
WO2013035952A1 (en) Mobile terminal, image display device mounted on vehicle and data processing method using the same
WO2014104733A1 (en) Method of receiving connection information from mobile communication device, computer-readable storage medium having recorded thereon the method, and digital image-capturing apparatus
WO2012046891A1 (ko) 이동단말기, 디스플레이 장치 및 그 제어 방법
WO2014030956A1 (en) Apparatus for uploading contents, user terminal apparatus for downloading contents, server, contents sharing system and their contents sharing method
WO2018143711A1 (en) System and method of providing sensing data to electronic device
WO2016159654A1 (ko) 위젯 제공 시스템 및 방법
WO2018021798A1 (ko) 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법
WO2014182140A1 (en) Display apparatus and method of providing a user interface thereof
WO2019160250A1 (ko) 키를 제공하기 위한 전자 장치 및 방법
WO2017069422A1 (en) User terminal device and method for providing web service thereof
WO2014042474A2 (en) Method and system for executing application, and device and recording medium thereof
WO2017022988A1 (en) Network apparatus, server, and control methods thereof
WO2019164264A1 (en) Electronic apparatus and operating method thereof
WO2011002238A2 (ko) 복수의 가상 스크린을 갖는 이동 단말기 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17834740

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017834740

Country of ref document: EP

Effective date: 20190128