Electronic device for controlling internet-of-things device, and storage medium therefor

The electronic device uses QR codes and encrypted connection information to efficiently onboard multiple IoT devices, addressing the challenges of user convenience and security in existing technologies.

WO2025089924A1PCT designated stage expired Publication Date: 2025-05-01SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/096296
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-08
Filing Date
2024-10-10
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently and simply onboarding multiple Internet of Things (IoT) devices, particularly in providing users with intuitive methods to control and manage these devices within home networks.

Method used

The proposed solution involves an electronic device equipped with a camera, communication circuit, and memory, which uses QR codes to obtain device information from IoT devices. It determines if the IoT device supports fast onboarding and encrypts connection information for secure broadcasting. The device operates in scan mode to receive advertising packets from IoT devices that do not support fast onboarding, facilitating the onboarding process without direct device-to-device connections.

Benefits of technology

This approach enables quick and straightforward onboarding of multiple IoT devices, enhancing user convenience by allowing control and management through a single electronic device, while ensuring secure connections and compatibility with various IoT devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024096296_01052025_PF_FP_ABST
    Figure KR2024096296_01052025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are an electronic device for controlling an Internet-of-things (IoT) device and a storage medium thereof. This electronic device may comprise a camera, a communication circuit, at least one processor, and a memory for storing instructions. The instructions may cause the electronic device to: obtain a machine-readable code related to an IoT device through the camera; determine whether the IoT device supports designated fast onboarding on the basis of device information of the IoT device obtained on the basis of the machine-readable code; encrypt connection information used by the IoT device to connect to a network if the IoT device supports the fast onboarding, thereby generating encrypted data; broadcast at least one packet including the device information and the encrypted data; and operate the electronic device in a scan mode in order to receive an ADV packet broadcast from the IoT device if the IoT device does not support the fast onboarding.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device for controlling Internet of Things devices and its storage medium

[0001] Embodiments of the present disclosure relate to an electronic device for controlling an Internet of Things (IoT) device and a storage medium thereof.

[0002] The variety of services and additional features offered through user terminals, such as smartphones, is steadily increasing. To enhance the utility of these electronic devices and satisfy the diverse needs of users, telecommunications service providers and electronic device manufacturers are competitively developing electronic devices offering a variety of functions. Consequently, the various functions offered through these devices are also becoming increasingly sophisticated.

[0003] As wireless communication technology advances, devices utilizing artificial intelligence (AI) are becoming more widely adopted. For example, home appliances connected to the Internet of Things (IoT) can utilize AI. IoT technology can collect and analyze data generated by these devices to provide intelligent Internet technology services that create new value in human lives. Through the convergence and integration of existing Internet technologies with various industries, IoT technology can be applied to areas such as smart homes, smart buildings, smart cities, smart cars, and smart appliances.

[0004] Meanwhile, homes are equipped with a variety of home appliances for the convenience of users. Various services are being proposed to utilize IoT technology to facilitate the operation and control of these appliances. Home network technology can provide various services to users within the home via the home network. For example, users can control various controlled devices (e.g., IoT-enabled home appliances) that make up the home network using personal electronic devices (e.g., smartphones). Users may desire a wider range of services to control these controlled devices. Accordingly, there is a growing demand for the development of various technologies that manage controlled devices in a way that reflects user intent.

[0005] A user can onboard a controlled device (e.g., a television, air conditioner, air purifier, washing machine, security camera, lighting fixture, or switch) using an electronic device owned by the user (e.g., a smartphone or wearable device). The electronic device can associate the controlled device with the user account by initiating registration (e.g., signing up and signing in) of the controlled device with the server. Based on the user account, the electronic device can access the server through a client application and control the controlled devices based on user input.

[0006] Embodiments of the present disclosure can provide an electronic device for controlling IoT devices and a storage medium thereof.

[0007] Embodiments of the present disclosure may provide an electronic device and its storage medium for onboarding an IoT device.

[0008] Embodiments of the present disclosure can provide an electronic device and its storage medium that can quickly and simply perform onboarding of a plurality of IoT devices.

[0009] The technical problems to be achieved in the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person having ordinary skill in the technical field to which the present invention pertains from the description below.

[0010] An electronic device according to one embodiment of the present disclosure may include a camera, a communication circuit, at least one processor functionally connected to the camera and the communication circuit, and a memory storing instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to obtain machine-readable code related to an external electronic device (320) through the camera. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to determine whether the external electronic device supports a specified fast onboarding based on device information of the external electronic device obtained based on the machine-readable code. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to encrypt connection information used by the external electronic device to connect to a network with a specified encryption key to generate encrypted data if the external electronic device supports the fast onboarding. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to broadcast, through the communication circuitry, at least one packet comprising the device information and the encrypted data. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to operate in a scan mode to receive an advertising (ADV) packet broadcast from an external electronic device if the external electronic device does not support the fast onboarding.

[0011] An IoT device according to one embodiment of the present disclosure may include a communication circuit, at least one processor functionally connected to the communication circuit, and a memory storing instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to activate a device-to-device (D2D) function of the communication circuit, receive at least one packet broadcast from an external electronic device through the communication circuit in a scan mode, determine whether device information included in the at least one packet matches device information of the IoT device, decrypt encrypted data included in the at least one packet with a designated encryption key to obtain connection information if the device information included in the at least one packet matches the device information of the IoT device, perform an onboarding procedure for a server based on the obtained connection information, and ignore the at least one ADV packet if the device information included in the at least one packet does not match the device information of the IoT device.

[0012] In accordance with one embodiment of the present disclosure, a non-transitory computer-readable storage medium storing one or more programs may include instructions configured to cause the electronic device, when individually or collectively executed by at least one processor of the electronic device, to: obtain a machine-readable code related to an external electronic device through a camera; determine whether the external electronic device supports a specified fast onboarding based on device information of the external electronic device obtained based on the machine-readable code; if the external electronic device supports the fast onboarding, encrypt connection information used for connecting the external electronic device to a network with a specified encryption key to generate encrypted data; and broadcast at least one packet including the device information and the encrypted data; and if the external electronic device does not support the fast onboarding, cause the electronic device to operate in a scan mode to receive an advertising (ADV) packet broadcast from the external electronic device.

[0013] A non-transitory computer-readable storage medium storing one or more programs according to one embodiment of the present disclosure may include instructions configured to cause the IoT device, when individually or collectively executed by at least one processor of the IoT device, to activate a device-to-device (D2D) function of the IoT device, receive at least one packet broadcast from an external electronic device in a scan mode, determine whether device information included in the at least one packet matches device information of the IoT device, decrypt encrypted data included in the at least one packet with a designated encryption key to obtain connection information if the device information included in the at least one packet matches device information of the IoT device, perform an onboarding procedure for a server based on the obtained connection information, and ignore the at least one ADV packet if the device information included in the at least one packet does not match device information of the IoT device.

[0014] FIG. 1 illustrates an IoT (internet of things) system according to various embodiments.

[0015] FIG. 2 is a block diagram of an electronic device within a network environment according to various embodiments.

[0016] FIG. 3 is a diagram illustrating a network including controlled devices according to one embodiment of the present disclosure.

[0017] FIG. 4A is a block diagram illustrating the configuration of an electronic device performing IoT control according to one embodiment of the present disclosure.

[0018] FIG. 4b is a block diagram illustrating a configuration of an IoT device performing onboarding according to one embodiment of the present disclosure.

[0019] FIG. 5 is a flowchart illustrating the operation of an electronic device according to one embodiment of the present disclosure.

[0020] FIG. 6 is a flowchart illustrating the operation of an IoT device according to one embodiment of the present disclosure.

[0021] FIG. 7 is a diagram for explaining an onboarding procedure via D2D connection according to one embodiment of the present disclosure.

[0022] FIG. 8 illustrates a sequence diagram for describing sequential onboarding of multiple devices according to one embodiment of the present disclosure.

[0023] FIG. 9 is a diagram illustrating an onboarding procedure that does not use D2D connection according to one embodiment of the present disclosure.

[0024] FIG. 10 is a sequence diagram illustrating parallel onboarding of multiple devices according to one embodiment of the present disclosure.

[0025] FIG. 11 is a sequence diagram illustrating simultaneous onboarding of multiple devices according to one embodiment of the present disclosure.

[0026] FIGS. 12A, 12B, 12C, 12D, and 12E are diagrams illustrating a user interface of a procedure for adding an IoT device according to one embodiment of the present disclosure.

[0027] FIGS. 13A, 13B, 13C, and 13D are diagrams illustrating a user interface of a procedure for adding an IoT device based on a bit tone according to one embodiment of the present disclosure.

[0028] FIGS. 14A, 14B, 14C, and 14D are diagrams illustrating a user interface of a procedure for adding an IoT device based on reception confirmation information according to one embodiment of the present disclosure.

[0029] FIGS. 15A, 15B, 15C, 15D, 15E, and 15F are diagrams illustrating a user interface of a procedure for adding multiple IoT devices according to one embodiment of the present disclosure.

[0030] FIG. 1 illustrates an Internet of Things (IoT) system (100) according to various embodiments. Meanwhile, at least some of the components of FIG. 1 may be omitted, and the system may be implemented to include additional components not shown.

[0031] Referring to FIG. 1, an IoT system (100) according to one embodiment includes a plurality of electronic devices connectable to 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, 153).

[0032] According to one embodiment, the first IoT server (110) may include at least one of a communication interface (111), a processor (112), or a storage (113). The second IoT server (140) may include at least one of a communication interface (141), a processor (142), or a storage (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, 153)) via a relay device (e.g., the first node (120) or the second node (150)) or directly without a relay device, for example, based on a data network (e.g., the data network (116) or the data network (146)). Here, a "device" is not limited to a sensor, home appliance, office electronic device, or process-performing device that is deployed (or located) within a local environment, such as a home, office, factory, building, external branch, or other type of site. A device that receives a control command and performs an action corresponding to the control command may be referred to as a "target device." An IoT server may also be referred to as a central server, as it selects a target device from among multiple devices and provides control commands.

[0033] According to one embodiment, the first IoT server (110) may communicate with devices (121, 122, 123) via a data network (116). The data network (116) may mean a network for long-distance communication, such as the Internet or a computer network (e.g., a LAN or WAN), or may include a cellular network.

[0034] According to one embodiment, the first IoT server (110) may be connected to a data network (116) via a communication interface (111). The communication interface (111) may include a communication device (or communication module) for supporting communication of the data network (116), and may be integrated into a single component (e.g., a single chip) or implemented as a plurality of separate components (e.g., multiple chips). The first IoT server (110) may communicate with devices (121, 122, 123) via a first node (120). The first node (120) may receive data from the first IoT server (110) via the data network (116) and transmit the received data to at least some of the devices (121, 122, 123). Alternatively, the first node (120) may receive data from at least some of the devices (121, 122, 123) and transmit the received data to the first IoT server (110) via the data network (116). The first node (120) may function as a bridge between the data network (116) and the devices (121, 122, 123). Meanwhile, although FIG. 1 illustrates one first node (120), this is merely exemplary and there is no limitation on the number.

