Electronic device for managing internet of things device and method of operating same
Through the communication circuit and processor of electronic devices, the registration and loading process of IoT devices to the server is realized, solving the complex problems of IoT device management and registration in the prior art, and improving the efficiency and user experience of device loading and connection.
Patent Information
- Application Number
- CN202380062326.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-14
- Filing Date
- 2023-06-29
- Publication Date
- 2025-04-04
AI Technical Summary
The prior art is difficult to effectively manage and register IoT devices, resulting in complex and inefficient loading and connection processes of the devices.
Through the communication circuit and processor of the electronic device, the loading process of registering an IoT device with the server is realized, including obtaining installation data, executing the loading process, sending installation data, displaying installation guides and receiving loading results.
Simplifies the loading and connection process of IoT devices, improves the efficiency and user experience of device management, and reduces inconvenience for manufacturers and users to register multiple devices in IoT applications.
Smart Images

Figure CN119769062A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to an electronic device for managing IoT (Internet of Things) devices and an operating method thereof. Background Art
[0002] Various services and additional functions provided by electronic devices such as smart phones are gradually increasing. In order to increase the utility value of electronic devices and meet the needs of various users, communication service providers or electronic device manufacturers are competitively developing electronic devices that can provide various functions. Accordingly, the various functions provided by electronic devices are also becoming more advanced.
[0003] With the development of wireless communication technology, devices using artificial intelligence (AI) are being widely introduced. For example, home appliances connected to the network using IoT (Internet of Things) technology can utilize artificial intelligence. IoT technology can provide intelligent Internet technology services that create new value in human life by collecting and analyzing data generated from devices. IoT technology can be applied to fields such as smart homes, smart buildings, smart cities, smart cars, and smart appliances through the integration and combination of existing Internet technologies and various industries.
[0004] Meanwhile, for the convenience of users, various household appliances are equipped in the home, and services are being proposed to make the operation or control of household appliances more convenient by utilizing IoT technology. Home network technology can provide various services to users in the home through the home network. For example, the user can use a personal electronic device (e.g., a smart phone) to control the controlled devices (e.g., household appliances to which IoT technology is applied) constituting the home network. The user can receive various services through the controlled devices. Summary of the invention
[0005] Technical Solution
[0006] Embodiments of the present disclosure may load one or more controlled devices (e.g., IoT devices).
[0007] Embodiments of the present disclosure may provide an electronic device for loading one or more IoT devices to a server through a hub device and an operating method thereof.
[0008] The technical problems that the present disclosure seeks to solve are not limited to the above-mentioned problems, and other technical problems not mentioned above will be clearly understood by those skilled in the art from the description of the present invention described below.
[0009] An electronic device according to an embodiment may include a communication circuit and at least one processor operably connected to the communication circuit. The at least one processor may be configured to obtain the installation data required for the first external electronic device to register at least one second external electronic device with the server. The at least one processor may be configured to execute a first loading process for registering the first external electronic device with the server through the communication circuit. The at least one processor may be configured to send the installation data to the first external electronic device through the communication circuit after executing the first loading process. The at least one processor may be configured to display an installation guide for loading at least one second external electronic device based on the installation data. The at least one processor may be configured to receive a loading result indicating that at least one second external electronic device has been loaded by the first external electronic device from the server through the communication circuit.
[0010] The method for operating an electronic device according to an embodiment may include an operation of obtaining installation data required for a first external electronic device to register at least one second external electronic device with a server. The method may include an operation of executing a first loading process for registering the first external electronic device with the server. The method may include an operation of sending the installation data to the first external electronic device after executing the first loading process. The method may include an operation of displaying an installation guide for loading at least one second external electronic device based on the installation data. The method may include an operation of receiving a loading result from a server indicating that at least one second external electronic device has been loaded by the first external electronic device.
[0011] According to an embodiment, a non-transitory computer-readable storage medium may store one or more programs, wherein the one or more programs may include instructions that, when executed by at least one processor of an electronic device, enable the electronic device to obtain installation data required for a first external electronic device to register at least one second external electronic device with a server, execute a first loading process for registering the first external electronic device with the server, send the installation data to the first external electronic device after executing the first loading process, display an installation guide for loading at least one second external electronic device based on the installation data, and receive a loading result from the server indicating that at least one second external electronic device has been loaded by the first external electronic device. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 An IoT (Internet of Things) system according to an embodiment is shown.
[0013] Figure 2 is a block diagram of an electronic device in a network environment according to various embodiments.
[0014] Figure 3 is a diagram illustrating a network including IoT devices according to an embodiment.
[0015] Figure 4 is a block diagram showing the internal configuration of the hub device 330 according to the embodiment.
[0016] Figure 5 is a diagram illustrating a process for registering an IoT device according to an embodiment.
[0017] Figure 6 is a flowchart illustrating the operation of an electronic device for registering an IoT device according to an embodiment.
[0018] Figure 7 is a flow chart illustrating the operation of a hub device for registering IoT devices according to an embodiment.
[0019] Figure 8 An example of a sequence diagram for providing a quick connection of IoT devices according to an embodiment is shown.
[0020] Fig. 9 is a flow chart illustrating the operation of a hub device for registering IoT devices according to an embodiment.
[0021] Fig.10 An example of a sequence diagram for providing a quick connection of IoT devices according to an embodiment is shown.
[0022] Fig.11 is a sequence diagram illustrating a hub loading process according to an embodiment.
[0023] Fig.12 is a diagram illustrating an IoT environment including a hub device according to an embodiment.
[0024] Fig.13 is a diagram showing an IoT environment that does not include a hub device according to an embodiment. DETAILED DESCRIPTION
[0025] Figure 1 The IoT (Internet of Things) system 100 according to the embodiment is shown. Figure 1 At least some components are omitted, and the system may be implemented to include additional components not shown.
[0026] Reference Figure 1 , the IoT system 100 according to the embodiment includes a plurality of electronic devices capable of accessing a data network 116 or 146. For example, the IoT system 100 may include at least one of a first IoT server 110, a first node 120, a voice assistance server 130, a second IoT server 140, a second node 150 or devices 121, 122, 123, 124, 125, 136, 137, 151, 152, and 153.
[0027] According to an embodiment, the first IoT server 110 may include at least one of a communication interface 111, a processor 112, or a storage unit 113. The second IoT server 140 may include at least one of a communication interface 141, a processor 142, or a storage unit 143. The "IoT server" in this document may remotely control and / or monitor one or more devices (e.g., devices 121, 122, 123, 124, 125, 151, 152, and 153) via a relay device (e.g., the first node 120 or the second node 150) based on, for example, a data network (e.g., the data network 116 or the data network 146), or directly control and / or monitor one or more devices without a relay device. Here, "device" indicates, for example, a sensor, a home appliance, an office electronic device, or a device for performing a process, which is set (or located) in a local environment such as a home, an office, a factory, a building, an external branch, or other types of sites, and is not limited to a specific type. Sometimes a device that receives a control command and performs an action corresponding to the control command is referred to as a "target device." The IoT server can also be called a central server in that it selects a target device from among multiple devices and provides a control command.
[0028] According to an embodiment, the first IoT server 110 may communicate with the devices 121, 122, and 123 through a data network 116. The data network 116 may indicate a network for long-distance communication, such as the Internet or a computer network (eg, LAN or WAN), or may include a cellular network.
[0029] According to an embodiment, the first IoT server 110 may be connected to the data network 116 through a communication interface 111. The communication interface 111 may include a communication device (or a communication module) for supporting communication in the data network 116, and may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The first IoT server 110 may communicate with devices 121, 122, and 123 through a first node 120. The first node 120 may receive data from the first IoT server 110 through the data network 116, and transmit the received data to at least some of the devices 121, 122, and 123. Alternatively, the first node 120 may receive data from at least some of the devices 121, 122, and 123, and transmit the received data to the first IoT server 110 through the data network 116. The first node 120 may serve as a bridge between the data network 116 and the devices 121, 122, and 123. At the same time, although Figure 1 One first node 120 is shown in FIG. 1 , but this is merely exemplary, and there is no limitation on the number thereof.
[0030] In this document, a "node" may be an edge computing system or a hub device. According to an embodiment, the first node 120 may support wired and / or wireless communications of the data network 116, and may also support wired and / or wireless communications with devices 121, 122, and 123. For example, the first node 120 may be connected to devices 121, 122, and 123 via a short-range communication network such as at least one of Bluetooth, Wi-Fi, Wi-Fi direct, Z-wave, Zigbee, INSETEON, X10, or IrDA (Infrared Data Association), but there is no limitation on the type of communication. The first node 120 may be set (or located) in an environment such as a home, office, factory, building, external branch, or other type of site. Accordingly, devices 121, 122, and 123 may be monitored and / or controlled by the services provided by the first IoT server 110, and devices 121, 122, and 123 may not be required to have full capabilities for network communications (e.g., Internet communications) for direct connection to the first IoT server 110. Although the devices 121 , 122 , and 123 are illustrated as electronic devices implemented in a home environment, such as a light switch, a proximity sensor, a temperature sensor, etc., this is exemplary and the devices are not limited thereto.
[0031] According to an embodiment, the first IoT server 110 may support direct communication with the devices 124 and 125. Here, “direct communication” may indicate communication not through a relay device such as the first node 120, for example, communication through a cellular communication network and / or a data network.
[0032] According to an embodiment, the first IoT server 110 may transmit a control command to at least some of the devices 121, 122, 123, 124, and 125. Here, a "control command" may indicate data that causes a controllable device to perform a specific operation, and the specific operation is an operation performed by the device, and may include output information, sensing information, reporting information, and management (e.g., deletion or generation) information, and there is no limitation on its type. For example, the processor 112 may obtain information (or a request) for generating a control command from the outside (e.g., a voice assistant server 130, a second IoT server 140, an external system 160, or at least some of the devices 121, 122, 123, 124, and 125), and generate a control command based on the obtained information. Alternatively, the processor 112 may generate a control command based on the monitoring results of at least some of the devices 121, 122, 123, 124, and 125 that meet the specified conditions. The processor 112 may control the communication interface 111 to send the control command to the target device.
[0033] According to an embodiment, the processor 112, the processor 132 or the processor 142 may be implemented as a combination of one or more of a general-purpose processor (such as a central processing unit (CPU), a digital signal processor (DSP), an application processor (AP) or a communication processor (CP)), a graphics processor only (such as a graphics processing unit (GPU) or a visual processing unit (VPU)), or an artificial intelligence processor only (such as a neural processing unit (NPU)). The above-mentioned processing units are merely exemplary, and those skilled in the art will understand that the processor 112 may be configured as any computing device capable of executing instructions stored in the memory 113 and outputting execution results.
[0034] According to an embodiment, the processor 112 may configure a web-based interface based on the API 114, or expose resources managed by the first IoT server 110 to the outside. The web-based interface may support, for example, communication between the first IoT server 110 and an external web service. The processor 112 may allow, for example, an external system 160 to control and / or access devices 121, 122, and 123. The external system 160 may be, for example, an independent system that is not associated with the system 100 or is not a part of the system 100. The external system 160 may be, for example, an external server or a website. However, security is required to access the devices 121, 122, and 123 or resources of the first IoT server 110 from the external system 160. According to an embodiment, the processor 112 may use an automation application to expose an API endpoint (e.g., a uniform resource locator (URL)) based on the API 114 to the outside. According to the above, the first IoT server 110 may send a control command to a target device in the devices 121, 122, and 123. Meanwhile, the description of the communication interface 141, the processor 142, the API 144 of the storage unit 143, and the database 145 of the second IoT server 140 may be substantially the same as the description of the communication interface 111, the processor 112, the API 114 of the storage unit 113, and the database 115 of the first IoT server 110. In addition, the description of the second node 150 may be substantially the same as the description of the first node 120. The second IoT server 140 may send a control command to a target device among the devices 151, 152, and 153. The first IoT server 110 and the second IoT server 140 may be operated by the same service provider in an embodiment, but may be operated by different service providers in another embodiment.
[0035] According to an embodiment, the voice assistant server 130 may send and receive data to and from the first IoT server 110 through the data network 116. The voice assistant server 130 according to the embodiment may include at least one of a communication interface 131, a processor 132, or a storage unit 133. The communication interface 131 may communicate with a smartphone 136 or an AI speaker 137 through a data network (not shown) and / or a cellular network (not shown). The smartphone 136 or the AI speaker 137 may include a microphone, and may acquire a user voice, convert it into a voice signal, and transmit the voice signal to the voice assistant server 130. The processor 132 may receive a voice signal from the smartphone 136 or the AI speaker 137 through the communication interface 131. The processor 132 may process the received voice signal based on the stored model 134. Based on the information stored in the database 135, the processor 132 may generate (or recognize) a control command using the processing result. According to an embodiment, the storage unit 113, 133 or 143 may include a non-temporary storage medium of at least one of a flash memory type, a hard disk type, a multimedia card micro, a card-type memory (for example, an SD or XD memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a disk or an optical disk, and there is no limitation on the type thereof.
[0036] In an embodiment, at least one device (eg, device 124) communicating with the first IoT server 110 may be an electronic device (eg, Figure 2 The electronic device 201 in FIG.
[0037] Figure 2 is a block diagram illustrating an electronic device 201 in a network environment 200 according to various embodiments.
[0038] refer to Figure 2, the electronic device 201 in the network environment 200 may communicate with the electronic device 202 via the first network 298 (e.g., a short-range wireless communication network), or communicate with at least one of the electronic device 204 or the server 208 via the second network 299 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 201 may communicate with the electronic device 204 via the server 208. According to an embodiment, the electronic device 201 may include a processor 220, a memory 230, an input module 250, a sound output module 255, a display module 260, an audio module 270, a sensor module 276, an interface 277, a connection terminal 278, a haptic module 279, a camera module 280, a power management module 288, a battery 289, a communication module 290, a user identification module (SIM) 296, or an antenna module 297. In some embodiments, at least one of the components (e.g., the connection terminal 278) may be omitted from the electronic device 201, or one or more other components may be added in the electronic device 201. In some embodiments, some components (eg, sensor module 276, camera module 280, or antenna module 297) may be implemented as a single component (eg, display module 260).
[0039] The processor 220 may execute, for example, software (e.g., program 240) to control at least one other component (e.g., hardware or software component) of the electronic device 201 coupled to the processor 220, and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, the processor 220 may store a command or data received from another component (e.g., sensor module 276 or communication module 290) in the volatile memory 232, process the command or data stored in the volatile memory 232, and store the resultant data in the non-volatile memory 234. According to an embodiment, the processor 220 may include a main processor 221 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor 223 (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that may operate independently of the main processor 221 or in conjunction with the main processor 221. For example, when the electronic device 201 includes a main processor 221 and an auxiliary processor 223, the auxiliary processor 223 may be adapted to consume less power than the main processor 221 or be specific to a specified function. The auxiliary processor 223 may be implemented separately from the main processor 221 or as a part of the main processor 221.
[0040] The auxiliary processor 223 may replace the main processor 221 when the main processor 221 is in an inactive (e.g., sleep) state, or control at least some of the functions or states related to at least one of the components of the electronic device 201 (e.g., display module 260, sensor module 276, or communication module 290) together with the main processor 221 when the main processor 221 is in an active state (e.g., executing an application). According to an embodiment, the auxiliary processor 223 (e.g., an image signal processor or a communication processor) may be implemented as a part of another component (e.g., a camera module 280 or a communication module 290) that is functionally related to the auxiliary processor 223. According to an embodiment, the auxiliary processor 223 (e.g., a neural processing unit) may include a hardware structure designated for artificial intelligence model processing. The artificial intelligence model may be generated by machine learning. Such learning may be performed, for example, by the electronic device 201 that performs artificial intelligence or via a separate server (e.g., server 208). The learning algorithm may include, but is not limited to, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model may include multiple artificial neural network layers. The artificial neural network can be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q network, or a combination of two or more thereof, but is not limited thereto. The artificial intelligence model can additionally or alternatively include a software structure in addition to a hardware structure.
[0041] The memory 230 may store various data used by at least one component of the electronic device 201 (e.g., the processor 220 or the sensor module 276). The various data may include, for example, input data or output data of software (e.g., the program 240) and commands related thereto. The memory 230 may include a volatile memory 232 or a non-volatile memory 234.
[0042] The program 240 may be stored as software in the memory 230 , and may include, for example, an operating system (OS) 242 , middleware 244 , or an application 246 .
[0043] The input module 250 may receive a command or data to be used by another component (e.g., the processor 220) of the electronic device 201 from outside (e.g., a user) of the electronic device 201. The input module 250 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus).
[0044] The sound output module 255 can output sound signals to the outside of the electronic device 201. The sound output module 255 can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as playing multimedia or playing recordings. The receiver can be used to receive incoming calls. According to an embodiment, the receiver can be implemented as being separated from the speaker or as a part of the speaker.
[0045] The display module 260 can visually provide information to the outside (e.g., user) of the electronic device 201. The display module 260 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling a corresponding one of the display, the hologram device, and the projector. According to an embodiment, the display module 260 may include a touch sensor suitable for detecting a touch, or a pressure sensor suitable for measuring the strength of the force caused by the touch.
[0046] The audio module 270 can convert sound into an electrical signal, and vice versa. According to an embodiment, the audio module 270 can obtain sound via the input module 250, or output sound via the sound output module 255 or an earphone of an external electronic device (e.g., electronic device 202) directly (e.g., wired) or wirelessly coupled to the electronic device 201.
[0047] The sensor module 276 may detect an operating state (e.g., power or temperature) of the electronic device 201 or an environmental state (e.g., a user's state) outside the electronic device 201, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 276 may include, for example, a gesture sensor, a gyroscope sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illumination sensor.
[0048] The interface 277 may support one or more designated protocols for direct (e.g., wired) or wireless coupling of the electronic device 201 to an external electronic device (e.g., electronic device 202). According to an embodiment, the interface 277 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0049] The connection terminal 278 may include a connector, and the electronic device 201 may be physically connected to an external electronic device (e.g., the electronic device 202) via the connector. According to an embodiment, the connection terminal 278 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0050] The haptic module 279 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus, which may be recognized by the user via his tactile sense or kinesthetic sense. According to an embodiment, the haptic module 279 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0051] The camera module 280 may capture a still image or a moving image. According to an embodiment, the camera module 280 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0052] The power management module 288 may manage power supplied to the electronic device 201. According to one embodiment, the power management module 288 may be implemented as, for example, at least a portion of a power management integrated circuit (PMIC).
[0053] The battery 289 may supply power to at least one component of the electronic device 201. According to an embodiment, the battery 289 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0054] The communication module 290 can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 201 and an external electronic device (e.g., electronic device 202, electronic device 204, or server 208), and perform communication via the established communication channel. The communication module 290 may include one or more communication processors that can operate independently of the processor 220 (e.g., an application processor (AP)) and support direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 290 may include a wireless communication module 292 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 294 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 298 (e.g., a communication network 298). g. A second network 299 (e.g., Bluetooth™, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)) or a second network 299 (e.g., Bluetooth™, Wireless Fidelity (Wi-Fi) Direct, or Infrared Data Association (IrDA)). For example, a remote communication network, such as a traditional cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multiple components separated from each other (e.g., multiple chips). The wireless communication module 292 may use subscriber information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the subscriber identification module 296 to identify and authenticate the electronic device 201 in the communication network (e.g., the first network 298 or the second network 299).
[0055] The wireless communication module 292 can support 5G networks and next-generation communication technologies (e.g., new radio (NR) access technologies) after 4G networks. NR access technologies can support enhanced mobile broadband (eMBB), massive machine type communications (mMTC), or ultra-reliable and low-latency communications (URLLC). The wireless communication module 292 can support high-frequency bands (e.g., mmWave bands) to achieve, for example, high data transmission rates. The wireless communication module 292 can support various technologies for ensuring performance on high-frequency bands, such as, for example, beamforming, massive multiple input and multiple output (massive MIMO), full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. The wireless communication module 292 can support various requirements specified in the electronic device 201, an external electronic device (e.g., an electronic device 204), or a network system (e.g., a second network 299). According to an embodiment, the wireless communication module 292 can support a peak data rate for implementing eMBB (e.g., 20 Gbps or more), loss coverage for implementing mMTC (e.g., 164 dB or less), or U-plane delay for implementing URLLC (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or 1 ms or less round trip).
[0056] The antenna module 297 may send a signal or power to the outside of the electronic device 201 (e.g., an external electronic device) or receive a signal or power from the outside of the electronic device 201 (e.g., an external electronic device). According to an embodiment, the antenna module 297 may include an antenna including a radiation element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 297 may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network such as the first network 298 or the second network 299 may be selected from the plurality of antennas by the communication module 290 (e.g., a wireless communication module 292). Then, a signal or power may be sent or received between the communication module 290 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiation element may be additionally formed as a part of the antenna module 297.
[0057] According to various embodiments, the antenna module 297 may form a millimeter wave antenna module. According to an embodiment, the millimeter wave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., millimeter wave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving signals of the specified high frequency band.
[0058] At least some of the above components can be coupled to each other and transmit signals (e.g., commands or data) therebetween via an inter-peripheral communication scheme (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)).
[0059] According to an embodiment, a command or data may be sent or received between the electronic device 201 and the external electronic device 204 via a server 208 coupled to the second network 299. Each of the electronic devices 202 or 204 may be a device of the same type or a different type as the electronic device 201. According to an embodiment, all or some operations to be performed at the electronic device 201 may be performed at one or more of the external electronic devices 202, 204 or 208. For example, if the electronic device 201 should automatically perform a function or service, or in response to a request from a user or another device, the electronic device 201 may request one or more external electronic devices to perform at least a portion of the function or service instead of or in addition to performing the function or service. The one or more external electronic devices receiving the request may perform at least a portion of the requested function or service, or an additional function or additional service related to the request, and transmit the result of the execution to the electronic device 201. The electronic device 201 may provide the result as at least a part of the reply to the request with or without further processing the result. To this end, for example, cloud computing, distributed computing, mobile edge computing (MEC) or client-server computing technology may be used. The electronic device 201 can use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, the external electronic device 204 may include an Internet of Things (IoT) device. The server 208 may be an intelligent server using machine learning and / or neural networks. According to an embodiment, the external electronic device 204 or the server 208 may be included in the second network 299. The electronic device 201 can be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or health care) based on 5G communication technology or IoT-related technologies.
[0060] Figure 3is a diagram illustrating a network including IoT devices according to an embodiment.
[0061] refer to Figure 3 , the network 300 may include a server 310 operating as an IoT cloud, an electronic device 201 communicating with the server 310 through a network communication (e.g., the Internet), and one or more external electronic devices 320 (e.g., IoT devices 320a, 320b, 320c, and 320d) supporting IoT technology. In an embodiment, one or more IoT devices 320 may include at least one small object device (e.g., a sensor device) that can be operated using a battery. In an embodiment, at least one IoT device 320 (e.g., a small object device) may use a low-power communication protocol (such as Zigbee, Z-wave, and / or Bluetooth Low Energy (BLE)) to replace Wi-Fi or Ethernet that consumes a lot of power for Internet connection.
[0062] In an embodiment, at least one IoT device 320 (e.g., a small object device) cannot directly access network communication (e.g., the Internet) through a low-power communication protocol (e.g., Zigbee, Z-wave, and / or BLE), and can be connected to the network communication through a first external electronic device (e.g., a hub device 330) that relays communication between the low-power communication protocol and the network communication. The hub device 330 can support a connection between at least one IoT device 320 and the electronic device 201 and / or a connection between at least one IoT device 320 and the server 310. In an embodiment, the electronic device 201 can communicate with at least one IoT device 320 through the hub device 330, through the server 310, through long-range wireless communication (e.g., the second network 299), or through short-range wireless communication (e.g., the first network 298).
[0063] In an embodiment, at least one IoT device 320 may be controlled by a remote command (e.g., a control command of the electronic device 201) (e.g., to report a status and / or perform a specific function), and the at least one IoT device 320 may include, for example, at least one of a television, an air conditioner, a refrigerator, a washing machine, a light bulb device, a security camera, a sensor, or a window treatment. In an embodiment, one or more IoT devices 320 may include a plurality of IoT devices (e.g., sensor devices) configured as a package (e.g., package 500) together with the hub device 330.
[0064] In an embodiment, at least one IoT device 320 may communicate with the electronic device 201 and / or the server 310 through the hub device 330. In an embodiment, at least one IoT device 320 may be configured to communicate with the hub device 330 and / or the electronic device 201 through long-range wireless communication (e.g., the second network 299) or through short-range wireless communication (e.g., the first network 298). In an embodiment, if at least one IoT device 320 is a small object device, at least one IoT device 320 may be connected to the hub device 330 through a low-power communication protocol and may be configured to communicate with the server 310 and / or the electronic device 201 through the hub device 330.
[0065] In an embodiment, the electronic device 201 may be a personal electronic device, such as a smart phone, a tablet, or a wearable device, or an electronic device with a display and a user interface, such as a television or a console. The electronic device 201 may discover the hub device 330 and perform a first loading process (e.g., a hub loading process) to authenticate the discovered hub device 330 and register it with the server 310. After registering with the server 310, the hub device 330 may perform a second loading process (e.g., a device loading process) to authenticate at least one IoT device 320 and register it with the server 310 to be associated with a user account. The electronic device 201 may monitor, configure, and control at least one IoT device 320 registered with the server 310 using a user account.
[0066] In an embodiment, the electronic device 201 may identify the state of at least one IoT device 320 that the user wants to use for IoT control service, or control (e.g., send a control command to it indicating execution of a specific function) at least one IoT device 320. In an embodiment, the electronic device 201 may be an owner device included in the network 300. In an embodiment, although not shown, at least one member device including at least some functions and / or permissions of the electronic device 201 may be included in the network 300. In an embodiment, the member device may not perform a loading process for the hub device 330 and / or at least one IoT device 320, but may perform a function of identifying or controlling the state of at least one IoT device 320 registered with the server 310.
[0067] In one embodiment, the hub device 330 is an electronic device that operates an IoT control service, and may be a server or gateway set within a building (home or hotel), or a remote server set outside the building. In one embodiment, the hub device 330 may be a home appliance with a hub function, such as a smart phone, a tablet, a personal computer (PC), or a TV. The hub device 330 may perform a second loading process (e.g., a device loading process) for registering at least one IoT device 320 with the server 310 according to at least one of the embodiments described below.
[0068] In an embodiment, in the case where at least one IoT device 320 is a sensor device, at least one IoT device 320 may report the collected sensor data to the server 310 through the hub device 330 according to a specified event (e.g., periodically or when a specified condition is met). In an embodiment, at least one IoT device 320 may perform an operation corresponding to a control command sent by the electronic device 201 through the hub device 330 or through the server 310 and the hub device 330. In an embodiment, it may receive a control command generated by the server 310 according to a specified automatic rule through the hub device 330, and perform an operation corresponding to the control command.
[0069] In an embodiment, the hub device 330 may be connected to at least one IoT device 320 using a low-power communication protocol (e.g., Zigbee, Z-wave, and / or BLE), and may transmit information (e.g., sensor data) received from at least one IoT device 320 to the server 310. In an embodiment, the hub device 330 may interpret the information (e.g., sensor data or request) received from at least one IoT device 320 and perform operations according to the interpretation results.
[0070] In an embodiment, the electronic device 201 may include an application (e.g., IoT application) for communicating with the hub device 330 and / or at least one IoT device 320, and display information (e.g., sensor data and / or status) collected by at least one IoT device 320 by executing the IoT application on a display module (e.g., display module 260). In an embodiment, the electronic device 201 may send a control command input from a user through the IoT application to at least one IoT device 320 through the server 310 and the hub device 330.
[0071] In an embodiment, the server 310 may store status information of at least one IoT device 320 connected through the hub device 330, and provide the status information to the electronic device 201. In an embodiment, the server 310 may send a control command received from the electronic device 201 to the at least one IoT device 320 through the hub device 330. In an embodiment, the server 310 may store at least one automatic rule for at least one IoT device 320, generate a control command according to the at least one automatic rule, and send it to the at least one IoT device 320 through the hub device 330.
[0072] In an embodiment, the electronic device 201 may perform a first loading process (e.g., a hub loading process) of installing an IoT application for a user to identify and configure at least one IoT device 320 and registering the hub device 330 to the server 310 through the IoT application. After the hub device 330 is registered, the electronic device 201 may receive a loading result of at least one IoT device 320 registered on the server 310 from the server 310 through the hub loading process, thereby identifying, configuring, and controlling at least one IoT device 320 through the IoT application.
[0073] The electronic device 201 may display a directory providing at least one IoT device 320 that can be connected through the IoT application, so as to identify at least one IoT device 320 through the IoT application, and may receive a user input from the user for selecting at least one IoT device 320 (e.g., IoT device 320a) that is desired to be connected from the directory. In response to the user input, the electronic device 201 may display an installation guide for putting the IoT device 320a into a connection mode (e.g., a setup mode).
[0074] The installation guide may include at least one of guide information requesting capture of a machine-readable indicator (e.g., a quick response (QR) code or a barcode) of the IoT device 320a by a camera (e.g., camera module 280) of the electronic device 201, guide information requesting pressing a designated button of the IoT device 320a, guide information requesting installation of a battery into the IoT device 320a, or guide information requesting turning on the power of the IoT device 320a.
[0075] The electronic device 201 may capture the QR code of the IoT device 320a through a camera (e.g., the camera module 280), obtain connection information (e.g., an installation code to be used to connect with the IoT device 320a) from the QR code, and send the connection information to the hub device 330. In one embodiment, the installation code may include a security key to be used by the hub device 330 to load the IoT device 320a. The hub device 330 may establish a connection (e.g., a Zigbee connection, a Z-wave connection, or a BLE connection) with the IoT device 320a based on the connection information.
[0076] When establishing a connection with the IoT device 320a, the hub device 330 may request the server 310 to generate a device record for the IoT device 320a and synchronize the information of the IoT device 320a (e.g., device ID and / or model name) with the server 310, thereby performing a device loading process for the IoT device 320a. After the device loading process is completed, the electronic device 201 may receive the loading result of the IoT device 320a from the server 310, and display information notifying the IoT device 320a of the completion of the connection through the IoT application.
[0077] In one embodiment, the hub device 330 and at least one IoT device 320 may be manufactured and sold as a package (e.g., package 500) such as a starter kit or bundle set. One or more IoT devices 320 in the package may include multiple IoT devices, and in order to register the IoT devices one by one with the server 310 according to the above process, it may be inconvenient to scan the QR code of each IoT device one by one through the electronic device 201.
[0078] The embodiments of the present disclosure enable users to simply and conveniently connect IoT devices packaged with the hub device 330 to an IoT environment (e.g., an IoT application of the electronic device 201) to build an IoT environment. The embodiments of the present disclosure enable users to omit the complicated process of operating and connecting the hub device 330 and the IoT device when manufacturing a package including the hub device 330 and the IoT device, thereby improving production and packaging efficiency. The embodiments of the present disclosure can reduce the inconvenience of manufacturers and users when registering multiple IoT devices on an IoT application.
[0079] Figure 4 is a block diagram showing the internal configuration of the hub device 330 according to the embodiment.
[0080] refer to Figure 4, the hub device 330 can be configured to connect at least one external electronic device (e.g., at least one IoT device 320) to the server 310 via network communication (e.g., the Internet) to implement IoT services (e.g., event-based IoT services) in a wireless communication network (e.g., an IoT network). For example, the IoT network can be a smart home network, and the IoT service can be an automation service. The hub device 330 may include a communication circuit 402, a processor 404, a memory 406, an interface 408, and / or a display 410.
[0081] In an embodiment, at least one of the communication circuit 402, the processor 404, the memory 406, the interface 408, or the display 410 may be respectively Figure 2 The communication module 290, processor 220, memory 230, interface 277 or display module 260 described in are implemented similarly or substantially identically.
[0082] In one embodiment, the hub device 330 may be a device supporting Zigbee, Z-Wave, Wi-Fi, classic Bluetooth, and / or Bluetooth Low Energy (BLE). The hub device 330 may include a communication circuit 402 that uses one or more antennas 401 to send and receive signals to and from at least one IoT device 320, server 310, or electronic device 201.
[0083] According to an embodiment, the communication circuit 402 may include one or more communication circuits (eg, Figure 2 The hub device 330 may include a communication module 290 in the embodiment, and one or more communication circuits may include communication circuits based on Zigbee, Z-Wave, Wi-Fi, classic Bluetooth and / or BLE. According to an embodiment, the hub device 330 may include separate communication circuits based on Zigbee, Z-Wave, Wi-Fi, classic Bluetooth and / or BLE, respectively, or may include at least one communication circuit based on at least one or a combination of Zigbee, Z-Wave, Wi-Fi, classic Bluetooth and / or BLE.
[0084] The hub device 330 may include an interface 408 (e.g., Figure 2 The interface 408 provides a wired and / or wireless interface for communicating with external components. In an embodiment, at least some of the one or more antennas 401, the communication circuit 402, or the interface 408 may be implemented as Figure 2 At least a portion of the communication module 290 and the antenna module 298.
[0085] The hub device 330 may include a processor 404 (eg, Figure 2 220 in the hub device 330), and a memory 406 storing instructions for the operation of the hub device 330 (e.g., Figure 2 Memory 230 in the memory).
[0086] According to an embodiment, the memory 406 may store images and UIs, user information, documents, databases, or related data for providing a user interface (UI) related to the IoT application. According to an embodiment, when the IoT application is executed under the control of the processor 404, the display 410 (e.g., Figure 2 The display module 260 in the example may display a UI related to the IoT application.
[0087] Figure 5 is a diagram illustrating a process for registering an IoT device according to an embodiment.
[0088] refer to Figure 5 , the server 310 may store installation data 505 required for loading at least one IoT device 320. In an embodiment, the server 310 may obtain and store the installation data 505 from a manufacturer that manufactures a package 500 including at least one IoT device 320 and a hub device 330. In an embodiment, when manufacturing or selling a package 500 including at least one IoT device 320 and a hub device 330, an engineer may obtain at least one of a photo of the hub device 330, a QR code of at least one IoT device 320, or a serial number of the hub device 330, and register the obtained information with the server 310, for example, through the web. The server 310 may configure the installation data 505 based on the obtained information. In an embodiment, the obtained information may include all information required to configure the installation data 505. In an embodiment, the server 310 may collect at least some information necessary to configure the installation data 505 from, for example, a manufacturer server (not shown) based on the obtained information.
[0089] In an embodiment, the installation data 505 may include at least one piece of hub information associated with the hub device 330 or device information associated with each of the one or more IoT devices 320. In an embodiment, the hub information may include at least one of a hub serial number (SN), a hub ID, or a hub model name. In an embodiment, the device information may include at least one of a device model name (e.g., "motion," "button," "multipurpose," or "light bulb"), a device model code, a device ID, or an installation code 505a. In an embodiment, the device ID may include a device EUI (Extended Unique Identifier), and the device EUI may be a 64-bit globally unique value assigned to a manufacturer, an owner, or each IoT device. In an embodiment, the installation code 505a may include a security key for encrypted communication according to a communication protocol (e.g., Zigbee, Z-wave, or BLE) used between each IoT device 320 and the hub device 330. The hub device 330 may load each IoT device 320 using the above-mentioned installation code 505a.
[0090] Table 1 below shows an example of the installation data 505 .
[0091] [Table 1]
[0092]
[0093] Referring to Table 1 above, the installation data 505 may include at least one of the following fields.
[0094] - Package ID: an ID uniquely assigned to the package 500 including at least one IoT device 320 and the hub device 330, which may be, for example, "StarterKit-000001".
[0095] - Package Model Name: The product model name of the package 500 including at least one IoT device 320 and the hub device 330, which may be, for example, "Model-01".
[0096] - Hub Serial Number: The unique serial number of the hub device 330, which may be, for example, "12345678".
[0097] - Hub Model Name: The model name of the hub device 330, which may be, for example, "IM6001-Vxxxx".
[0098] - Device Model Code: The model code of each IoT device 320, which may be, for example, "Xxx01".
[0099] - Device Model Name: The model name of each IoT device 320, which may be, for example, "Motion", "Button", "Light Bulb", "Socket", or "Switch".
[0100] - Device EUI: A unique ID for each IoT device 320, which may be, for example, "12AB34CD0001xxx".
[0101] - Device installation code (e.g., installation code 505a): A security key for each IoT device 320 used during device loading (e.g., operation 530), where the length, format, and method of use can be determined based on the protocol used (e.g., Zigbee, Z-wave, or BLE). For example, the device installation code can be "12-34-56-78-xxxx". The device installation code of an IoT device 320 can vary or be the same between various IoT devices 320.
[0102] In an embodiment, the installation data 505 may include at least a hub serial number, a device ID, and an installation code 505a. In an embodiment, since the same model of package 500 may include the same model of hub device (e.g., hub device 330) and IoT device (e.g., IoT device 320), the installation data 505 may include the package model name, but may not include the hub model name and / or (multiple) device model names.
[0103] In an embodiment, the server 310 may obtain and store the installation data 505 from a computer in a seller or store that sells a package 500 including a hub device 330 and at least one IoT device. In an embodiment, when selling the package 500 including at least one IoT device 320 and the hub device 330, the seller, the user who purchases the package, or the agent may obtain at least one of a photo of the hub device 330, a QR code of at least one IoT device 320, or a serial number of the hub device 330, and may register the obtained information with the server 310 through, for example, the web. In an embodiment, the obtained information may include all information necessary to configure the installation data 505. In an embodiment, the server 310 may collect at least some of the information necessary to configure the installation data 505 from, for example, a manufacturer server (not shown) based on the obtained information.
[0104] In operation 510, the electronic device 201 may perform a first loading process (eg, a hub loading process) to register the hub device 330 with the server 310. In an embodiment, the hub loading process in operation 510 may be performed, for example, at least before operation 525.
[0105] In operation 515, the electronic device 201 may send a request message to the server 310, the request message requesting installation data 505 related to the package 500 including the hub device 330 and at least one IoT device 320. In an embodiment, the electronic device 201 may request the installation data 505 based on the serial number of the hub device 330 or the package ID of the package 500. In an embodiment, the electronic device 201 may obtain the serial number of the hub device 330 from the QR code of the hub device 330 or from a server (e.g., the server 310). In an embodiment, the electronic device 201 may obtain the package ID from the QR code of the package 500, or obtain the package ID printed (or attached) on the package 500 through, for example, user input. In operation 520, the server 310 may send the installation data 505 to the electronic device 201 in response to the request message.
[0106] In operation 525, the electronic device 201 may send the installation data 505 to the hub device 330. In an embodiment, the hub device 330 may register with the server 310 by establishing a connection (e.g., a Wi-Fi connection, a Bluetooth connection, or a BLE connection) with the electronic device 201 and performing a hub loading process in operation 510 by the electronic device 201, and the electronic device 201 may send the installation data 505 to the hub device 330 through the connection. In an embodiment, the electronic device 201 may establish a new connection for sending the installation data 505 while identifying the hub device 330 through the hub loading process in operation 510.
[0107] In operation 530, the hub device 330 may perform a device loading process for each of the one or more IoT devices 320 using the installation data 505. In an embodiment, the hub device 330 may use the installation code 505a of at least one IoT device 320 included in the installation data 505 to establish a connection with at least one IoT device 320, and perform the device loading process so that at least one IoT device 320 may register with the server 310 through the connection. Through the device loading process, the server 310 may identify at least one IoT device 320 and store its device information.
[0108] In operation 535, the electronic device 201 may receive a loading result indicating that the loading of at least one IoT device 320 has been completed from the server 310, and provide a notification message indicating that at least one IoT device 320 has been registered through the IoT application to the user. In an embodiment, the server 310 may recognize that the loading of all IoT devices included in the installation data 505 has been completed based on the installation data 505, and send the loading result to the electronic device 201.
[0109] Figure 61 is a flowchart illustrating the operation of an electronic device for registering an IoT device according to an embodiment. At least one of the operations described below may be performed by the processor 220 of the electronic device 201. According to an embodiment, the order of at least one of the operations described below may be omitted, modified, or changed.
[0110] refer to Figure 6 In operation 605, the electronic device 201 (e.g., the processor 220) may obtain installation data (e.g., installation data 505) related to the first external electronic device (e.g., the hub device 330). In one embodiment, the installation data 505 may include an installation code (e.g., installation code 505a) of at least one second external electronic device (e.g., at least one IoT device 320) that can be connected to the hub device 330. In an embodiment, based on a user account and identification information (e.g., a hub serial number and / or a hub MAC (Media Access Control) address) of the hub device 330 or identification information (e.g., package ID) of a package (e.g., package 500) including the hub device 330 and at least one IoT device 320, the electronic device 201 (e.g., the processor 220) may request the installation data 505 from the server 310 and receive the installation data 505 from the server 310.
[0111] In an embodiment, the electronic device 201 (e.g., the processor 220) can obtain the installation data 505 based on a machine-readable indicator (e.g., a QR code or a barcode) of the package 500 including the hub device 330 and the IoT device 320. For example, the QR code can be printed or attached to the surface of the hub device 330 or the surface of the package 500, and the electronic device 201 (e.g., the processor 220) can capture the QR code to obtain a URL address (e.g., the IP address of the server 310) and access the URL address, thereby obtaining the installation data 505 (or at least some of the installation data). In an embodiment, at least some of the installation data 505 can be stored in the hub device 330, and the electronic device 201 (e.g., the processor 220) can receive at least some of the installation data 505 (e.g., an installation guide) from the hub device 330.
[0112] In operation 610, the electronic device 201 (e.g., the processor 220) may perform a hub loading process to register the hub device 330 with the server 310. In an embodiment, the electronic device 201 (e.g., the processor 220) may obtain identification information (e.g., a serial number) of the hub device 330 from a machine-readable indicator (e.g., a QR code or a barcode) of the hub device 330, and establish a connection (e.g., a Wi-Fi connection or a BLE connection) with the hub device 330 based on the identification information. The electronic device 201 (e.g., the processor 220) may authenticate the hub device 330 through the connection, and provide the hub device 330 with connection information to be used to connect to the server 310. The hub device 330 may establish a connection with the server 310 based on the connection information, and register with the server 310 through the connection.
[0113] In operation 615, the electronic device 201 (e.g., the processor 220) may transmit the installation data 505 obtained in operation 605 to the hub device 330. In an embodiment, the electronic device 201 (e.g., the processor 220) may recognize that the hub loading process for the hub device 330 has been completed, and transmit the installation data 505 using the connection established between the hub devices 330. In an embodiment, the electronic device 201 (e.g., the processor 220) may re-establish the connection with the hub device 330 for the installation data 505, and transmit the installation data 505 to the hub device 330.
[0114] In one embodiment, the hub device 330 may perform a device loading process for at least one IoT device 320 in response to receiving the installation data 505. In an embodiment, although not shown, the electronic device 201 (e.g., the processor 220) may send a loading command to the hub device 330 through the server 310 or directly to request the hub device 330 to perform a device loading process for at least one IoT device 320. In an embodiment, the electronic device 201 (e.g., the processor 220) may send a loading command to the hub device 330 according to user input. In one embodiment, the hub device 330 may perform a device loading process for at least one IoT device 320 in response to the loading command.
[0115] In operation 620, the electronic device 201 (e.g., the processor 220) may display an installation guide for at least one IoT device 320 through a display module (e.g., the display module 260) based on the installation data 505. In an embodiment, the installation guide may include a message (e.g., at least one of text, image, voice, or sound) to guide the user operation required for each IoT device 320 (e.g., scanning a QR code, pressing a designated button, or installing a battery). At least one IoT device 320 may enter a setup mode in response to the user operation based on the installation guide, and may be loaded onto the server 310 by the hub device 330 that received the installation data in operation 615.
[0116] In operation 625, the electronic device 201 (e.g., the processor 220) may receive a loading result indicating that the device loading process for at least one IoT device 320 has been completed from the server 310. In an embodiment, the loading result may include information indicating that the device loading process for all IoT devices 320 or at least some of them included in the package 500 has been completed. In an embodiment, the electronic device 201 (e.g., the processor 220) may display information (e.g., a device name or image) of at least one IoT device 320 that has been loaded through a display module (e.g., the display module 260) according to the loading result.
[0117] Figure 7 4 is a flowchart illustrating the operation of a hub device for registering an IoT device according to an embodiment. At least one of the operations described below may be performed by the processor 404 of the hub device 330. According to an embodiment, the order of at least one of the operations described below may be omitted, modified, or changed.
[0118] refer to Figure 7 In operation 705, the hub device 330 (e.g., the processor 404) may receive installation data (e.g., installation data 505) for at least one external electronic device (e.g., IoT device 320) from the electronic device 201. In an embodiment, the hub device 330 has completed the hub loading process and may receive the installation data 505 through a connection (e.g., a Wi-Fi connection or a BLE connection) with the electronic device 201. The hub device 330 (e.g., the processor 404) may obtain the installation code (e.g., installation code 505a) of each IoT device 320 from the installation data 505.
[0119] In operation 710, the hub device 330 (e.g., the processor 404) may perform a device loading process for each IoT device 320 included in the installation data 505 based on the installation data 505. In an embodiment, operation 710 may include at least one of operation 715, operation 720, operation 725, or operation 730. In an embodiment, the installation data 505 may include device identification information (e.g., at least one of a device ID, a serial number, a MAC address, a model name, or a model code) and an installation code (e.g., installation code 505a) of at least one IoT device 320 that can be connected to the hub device 330. In one embodiment, the hub device 330 may perform a device loading process in operation 710 in response to receiving the installation data 505. Although not shown, in an embodiment, the hub device 330 may perform a device loading process in operation 710 in response to a loading command received through the server 310 or directly from the electronic device 201.
[0120] In operation 715, the hub device 330 (e.g., the processor 404) may establish a connection with one of the IoT devices (e.g., the IoT device 320a) included in the installation data 505. In an embodiment, the hub device 330 (e.g., the processor 404) may obtain the installation code 505a of the IoT device 320a from the installation data 505, and establish a connection (e.g., a Zigbee connection, a Z-wave connection, or a BLE connection) with the IoT device 320a. In an embodiment, the installation code 505a may include a security key for performing encrypted communication with the IoT device 320a through the connection. The IoT device 320a may connect to the hub device 330 that knows the installation code 505a.
[0121] In operation 720, the hub device 330 (e.g., the processor 404) may request the server 310 to generate a device record associated with the IoT device 320a that establishes the connection. In one embodiment, the hub device 330 (e.g., the processor 404) may send a device record generation request including the device identification information of the IoT device 320a to the server 310. In response to the device record generation request, the server 310 may generate and store a device record for the IoT device 320a. In one embodiment, the server 310 may use the device record to store information (e.g., sensor data and / or status information) collected from the IoT device 320a through the hub device 330 for IoT services.
[0122] In operation 725, the hub device 330 (eg, the processor 404) may receive a load completion response from the server 310 indicating that a device record of the IoT device 320a has been generated.
[0123] In operation 730, the hub device 330 (e.g., the processor 404) may determine whether the device loading of all IoT devices 320 included in the installation data 505 is completed based on the installation data 505. In an embodiment, the hub device 330 (e.g., the processor 404) may perform the device loading process of one or more IoT devices 320 sequentially or in parallel. If the device loading of all IoT devices 320 is not completed, the hub device 330 (e.g., the processor 404) may proceed to operation 715 to perform the device loading of the next IoT device (e.g., IoT device 320b). If the device loading of all IoT devices 320 is completed, the hub device 330 (e.g., the processor 404) may proceed to operation 735. In an embodiment, even if the device loading of all IoT devices 320 is not completed, if a specified time has passed after the device loading starts or if a loading stop command is received from the electronic device 201, the hub device 330 (e.g., the processor 404) may proceed to operation 735.
[0124] In operation 735, the hub device 330 (e.g., processor 404) may recognize that the device loading process has been completed. In an embodiment, the hub device 330 (e.g., processor 404) may provide a message to the user through a display (e.g., display 410) or through sound to notify that the IoT device 320 of the package 500 has been registered.
[0125] Figure 8 An example of a sequence diagram for providing a quick connection of an IoT device according to an embodiment is shown. According to an embodiment, the order of at least one of the operations described below may be omitted, modified, or changed.
[0126] Reference Figure 8 In operation 702, the electronic device 201 may execute an IoT application for IoT services. In an embodiment, the electronic device 201 may receive a user input requesting to add a device through the IoT application. In an embodiment, the electronic device 201 may receive a user input requesting to upload a hub device 330 or to upload a package 500 including a hub device 330 and at least one IoT device 320 through the IoT application. The electronic device 201 may perform operation 804 or operation 812 to obtain package identification information (e.g., a hub serial number or package ID) required to load the package 500.
[0127] Operation 804 is intended to obtain package identification information from the server 310, and may include, for example, at least one of operation 806, operation 808, or operation 810. In operation 806, the electronic device 201 may receive a user account ID from a user through, for example, the input module 250. In an embodiment, the electronic device 201 may obtain the user account ID from the login information of the IoT application. In operation 808, the electronic device 201 may send a package identification request message including the user account ID to the server 310. The server 310 may store the installation data 505 obtained from the manufacturer or seller of the package 500 or the hub device 330. In one embodiment, after the package 500 or the hub device 330 is sold to the user, the server 310 may obtain and store the user account ID and installation data 505 of the user who purchased the package 500 or the hub device 330 from the seller, and the installation data 505 may include package identification information (e.g., a hub serial number or a package ID). In operation 810, the server 310 may transmit the package identification information included in the installation data 505 to the electronic device 201 based on the user account ID. The electronic device 201 may receive the package identification information corresponding to the user account ID from the server 310.
[0128] In operation 812, the electronic device 201 may obtain the package identification information directly from the hub device 330 or the package 500, instead of receiving the package identification information from the server 310. In an embodiment, the electronic device 201 may obtain the hub serial number from the QR code of the hub device 330. In an embodiment, the electronic device 201 may obtain the package ID from the QR code of the package 500. In an embodiment, the hub serial number or the package ID may be printed or attached to the surface of the package of the hub device 330 or the package 500, and the electronic device 201 may receive the hub serial number or the package ID input by the user. In an embodiment, operation 812 may be omitted, and the electronic device 201 may obtain the hub serial number during the hub loading process in operation 814.
[0129] In operation 814, the electronic device 201 may perform a hub loading process. In an embodiment, the electronic device 201 may use, for example, the hub serial number obtained in operation 804 or operation 812 to identify the ownership of the hub device 330 for the hub loading process. In an embodiment, the hub device 330 may authenticate the electronic device 201 based on the hub serial number received from the electronic device 201 and proceed with the hub loading process.
[0130] In an embodiment, the hub loading process may include at least one of the following operations: an operation of establishing a connection between the electronic device 201 and the hub device 330, an operation of the electronic device 201 sending connection information to the hub device 330, an operation of the hub device 330 connecting to the server 310 using the connection information, an operation of the hub device 330 sending device information of the hub device 330 to the server 310 (e.g., at least one of a device ID, a hub serial number, a hub model name, or a hub model code), or an operation of the server 310 notifying the electronic device 201 of the loading result of the hub device 330. In an embodiment, the connection information may include AP (access point) information (e.g., SSID (service set ID) and / or password) that the hub device 330 wants to access. In an embodiment, the hub loading process may include Fig.11 At least one of the operations shown.
[0131] In operations 816 and 818, the electronic device 201 may obtain installation data 505 for at least one IoT device 320 from the server 310. In one embodiment, operations 816 and 818 may be performed simultaneously with or at least partially overlapped with the hub loading process in operation 814. In an embodiment, operations 816 and 818 may be performed before or after the hub loading process in operation 814.
[0132] In operation 816, the electronic device 201 may send an installation data request message to the server 310. In an embodiment, the installation data request message may include package identification information (e.g., a hub serial number or package ID) and / or a user account ID. In operation 818, the server 310 may find the installation data 505 based on the package identification information and / or the user account ID, and send the installation data 505 to the electronic device 201. In an embodiment, the installation data 505 provided from the server 310 may include at least the hub serial number, the device ID, and the installation code 505a.
[0133] In operation 820, the electronic device 201 may obtain the installation code 505a of at least one IoT device 320 included in the installation data 505. In operation 822, the electronic device 201 may send at least the installation code 505a to the hub device 330. In an embodiment, the electronic device 201 may send at least some or all of the installation data 505 to the hub device 330. In an embodiment, the electronic device 201 may send the device ID (e.g., device EUI) and the installation code 505a of each IoT device 320 included in the installation data 505 to the hub device 330. In an embodiment, at least some or all of the installation data 505 may be sent directly from the electronic device 201 to the hub device 330 (e.g., via a Wi-Fi connection or a BLE connection), or may be sent from the electronic device 201 to the hub device 330 via the server 310.
[0134] In operation 824, the electronic device 201 may display an installation guide of at least one IoT device 320 included in the installation data 505 based on the installation data 505. Although not shown, the electronic device 201 may obtain an installation guide of at least one IoT device 320 included in the installation data 505 from a server (e.g., server 310 or a manufacturer server (not shown)) based on device information (e.g., device model name and / or device model code) included in the installation data 505. The electronic device 201 may display the installation guide until the completion of loading of at least one IoT device 320 is notified from the server 310 or the installation guide is displayed within a specified time period. The user may operate at least one IoT device 320 (e.g., press a specified button, install a battery, or turn on a power source) based on the installation guide to switch at least one IoT device 320 to a state (e.g., a setup mode) in which it can be connected to the hub device 330 (e.g., a state of broadcasting a beacon signal). The hub device 330 may discover at least one IoT device 320 by receiving a beacon signal. At least one IoT device 320 may maintain a setup mode until it is connected to the hub device 330 .
[0135] In operation 826, the hub device 330 may perform a device loading process for registering the corresponding IoT device 320 with the server 310 based on the installation data 505 (e.g., the installation code 505a) received in operation 822. In an embodiment, the device loading process may include at least one of operation 715, operation 720, or operation 725. In an embodiment, the hub device 330 may enter a joining mode after receiving the installation data 505 to perform the device loading process. In the joining mode, the hub device 330 may identify at least one IoT device 320 (e.g., IoT device 320a) based on the installation data 505 (e.g., device ID) received in operation 822 to discover the IoT device 320a and establish a connection (e.g., Zigbee connection, Z-wave connection, or BLE connection) with the discovered IoT device 320a. The hub device 330 may perform encrypted communication with the discovered IoT device 320a by connecting based on the installation code 505a.
[0136] In the join mode, the hub device 330 may request the server 310 to generate a device record for the discovered IoT device 320a. In one embodiment, the hub device 330 may maintain the join mode until the device loading of all IoT devices 320 included in the installation data 505 is completed. In one embodiment, the hub device 330 may maintain the join mode for a specified period of time after starting the device loading process. In an embodiment, the hub device 330 may maintain the join mode until a loading stop command is received from the electronic device 201.
[0137] In operation 828, the server 310 may send a loading result indicating that the device loading of at least one IoT device 320 included in the installation data 505 has been completed to the electronic device 201. In an embodiment, the server 310 may send the loading result when the device loading of all IoT devices 320 included in the installation data 505 has been completed. In an embodiment, the server 310 may send the loading result whenever the device loading of any one IoT device 320 included in the installation data 505 is completed. In an embodiment, if the loading results of all IoT devices 320 are not received from the server 310 until a specified time period has passed after the installation data 505 is sent in operation 822, the electronic device 201 may send a loading stop command to the hub device 330.
[0138] When the device loading is completed, the server 310 can manage the device record of each IoT device 320, and include information (e.g., sensor data and / or status information) of each IoT device 320 collected by the hub device 330 in the device record. In an embodiment, the server 310 can provide the electronic device 201 with the information (e.g., sensor data and / or status information) included in the device record according to a specified event or a request from the electronic device 201.
[0139] Fig. 9 4 is a flowchart illustrating the operation of a hub device for registering an IoT device according to an embodiment. At least one of the operations described below may be performed by the processor 404 of the hub device 330. According to an embodiment, the order of at least one of the operations described below may be omitted, modified, or changed.
[0140] refer to Fig. 9 In operation 905, the hub device 330 (e.g., the processor 404) may be connected to the electronic device 201 and may be registered with the server 310 through a hub loading process. In an embodiment, the hub device 330 (e.g., the processor 404) may perform the hub loading process according to a loading command from the electronic device 201.
[0141] In operation 910, the hub device 330 (e.g., the processor 404) may obtain installation data (e.g., the installation data 505) related to at least one IoT device 320 of the hub. In an embodiment, the installation data 505 may include an installation code 505a of at least one IoT device 320 connectable to the hub device 330. The hub device 330 (e.g., the processor 404) may obtain the installation code (e.g., the installation code 505a) of each IoT device 320 from the installation data 505.
[0142] In an embodiment, the hub device 330 (e.g., the processor 404) may request the installation data 505 from the server 310 based on the identification information of the hub device 330 (e.g., the hub serial number) or the identification information of the package 500 including the hub device 330 and at least one IoT device 320 (e.g., the package ID) and may receive the installation data 505 from the server 310. In an embodiment, the hub device 330 (e.g., the processor 404) may obtain the installation data 505 from a machine-readable indicator (e.g., a QR code or a barcode) of the package 500 including the hub device 330 and the IoT device 320.
[0143] In operation 915, the hub device 330 (e.g., the processor 404) may perform a device loading process for a corresponding IoT device 320 included in the installation data 505 based on the installation data 505. In an embodiment, operation 915 may include at least one of operation 920, operation 925, operation 930, or operation 935. In an embodiment, the installation data 505 may include device identification information (e.g., at least one of a device ID, a model name, or a model code) and an installation code (e.g., installation code 505a) of at least one IoT device 320 connectable to the hub device 330.
[0144] In operation 920, the hub device 330 (e.g., the processor 404) may establish a connection with any one of the IoT devices (e.g., the IoT device 320a) included in the installation data 505. In an embodiment, the hub device 330 (e.g., the processor 404) may obtain the installation code 505a of the IoT device 320a from the installation data 505, and establish a connection (e.g., a Zigbee connection, a Z-wave connection, or a BLE connection) with the IoT device 320a. In an embodiment, the installation code 505a may include a security key for performing encrypted communication with the IoT device 320a through the connection. The IoT device 320a may be connected to the hub device 330 that knows the installation code 505a.
[0145] In operation 925, the hub device 330 (e.g., the processor 404) may request the server 310 to generate a device record related to the IoT device 320a that establishes the connection. In one embodiment, the hub device 330 (e.g., the processor 404) may send a device record generation request including the device identification information of the IoT device 320a to the server 310. The server 310 may generate and store a device record of the IoT device 320a in response to the device record generation request. In one embodiment, the server 310 may use the device record to store information (e.g., sensor data and / or status information) collected from the IoT device 320a through the hub device 330 for IoT services.
[0146] In operation 930 , the hub device 330 (eg, the processor 404 ) may receive a load completion response from the server 310 indicating that a device record of the IoT device 320 a has been generated.
[0147] In operation 935, the hub device 330 (e.g., the processor 404) may determine whether the device loading of all IoT devices 320 included in the installation data 505 is completed based on the installation data 505. In an embodiment, the hub device 330 (e.g., the processor 404) may perform the device loading process of one or more IoT devices 320 sequentially or in parallel. If the device loading of all IoT devices 320 is not completed, the hub device 330 (e.g., the processor 404) may proceed to operation 920 to perform the device loading of the next IoT device (e.g., IoT device 320b). If the device loading of all IoT devices 320 is completed, the hub device 330 (e.g., the processor 404) may proceed to operation 940. In an embodiment, even if the device loading of all IoT devices 320 is not completed, if a specified time has passed after the device loading process is started or if a loading stop command is received from the electronic device 201, the hub device 330 (e.g., the processor 404) may proceed to operation 735.
[0148] In operation 940, the hub device 330 (e.g., processor 404) may recognize that the device loading process has been completed. In an embodiment, the hub device 330 (e.g., processor 404) may provide a message to the user notifying that the IoT device 320 of the package 500 has been registered through a display (e.g., display 410) or through sound.
[0149] Fig.10 An example of a sequence diagram for providing a quick connection of an IoT device according to an embodiment is shown. According to an embodiment, the order of at least one of the operations described below may be omitted, modified, or changed.
[0150] Reference Fig.10 In operation 1002, the electronic device 201 may execute an IoT application for IoT services. In an embodiment, the electronic device 201 may receive a user input requesting to add a device through the IoT application. In an embodiment, the electronic device 201 may receive a user input requesting to upload a hub device 330 or to upload a package 500 including a hub device 330 and at least one IoT device 320 through the IoT application.
[0151] In operation 1004, the electronic device 201 may perform a hub loading process. Although not shown, in an embodiment, the electronic device 201 may use, for example, the hub serial number obtained in operation 804 or operation 812 to identify the ownership of the hub device 330 for the hub loading process. In an embodiment, the hub device 330 may authenticate the electronic device 201 based on the hub serial number received from the electronic device 201 and proceed with the hub loading process.
[0152] In an embodiment, the hub loading process may include at least one of the following operations: an operation of establishing a connection between the electronic device 201 and the hub device 330, an operation of the electronic device 201 sending connection information (e.g., AP information) to the hub device 330, an operation of the hub device 330 connecting to the server 310 using the connection information, an operation of the hub device 330 sending device information of the hub device 330 (e.g., at least one of a device ID, a hub serial number, a hub model name, or a hub model code) to the server 310, or an operation of the server 310 notifying the electronic device 201 of the loading result of the hub device 330. In an embodiment, the hub loading process may include Fig.11 At least one of the operations shown.
[0153] In operation 1006, the electronic device 201 may send a device loading request to the server 310. In an embodiment, when the hub loading process in operation 1004 is completed, the electronic device 201 may send a device loading request for at least one IoT device 320 associated with the hub device 330 to the server 310. In an embodiment, the device loading request may include a user account ID and / or package identification information (e.g., a hub serial number or a package ID).
[0154] In operation 1008, the server 310 may send a device loading command to the hub device 330 based on the device loading request. In one embodiment, the device loading command may include at least some or all of the installation data 505 related to the hub device 330. In one embodiment, the device loading command may include at least a device ID (e.g., device EUI) and an installation code 505a of each IoT device 320 that can be connected to the hub device 330. In an embodiment, if the device loading command does not include the device ID and the installation code 505a, operations 1010 and 1012 may be performed. If the device loading command includes the device ID and the installation code 505a, operations 1010 and 1012 may be omitted. In an embodiment, the electronic device 201 may send the device loading command directly to the hub device 330 (e.g., not through the server 310), and operations 1006 and 1008 may be omitted.
[0155] In operations 1010 and 1012, the hub device 330 may obtain at least some or all of the installation data 505 of at least one IoT device 320 from the server 310. In operation 1010, the hub device 330 may send an installation data request message to the server 310. In an embodiment, the installation data request message may include package identification information (e.g., a hub serial number or package ID) and / or a user account ID. In operation 1012, the server 310 may find the installation data 505 based on the package identification information and / or the user account ID, and send at least some or all of the installation data 505 to the hub device 330. In operation 1014, the hub device 330 may obtain the installation code 505a of at least one IoT device 320 included in the installation data 505.
[0156] Although not shown, in one embodiment, the hub device 330 may display an installation guide of at least one IoT device 320 included in the installation data 505 on the display module 410 based on the installation data 505. Although not shown, the hub device 330 may obtain an installation guide of at least one IoT device 320 included in the installation data 505 from a server (e.g., server 310 or a manufacturer server (not shown)) based on device information (e.g., device model name and / or device model code) included in the installation data 505. The hub device 330 may display the installation guide until the device loading of all IoT devices 320 is completed or within a specified time period. The user may operate at least one IoT device 320 (e.g., press a specified button, install a battery, or turn on a power source) based on the installation guide to switch at least one IoT device 320 to a state (e.g., setup mode) in which it can be connected to the hub device 330 (e.g., a state of broadcasting a beacon signal). Each IoT device 320 may maintain the setup mode until it is connected to the hub device 330.
[0157] In operation 1016, the hub device 330 may perform a device loading process based on the installation data 505 (e.g., installation code 505a) received in operation 1008 or operation 1012 to register the corresponding IoT device 320 with the server 310. In an embodiment, the device loading process may include at least one of operation 920, operation 925, or operation 930. In an embodiment, the hub device 330 may enter a joining mode after receiving the installation data 505 to perform the device loading process. In the joining mode, the hub device 330 may identify at least one IoT device 320 (e.g., IoT device 320a) based on the installation data 505 (e.g., device ID) to discover the IoT device 320a and establish a connection (e.g., Zigbee connection, Z-wave connection, or BLE connection) with the discovered IoT device 320a. The hub device 330 may perform encrypted communication with the discovered IoT device 320a based on the installation code 505a. In the join mode, the hub device 330 may request the server 310 to generate a device record for the discovered IoT device 320a. In one embodiment, the hub device 330 may maintain the join mode until the device loading of all IoT devices 320 included in the installation data 505 is completed. In one embodiment, the hub device 330 may maintain the join mode for a specified time period after starting the device loading process. In one embodiment, the hub device 330 may maintain the join mode until a loading stop command is received from the electronic device.
[0158] In operation 1018, the server 310 may send a loading result indicating that the device loading of at least one IoT device 320 included in the installation data 505 has been completed to the electronic device 201. In an embodiment, the server 310 may send the loading result when the device loading of all IoT devices 320 included in the installation data 505 has been completed. In an embodiment, the server 310 may send the loading result whenever the device loading of any one IoT device 320 included in the installation data 505 is completed. In an embodiment, if the loading results of all IoT devices 320 are not received from the server 310 until a specified time period has passed after the device loading request is sent in operation 1006, the electronic device 201 may send a loading stop command to the hub device 330 directly or through the server 310.
[0159] When the device loading is completed, the server 310 can manage the device record of each IoT device 320, and include information (e.g., sensor data and / or status information) of each IoT device 320 collected by the hub device 330 in the device record. In an embodiment, the server 310 can provide the electronic device 201 with the information (e.g., sensor data and / or status information) included in the device record according to a specified event or a request from the electronic device 201.
[0160] In an embodiment, when the device loading process is in progress in operation 826 or operation 1016, the electronic device 201 may display the loading completion status of at least one IoT device 320 included in the installation data 505 on the display module 260. Whenever the device loading is completed for each IoT device 320, the electronic device 201 may display the loading completion status of the corresponding IoT device (e.g., IoT device 320a) and continue to display the installation guide of the IoT device that has not yet been loaded (e.g., IoT device 320b).
[0161] In an embodiment, the electronic device 201 may disable device loading of at least one of the IoT devices 320 (e.g., IoT device 320d) included in the installation data 505 based on user input. In an embodiment, the electronic device 201 may deactivate or may not display the installation guide of the disabled IoT device 320d. In an embodiment, the electronic device 201 may include the IoT device 320d as a “device to be added” in the device list and display the IoT device 320d.
[0162] In an embodiment, if another IoT device is discovered while executing the device loading process (e.g., operation 826 or operation 1016) of at least one IoT device 320 included in the package 500, the hub device 330 may not allow the device loading of the discovered IoT device or may delay the device loading of the discovered IoT device until the device loading process of the package 500 is completed. In an embodiment, if another IoT device is discovered while executing the device loading process (e.g., operation 826 or operation 1016) of at least one IoT device 320 included in the package 500 and if the discovered IoT device does not require installation code, the hub device 330 may allow the device loading of the discovered IoT device.
[0163] In an embodiment, after the hub loading of the hub device 330 is completed in operation 814 or operation 1004, in order to connect a new IoT device not included in the package 500 to the hub device 330, the electronic device 201 may request installation data (e.g., installation code) for the new IoT device from the server 310. In an embodiment, the electronic device 201 may obtain device identification information (e.g., device serial number) of the new IoT device from the QR code of the new IoT device, and obtain the installation code of the new IoT device from the server 310 based on the device identification information.
[0164] Fig.11 is a sequence diagram showing a hub loading process according to an embodiment. According to an embodiment, the order of at least one of the operations described below may be omitted, modified or changed.
[0165] refer to Fig.11 In operation 1102, the electronic device 201 may establish a first connection (e.g., a Wi-Fi connection, a Bluetooth connection, or a BLE connection) with the hub device 330. In an embodiment, the hub device 330 may authenticate the electronic device 201 based on the hub serial number received from the electronic device 201 through the first connection. In operation 1104, the electronic device 1104 may send connection information (e.g., AP information) to be used for a second connection between the server 310 and the hub device 330 to the hub device 330.
[0166] In operation 1106, the hub device 330 may establish a second connection (e.g., an Internet connection) with the server 310 using the connection information. In operation 1108, the hub device 330 may send a loading request to the server 310 through the second connection. In one embodiment, the loading request may include device information of the hub device 330 (e.g., at least one of a hub serial number, a hub device ID, or a hub model name). In operation 1110, the server 310 may store the device information of the hub device 330 in response to the loading request and send a loading response to the hub device 330. In an embodiment, the server 310 may send a loading response when the device loading of all IoT devices 320 included in the installation data 505 is completed. In an embodiment, the server 310 may send a loading response whenever the device loading of any one IoT device 320 included in the installation data 505 is completed. In an embodiment, when the device loading of all IoT devices 320 included in the installation data 505 is completed, the hub device 330 may release the second connection with the server 310.
[0167] In operation 1112, the server 310 may send a loading result indicating that the device loading of at least one IoT device 320 included in the installation data 505 is completed to the electronic device 201 based on the installation data 505 related to the package 500. In an embodiment, the server 310 may send the loading result when the device loading of all IoT devices 320 included in the installation data 505 is completed. In an embodiment, the server 310 may send the loading result whenever the device loading of any one IoT device 320 included in the installation data 505 is completed. In operation 1114, the electronic device 201 may release the first connection with the hub device 330 based on receiving the loading result.
[0168] Fig.12 is a diagram illustrating an IoT environment including a hub device according to an embodiment.
[0169] Reference Fig.12 , in the IoT environment 1200, the electronic device 201 may perform a device loading process for registering one or more IoT devices 320 (e.g., IoT devices 320a, 320b, 320c, and 320d) to the electronic device 201 while directly communicating with the hub device 330 through the first connection 1210 (e.g., a Wi-Fi connection or a BLE connection) instead of through the server 310. In an embodiment, the electronic device 201 may receive installation data 505 related to the package 500 including the hub device 330 and at least one IoT device 320 from the server (e.g., the server 310) (e.g., operation 818), and send the installation data 505 (e.g., installation code 505a) to the hub device 330 (e.g., operation 822).
[0170] In an embodiment, the hub device 330 may perform a device loading process for registering at least one IoT device 320 with the electronic device 201 based on the installation data 505 without going through a server (e.g., server 310). In one embodiment, the hub device 330 may enter a join mode after receiving the installation data 505 to perform a device loading process. In the join mode, the hub device 330 may identify at least one IoT device 320 (e.g., IoT device 320a) based on the installation data 505 (e.g., device ID) to discover the IoT device 320a, and establish a second connection 1220 (e.g., Zigbee connection, Z-wave connection, or BLE connection) with the discovered IoT device 320a. The hub device 330 may perform encrypted communication with the discovered IoT device 320a through the second connection 1220 based on the installation code 505a obtained from the installation data 505.
[0171] In the join mode, the hub device 330 may request the electronic device 201 to generate a device record for the discovered IoT device 320a, and receive a loading response from the electronic device 201. In an embodiment, the electronic device 201 may store and manage information (e.g., sensor data and / or status information) collected from at least one IoT device 320 in the device record generated by the device loading process. In an embodiment, the electronic device 201 may share the device record generated by the device loading process with the server 310.
[0172] Fig.13 is a diagram showing an IoT environment that does not include a hub device according to an embodiment.
[0173] Reference Fig.13 In the IoT environment 1300, the electronic device 201 may perform a device loading process for registering at least one IoT device 320 to the electronic device 201 through the first connection 1310 without going through a hub device (e.g., the hub device 330). In an embodiment, the electronic device 201 may receive installation data 505 related to a package 500 including at least one IoT device 320 from a server (e.g., the server 310) (e.g., operation 818).
[0174] In an embodiment, the electronic device 201 may perform a device loading process for registering at least one IoT device 320 to the electronic device 201 based on the installation data 505 without going through a server (e.g., server 310). In an embodiment, the electronic device 201 may enter a join mode after receiving the installation data 505 to perform a device loading process. In the join mode, the electronic device 201 may identify at least one IoT device 320 (e.g., IoT device 320a) based on the installation data 505 (e.g., device ID) to discover the IoT device 320a, and establish a first connection 1310 (e.g., Zigbee connection, Z-wave connection, or BLE connection) with the discovered IoT device 320a. The electronic device 201 may perform encrypted communication with the discovered IoT device 320a through the first connection 1310 based on the installation code 505a obtained from the installation data 505.
[0175] According to an embodiment, in the join mode, the electronic device 201 may generate a device record of the discovered IoT device 320a. In an embodiment, the electronic device 201 may store and manage information (e.g., sensor data and / or status information) collected from at least one IoT device 320 in the device record generated by the device loading process. In an embodiment, the electronic device 201 may share the device record generated by the device loading process with the server 310.
[0176] In an embodiment, the electronic device 201 may be configured to include at least one function of the hub device 330 or the server 310 described above. The installation data (e.g., the installation data 505) may include information required to directly connect to at least one IoT device 320. In an embodiment, the installation data 505 may include the Wi-Fi AP SSID and / or password of each IoT device 320. In an embodiment, the installation data 505 may include identification information (e.g., device ID, serial number, and / or MAC address) of each IoT device 320. In an embodiment, the installation data 505 may include device information required for the electronic device 201 to connect to each IoT device 320 using BLE, such as at least one of a manufacturer ID, model information (model name and / or model code), a setup ID, a serial number, or a MAC address.
[0177] In an embodiment, the electronic device 201 may be connected to each IoT device 320 based on the installation data 505. In an embodiment, at least one of the IoT devices (e.g., IoT device 320a) may operate as a Wi-Fi AP and broadcast a beacon signal. The electronic device 201 may receive a beacon signal of the IoT device 320a operating as an AP, the beacon signal having a Wi-Fi SSID and a MAC address included in the installation data 505, thereby discovering the IoT device 320a, and establishing a Wi-Fi connection with the discovered IoT device 320a. In an embodiment, the electronic device 201 may receive a BLE advertising signal broadcasted from the IoT device 320a to discover the IoT device 320a, and establish a BLE connection with the discovered IoT device 320a.
[0178] In an embodiment, the electronic device 201 can send connection information that enables Internet connection to the IoT device 320a through an established connection (e.g., a Wi-Fi connection or a BLE connection). The connection information may include at least one of a Wi-Fi AP SSID, a password, or a security protocol type of an AP (not shown) that provides Internet connection. The IoT device 320a can use the connection information to establish an Internet connection through the AP.
[0179] In an embodiment, the electronic device 201 may send server information to the IoT device 320a that enables the IoT device 320a to connect to the server 310 through an established connection (e.g., a Wi-Fi connection or a BLE connection). In an embodiment, the server information may include at least one of a server URL and / or a security token. The IoT device 320a may register with the server 310 through an Internet connection using the server information. The electronic device 201 may repeat the above process for each IoT device included in the installation data 505.
[0180] The electronic device 201 according to the embodiment may include a communication circuit 290 and at least one processor 220 operably connected to the communication circuit. The at least one processor may be configured to obtain the installation data 505 required for the first external electronic device 330 to register at least one second external electronic device 320 with the server 310. The at least one processor may be configured to execute a first loading process for registering the first external electronic device to the server 310 through the communication circuit. The at least one processor may be configured to send the installation data to the first external electronic device through the communication circuit after executing the first loading process. The at least one processor may be configured to display an installation guide for loading at least one second external electronic device based on the installation data. The at least one processor may be configured to receive a loading result indicating that at least one second external electronic device has been loaded by the first external electronic device from the server through the communication circuit.
[0181] In an embodiment, the installation data may include at least one of a serial number of the first external electronic device, a device identifier (ID) of each of the at least one second external electronic device, or an installation code including a security key used by the first external electronic device to load the at least one second external electronic device.
[0182] In an embodiment, the installation data may also include at least one of the following: a package identifier (ID) for identifying a package including a first external electronic device and at least one second external electronic device, a product model name of the package, a device identifier (ID) of the first external electronic device, a model name of the first external electronic device, a model code of each of the at least one second external electronic device, or a model name of each of the at least one second external electronic device.
[0183] In an embodiment, the at least one processor may be configured to receive at least some of the installation data from the server or the first external electronic device based on at least one of a serial number or a package ID of the first external electronic device.
[0184] In an embodiment, the at least one processor may be configured to request a serial number of the first external electronic device from a server based on a user account identifier (ID), and receive the serial number of the first external electronic device from the server.
[0185] In an embodiment, the at least one processor may be configured to obtain a serial number of the first external electronic device from a machine-readable indicator of the first external electronic device.
[0186] In an embodiment, the installation guide may include a message guiding a user operation of configuring the at least one second external electronic device to a setup mode so that the at least one second external electronic device is connected to the first external electronic device.
[0187] In an embodiment, the message may include at least one of guide information requesting the at least one second external electronic device to capture a machine-readable indicator of the at least one second external electronic device through a camera of the electronic device, guide information requesting to press a designated button of the at least one second external electronic device, guide information requesting to install a battery to the at least one second external electronic device, or guide information requesting to turn on the power of the at least one second external electronic device.
[0188] In an embodiment, the at least one processor may be configured to receive the installation guide from the server based on the installation data.
[0189] In an embodiment, the at least one processor may be configured to perform a second loading process for registering at least one second external electronic device with the server based on the installation data.
[0190] The method of operating the electronic device 201 according to the embodiment may include an operation 605 of obtaining the installation data 505 required for the first external electronic device 330 to register at least one second external electronic device 320 with the server 310. The method may include an operation 610 of performing a first loading process for registering the first external electronic device with the server 310. The method may include an operation 615 of sending the installation data to the first external electronic device after performing the first loading process. The method may include an operation 620 of displaying an installation guide for loading at least one second external electronic device based on the installation data. The method may include an operation 625 of receiving a loading result indicating that at least one second external electronic device has been loaded by the first external electronic device from the server.
[0191] In an embodiment, the installation data may include at least one of a serial number of the first external electronic device, a device identifier (ID) of each of the at least one second external electronic device, or an installation code including a security key used by the first external electronic device to load the at least one second external electronic device.
[0192] In an embodiment, the installation data may also include at least one of the following: a package identifier (ID) for identifying a package including a first external electronic device and at least one second external electronic device, a product model name of the package, a device identifier (ID) of the first external electronic device, a model name of the first external electronic device, a model code of each of the at least one second external electronic device, or a model name of each of the at least one second external electronic device.
[0193] In an embodiment, the method may further include the following operation: receiving installation data from a server or the first external electronic device based on at least one of a serial number or a package ID of the first external electronic device.
[0194] In an embodiment, the method may further include an operation of requesting a serial number of the first external electronic device from a server based on a user account identifier (ID), and an operation of receiving the serial number of the first external electronic device from the server.
[0195] In an embodiment, the method may further include an operation of obtaining a serial number of the first external electronic device from the machine-readable indicator of the first external electronic device.
[0196] In an embodiment, the installation guide may include a message guiding a user operation of configuring the at least one second external electronic device to a setup mode so that the at least one second external electronic device is connected to the first external electronic device.
[0197] In an embodiment, the message may include at least one of guide information requesting the at least one second external electronic device to capture a machine-readable indicator of the at least one second external electronic device through a camera of the electronic device, guide information requesting to press a designated button of the at least one second external electronic device, guide information requesting to install a battery to the at least one second external electronic device, or guide information requesting to turn on the power of the at least one second external electronic device.
[0198] In an embodiment, the method may further include an operation of receiving an installation guide from a server based on the installation data.
[0199] In an embodiment, the method may further include an operation of performing a second loading process for registering at least one second external electronic device with the server based on the installation data.
[0200] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to the above-mentioned electronic devices.
[0201] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, and include various changes, equivalents or replacements of the corresponding embodiments. With regard to the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It should be understood that, unless otherwise clearly stated in the relevant context, the singular form of the noun corresponding to the project may include one or more things. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one or all possible combinations of the items listed together in the corresponding phrase in the phrase. As used herein, terms such as "first" and "second" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It should be understood that if an element (e.g., a first element) is referred to as being "coupled", "coupled to", "connected to" or "connected to" another element (e.g., the second element) with or without the term "operably" or "communicatively", it means that the element can be coupled to the other element directly (e.g., by wire), wirelessly, or via a third element.
[0202] As used in conjunction with various embodiments of the present disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "component," or "circuit"). A module may be a single integrated component or its smallest unit or portion suitable for performing one or more functions. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0203] Various embodiments as described herein may be implemented as software (e.g., program 240) including one or more instructions stored in a storage medium (e.g., internal memory 236 or external memory 238), which may be read by a machine (e.g., electronic device 201). For example, a processor (e.g., processor 220) of a machine (e.g., electronic device 201) may call at least one of the one or more instructions stored in the storage medium, and execute the instruction with or without one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to at least one instruction called. One or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" simply means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between where data is semi-permanently stored in the storage medium and where data is temporarily stored in the storage medium.
[0204] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or distributed online (e.g., downloaded or uploaded) via an application store (e.g., PlayStoreTM), or distributed directly between two user devices (e.g., smart phones). If distributed online, at least a portion of the computer program product may be temporarily generated or at least temporarily stored in a machine-readable storage medium, such as a memory of a manufacturer's server, an application store's server, or a relay server.
[0205] According to various embodiments, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities, and some of the multiple entities may be individually arranged in different components. According to various embodiments, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as performed by a corresponding one of the multiple components before integration. According to various embodiments, the operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or heuristically, or one or more of the operations may be performed or omitted in a different order, or one or more other operations may be added.
Claims
1. An electronic device (201), comprising: Communication circuit (290); and at least one processor (220) operably connected to the communication circuit, Wherein, the at least one processor is configured to: Obtaining installation data (505) required for the first external electronic device (330) to register at least one second external electronic device (320) with the server (310); executing a first loading process for registering the first external electronic device (330) with the server (310) through the communication circuit; After executing the first loading process, sending the installation data to the first external electronic device through the communication circuit; displaying an installation guide for loading the at least one second external electronic device based on the installation data; and A loading result indicating that the at least one second external electronic device has been loaded by the first external electronic device is received from the server through the communication circuit.
2. The electronic device according to claim 1, wherein: The installation data includes at least one of: a serial number of the first external electronic device, a device identifier (ID) of each of the at least one second external electronic device, or an installation code including a security key used by the first external electronic device to load the at least one second external electronic device.
3. The electronic device according to claim 2, wherein: The installation data also includes at least one of the following: a package identifier (ID) for identifying a package including the first external electronic device and the at least one second external electronic device, The product model name of the package, a device identifier (ID) of the first external electronic device, a model name of the first external electronic device, a model code of each of the at least one second external electronic device, or a model name of each of the at least one second external electronic device.
4. The electronic device according to claim 2 or 3, wherein: The at least one processor is configured to receive at least some of the installation data from the server or the first external electronic device based on at least one of a serial number or a package ID of the first external electronic device.
5. The electronic device according to claim 4, wherein: The at least one processor is configured to: requesting a serial number of the first external electronic device from the server based on a user account identifier (ID); and A serial number of the first external electronic device is received from the server.
6. The electronic device according to claim 4, wherein: The at least one processor is configured to obtain at least some of the serial number of the first external electronic device and / or the installation data based on the machine-readable indicator of the first external electronic device.
7. The electronic device according to any one of claims 1 to 6, wherein: The installation guide includes a message guiding a user operation of configuring the at least one second external electronic device to a setup mode so that the at least one second external electronic device is connected to the first external electronic device.
8. The electronic device according to claim 7, wherein: The message includes at least one of the following: guide information requesting the at least one second external electronic device to capture a machine-readable indicator of the at least one second external electronic device through a camera of the electronic device, guide information requesting to press a designated button of the at least one second external electronic device, guide information requesting to install a battery to the at least one second external electronic device, or guide information requesting to turn on the power of the at least one second external electronic device.
9. The electronic device according to any one of claims 1 to 8, wherein: The at least one processor is configured to receive the installation guide from the server based on the installation data.
10. The electronic device according to any one of claims 1 to 9, wherein: The at least one processor is configured to perform a second loading process for registering the at least one second external electronic device with the server based on the installation data.
11. A method for operating an electronic device (201), the method comprising: An operation (605) of obtaining installation data (505) required for the first external electronic device (330) to register at least one second external electronic device (320) with the server (310); An operation (610) of performing a first loading process for registering the first external electronic device (330) with the server (310); an operation of sending the installation data to the first external electronic device after performing the first loading process (615); displaying an operation for loading an installation guide of the at least one second external electronic device based on the installation data (620); and An operation of receiving, from the server, a loading result indicating that the at least one second external electronic device has been loaded by the first external electronic device (625).
12. The method according to claim 11, wherein: The installation data includes at least one of the following: a serial number of the first external electronic device, a device identifier (ID) of each of the at least one second external electronic device, an installation code including a security key used by the first external electronic device to load the at least one second external electronic device, a package identifier (ID) for identifying a package including the first external electronic device and the at least one second external electronic device, a product model name of the package, a device identifier (ID) of the first external electronic device, a model name of the first external electronic device, a model code of each of the at least one second external electronic device, or a model name of each of the at least one second external electronic device, and The method further includes the following operation: receiving the installation data from the server or the first external electronic device based on at least one of a serial number or a packaging ID of the first external electronic device.
13. The method according to claim 12, further comprising: an operation of requesting a serial number of the first external electronic device from the server based on a user account identifier (ID) and receiving the serial number of the first external electronic device from the server; or An operation of obtaining a serial number of the first external electronic device from a machine-readable indicator of the first external electronic device.
14. The method according to any one of claims 11 to 13, wherein: The installation guide includes a message guiding a user operation of configuring the at least one second external electronic device to a setup mode so that the at least one second external electronic device is connected to the first external electronic device, and The message includes at least one of the following: guide information requesting the at least one second external electronic device to capture a machine-readable indicator of the at least one second external electronic device through a camera of the electronic device, guide information requesting to press a designated button of the at least one second external electronic device, guide information requesting to install a battery to the at least one second external electronic device, or guide information requesting to turn on the power of the at least one second external electronic device.
15. The method according to any one of claims 11 to 14, further comprising: receiving the installation guide from the server based on the installation data; and / or An operation of performing a second loading process for registering the at least one second external electronic device with the server is performed based on the installation data.