[0035] A "node" in this document may be an edge computing system or a hub device. According to one embodiment, the first node (120) supports wired and / or wireless communication with the data network (116), and may also support wired and / or wireless communication with devices (121, 122, 123). For example, the first node (120) may be connected to the devices (121, 122, 123) via a short-range communication network such as at least one of Bluetooth, Wi-Fi, Wi-Fi direct, Z-wave, Zig-bee, INSETEON, X10, or IrDA (infrared data association), but there is no limitation on the type of communication. The first node (120) may be deployed (or located) within an environment such as, for example, a home, an office, a factory, a building, an external branch, or other types of sites. Accordingly, the devices (121, 122, 123) may be monitored and / or controlled by services provided by the first IoT server (110), and the devices (121, 122, 123) may not be required to have the capability of full network communication (e.g., Internet communication) for direct connection to the first IoT server (110). The devices (121, 122, 123) are illustrated as being implemented as electronic devices within a home environment, such as light switches, proximity sensors, temperature sensors, etc., but this is by way of example only and is not limiting.

[0036] According to one embodiment, the first IoT server (110) may support direct communication with devices (124, 125). Here, "direct communication" may mean communication that does not pass through an intermediary device, such as the first node (120), for example, communication via a cellular communication network and / or a data network.

[0037] According to one embodiment, the first IoT server (110) may transmit a control command to at least some of the devices (121, 122, 123, 124, 125). Here, the “control command” may mean 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 outputting information, sensing information, reporting information, and managing (e.g., deleting or creating) 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 an external source (e.g., a voice assistant server (130), the second IoT server (140), an external system (160), or at least some of the devices (121, 122, 123, 124, 125)), and generate the control command based on the obtained information. Alternatively, the processor (112) may generate a control command based on whether the monitoring results of at least some of the devices (121, 122, 123, 124, 125) satisfy a specified condition. The processor (112) may control the communication interface (111) to transmit the control command to the target device.

[0038] According to one embodiment, the processor (112), or 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-only processor such as a graphical processing unit (GPU), a vision processing unit (VPU), or an artificial intelligence-only processor such as a neural processing unit (NPU). The above-described processing units are merely exemplary, and those skilled in the art will understand that the processor (112) is not limited to any computational means that can execute instructions stored in the memory (113), for example, and output the executed results.

[0039] According to one embodiment, the processor (112) may configure a web-based interface based on an application programmable interface (API) (114) or may expose resources managed by the first IoT server (110) to the outside. The web-based interface may, for example, support communication between the first IoT server (110) and an external web service. The processor (112) may also allow, for example, an external system (160) to control and / or access the devices (121, 122, 123). The external system (160) may be an independent system that is not associated with or is not a part of the system (100), for example. The external system (160) may be, for example, an external server or a website. However, security is required for access to the devices (121, 122, 123) or the resources of the first IoT server (110) from an external system (160). According to one embodiment, the processor (112) may expose an API endpoint (e.g., a URL (universal resource locator)) based on the API (114) to the outside. As described above, the first IoT server (110) may transmit a control command to a target device among the devices (121, 122, 123). Meanwhile, the description of the communication interface (141), processor (142), API (144) of the storage (143), and database (145) of the second IoT server (140) may be substantially the same as the description of the communication interface (111), processor (112), API (114) of the storage (113), and 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 transmit a control command to a target device among the devices (151, 152, 153).The first IoT server (110) and the second IoT server (140) may be operated by the same service provider in one embodiment, but may be operated by different service providers in another embodiment.

[0040] According to one embodiment, the voice assistant server (130) can transmit and receive data with the first IoT server (110) via a data network (116). The voice assistant server (130) according to one embodiment can include at least one of a communication interface (131), a processor (132), or a storage (133). The communication interface (131) can communicate with a smart phone (136) or an AI speaker (137) via a data network (not shown) and / or a cellular network (not shown). The smart phone (136) or the AI ​​speaker (137) can include a microphone, acquire a user voice, convert it into a voice signal, and transmit the voice signal to the voice assistant server (130). The processor (132) can receive a voice signal from the smart phone (136) or the AI ​​speaker (137) via the communication interface (131). The processor (132) can process the received voice signal based on the stored model (134). The processor (132) can generate (or confirm) a control command using the processing result based on information stored in the database (135).According to one embodiment, the storage (113, 133, 143) may include at least one type of non-transitory storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., 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 magnetic disk, or an optical disk, and the type thereof is not limited.

[0041] In various embodiments, at least one device (e.g., device (124)) communicating with the first IoT server (110) may be a smartphone (e.g., electronic device (201) of FIG. 2) within a network environment.

[0042] FIG. 2 is a block diagram of an electronic device (201) within a network environment (200) according to various embodiments.

[0043] Referring to FIG. 2, in a network environment (200), an electronic device (201) may communicate with an electronic device (202) via a first network (298) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (204) or a server (208) via a second network (299) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (201) may communicate with the electronic device (204) via the server (208). According to one embodiment, the electronic device (201) may include a processor (220), a memory (230), an input module (250), an audio 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 subscriber identification module (296), or an antenna module (297). In some embodiments, the electronic device (201) may omit at least one of these components (e.g., the connection terminal (278)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (276), the camera module (280), or the antenna module (297)) may be integrated into one component (e.g., the display module (260)).

[0044] The processor (220) may, for example, execute software (e.g., a program (240)) to control at least one other component (e.g., a hardware or software component) of the electronic device (201) connected to the processor (220) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (220) may store commands or data received from other components (e.g., a sensor module (276) or a communication module (290)) in a volatile memory (232), process the commands or data stored in the volatile memory (232), and store result data in a non-volatile memory (234). According to one embodiment, the processor (220) may include a main processor (221) (e.g., a central processing unit or an application processor) or an auxiliary processor (223) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (221). For example, when the electronic device (201) includes the main processor (221) and the auxiliary processor (223), the auxiliary processor (223) may be configured to use less power than the main processor (221) or to be specialized for a given function. The auxiliary processor (223) may be implemented separately from the main processor (221) or as a part thereof.

[0045] The auxiliary processor (223) may control at least a portion of functions or states associated with at least one component (e.g., a display module (260), a sensor module (276), or a communication module (290)) of the electronic device (201), for example, on behalf of the main processor (221) while the main processor (221) is in an inactive (e.g., sleep) state, or together with the main processor (221) while the main processor (221) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (223) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (280) or a communication module (290)). In one embodiment, the auxiliary processor (223) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (201) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (208)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of 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 of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0046] The memory (230) can store various data used by at least one component (e.g., the processor (220) or the sensor module (276)) of the electronic device (201). The data can include, for example, software (e.g., the program (240)) and input data or output data for commands related thereto. The memory (230) can include a volatile memory (232) or a non-volatile memory (234).

[0047] The program (240) may be stored as software in the memory (230) and may include, for example, an operating system (242), middleware (244), or an application (246).

[0048] The input module (250) can receive commands or data to be used in a component of the electronic device (201) (e.g., a processor (220)) from an external source (e.g., a user) of the electronic device (201). The input module (250) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0049] The audio output module (255) can output audio signals to the outside of the electronic device (201). The audio output module (255) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.

[0050] The display module (260) can visually provide information to an external party (e.g., a user) of the electronic device (201). The display module (260) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (260) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0051] The audio module (270) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (270) can acquire sound through the input module (250), output sound through the sound output module (255), or an external electronic device (e.g., electronic device (202)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (201).

[0052] The sensor module (276) can detect the operating status (e.g., power or temperature) of the electronic device (201) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (276) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0053] The interface (277) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (201) to an external electronic device (e.g., the electronic device (202)). In one embodiment, the interface (277) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0054] The connection terminal (278) may include a connector through which the electronic device (201) may be physically connected to an external electronic device (e.g., the electronic device (202)). According to one 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).

[0055] A haptic module (279) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment, the haptic module (279) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0056] The camera module (280) can capture still images and moving images. According to one embodiment, the camera module (280) may include one or more lenses, image sensors, image signal processors, or flashes.

[0057] The power management module (288) can manage the power supplied to the electronic device (201). According to one embodiment, the power management module (288) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0058] A battery (289) may power at least one component of the electronic device (201). In one embodiment, the battery (289) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0059] The communication module (290) may 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 the performance of communication through the established communication channel. The communication module (290) may operate independently from the processor (220) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one 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 module). Any of these communication modules may communicate with an external electronic device (204) via a first network (298) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (299) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (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 verify or authenticate the electronic device (201) within a communication network such as the first network (298) or the second network (299).

[0060] The wireless communication module (292) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (292) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (292) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (292) can support various requirements specified in the electronic device (201), an external electronic device (e.g., the electronic device (204)), or a network system (e.g., the second network (299)). According to one embodiment, the wireless communication module (292) can support a peak data rate (e.g., 20 Gbps or more) for realizing eMBB, a loss coverage (e.g., 164 dB or less) for realizing mMTC, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for realizing URLLC.

[0061] The antenna module (297) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (297) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one 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 method used in a communication network, such as the first network (298) or the second network (299), may be selected from the plurality of antennas, for example, by the communication module (290). A signal or power may be transmitted or received between the communication module (290) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (297).

[0062] According to various embodiments, the antenna module (297) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

[0063] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0064] According to one embodiment, commands or data may be transmitted or received between the electronic device (201) and an external electronic device (204) via a server (208) connected to a second network (299). Each of the external electronic devices (202 or 204) may be the same or a different type of device as the electronic device (201). According to one embodiment, all or part of the operations executed in the electronic device (201) may be executed in one or more of the external electronic devices (202, 204, or 208). For example, when the electronic device (201) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (201) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (201). The electronic device (201) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (201) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (204) may include an Internet of Things (IoT) device. The server (208) may be an intelligent server utilizing machine learning and / or a neural network. According to one 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 home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0065] FIG. 3 is a diagram illustrating a network including controlled devices according to one embodiment of the present disclosure.

[0066] Referring to FIG. 3, a network (300) (e.g., an IoT network) may include a server (350) operating as an IoT cloud, an electronic device (310) (e.g., an electronic device (201)) capable of communicating with the server (350) via long-range wireless communication (e.g., a second network (299)), and one or more controlled devices (e.g., IoT devices (320a, 320b, 320c, and 320d)) within a local network (330) (e.g., a Bluetooth network or a Wi-Fi network) that supports IoT technology and can communicate with the server (350) via short-range wireless communication (e.g., Bluetooth or WiFi). In one embodiment, a hub device (not shown) (e.g., a smartphone, a tablet, a home automation panel, a personal computer (PC), or a TV) configured to manage the connection and status of IoT devices (320a, 320b, 320c, and 320d) may be further included in the local network (330). The electronic device (310) may communicate with the IoT devices (320a, 320b, 320c, 320d) via a server (350), via long-range wireless communication (e.g., a second network (299)), or via short-range wireless communication (e.g., a first network (298)).

[0067] The IoT devices (320a, 320b, 320c, 320d) can be controlled (e.g., to report status and / or perform specified actions) by remote commands (e.g., control commands of the electronic device (310)) and may include, for example, at least one of a television, an air conditioner, an air purifier, a refrigerator, a washing machine, an air dresser, a light bulb, a security camera, a sensor, or a window treatment. The IoT devices (320a, 320b, 320c, 320d) may communicate with the electronic device (310) via an access point (AP) (340) or a hub device (not shown) within a local network (330), communicate with the electronic device (310) via a server (350), and / or communicate directly with the electronic device (310) (e.g., without going through the server (350), the AP (330), or the hub device). In one embodiment, the IoT devices (320a, 320b, 320c, 320d) may be configured to communicate with the electronic device (310) via long-range wireless communication (e.g., a second network (299)) or via short-range wireless communication (e.g., a first network (298)). In one embodiment, the IoT devices (320a, 320b, 320c, 320d) may be configured to communicate with the server (350) via long-range wireless communication (e.g., a second network (299)) or via short-range wireless communication (e.g., a first network (298)).

[0068] In one embodiment, the electronic device (310) may be a personal electronic device, such as a smart phone, tablet, or smart watch, or an electronic device having a display and user interface, such as a television or a control console. In one embodiment, the electronic device (310) may be connected to (e.g., paired with) at least one external electronic device (not shown) (e.g., a smart watch or another smart phone). The at least one external electronic device may be configured to perform at least some of the functions of the electronic device (310) directly or through the electronic device (310).

[0069] In one embodiment, the electronic device (310) can discover at least one of the IoT devices (320a, 320b, 320c, 320d) (e.g., IoT device (320a)) and can perform a procedure (e.g., onboarding) to register (e.g., sign-up and sign-in) the discovered IoT device (320a) with the server (350). The IoT devices (320a, 320b, 320c, 320d) can be registered with the server (350) to be associated with a user account. The electronic device (310) can monitor and control the IoT devices (320a, 320b, 320c, 320d) registered with the server (350) based on the user account.

[0070] The electronic device (310) can check the status of IoT devices (320a, 320b, 320c, 320d) that the user will use for IoT services, or control the IoT devices (320a, 320b, 320c, 320d) (for example, transmit a control command instructing to perform a specific action). The electronic device (310) can be an owner device of the local network (330). At least one member device (not shown) that includes at least some capabilities and / or control rights of the electronic device (310) can be included in the network (300). In one embodiment, the member device cannot perform a registration procedure for the IoT devices (320a, 320b, 320c, 320d), but can perform a function of checking or controlling the status of the IoT devices (320a, 320b, 320c, 320d) registered with the server (350).

[0071] FIG. 4A is a block diagram illustrating the configuration of an electronic device performing IoT control according to one embodiment of the present disclosure.

[0072] Referring to FIG. 4A, an electronic device (310) (e.g., electronic device (201)) may be a device that implements an IoT service (e.g., an event-based IoT service) in a network (300) (e.g., an IoT network). For example, the IoT network may be a smart home network, and the IoT service may be an automation service. The electronic device (310) may include a processor (402), a communication circuit (404), a memory (406), a display (408), and / or a camera (410). At least some of the components of the second electronic device (305) may be similar to the components of FIG. 2.

[0073] The electronic device (310) may include a communication circuit (404) (e.g., the communication module (290) of FIG. 2) that transmits and receives signals using one or more antennas (not shown) with an external electronic device (e.g., at least one of the device (124) of FIG. 1, the electronic device (201) of FIG. 2, the server (350) of FIG. 3, the AP (330), or the IoT devices (320a, 320b, 320c, 320d)). In one embodiment, the one or more antennas may be implemented as part of the antenna module (297) of FIG. 2. The electronic device (310) may support at least one of long term evolution (LTE), 5G / NR (new radio), Zigbee, Z-Wave, ultra wide-band (UWB), WiFi, or Bluetooth (e.g., Bluetooth legacy (BT) and / or Bluetooth low energy (BLE)) via the communication circuit (404). The communication circuit (404) may include one or more communication circuits based on LTE, 5G / NR, Zigbee, Z-Wave, UWB, Wi-Fi, BT, and / or BLE.

[0074] The electronic device (310) may include a display (408) for interfacing with a user (e.g., a display module (260) of FIG. 2). The electronic device (310) may display information related to an IoT service (e.g., status of the IoT devices (320a, 320b, 320c, 320d) and / or control objects of the IoT devices (320a, 320b, 320c, 320d)) via the display (408) and / or receive user input related to the IoT service (e.g., commands for controlling the IoT devices (320a, 320b, 320c, 320d)). In one embodiment, the electronic device (310) may further include an audio module (not shown) for receiving voice user input.

[0075] The electronic device (310) may include a processor (402) (e.g., processor (220) of FIG. 2) that may be implemented as one or more single-core processors or one or more multi-core processors, and a memory (406) (e.g., memory (230) of FIG. 2) that stores instructions and data for the operation of the electronic device (310). The memory (406) may store applications for executing IoT services (e.g., IoT client applications), user information, device information, connection information, public keys, or related data.

[0076] The processor (402) can onboard controlled devices (e.g., IoT devices (320a, 320b, 320c, 320d)) related to the IoT service, manage the status and operation of the IoT devices (320a, 320b, 320c, 320d), and transmit a control command for at least one controlled device based on a user input to the at least one controlled device directly via the communication circuit (404) or through the server (350).

[0077] IoT devices (320a, 320b, 320c, 320d) can be onboarded (e.g., registered with a server (350)) directly or with the assistance of an electronic device (310). At least one of the onboarded IoT devices (320a, 320b, 320c, 320d) can be controlled by the server (350) or the electronic device (310). The electronic device (310) can output (e.g., display) information generated in the process of onboarding at least one IoT device via a display (408).

[0078] The electronic device (310) can capture a machine-readable code (e.g., a quick response (QR) code or a bar code) associated with at least one IoT device (e.g., IoT device (320a)) among the IoT devices (320a, 320b, 320c, 320d) via the camera (410) to onboard at least one of the IoT devices (320a, 320b, 320c, 320d). In one embodiment, a user can capture the machine-readable code by pointing the camera (410) of the electronic device (310) at a QR code printed or attached to the exterior of the product or the product box of the IoT device (320a). The electronic device (310) can obtain device information (e.g., at least one of a serial number (SN), a device name, a model name, a model number, or D2D support information) related to onboarding of the IoT device (320a) directly from the QR code or from an Internet link obtained from the QR code. In one embodiment, the D2D support information can indicate a D2D communication technology (e.g., at least one of Bluetooth, BLE, Wi-Fi, or UWB) supported by the IoT device (320a).

[0079] FIG. 4b is a block diagram illustrating a configuration of an IoT device performing onboarding according to one embodiment of the present disclosure.

[0080] Referring to FIG. 4B, an IoT device (320) (e.g., at least one of the IoT devices (320a, 320b, 320c, 320d)) may be a device that performs a unique function, such as, for example, a home appliance. The IoT device (320) may be located within an IoT network (330). The IoT device (320) may include a processor (412), a communication circuit (414), a memory (416), and / or a native function (418).

[0081] The IoT device (320) may include a communication circuit (414) that communicates with at least one of an electronic device (310), an AP (340), and / or a server (350) via a network (e.g., the Internet).

[0082] The IoT device (320) may include a processor (412) (e.g., processor (220) of FIG. 2) that may be implemented as one or more single-core processors or one or more multi-core processors, and a memory (416) (e.g., memory (230) of FIG. 2) that stores instructions and data for the operation of the IoT device (320).

[0083] The memory (416) may store user information, device information, connection information, private keys, or related data for onboarding the IoT device (320) and managing IoT services. In one embodiment, the IoT device (320) may receive connection information required for onboarding from the electronic device (310) via the communication circuit (414) and store the connection information in the memory (416). In one embodiment, the connection information is information required for connecting to the AP (340), and may include, for example, at least one of a network name (e.g., a service set identifier (SSID)), a password, account information, location information, channel information, or frequency information. The IoT device (320) may use the connection information to access and register with the server (350).

[0084] The processor (412) can onboard the IoT device (320) through the communication circuit (414), receive a control command from the server (350) or the electronic device (310) through the communication circuit (414), and report the onboarding result or status of the IoT device (320) to the server (350) or the electronic device (310) through the communication circuit (414). The processor (412) can receive a control command related to the control of the IoT device (320) from the electronic device (310) and / or the server (350), and control the unique function unit (418) to operate based on the control command. The control command can be received from the server (350) through the AP (340), or from the electronic device (310) through a D2D (device-to-device) connection (e.g., a Bluetooth connection, a BLE connection, or a Wi-Fi connection). The above control information can instruct the unique function unit (418) to perform an action.

[0085] In one embodiment, the IoT device (320) may be onboarded prior to coming online and operating via Wi-Fi (e.g., AP (340)). Prior to onboarding, the IoT device (320) may obtain connection information from the electronic device (310) necessary to connect to the AP (340). Using the connection information, the IoT device (320) may connect to the AP (340), access the server (350) via the AP (340), and then perform a registration (e.g., sign-up and sign-in) procedure with the server (350). In embodiments of the present disclosure, onboarding may include an operation in which the IoT device (320) connects to the server (350) and performs a sign-up and sign-in for the server (350). Embodiments of the present disclosure may relate to an operation in which the electronic device (310) provides connection information to the IoT device (320).

[0086] FIG. 5 is a flowchart illustrating the operation of an electronic device according to one embodiment of the present disclosure. According to embodiments, at least one of the operations described below may be omitted, modified, or executed in a different order. In one embodiment, at least one of the operations described below may be executed by the processor (402) of the electronic device (310).

[0087] Referring to FIG. 5, in operation 502, the electronic device (310) (e.g., the processor (402)) may capture a machine-readable code (e.g., a QR code attached to the outside of the IoT device (320)) through the camera (410). In operation 504, the electronic device (310) (e.g., the processor (402)) may obtain device information of the IoT device (320) based on the QR code. In one embodiment, the electronic device (310) (e.g., the processor (402)) may obtain the device information directly from the QR code, or may download the device information from an Internet address obtained from the QR code.

[0088] In one embodiment, the device information may include at least one of unique identification information (e.g., serial number) that can identify the user ownership of the IoT device (320), device name, model name, model number, or D2D support information. In one embodiment, the D2D support information may include at least one of a D2D communication technology (e.g., Bluetooth, BLE, or Wi-Fi), version, channel information, and / or frequency information supported by the IoT device (320). In one embodiment, the device information may include information indicating whether the IoT device (320) supports fast onboarding according to embodiments of the present disclosure. The fast onboarding may include an operation in which the IoT device (320) receives connection information broadcast by the electronic device (310) through a scan according to embodiments described below.

[0089] In step 506, the electronic device (310) (e.g., processor 402) may determine whether the IoT device (320) supports fast onboarding according to embodiments of the present disclosure. In one embodiment, the fast onboarding may include an operation of the electronic device (310) broadcasting device information of the IoT device (320). In one embodiment, the electronic device (310) (e.g., processor 402) may identify, based on the acquired device information (e.g., model name and / or model number), from pre-stored mapping information whether the IoT device (320) corresponding to the model name and / or model number supports fast onboarding. In one embodiment, the electronic device (310) (e.g., processor 402) may receive information on whether the IoT device (320) supports fast onboarding from a server (e.g., server 340 or a manufacturer server) based on the model name and / or model number included in the device information.

[0090] If it is determined that the IoT device (320) supports fast onboarding, the electronic device (310) (e.g., processor (402)) may proceed to operation 508. If it is determined that the IoT device (320) does not support fast onboarding, the electronic device (310) (e.g., processor (402)) may proceed to operation 512.

[0091] In step 508, the electronic device (310) (e.g., processor (402)) may encrypt connection information to be used when the IoT device (320) connects to the Internet for onboarding with a designated encryption key. In one embodiment, the connection information may include information (e.g., SSID and / or password) related to an AP (e.g., AP (340)) of a local network (e.g., local network (330)) to which the IoT device (320) is intended to connect. In one embodiment, the connection information may further include at least one of account information, location information, version information, channel information, or frequency information. In one embodiment, the connection information may be related to at least one of a local network to which the electronic device (310) is connected, a local network to which the electronic device (310) has previously connected, or a local network selected by a user.

[0092] In one embodiment, the electronic device (310) (e.g., processor (402)) may encrypt the connection information with a public key corresponding to a private key stored by the IoT device (320). In one embodiment, the electronic device (310) (e.g., processor (402)) may determine the public key corresponding to the IoT device (320) based on the device information acquired in operation 504.

[0093] In operation 510, the electronic device (310) (e.g., processor (402)) may broadcast the device information and the encrypted data according to a designated method (e.g., Bluetooth, BLE, Wi-Fi, or UWB). In one embodiment, the electronic device (310) (e.g., processor (402)) may transmit the device information and the encrypted data by including them in a packet of a designated format (e.g., an advertising (ADV) packet of Bluetooth or BLE, or a Wi-Fi beacon frame) that the IoT device (320) can receive in a scan mode. In one embodiment, the electronic device (310) (e.g., processor (402)) may broadcast the device information and the encrypted data by including them in one packet, or may include segmented pieces of the device information and the encrypted data in one or more packets and broadcast the one or more packets.

[0094] In one embodiment, the IoT device (320) prior to onboarding may operate in scan mode and receive at least one packet broadcast by the electronic device (310). The IoT device (320) may receive the device information and the encrypted data through the at least one packet, and may decrypt the encrypted data with a designated private key to obtain the connection information. The IoT device (320) may perform onboarding (e.g., connect to the AP (340) and sign-up / sign-in to the server (350)) based on the connection information based on identifying that the received device information matches its own device information (e.g., serial number).

[0095] In one embodiment, the electronic device (310) (e.g., processor (402)) may repeatedly broadcast the device information and the encrypted data via the at least one packet for a specified period of time (e.g., 1 minute) and / or a specified number of repetitions. In one embodiment, the electronic device (310) (e.g., processor (402)) may broadcast the device information and the encrypted data via the at least one packet until a response of successful onboarding for the IoT device (320) is received. In one embodiment, the electronic device (310) (e.g., processor (402)) may continue broadcasting the device information and the encrypted data until it receives an acknowledgment from the IoT device (320) indicating that it has received all of the at least one packet.

[0096] In one embodiment, the electronic device (310) (e.g., processor (402)) may display a message requesting the IoT device (320) to determine whether a specified notification (e.g., a beep) is output while repeatedly broadcasting the at least one packet. For example, the electronic device (310) (e.g., processor (402)) may output a text message, "Did the device beep?"

[0097] In one embodiment, the electronic device (310) (e.g., processor (402)) may initiate onboarding (e.g., QR scanning) of another IoT device even before the onboarding result of the IoT device (320) is confirmed, if the at least one packet is repeatedly transmitted for a specified time or a specified number of times, or a user input confirming that a specified notification has been output from the IoT device (320) is received, or reception confirmation information for the at least one packet is received from the IoT device (320), or a specified sound (e.g., a beep) output from the IoT device (320) is received through a microphone (e.g., an audio module (270)).

[0098] In operation 518, the electronic device (310) (e.g., processor (402)) may receive an onboarding result (e.g., onboarding success) of the IoT device (320) from the server (340). In one embodiment, the electronic device (310) (e.g., processor (402)) may receive the onboarding result while repeatedly broadcasting the device information and the encrypted data through the at least one packet, or after broadcasting the device information and the encrypted data through the at least one packet. The electronic device (310) (e.g., processor (402)) may stop broadcasting the device information and the encrypted data based on receiving the onboarding result.

[0099] In one embodiment, after receiving the onboarding result from the server (340), the electronic device (310) (e.g., processor (402)) may display a pop-up window asking whether to allow onboarding of the IoT device (320). If a user input not to allow onboarding of the IoT device (320) is received through the pop-up window, the electronic device (310) (e.g., processor (402)) may transmit a request to cancel onboarding of the IoT device (320) to the server (340).

[0100] In one embodiment, instead of performing operations 502 and 504, the electronic device (310) (e.g., processor (402)) may directly receive identification information (e.g., a serial number or a temporary passcode) from a user via a user interface (e.g., display module (260)) that can identify the user's ownership of the IoT device (320). In one embodiment, the IoT device (320) may include a display, such as a TV or a family hub, and may display a one-time temporary passcode via the display. The electronic device (310) may receive the identification information from the user via the user interface and broadcast the identification information along with encrypted connection information at operation 508.

[0101] Through the above-described operations, the electronic device (310) can trigger onboarding of the IoT device (320) only by capturing a QR code from the user's perspective, and can simplify and expedite the onboarding procedure by providing the IoT device (320) with connection information required for onboarding without a D2D connection with the IoT device (320). Through the above-described operations, the electronic device (310) can trigger onboarding of the IoT device (320b) by capturing a QR code of another IoT device (e.g., the IoT device (320b)) before the onboarding of one IoT device (e.g., the IoT device (320a)) is completed (e.g., the onboarding result is received). The electronic device (310) can enable onboarding of multiple IoT devices to proceed in parallel or at least partially simultaneously without waiting by sequentially capturing QR codes of multiple IoT devices (e.g., the IoT devices (320a, 320b)).

[0102] Figure 6 is a flowchart illustrating the operation of an IoT device according to one embodiment of the present disclosure. According to embodiments, at least one of the operations described below may be omitted, modified, or executed in a different order. In one embodiment, at least one of the operations described below may be executed by the processor (412) of the IoT device (320).

[0103] Referring to FIG. 6, at operation 602, the IoT device (320) (e.g., processor (412)) may turn on the D2D capability (e.g., activate the communication circuitry (414)) prior to onboarding. In one embodiment, the IoT device (320) (e.g., processor (412)) may turn on the D2D capability based on initially powering on and identifying that the IoT device (320) is not onboarded for IoT services (e.g., not connected to the server (350)). In one embodiment, the IoT device (320) (e.g., processor (412)) may turn on the D2D capability based on user input. In one embodiment, the IoT device (320) (e.g., processor (412)) may begin operating in scan mode based on the D2D capability being turned on. In one embodiment, the IoT device (320) (e.g., processor (412)) may operate in scan mode for a specified period of time prior to onboarding, and if it does not receive a packet containing connection information required for onboarding during the specified period of time, it may stop scan mode and output an onboarding failure.

[0104] In operation 604, the IoT device (320) (e.g., processor (412)) may receive at least one packet (e.g., an ADV packet of Bluetooth or BLE, or a Wi-Fi beacon frame) broadcast from the electronic device (310) in a specified manner (e.g., Bluetooth, BLE, Wi-Fi, or UWB) while operating in a scan mode prior to onboarding. The IoT device (320) (e.g., processor (412)) may obtain device information included in the at least one packet.

[0105] At step 606, the IoT device (320) (e.g., processor 412) may determine whether the device information included in the at least one packet matches the device information (e.g., serial number or temporary password) of the IoT device (320). If the acquired device information matches the device information of the IoT device (320), the IoT device (320) (e.g., processor 412) may proceed to step 608. On the other hand, if the acquired device information does not match the device information of the IoT device (320) or the packet does not include device information, the IoT device (320) (e.g., processor 412) may proceed to step 612. In one embodiment, the IoT device (320) (e.g., processor 412) may output a notification (e.g., a beep sound, a text message, or a voice message) to notify that onboarding is performed based on determining that the device information included in the at least one packet matches the device information of the IoT device (320).

[0106] In operation 608, the IoT device (320) (e.g., processor (412)) may decrypt encrypted data included in the at least one received packet to obtain connection information included in the encrypted data. In operation 610, the IoT device (320) (e.g., processor (412)) may perform an onboarding procedure using the connection information (e.g., at least one of SSID, password, account information, location information, channel information, or frequency information). In one embodiment, the IoT device (320) (e.g., processor (412)) may use the connection information to connect to the AP (340), connect to the server (350) through the AP (340), and sign-up and sign-in to the server (350).

[0107] In operation 612, the IoT device (320) (e.g., processor (412)) may ignore at least one packet received and not proceed with the onboarding procedure.

[0108] Through the above-described operations, the IoT device (320) can quickly initiate the onboarding procedure by obtaining connection information necessary for onboarding without a D2D connection with the electronic device (310).

[0109] FIG. 7 is a diagram for explaining an onboarding procedure via D2D connection according to one embodiment of the present disclosure.

[0110] Referring to FIG. 7, in operation 710, the IoT device (320) prior to onboarding may periodically broadcast a packet (e.g., an ADV packet of Bluetooth or BLE) containing device information of the IoT device (320). The electronic device (310) may operate in a scan mode to discover the IoT device (320). The electronic device (310) may receive the ADV packet broadcast by the IoT device (320) in the scan mode and may discover the IoT device (320) through the ADV packet.

[0111] In operation 720, the electronic device (310) can establish a D2D connection with the IoT device (320), confirm ownership of the IoT device (320) through the D2D connection, and transmit connection information to the IoT device (320) of which ownership has been confirmed through the D2D connection. In one embodiment, the electronic device (310) can release the D2D connection after transmitting connection information to the IoT device (320).

[0112] In operation 730, the IoT device (320) can connect to the AP (340) using the above connection information and connect to the server (350) through the AP (340). After being connected to the server (350), the IoT device (320) can perform onboarding by performing sign-up and sign-in to the server (350).

[0113] At step 740, the server (350) may transmit an onboarding result (e.g., successful onboarding) of the IoT device (320) to the electronic device (310) based on identifying that the IoT device (320) is onboarded to the server (350). The electronic device (310) may complete the onboarding of the IoT device (320) based on confirming the successful onboarding of the IoT device (320) and may initiate onboarding of another IoT device. In one embodiment, if the electronic device (310) does not receive an onboarding result indicating the successful onboarding of the IoT device (320) from the server (350) within a specified time, the electronic device (310) may re-establish a D2D connection with the IoT device (320) and repeat the onboarding procedure. In one embodiment, the electronic device (310) may not initiate onboarding of another IoT device until confirming the successful onboarding of the IoT device (320).

[0114] FIG. 8 illustrates a sequence diagram illustrating sequential onboarding of multiple devices according to one embodiment of the present disclosure. Depending on the embodiments, at least one of the operations described below may be omitted, modified, or executed in a different order.

[0115] Referring to FIG. 8, in operation 802, the electronic device (310) may scan a QR code of an IoT device (e.g., IoT device 1 (320a)) through a camera (410). In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of the IoT device 1 (320a) based on the QR code. In operation 804, the IoT device 1 (320a) may periodically broadcast a packet (e.g., ADV packet of Bluetooth or BLE) including device information of the IoT device 1 (320a) automatically or based on user input prior to onboarding. The electronic device (310) may receive the ADV packet through a scan for device addition.

[0116] In operation 806, the electronic device (310) may establish a first D2D connection (e.g., a Bluetooth connection, a BLE connection, or a Wi-Fi connection) with the discovered IoT device 1 (320a) by receiving the ADV packet. In one embodiment, the electronic device (310) may establish the first D2D connection by performing a D2D connection establishment procedure based on Bluetooth, BLE, or Wi-Fi for the IoT device 1 (320a).

[0117] In operation 808, the electronic device (310) may transmit information required for onboarding (e.g., connection information) to IoT device 1 (320a) through the first D2D connection. In one embodiment, the electronic device (310) may verify user ownership of IoT device 1 (320a) through the first D2D connection based on the device information acquired through the QR code, and transmit the connection information to IoT device 1 (320a) through the first D2D connection. In operation 810, the electronic device (310) may release the first D2D connection after transmitting the connection information. In one embodiment, the electronic device may release the first D2D connection after receiving the onboarding result of operation 816.

[0118] In operation 812, IoT device 1 (320a) may establish a Wi-Fi connection with AP (340) based on the connection information received through the first D2D connection. In one embodiment, the connection information may include at least one of an SSID, a password, channel information, or frequency information related to AP (340), and IoT device 1 (320a) may be connected to AP (340) using the connection information. In operation 814, IoT device 1 (320a) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 1 (320a) may sign-up to server (350) based on a user account.

[0119] In operation 816, the server (350) may store registration information related to IoT device 1 (320a) and transmit an onboarding result indicating that onboarding of IoT device 1 (320a) has been successfully completed to the electronic device (310). In one embodiment, the server (350) may transmit the onboarding result to the electronic device (310) via the AP (340) or via another network (e.g., another Wi-Fi network or a cellular network). Upon receiving the onboarding result, the electronic device (310) may identify that onboarding of IoT device 1 (320a) has been completed and may initiate QR scanning for onboarding of the next IoT device (e.g., IoT device 2 (320b)).

[0120] In operation 818, the electronic device (310) can scan the QR code of the IoT device (e.g., IoT device 2 (320b)) through the camera (410). In one embodiment, the electronic device (310) can obtain device information (e.g., serial number) of the IoT device 2 (320b) based on the QR code. In operation 820, the IoT device 2 (320b) can periodically broadcast a packet (e.g., ADV packet of Bluetooth or BLE) including device information of the IoT device 2 (320b) automatically or based on user input prior to onboarding. The electronic device (310) can receive the ADV packet through a scan for device addition.

[0121] In operation 822, the electronic device (310) may establish a second D2D connection (e.g., a Bluetooth connection, a BLE connection, or a Wi-Fi connection) with the discovered IoT device 2 (320b) by receiving the ADV packet. In operation 824, the electronic device (310) may transmit information required for onboarding (e.g., connection information) to the IoT device 2 (320b) through the second D2D connection. In one embodiment, the electronic device (310) may verify user ownership of the IoT device 2 (320b) through the second D2D connection based on the device information acquired through the QR code, and transmit the connection information to the IoT device 2 (320b) through the D2D connection. In operation 826, the electronic device (310) may release the second D2D connection after transmitting the connection information. In one embodiment, the electronic device may release the second D2D connection after receiving the onboarding result of operation 832.

[0122] In operation 828, IoT device 2 (320b) may establish a Wi-Fi connection with AP (340) based on the connection information received through the second D2D connection. In one embodiment, the connection information may include at least one of an SSID, a password, channel information, or frequency information related to AP (340), and IoT device 2 (320b) may be connected to AP (340) using the connection information. In operation 830, IoT device 2 (320b) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 2 (320b) may sign-up to server (350) based on a user account.

[0123] In operation 832, the server (350) may store registration information related to IoT device 2 (320b) and transmit an onboarding result indicating that onboarding of IoT device 2 (320b) has been successfully completed to the electronic device (310). By receiving the onboarding result, the electronic device (310) may identify that onboarding of IoT device 2 (320b) has been completed and may start scanning a QR code for onboarding of the next IoT device (e.g., IoT device 3 (320c)).

[0124] In operation 834, the electronic device (310) can scan the QR code of the IoT device (e.g., IoT device 3 (320c)) through the camera (410). In one embodiment, the electronic device (310) can obtain device information (e.g., serial number) of the IoT device 3 (320c) based on the QR code. In operation 836, the IoT device 3 (320c) can periodically broadcast a packet (e.g., ADV packet of Bluetooth or BLE) containing device information of the IoT device 3 (320c) automatically or based on user input prior to onboarding. The electronic device (310) can receive the ADV packet through a scan for device addition.

[0125] In operation 838, the electronic device (310) may establish a third D2D connection (e.g., a Bluetooth connection, a BLE connection, or a Wi-Fi connection) with the discovered IoT device 3 (320c) by receiving the ADV packet. In operation 840, the electronic device (310) may transmit information required for onboarding (e.g., connection information) to the IoT device 3 (320c) through the third D2D connection. In one embodiment, the electronic device (310) may verify user ownership of the IoT device 3 (320c) through the third D2D connection based on the device information acquired through the QR code, and transmit the connection information to the IoT device 3 (320c) through the D2D connection. In operation 842, the electronic device (310) may release the third D2D connection after transmitting the connection information. In one embodiment, the electronic device may release the third D2D connection after receiving the onboarding result of operation 848.

[0126] In operation 844, IoT device 3 (320c) may establish a Wi-Fi connection with AP (340) based on the connection information received through the third D2D connection. In one embodiment, the connection information may include at least one of an SSID, a password, channel information, or frequency information related to AP (340), and IoT device 3 (320c) may be connected to AP (340) using the connection information. In operation 846, IoT device 3 (320c) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 3 (320c) may sign-up to server (350) based on a user account.

[0127] In operation 848, the server (350) may store registration information related to IoT device 3 (320c) and transmit an onboarding result indicating that onboarding of IoT device 3 (320c) has been successfully completed to the electronic device (310). The electronic device (310) may identify that onboarding of IoT device 3 (320c) has been completed by receiving the onboarding result.

[0128] FIG. 9 is a diagram illustrating an onboarding procedure that does not use D2D connection according to one embodiment of the present disclosure.

[0129] Referring to FIG. 9, in operation 910, the electronic device (310) may broadcast a packet (e.g., an ADV packet) including device information (e.g., a serial number (SN)) of the IoT device (320) and connection information (e.g., an SSID and a password (PWD)) to be used for onboarding the IoT device (320) based on obtaining a machine-readable code (e.g., a QR code) of the IoT device (320) prior to onboarding. The IoT device (320) may obtain the device information and the connection information through the packet without a D2D connection by operating in a scan mode prior to onboarding.

[0130] In operation 920, the IoT device (320) may perform an onboarding procedure (e.g., server connection, sign-up, and sign-in) for the server (350) using the connection information based on the device information.

[0131] In operation 930, the server (350) may store the registration information of the IoT device (320) and then transmit an onboarding result indicating that the IoT device (320) has been successfully onboarded to the electronic device (310).

[0132] FIG. 10 is a sequence diagram illustrating parallel onboarding of multiple devices according to one embodiment of the present disclosure. Depending on the embodiments, at least one of the operations described below may be omitted, modified, or executed in a different order.

[0133] Referring to FIG. 10, in operation 1002, the electronic device (310) may scan a QR code of an IoT device (e.g., IoT device 1 (320a)) through a camera (410). In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of IoT device 1 (320a) based on the QR code. In operation 1004, the electronic device (310) may broadcast a packet (e.g., ADV packet of Bluetooth or BLE) including device information of IoT device 1 (320a) obtained from the QR code and information (e.g., connection information) required for IoT device 1 (320a) to perform onboarding. In one embodiment, the electronic device (310) may encrypt the connection information with a public key corresponding to IoT device 1 (320a) identified based on the QR code, and may transmit the device information and the encrypted data by including them in the ADV packet.

[0134] Although FIG. 10 illustrates that one packet is broadcast, in one embodiment, the electronic device (310) may divide the device information and the encrypted data into one or more ADV packets and broadcast them. In one embodiment, the electronic device (310) includes serial numbers in the one or more ADV packets, so that IoT device 1 (320a) can sequentially combine pieces of encrypted data included in the ADV packets.

[0135] In one embodiment, IoT device 1 (320a) may receive the ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 1 (320a), IoT device 1 (320a) may obtain the connection information from the encrypted data by decrypting the encrypted data included in the ADV packet with a pre-stored private key. IoT device 1 (320a) may determine that the obtained connection information is valid based on identifying that the device information (e.g., serial number) included in the ADV packet matches the serial number of IoT device 1 (320a). IoT device 1 (320a) may output a notification (e.g., a beep, a text message, or a voice message) to notify that the onboarding procedure has begun based on acquiring valid connection information.

[0136] In operation 1006, IoT device 1 (320a) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 1 (320a) may be connected to AP (340) using the connection information. In operation 1008, IoT device 1 (320a) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 1 (320a) may sign-up to server (350) based on a user account.

[0137] In operation 1010, before receiving the onboarding result of IoT device 1 (320a), the electronic device (310) may scan the QR code of another IoT device (e.g., IoT device 2 (320b)) via the camera (410). In one embodiment, when a notification (e.g., a beep) notifying that the onboarding procedure has started is output from IoT device 1 (320a), the electronic device (310) may display a message guiding that another IoT device can be added.

[0138] In one embodiment, the electronic device (310) can obtain device information (e.g., serial number) of IoT device 2 (320b) based on the QR code. In operation 1012, the electronic device (310) can broadcast a packet (e.g., ADV packet of Bluetooth or BLE) including device information of IoT device 2 (320b) obtained from the QR code and information (e.g., connection information) required for IoT device 2 (320b) to perform onboarding. In one embodiment, the electronic device (310) can encrypt the device information and the connection information with a public key corresponding to the IoT device 2 (320b) identified based on the QR code, and transmit the encrypted data by including it in the ADV packet. In one embodiment, if the onboarding result of IoT device 1 (320a) is not received from the server (350), the electronic device (310) may include both encrypted data related to IoT device 1 (320a) and encrypted data related to IoT device 2 (320b) in the ADV packet of operation 1012.

[0139] In one embodiment, IoT device 2 (320b) may receive at least one ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 2 (320b), IoT device 2 (320b) may obtain the device information and the connection information from the encrypted data by decrypting the encrypted data included in the at least one ADV packet with a pre-stored private key. IoT device 2 (320b) may determine that the connection information is valid based on identifying that the device information (e.g., serial number) matches the serial number of IoT device 2 (320b).

[0140] In operation 1014, IoT device 2 (320b) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 2 (320b) may be connected to AP (340) using the connection information. In operation 1016, IoT device 2 (320b) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 2 (320b) may sign-up to server (350) based on a user account.

[0141] In operation 1018, before receiving the onboarding result of IoT device 1 (320a) or IoT device 2 (320b), the electronic device (310) may scan a QR code of another IoT device (e.g., IoT device 3 (320c)) through the camera (410). In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of IoT device 3 (320c) based on the QR code. In operation 1020, the electronic device (310) may broadcast a packet (e.g., ADV packet of Bluetooth or BLE) including the device information of IoT device 3 (320c) obtained from the QR code and information (e.g., connection information) required for IoT device 3 (320c) to perform onboarding. In one embodiment, the electronic device (310) may encrypt the connection information with a public key corresponding to the IoT device 3 (320c) identified based on the QR code, and transmit the device information and the encrypted data by including them in the ADV packet.

[0142] In one embodiment, if the onboarding result of IoT device 1 (320a) and / or IoT device 2 (320b) is not received from the server (350), the electronic device (310) may further include the device information and encrypted data related to IoT device 1 (320a) and / or the device information and encrypted data related to IoT device 2 (320b) in the ADV packet of operation 1018, together with the device information and encrypted data related to IoT device 3 (320c).

[0143] In one embodiment, IoT device 3 (320c) may receive the ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 3 (320c), IoT device 3 (320c) may obtain the connection information from the encrypted data by decrypting the encrypted data included in the ADV packet with a pre-stored private key. IoT device 3 (320c) may determine that the connection information is valid based on identifying that the device information (e.g., serial number) included in the ADV packet matches the serial number of IoT device 3 (320c).

[0144] In operation 1022, IoT device 3 (320c) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 3 (320c) may be connected to AP (340) using the connection information. In operation 1024, IoT device 3 (320c) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 3 (320c) may sign-up to server (350) based on a user account.

[0145] In steps 1026, 1028, and 1030, the server (350) may transmit onboarding results to the electronic device (310) indicating that onboarding of IoT device 1 (320a), IoT device 2 (320b), and IoT device 3 (320c) has been successfully completed. In one embodiment, the server (350) may transmit the onboarding results to the electronic device (310) via the AP (340) or via another network (e.g., another Wi-Fi network or a cellular network). By receiving the onboarding results, the electronic device (310) may identify that onboarding of IoT device 1 (320a), IoT device 2 (320b), and IoT device 3 (320c) has all been completed. Although FIG. 10 illustrates that operations 1026, 1028, and 1030 are performed after operation 1024, operations 1026, 1028, and 1030 may be performed at any point after operations 1008, 1016, and 1024.

[0146] By the above-described operations, the electronic device (310) can perform onboarding for multiple IoT devices (e.g., IoT device 1 (320a), IoT device 2 (320b), and IoT device 3 (320c)) in parallel only by scanning QR codes. In one embodiment, onboarding for at least one of IoT device 1 (320a), IoT device 2 (320b), or IoT device 3 (320c) can be triggered regardless of the success of onboarding for another IoT device.

[0147] FIG. 11 is a sequence diagram illustrating simultaneous onboarding of multiple devices according to one embodiment of the present disclosure. Depending on the embodiments, at least one of the operations described below may be omitted, modified, or executed in a different order.

[0148] Referring to FIG. 11, in operation 1102, the electronic device (310) may scan a QR code of an IoT device (e.g., IoT device 1 (320a)) through a camera (410). In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of IoT device 1 (320a) based on the QR code. In operation 1104, the electronic device (310) may broadcast at least one packet (e.g., ADV packet of Bluetooth or BLE) including device information of IoT device 1 (320a) obtained from the QR code and information (e.g., connection information) required for IoT device 1 (320a) to perform onboarding. In one embodiment, the electronic device (310) may encrypt the connection information with a public key corresponding to IoT device 1 (320a) identified based on the QR code, and may transmit the device information and the encrypted data by including them in at least one ADV packet.

[0149] In one embodiment, IoT device 1 (320a) may receive at least one ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 1 (320a), IoT device 1 (320a) may obtain the connection information from the encrypted data included in the at least one ADV packet by decrypting the encrypted data with a pre-stored private key. IoT device 1 (320a) may determine that the connection information is valid based on identifying that the device information (e.g., serial number) included in the at least one ADV packet matches the serial number of IoT device 1 (320a). IoT device 1 (320a) may output a notification (e.g., a beep, a text message, or a voice message) to notify that the onboarding procedure has begun based on obtaining valid connection information.

[0150] In operation 1106, IoT device 1 (320a) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 1 (320a) may be connected to AP (340) using the connection information. In operation 1108, IoT device 1 (320a) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 1 (320a) may sign-up to server (350) based on a user account.

[0151] In operation 1110, before receiving the onboarding result of IoT device 1 (320a), the electronic device (310) may scan the QR code of another IoT device (e.g., IoT device 2 (320b)) via the camera (410). In one embodiment, when a notification (e.g., a beep) notifying that the onboarding procedure has started is output from IoT device 1 (320a), the electronic device (310) may display a message guiding that another IoT device can be added.

[0152] In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of IoT device 2 (320b) based on the QR code. In operation 1112, the electronic device (310) may broadcast at least one packet (e.g., ADV packet of Bluetooth or BLE) including device information of IoT device 2 (320b) obtained from the QR code and information (e.g., connection information) required for IoT device 2 (320b) to perform onboarding. In one embodiment, the electronic device (310) may encrypt the connection information with a public key corresponding to the IoT device 2 (320b) identified based on the QR code, and transmit the device information and the encrypted data by including them in the at least one ADV packet. In one embodiment, if the onboarding result of IoT device 1 (320a) is not received from the server (350), the electronic device (310) may include both device information and encrypted data related to IoT device 1 (320a) and device information and encrypted data related to IoT device 2 (320b) in at least one ADV packet of operation 1112.

[0153] In operation 1114, the electronic device (310) may receive an onboarding result from the server (350) indicating that IoT device 1 (320a) has been successfully onboarded while broadcasting at least one ADV packet related to IoT device 2 (320b). Based on the success of onboarding of IoT device 1 (320a), the electronic device (310) may include device information and connection information of IoT device 2 (320a) without device information related to IoT device 1 (320a) in the at least one ADV packet being broadcast.

[0154] In one embodiment, IoT device 2 (320b) may receive at least one ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 2 (320b), IoT device 2 (320b) may obtain the connection information from the encrypted data included in the at least one ADV packet by decrypting the encrypted data with a pre-stored private key. IoT device 2 (320b) may determine that the connection information is valid based on identifying that the device information (e.g., serial number) included in the at least one ADV packet matches the serial number of IoT device 2 (320b).

[0155] In operation 1116, IoT device 2 (320b) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 2 (320b) may be connected to AP (340) using the connection information. In operation 1118, IoT device 2 (320b) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 2 (320b) may sign-up to server (350) based on a user account.

[0156] In operation 1120, before receiving the onboarding result of IoT device 2 (320b), the electronic device (310) may scan a QR code of another IoT device (e.g., IoT device 3 (320c)) via the camera (410). In one embodiment, the electronic device (310) may obtain device information (e.g., serial number) of IoT device 3 (320c) based on the QR code.

[0157] In operation 1122, the electronic device (310) may receive an onboarding result from the server (350) indicating that IoT device 2 (320b) has been successfully onboarded.

[0158] In operation 1124, the electronic device (310) may broadcast a packet (e.g., an ADV packet of Bluetooth or BLE) containing device information of the IoT device 3 (320c) obtained from the QR code and information (e.g., connection information) required for the IoT device 3 (320c) to perform onboarding. In one embodiment, the electronic device (310) may encrypt the connection information with a public key corresponding to the IoT device 3 (320c) identified based on the QR code, and transmit the device information and the encrypted data by including them in the ADV packet.

[0159] In one embodiment, since the onboarding results of IoT device 1 (320a) and / or IoT device 2 (320b) have been received from the server (350), the electronic device (310) may include only device information and encrypted data related to IoT device 3 (320c) in the ADV packet of operation 1018.

[0160] In one embodiment, IoT device 3 (320c) may receive the ADV packet while operating in scan mode prior to onboarding. After identifying that the ADV packet includes unique identification information (e.g., SN) of IoT device 3 (320b), IoT device 3 (320c) may obtain the connection information from the encrypted data by decrypting the encrypted data included in the ADV packet with a pre-stored private key. IoT device 3 (320c) may determine that the connection information is valid based on identifying that the device information (e.g., serial number) included in the ADV packet matches the serial number of IoT device 3 (320c).

[0161] In operation 1126, IoT device 3 (320c) may establish a Wi-Fi connection with AP (340) based on the connection information. In one embodiment, the connection information may include at least one of SSID, password, channel information, or frequency information related to AP (340), and IoT device 3 (320c) may be connected to AP (340) using the connection information. In operation 1128, IoT device 3 (320c) may perform a sign-up and sign-in procedure for server (350) through AP (340). In one embodiment, IoT device 3 (320c) may sign-up to server (350) based on a user account.

[0162] In operation 1130, the server (350) may transmit an onboarding result to the electronic device (310) indicating that the onboarding of IoT device 3 (320c) has been successfully completed. In one embodiment, the server (350) may transmit the onboarding result to the electronic device (310) via the AP (340) or via another network (e.g., another Wi-Fi network or a cellular network). The electronic device (310) may identify that the onboarding of IoT device 1 (320a), IoT device 2 (320b), and IoT device 3 (320c) has all been completed by receiving the onboarding results of operations 1114, 1122, and 1130.

[0163] By the above-described operations, the electronic device (310) can at least partially simultaneously perform onboarding for a plurality of IoT devices (e.g., IoT device 1 (320a), IoT device 2 (320b), and IoT device 3 (320c)) only by scanning QR codes. In one embodiment, onboarding for at least one of IoT device 1 (320a), IoT device 2 (320b), or IoT device 3 (320c) can be triggered regardless of the successful onboarding of another IoT device.

[0164] FIGS. 12A, 12B, 12C, 12D, and 12E are diagrams illustrating a user interface of a procedure for adding an IoT device according to one embodiment of the present disclosure.

[0165] Referring to FIG. 12A, the electronic device (310) may display a QR scan screen (1202) for adding a device (e.g., IoT device (320)) to an IoT network through the display module (260). The electronic device (310) may proceed to FIG. 12B or FIG. 12D based on the capture of a QR code associated with the IoT device (320) through the QR scan screen (1202). In one embodiment, the electronic device (310) may proceed to FIG. 12B if connection information associated with the IoT device (320) is stored and a Wi-Fi network of the connection information is available, and may proceed to FIG. 12D if not.

[0166] Referring to FIG. 12B, the electronic device (310) may display an add device window (1204) (e.g., “Add device? Register device.”) based on the capture of a QR code related to the IoT device (320) through the QR scan screen (1202). The electronic device (310) may identify a D2D communication technology (e.g., at least one of Bluetooth, BLE, Wi-Fi, or UWB) supported by the IoT device (320) based on the device information of the IoT device (320) obtained from the QR code.

[0167] The electronic device (310) may broadcast a packet including device information and encrypted connection information according to at least one of the embodiments of the present disclosure based on receiving a user input (1204a) (e.g., a touch on an “OK” object) allowing the device to be registered on the device addition window (1204). In one embodiment, the electronic device (310) may broadcast the packet based on the D2D communication technology of the IoT device (320) identified based on the QR code. In one embodiment, if the IoT device (320) is identified as supporting BLE, the packet may include an ADV packet of BLE. In one embodiment, the connection information may include a network name and / or password of a Wi-Fi network to which the electronic device (310) is connected or has connected, or may include a network name and / or password of a Wi-Fi network that the electronic device (310) stores to be used for an IoT service.

[0168] Referring to FIG. 12C, the electronic device (310) may display an onboarding completion window (1206) based on receiving an onboarding result from the server (350) indicating that the IoT device (320) has been successfully onboarded based on the connection information after broadcasting the packet. For example, if the IoT device (320) is a refrigerator, the onboarding completion window (1206) may include “Refrigerator has been added.” The electronic device (310) may quickly complete onboarding of the IoT device (320) without additional user input or procedural delay after user input on the device addition window (1204).

[0169] Referring to FIG. 12D , the electronic device (310) may display a network selection window (1208) based on the capture of a QR code related to the IoT device (320) through the QR scan screen (1202). The electronic device (310) may identify a D2D communication technology (e.g., at least one of Bluetooth, BLE, Wi-Fi, or UWB) supported by the IoT device (320) based on the device information of the IoT device (320) obtained from the QR code, and may include networks accessible to the IoT device (320) in the network selection window (1208). The network selection window (1208) may include selection objects of one or more Wi-Fi networks available for IoT services, e.g., Wi-Fi network 1, Wi-Fi network 2, Wi-Fi network 3, and Wi-Fi network 4. In one embodiment, the Wi-Fi networks may include at least one of a Wi-Fi network to which the electronic device (310) is connected, a Wi-Fi network to which the electronic device (310) has connected, a Wi-Fi network that the electronic device (310) has stored for use for IoT services, or a Wi-Fi network that the electronic device (310) can discover.

[0170] Referring to FIG. 12E, the electronic device (310) may display an information transmission confirmation window (1210) based on receiving a user input (1208a) for selecting one Wi-Fi network (e.g., Wi-Fi network 3) in a network selection window (1208). The information transmission confirmation window (1210) may include, for example, "Do you want to transmit the selected network information to the device?". The electronic device (310) may broadcast a packet including the device information and the encrypted connection information of the Wi-Fi network 3 according to at least one of the embodiments of the present disclosure based on receiving a user input (1210a) (e.g., touching an "OK" object) for allowing transmission of the network information in the information transmission confirmation window (1210). The electronic device (310) may display the onboarding completion window (1206) of FIG. 12c based on receiving an onboarding result from the server (350) indicating that the IoT device (320) has been successfully onboarded based on the connection information after broadcasting the packet.

[0171] FIGS. 13A, 13B, 13C, and 13D are diagrams illustrating a user interface of a procedure for adding an IoT device based on a bit tone according to one embodiment of the present disclosure.

[0172] Referring to FIG. 13a, the electronic device (310) may display a QR scan screen (1302) for adding a device (e.g., an IoT device (320)) to an IoT network through the display module (260). The electronic device (310) may proceed to FIG. 13b based on the capture of a QR code associated with the IoT device (320) through the QR scan screen (1202).

[0173] Referring to FIG. 13B, the electronic device (310) may display a network selection window (1304) based on the capture of a QR code related to the IoT device (320) through the QR scan screen (1302). The electronic device (310) may identify a D2D communication technology (e.g., at least one of Bluetooth, BLE, Wi-Fi, or UWB) supported by the IoT device (320) based on the device information of the IoT device (320) obtained from the QR code, and may include networks accessible to the IoT device (320) in the network selection window (1304). The network selection window (1304) may include selection objects of one or more Wi-Fi networks available for IoT services, e.g., Wi-Fi network 1, Wi-Fi network 2, Wi-Fi network 3, and Wi-Fi network 4. In one embodiment, the Wi-Fi networks may include at least one of a Wi-Fi network to which the electronic device (310) is connected, a Wi-Fi network to which the electronic device (310) has connected, a Wi-Fi network that the electronic device (310) has stored for use for IoT services, or a Wi-Fi network that the electronic device (310) can discover.

[0174] Referring to FIG. 13c, the electronic device (310) may display a beep confirmation window (1306) based on receiving a user input (1304a) for selecting one Wi-Fi network (e.g., Wi-Fi network 3) in the network selection window (1304). The beep confirmation window (1306) may include, for example, “Did the device beep?”. The electronic device (310) may broadcast a packet including device information obtained from a QR code of the IoT device (320) and encrypted connection information of the selected network based on receiving a user input (1304a) for selecting a network (e.g., a touch on a “connection” object) in the network selection window (1304) according to at least one of the embodiments of the present disclosure.

[0175] In one embodiment, the electronic device (310) can determine whether the IoT device (320) supports beep sound output based on device information obtained from a QR code captured through the QR scan screen (1302) of FIG. 13A. In one embodiment, the electronic device (310) can determine whether the IoT device (320) supports beep sound output based on the device information or device specification information related to the IoT device (320) received from a server (e.g., server (350) or a manufacturer server). If the IoT device (320) supports beep sound output, the electronic device (310) can output the beep sound confirmation window (1306) of FIG. 13C. If the IoT device (320) does not support beep sound output, the electronic device (310) can proceed to FIG. 12B or FIG. 12C.

[0176] The electronic device (310) may display the QR scan screen (1302) of FIG. 13a, the add another device screen, the initial screen of the IoT client application, or the home screen based on receiving a user input (1306a) (e.g., a touch on an “OK” object) confirming that a beep sound has been heard from the IoT device (320) in the beep sound confirmation window (1306) and may no longer display the beep sound confirmation window (1306). The electronic device (310) may scan the QR code of another IoT device to be onboarded via the QR scan screen (1302). The electronic device (310) may display, for example, a text message, "Start onboarding. Feel free to move away from your device," or display a QR scan screen (1302) for adding another IoT device, based on receiving user input (1306a) in the bit confirmation window (1306) or receiving acknowledgment information indicating that connection information has been received from the IoT device (320).

[0177] In one embodiment, instead of displaying a beep confirmation window (1306), the electronic device (310) may determine whether a specified sound (e.g., a beep sound of the IoT device (320)) is received through a microphone (e.g., an audio module (270)) after broadcasting a packet containing device information obtained from the QR code of the IoT device (320) and encrypted connection information of the selected network. Based on receiving a beep sound of the IoT device (320) through the microphone, the electronic device (310) may display the QR scan screen (1302) of FIG. 13A to add another IoT device or display another device addition screen (e.g., “Do you want to add another device?”).

[0178] Referring to FIG. 13D , the electronic device (310) may display an onboarding completion window (1308) based on receiving an onboarding result from the server (350) indicating that the IoT device (320) has been successfully onboarded based on the connection information. For example, if the IoT device (320) is a refrigerator, the onboarding completion window (1206) may include “Refrigerator added.” For example, the onboarding device window (1308) may be displayed while the electronic device (310) is broadcasting device information and encrypted connection information for another IoT device.

[0179] FIGS. 14A, 14B, 14C, and 14D are diagrams illustrating a user interface of a procedure for adding an IoT device based on reception confirmation information according to one embodiment of the present disclosure.

[0180] Referring to FIG. 14a, the electronic device (310) may display a QR scan screen (1402) for adding a device (e.g., an IoT device (320)) to an IoT network through the display module (260). The electronic device (310) may proceed to FIG. 14b based on the capture of a QR code associated with the IoT device (320) through the QR scan screen (1402).

[0181] Referring to FIG. 14B, the electronic device (310) may display a network selection window (1404) based on the capture of a QR code associated with an IoT device (320) through a QR scan screen (1302). The network selection window (1404) may include selection objects of one or more Wi-Fi networks available for IoT services, for example, Wi-Fi network 1, Wi-Fi network 2, Wi-Fi network 3, and Wi-Fi network 4.

[0182] The electronic device (310) may broadcast a packet including device information obtained from a QR code of an IoT device (320) and encrypted connection information of the selected network based on receiving a user input (1404a) selecting one Wi-Fi network (e.g., Wi-Fi network 3) in a network selection window (1404) according to at least one of the embodiments of the present disclosure. The electronic device (310) may continue broadcasting the device information and the encrypted connection information until receiving a reception confirmation (e.g., an ACK) indicating that the device information and the encrypted connection information have been successfully received.

[0183] Referring to FIG. 14c, the electronic device (310) may display a transmission confirmation window (1406) based on receiving a reception confirmation message from the IoT device (320) indicating that the device information and the encrypted connection information have been successfully received. The transmission confirmation window (1406) may include, for example, “The device has successfully received network information. The device will begin registration.” Based on receiving the reception confirmation message, the electronic device (310) may stop broadcasting the device information and the encrypted connection information related to the IoT device (320). In one embodiment, the electronic device (310) may proceed to FIG. 14d based on receiving a user input (1406a) confirming the transmission of information in the transmission confirmation window (1406).

[0184] Referring to FIG. 14D , the electronic device (310) may display an onboarding completion window (1408) based on receiving an onboarding result from the server (350) indicating that the IoT device (320) has been successfully onboarded based on the connection information. For example, if the IoT device (320) is a refrigerator, the onboarding completion window (1206) may include “Refrigerator added.” For example, the onboarding device window (1308) may be displayed while the electronic device (310) is broadcasting device information and encrypted connection information for another IoT device.

[0185] FIGS. 15A, 15B, 15C, 15D, 15E, and 15F are diagrams illustrating a user interface of a procedure for adding multiple IoT devices according to one embodiment of the present disclosure.

[0186] Referring to FIG. 15A, the electronic device (310) may display a suggested devices screen (1502) including items of IoT devices to be added (e.g., an air dresser, a washing machine, and a TV) through the display module (260). Upon receiving a user input (1502a) (e.g., a touch on an object of “air dresser”) for selecting one IoT device (e.g., an air dresser) on the suggested devices screen (1502), the electronic device (310) may proceed to FIG. 15B. In one embodiment, the electronic device (310) may receive a list of devices purchased or registered by the user from a server (e.g., server (350) or a manufacturer server) and identify recommended IoT devices to be included in the suggested devices screen (1502) based on the received list. In one embodiment, the list may include device information of the recommended IoT devices.

[0187] Referring to FIG. 15B , the electronic device (310) may display a network selection window (1504) for the Air Dresser. In one embodiment, the network selection window (1504) may include selection objects of one or more Wi-Fi networks to which the Air Dresser can connect, for example, Wi-Fi Network 1, Wi-Fi Network 2, Wi-Fi Network 3, and Wi-Fi Network 4. Upon receiving a user input (1504a) for selecting one Wi-Fi network (e.g., Wi-Fi Network 3) in the network selection window (1504), the electronic device (310) may broadcast a packet including device information of the Air Dresser obtained from a server according to at least one of the embodiments of the present disclosure and encrypted connection information of the selected network. In one embodiment, the electronic device (310) may continue broadcasting the device information and the encrypted connection information until a reception confirmation message indicating successful reception of the device information and the encrypted connection information is received.

[0188] Referring to FIG. 15c, the electronic device (310) may display a recommended device screen (1506) including information (1506a) of an air dresser being onboarded (e.g., “Adding device…”) and items of other IoT devices to be added (e.g., a washing machine, and a TV). Upon receiving a user input (1506b) (e.g., a touch on an object of “washing machine”) for selecting another IoT device (e.g., a washing machine) on the recommended device screen (1506), the electronic device (310) may proceed to FIG. 15d.

[0189] Referring to FIG. 15D , the electronic device (310) may display a network selection window (1508) for the washing machine. In one embodiment, the network selection window (1508) may include selection objects of one or more Wi-Fi networks to which the washing machine can connect, for example, Wi-Fi network 1, Wi-Fi network 2, Wi-Fi network 3, and Wi-Fi network 4. Upon receiving a user input (1508a) for selecting one Wi-Fi network (for example, Wi-Fi network 3) in the network selection window (1508), the electronic device (310) may broadcast a packet including device information of the washing machine obtained from a server according to at least one of the embodiments of the present disclosure and encrypted connection information of the selected network. In one embodiment, the electronic device (310) may continue to broadcast the device information and encrypted connection information until a reception confirmation message indicating successful reception of the device information and the encrypted connection information is received.

[0190] Referring to FIG. 15e, the electronic device (310) may display a recommended device screen (1510) including information (1510a) of the air dresser that has been onboarded (e.g., “Device added”), information (1510b) of the washing machine that is being onboarded (e.g., “Adding device…”), and items of IoT devices to be added (e.g., and a TV) based on receiving an onboarding result from the server (350) indicating that the air dresser has been onboarded successfully. While displaying the recommended device screen (1510), the electronic device (310) may proceed to FIG. 15f based on receiving an onboarding result from the server (350) indicating that the washing machine has been onboarded successfully.

[0191] In FIG. 15f, the electronic device (310) may display an onboarding completion screen (1512) including information (e.g., “Air dresser added.” and “Washing machine added.”) indicating successful onboarding of multiple IoT devices (e.g., air dresser and washing machine) that were simultaneously performed.

[0192] An electronic device (310) according to one embodiment of the present disclosure may include a camera (410), a communication circuit (404), at least one processor (402) functionally connected to the camera and the communication circuit, and a memory (406) storing instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to obtain machine-readable code related to an external electronic device (320) through the camera. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to determine whether the external electronic device supports a specified fast onboarding based on device information of the external electronic device obtained based on the machine-readable code. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to encrypt connection information used by the external electronic device to connect to a network with a specified encryption key to generate encrypted data if the external electronic device supports the fast onboarding. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to broadcast, through the communication circuitry, at least one packet comprising the device information and the encrypted data. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to operate in a scan mode to receive an advertising (ADV) packet broadcast from an external electronic device if the external electronic device does not support the fast onboarding.

[0193] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to broadcast the at least one packet using a D2D communication technology supportable by the external electronic device.

[0194] In one embodiment, the D2D communication technology may include at least one of Bluetooth, Bluetooth Low Energy (BLE), or Wi-Fi.

[0195] In one embodiment, the device information may include a serial number (SN) of the external electronic device, and the connection information may include a network name and password of the network.

[0196] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to generate the encrypted data based on a public key associated with the private key, such that the external electronic device decrypts the encrypted data based on a designated private key.

[0197] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to receive an onboarding result from a server indicating that the external electronic device has been onboarded based on the external electronic device obtaining the device information and the connection information and connecting to the network via the connection information.

[0198] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to visually output a message requesting a user to confirm whether a beep sound was output from the external electronic device after broadcasting the at least one packet.

[0199] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to stop broadcasting the at least one packet based on receiving a user input confirming that a beep sound has been output from the external electronic device, determine whether an onboarding result is received from a server indicating that the external electronic device has been onboarded, and resume broadcasting the packet if the onboarding result is not received within a specified time.

[0200] An Internet of Things (IoT) device (320) according to one embodiment may include a communication circuit (414), at least one processor (412) functionally connected to the communication circuit, and a memory (416) storing instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to activate a device-to-device (D2D) function of the communication circuit. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to receive at least one packet broadcast from an external electronic device (310) through the communication circuit in a scan mode based on the activation of the D2D function. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to determine whether device information included in the at least one packet matches device information of the IoT device. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to decrypt encrypted data included in the at least one packet with a designated encryption key to obtain connection information if the device information included in the at least one packet matches the device information of the IoT device. The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to perform an onboarding procedure for a server based on the obtained connection information.The instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to ignore the at least one ADV packet if the device information contained in the at least one packet does not match the device information of the IoT device.

[0201] In one embodiment, the instructions, when individually or collectively executed by the at least one processor, may cause the IoT device to output a notification indicating that onboarding is performed if the device information contained in the at least one packet matches the device information of the IoT device.

[0202] In one embodiment, a non-transitory computer-readable storage medium storing one or more programs may include instructions configured to cause the electronic device (310) to: obtain a machine-readable code associated with an external electronic device (320) through a camera; determine whether the external electronic device supports a specified fast onboarding based on device information of the external electronic device obtained based on the machine-readable code; if the external electronic device supports the fast onboarding, encrypt connection information used to connect the external electronic device to a network with a specified encryption key to generate encrypted data; and broadcast at least one packet including the device information and the encrypted data; and if the external electronic device does not support the fast onboarding, cause the electronic device to operate in a scan mode to receive an advertising (ADV) packet broadcast from the external electronic device.

[0203] In one embodiment, the one or more programs may include instructions configured to cause the electronic device, when executed by the at least one processor, to: broadcast the at least one packet using a D2D communication technology that the external electronic device supports.

[0204] In one embodiment, the D2D communication technology may include at least one of Bluetooth, Bluetooth Low Energy (BLE), or Wi-Fi.

[0205] In one embodiment, the device information may include a serial number (SN) of the external electronic device, and the connection information may include a network name and password of the network.

[0206] In one embodiment, the one or more programs may include instructions configured to cause the electronic device, when executed by the at least one processor, to: cause the external electronic device to decrypt the encrypted data based on a designated private key; and cause the external electronic device to generate the encrypted data based on a public key associated with the private key.

[0207] In one embodiment, the one or more programs may include instructions configured to cause the electronic device, when executed by the at least one processor, to: receive an onboarding result from a server, the onboarding result indicating that the external electronic device has been onboarded, based on the external electronic device obtaining the device information and the connection information and connecting to the network via the connection information.

[0208] In one embodiment, the one or more programs may include instructions configured to cause the electronic device, when executed by the at least one processor, to visually output a message requesting the user to determine whether a beep sound was output from the external electronic device after broadcasting the at least one packet.

[0209] In one embodiment, the one or more programs may include instructions configured to cause the electronic device, when executed by the at least one processor, to: stop broadcasting the at least one packet based on receiving a user input confirming that a beep sound has been output from the external electronic device; determine whether an onboarding result is received from a server indicating that the external electronic device has been onboarded; and resume broadcasting the packet if the onboarding result is not received within a specified time.

[0210] A non-transitory computer-readable storage medium storing one or more programs according to one embodiment, wherein the one or more programs may include instructions configured to cause the IoT device (320) to: activate a device-to-device (D2D) function; receive at least one packet broadcast from an external electronic device (310) in a scan mode based on the D2D function being activated; determine whether device information included in the at least one packet matches device information of the IoT device; decrypt encrypted data included in the at least one packet with a designated encryption key to obtain connection information if the device information included in the at least one packet matches device information of the IoT device; perform an onboarding procedure for a server based on the obtained connection information; and ignore the at least one ADV packet if the device information included in the at least one packet does not match device information of the IoT device.

[0211] In one embodiment, the one or more programs may include instructions configured to cause the IoT device, when executed by the at least one processor, to: output a notification to indicate that onboarding is performed if the device information contained in the at least one packet matches the device information of the IoT device.

[0212] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0213] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

[0214] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0215] Various embodiments of the present document may be implemented as software (e.g., a program (240)) including one or more instructions stored in a storage medium (e.g., an internal memory (236) or an external memory (238)) readable by a machine (e.g., an electronic device (201)). For example, a processor (e.g., a processor (220)) of the machine (e.g., an electronic device (201)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The 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. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

[0216] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.

[0217] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

Claims

1. In an electronic device (310), Camera (410); Communication circuit (404); At least one processor (402) functionally connected to the camera and the communication circuit; and A memory (406) for storing instructions, said instructions causing said electronic device to perform, when individually or collectively executed by said at least one processor, Obtaining a machine-readable code associated with an external electronic device (320) through the above camera, Based on the device information of the external electronic device obtained based on the machine-readable code, determine whether the external electronic device supports the specified rapid onboarding, If the external electronic device supports the fast onboarding, the connection information used by the external electronic device to connect to the network is encrypted with a designated encryption key to generate encrypted data, Broadcasting at least one packet including the device information and the encrypted data through the communication circuit, An electronic device characterized in that, when the external electronic device does not support the fast onboarding, the electronic device operates in a scan mode to receive an advertising (ADV) packet broadcast from the external electronic device.

2. In the first paragraph, the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device characterized in that it broadcasts at least one packet using a D2D communication technology that the external electronic device can support.

3. In the second paragraph, the D2D communication technology An electronic device comprising at least one of Bluetooth, Bluetooth Low Energy (BLE), or Wi-Fi.

4. In any one of paragraphs 1 to 3, the device information includes a serial number (SN) of the external electronic device, An electronic device, characterized in that the above connection information includes a network name and password of the network.

5. In any one of paragraphs 1 to 4, the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device characterized in that it generates the encrypted data based on a public key associated with the private key, so that the external electronic device decrypts the encrypted data based on a designated private key.

6. In any one of paragraphs 1 to 5, the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device characterized in that the external electronic device receives an onboarding result from a server notifying that the external electronic device has been onboarded based on obtaining the device information and the connection information and connecting to the network through the connection information.

7. In any one of claims 1 to 6, the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: An electronic device characterized in that, after broadcasting at least one packet, it visually outputs a message requesting a user to confirm whether a beep sound has been output from the external electronic device.

8. In any one of paragraphs 1 to 7, the instructions, when individually or collectively executed by the at least one processor, cause the electronic device to: Stopping the broadcasting of said at least one packet based on receiving user input confirming that a beep sound has been output from said external electronic device; Determine whether an onboarding result is received from the server indicating that the external electronic device has been onboarded; An electronic device characterized in that it resumes broadcasting of the packet if the onboarding result is not received within a specified time.

9. In the IoT (internet over things) device (320), Communication circuit (414); At least one processor (412) functionally connected to the above communication circuit; and A memory (416) for storing instructions, wherein the instructions, when individually or collectively executed by the at least one processor, cause the IoT device to: Activate the device-to-device (D2D) function of the above communication circuit, Based on the activation of the above D2D function, at least one packet broadcast from an external electronic device (310) is received through the communication circuit in scan mode, Determining whether the device information contained in at least one of the packets above matches the device information of the IoT device, If the device information included in the at least one packet matches the device information of the IoT device, the encrypted data included in the at least one packet is decrypted with a designated encryption key to obtain connection information, Perform onboarding procedures for the server based on the connection information obtained above, An IoT device characterized in that the at least one ADV packet is ignored if the device information contained in the at least one packet does not match the device information of the IoT device.

10. In the 9th paragraph, the instructions, when individually or collectively executed by the at least one processor, cause the IoT device to: An electronic device characterized in that it outputs a notification to notify that onboarding is performed when the device information included in at least one packet matches the device information of the IoT device.

11. In a non-transitory computer-readable storage medium storing one or more programs, the one or more programs, when individually or collectively executed by at least one processor (402) of an electronic device (310), cause the electronic device to: Obtaining a machine-readable code associated with an external electronic device (320) through the camera, Based on the device information of the external electronic device obtained based on the machine-readable code, determine whether the external electronic device supports the specified rapid onboarding, If the external electronic device supports the fast onboarding, the connection information used to connect the external electronic device to the network is encrypted with a designated encryption key to generate encrypted data, Broadcasting at least one packet containing the device information and the encrypted data, A storage medium characterized by including instructions configured to cause the electronic device to operate in a scan mode to receive an advertising (ADV) packet broadcast from the external electronic device if the external electronic device does not support the fast onboarding.

12. In the 11th paragraph, the one or more programs, when executed by the at least one processor, cause the electronic device to: Comprising instructions configured to cause the external electronic device to broadcast the at least one packet using a D2D communication technology that is supportable; A storage medium characterized in that the above D2D communication technology includes at least one of Bluetooth, Bluetooth low energy (BLE), or Wi-Fi.

13. In the 11th or 12th paragraph, the device information includes a serial number (SN) of the external electronic device, A storage medium, characterized in that the above connection information includes a network name and password of the network.

14. In any one of paragraphs 11 to 13, the one or more programs, when executed by the at least one processor, cause the electronic device to: A storage medium characterized by including instructions configured to cause the external electronic device to decrypt the encrypted data based on a designated private key and to generate the encrypted data based on a public key associated with the private key.

15. In a non-transitory computer-readable storage medium storing one or more programs, the one or more programs, when individually or collectively executed by at least one processor (412) of an IoT device (320), cause the IoT device to: Activate the device-to-device (D2D) function of the IoT device, Receiving at least one packet broadcast from an external electronic device (310) in scan mode based on the activation of the above D2D function, Determining whether the device information contained in at least one of the packets above matches the device information of the IoT device, If the device information included in the at least one packet matches the device information of the IoT device, the encrypted data included in the at least one packet is decrypted with a designated encryption key to obtain connection information, Perform onboarding procedures for the server based on the connection information obtained above, A storage medium characterized by including commands configured to ignore the at least one ADV packet if the device information included in the at least one packet does not match the device information of the IoT device.

Citation Information

Patent Citations

  • Network pairing method in gateway for internet of things system

    KR101716855B1

  • Method and apparatus for identifying a physical IoT device

    KR1020160086332A

  • Oil-in-water type cosmetic composition comprising petal

    KR1020200085068A

  • Display panel assembly

    KR1020240164612A

  • Method and system for self-onboarding of IoT devices

    WO2023054935A1