KR102503257B1 - Apparatus and method for bluetooth communication - Google Patents

Apparatus and method for bluetooth communication Download PDF

Info

Publication number
KR102503257B1
KR102503257B1 KR1020160046825A KR20160046825A KR102503257B1 KR 102503257 B1 KR102503257 B1 KR 102503257B1 KR 1020160046825 A KR1020160046825 A KR 1020160046825A KR 20160046825 A KR20160046825 A KR 20160046825A KR 102503257 B1 KR102503257 B1 KR 102503257B1
Authority
KR
South Korea
Prior art keywords
layer
bluetooth device
coap
gateway
message
Prior art date
Application number
KR1020160046825A
Other languages
Korean (ko)
Other versions
KR20170119098A (en
Inventor
고석갑
손승철
오승훈
이병탁
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160046825A priority Critical patent/KR102503257B1/en
Publication of KR20170119098A publication Critical patent/KR20170119098A/en
Application granted granted Critical
Publication of KR102503257B1 publication Critical patent/KR102503257B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

블루투스 통신을 위한 방법 및 장치가 제공된다. 블루투스 장치는 게이트웨이에 의해 제공되는 게이트웨이 기능을 통해 외부의 다른 장치와 통신한다. 블루투스 장치의 프로토콜 스택에 있어서, CoAP 계층은 L2CAP 계층의 바로 상위의 계층이다. 또한, 게이트웨이의 블루투스 통신을 위한 프로토콜 스택에 있어서, CoAP 계층은 L2CAP 계층의 바로 상위의 계층이다. 프로토콜 스택 중 일부가 생략됨에 따라, 블루투스 장치 및 게이트웨이는 고효율의 통신을 제공한다.A method and apparatus for Bluetooth communication are provided. A Bluetooth device communicates with other external devices through the gateway function provided by the gateway. In the protocol stack of the Bluetooth device, the CoAP layer is a layer immediately above the L2CAP layer. In addition, in the protocol stack for Bluetooth communication of the gateway, the CoAP layer is a layer immediately above the L2CAP layer. As some of the protocol stacks are omitted, Bluetooth devices and gateways provide highly efficient communication.

Description

블루투스 통신을 위한 장치 및 방법{APPARATUS AND METHOD FOR BLUETOOTH COMMUNICATION}Apparatus and method for Bluetooth communication {APPARATUS AND METHOD FOR BLUETOOTH COMMUNICATION}

아래의 실시예들은 블루투스 통신을 하기 위한 방법 및 장치에 관한 것으로 보다 상세히는 사물인터넷을 위해 블루투스 통신을 위한 간략한 프로토콜 스택을 갖는 방법 및 장치가 제공된다.The following embodiments relate to a method and apparatus for Bluetooth communication, and more specifically, a method and apparatus having a simple protocol stack for Bluetooth communication for the Internet of Things are provided.

블루투스(Bluetooth) 기술은 근거리 무선 통신 기술로서, 10m 이내의 주변의 기기들과의 통신을 제공하는 기술이다. 최근에는, 다양한 센서를 지원할 수 있도록 저전력 규격인 블루투스 로우 에너지(Bluetooth Low Enengy; BLE) 규격이 개발되었다.Bluetooth technology is a short-distance wireless communication technology, and is a technology that provides communication with nearby devices within 10 m. Recently, a Bluetooth Low Energy (BLE) standard, which is a low power standard, has been developed to support various sensors.

블루투스 표준으로서, 블루투스 기기(device) 및 서비스의 종류 별로 프로파일 규격을 제정되고 있다. 그러나, 프로파일 규격의 개발은 블루투스 기기가 새롭게 개발되는 속도를 따라가지 못하고 있다. 따라서, 블루투스 기기의 제조사가 상위 계층(layer)의 통신 규격 또는 어플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 제공하고 있다.As a Bluetooth standard, profile standards are being established for each type of Bluetooth device and service. However, the development of the profile standard is not keeping up with the speed at which Bluetooth devices are newly developed. Accordingly, manufacturers of Bluetooth devices provide upper layer communication standards or application programming interfaces (APIs).

이러한 상황은 서로 다른 제품들 간의 연동 또는 서로 다른 제조사의 제품들 간의 연동을 어렵게 만든다. 예를 들면, 스마트폰(smartphone)과 같은 블루투스 기기는 다양한 다른 블루투스 기기들을 검색하고, 검색된 다른 블루투스 기기들과 연동(interoperate)되어야 한다. 이러한 연동이 블루투스 기기의 제조사에 의해 작성된 프로그램(예를 들면, 앱(App))을 통해서만 이루어진다면, 호환성 및 연동성(interoperability)에 있어서 문제가 발생한다.This situation makes it difficult to interlock between different products or between products of different manufacturers. For example, a Bluetooth device such as a smartphone must search for various other Bluetooth devices and interoperate with the searched other Bluetooth devices. If such interworking is performed only through a program (for example, an App) written by a manufacturer of a Bluetooth device, problems arise in compatibility and interoperability.

한편, 인터넷을 통해 연결된 다양한 사물들이 인터넷에 연결되어 서로 연동되는 사물인터넷(Internet of Things; IoT) 시대로 진입함에 따라, 블루투스 기기들의 인터넷으로의 연동을 가능하게 하는 방법에 대한 기술 표준들이 제정되었다.On the other hand, as we enter the Internet of Things (IoT) era in which various things connected through the Internet are connected to the Internet and interoperate with each other, technical standards for how to enable Bluetooth devices to interoperate with the Internet have been established. .

이러한 기술 표준들로서, 1) 블루투스 기기가 알이에스티(Representational State Transfer; REST) API 를 지원하게 하는 방법, 2) 에이치티티피(HyperText Transfer Protocol; HTTP) 프록시(proxy)를 통해 블루투스 기기가 인터넷에 액세스 하는 방법 및 3) 6엘오더블유피에이엔(IPv6 over Low power Wireless Personal Area Networks; 6LoWPAN), 아이피브이6(Internet Protocol version 6; IPv6) 및 유디피(User Datagram Protocol; UDP)의 계층들을 엘2씨에이피(Link Layer Control and Adaptation Protocol; L2CAP)의 상위의 계층으로서 구현하는 인터넷 프로토콜 지원 프로파일(Internet Protocol Support Profile Specification; IPSP)이 있다. 아래에서는 3가지의 방법들에 대해 간략하게 살펴본다.These technical standards include 1) a method for enabling a Bluetooth device to support Representational State Transfer (REST) API, 2) a Bluetooth device accessing the Internet through a HyperText Transfer Protocol (HTTP) proxy. How to access and 3) Layers of IPv6 over Low power Wireless Personal Area Networks (6LoWPAN), Internet Protocol version 6 (IPv6), and User Datagram Protocol (UDP) There is an Internet Protocol Support Profile Specification (IPSP) implemented as a layer above Link Layer Control and Adaptation Protocol (L2CAP). Below is a brief overview of the three methods.

1) 블루투스 기기가 REST API를 지원하는 방법1) How Bluetooth devices support REST API

블루투스 인터넷 게이트웨이(gateway)는 인터넷을 통해 클라이언트로부터 요청을 수신한다. 블루투스 인터넷 게이트웨이는 요청을 블루투스 기기의 에이티티(Attribute Protocol; ATT) 및/또는 지에이티티(Generic Attribute Profile; GATT)로 변환한다. 상기의 변환을 통해 블루투스 기기 및 클라이언트 간의 통신이 이루어진다.A Bluetooth Internet gateway receives requests from clients over the Internet. The Bluetooth Internet gateway converts the request into the Bluetooth device's Attribute Protocol (ATT) and/or Generic Attribute Profile (GATT). Through the above conversion, communication between the Bluetooth device and the client is performed.

이러한 방법은 기존의 블루투스 스택을 그대로 사용한다. 기존의 블루투스 스택을 그대로 사용함에 따라, 이러한 방법은 전술된 호환성 및 연동성의 문제를 그대로 갖는다. 따라서, 블루투스 인터넷 게이트웨이는 다양한 블루투스 기기들의 내부의 속성을 인식할 수 있어야 하며, 서로 다른 내부의 속성을 갖는 다양한 블루투스 기기들과 연동할 수 있어야 한다. 또한, 외부의 서버 또한 블루투스 기기의 내부의 속성을 미리 알고 있어야 한다.This method uses the existing Bluetooth stack as it is. As the existing Bluetooth stack is used as it is, this method has the aforementioned problems of compatibility and interoperability. Therefore, the Bluetooth Internet gateway should be able to recognize internal properties of various Bluetooth devices and interwork with various Bluetooth devices having different internal properties. In addition, the external server must also know the internal properties of the Bluetooth device in advance.

이러한 방법은 응용(application) 계층의 표준이 아니기 때문에, 이러한 방법이 사용될 경우, 수집된 데이터의 인식이 어렵다.Since this method is not standard for the application layer, it is difficult to recognize the collected data when this method is used.

2) HTTP 프록시를 통해 블루투스 기기가 인터넷에 액세스 하는 방법2) How Bluetooth devices access the Internet through HTTP proxy

이러한 방법에서, 블루투스 HTTP 프록시 서비스(HTTP Proxy Service; HPS) 클라이언트 및 블루투스 HPS 서버 간의 블루투스 구간에서는 기존의 블루투스 스택이 그대로 사용된다. 블루투스 HPS 서버는 게이트웨이의 기능을 수행한다. 블루투스 HPS 서버는 자체의 매핑을 통해 블루투스의 프로토콜을 HTTP와 같은 인터넷 프로토콜로 변환한다. 이러한 변환에 의해 블루투스 HPS 클라이언트 및 원격의 HTTP 서버 간의 통신이 이루어진다.In this method, an existing Bluetooth stack is used as it is in a Bluetooth section between a Bluetooth HTTP Proxy Service (HPS) client and a Bluetooth HPS server. The Bluetooth HPS server performs the function of a gateway. The Bluetooth HPS server converts Bluetooth protocols to Internet protocols such as HTTP through its own mapping. This translation enables communication between the Bluetooth HPS client and the remote HTTP server.

이러한 방식에서, 게이트웨이의 기능을 수행하는 블루투스 HPS 서버가 블루투스 기기의 속성을 모두 알고 있어야 한다. 따라서, 이러한 방식이 사용될 경우, 통신에 있어서 연동성 및 호환성이 떨어질 수 있다.In this way, the Bluetooth HPS server performing the function of the gateway must know all the attributes of the Bluetooth device. Therefore, when this method is used, interoperability and compatibility in communication may deteriorate.

3) IPSP를 사용하는 방법.3) How to use IPSP.

IPSP를 사용하는 방법은, 블루투스 ATT 및 GATT 를 사용하지 않고 L2CAP 상에 6LowPAN, IPv6, UDP, TCP 및 응용 계층 스택을 구현한다. 이러한 구현을 통해 통신이 이루어진다. 이러한 방법은, 인터넷 프로토콜을 그대로 블루투스 노드에 탑재하기 때문에, 높은 호환성 및 연동성을 확보할 수 있다.The method using IPSP implements 6LowPAN, IPv6, UDP, TCP and application layer stacks on L2CAP without using Bluetooth ATT and GATT. Communication is achieved through this implementation. This method can ensure high compatibility and interoperability because the Internet protocol is loaded into the Bluetooth node as it is.

그러나, 이러한 방법에 따르면, TCP, IP 및 6LoWPAN의 프로토콜 스택이 그대로 블루투스 노드에서 구현된다. 따라서, 이러한 방법이 사용되면, 메모리 문제, 성능 문제 및 블루투스 네트워크 효율성 문제가 발생한다.However, according to this method, protocol stacks of TCP, IP, and 6LoWPAN are implemented in the Bluetooth node as it is. Therefore, when this method is used, memory problems, performance problems, and Bluetooth network efficiency problems occur.

블루투스와 관련하여, 한국공개특허 제2014-0027503호 및 한국등록특허 제10-1397744호 등이 제시된 바 있다.In relation to Bluetooth, Korean Patent Publication No. 2014-0027503 and Korean Patent Registration No. 10-1397744 have been proposed.

일 실시예는 국제 표준 프로토콜을 블루투스에 적용함으로써 다양한 현재의 기기 및 미래의 기기에 적용될 수 있는 통신 방법을 제공할 수 있다.An embodiment can provide a communication method that can be applied to various current and future devices by applying an international standard protocol to Bluetooth.

일 실시예는 프로토콜 스택 중 일부를 생략함으로써 고효율의 통신을 제공하는 장치 및 방법을 제공할 수 있다.An embodiment may provide an apparatus and method for providing high-efficiency communication by omitting some of the protocol stacks.

일 측면에 있어서, 적어도 하나의 프로그램을 수행하는 처리부; 및 블루투스 통신을 수행하는 통신부를 포함하고, 상기 적어도 하나의 프로그램은 CoAP 계층의 코드 및 L2CAP 계층의 코드를 포함하고, 상기 CoAP 계층은 상기 L2CAP 계층의 바로 상위의 계층인 블루투스 장치가 제공된다.In one aspect, a processing unit that executes at least one program; and a communication unit that performs Bluetooth communication, wherein the at least one program includes CoAP layer code and L2CAP layer code, and the CoAP layer is a layer immediately above the L2CAP layer.

상기 블루투스 장치에서 IP 계층, UDP 계층 및 6LoWPAN 계층은 제외될 수 있다.In the Bluetooth device, an IP layer, a UDP layer, and a 6LoWPAN layer may be excluded.

상기 적어도 하나의 프로그램은 CoAP 지원 프로파일을 포함할 수 있다.The at least one program may include a CoAP support profile.

상기 CoAP 지원 프로파일은 GATT 및 ATT를 통해 상기 블루투스 장치가 CoAP의 기능을 지원한다는 것이 검색되게 할 수 있다.The CoAP support profile enables a discovery that the Bluetooth device supports CoAP functions through GATT and ATT.

상기 블루투스 장치는 CoAP GET 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 브로드캐스트 메시지에 대응하는 응답 메시지를 게이트웨이로부터 수신함으로써 상기 게이트웨이에 대한 정보를 획득할 수 있다.The Bluetooth device may acquire information about the gateway by broadcasting a broadcast message including a CoAP GET message and receiving a response message corresponding to the broadcast message from the gateway.

상기 블루투스 장치는 브로드캐스트 메시지를 관찰하고, 상기 브로드캐스트 메시지를 수신함에 따라 상기 브로드캐스트 메시지를 브로드캐스트한 게이트웨이를 발견할 수 있다.The Bluetooth device observes the broadcast message and, upon receiving the broadcast message, can discover the gateway that broadcast the broadcast message.

상기 블루투스 장치는 상기 블루투스 장치를 게이트웨이에 등록하기 위해 상기 블루투스 장치에 대한 정보 및 상기 블루투스 장치의 리소스의 경로를 포함하는 데이터 메시지를 상기 게이트웨이로 전송할 수 있고, 상기 블루투스 장치에 대한 정보가 기록된 경로를 포함하는 응답 메시지를 상기 게이트웨이로부터 수신할 수 있다.The Bluetooth device may transmit a data message including information about the Bluetooth device and a path of a resource of the Bluetooth device to the gateway to register the Bluetooth device with the gateway, and a path in which the information about the Bluetooth device is recorded. A response message including a may be received from the gateway.

상기 블루투스 장치는 상기 경로를 사용하여 상기 블루투스 장치의 리소스를 상기 게이트웨이에 등록할 수 있다.The Bluetooth device may register a resource of the Bluetooth device with the gateway using the path.

다른 일 측에 있어서, 블루투스 장치에 의해 수행되는, 상기 블루투스 장치를 게이트웨이에 등록하는 단계; 및 상기 게이트웨이에 의해 제공되는 게이트웨이 기능을 통해 통신을 수행하는 단계를 포함하고, 상기 블루투스 장치의 프로토콜 스택은 CoAP 계층 및 L2CAP 계층을 포함하고, 상기 CoAP 계층은 상기 L2CAP 계층의 바로 상위의 계층인 통신 방법이 제공된다.In another aspect, the step of registering the Bluetooth device to the gateway, performed by the Bluetooth device; and performing communication through a gateway function provided by the gateway, wherein a protocol stack of the Bluetooth device includes a CoAP layer and an L2CAP layer, and the CoAP layer is a communication layer immediately above the L2CAP layer. A method is provided.

상기 통신 방법은, 상기 블루투스 장치의 리소스를 상기 게이트웨이에 등록하는 단계를 더 포함할 수 있다.The communication method may further include registering a resource of the Bluetooth device with the gateway.

또 다른 일 측에 있어서, 적어도 하나의 프로그램을 수행하는 처리부; 및 블루투스 통신을 수행하는 통신부를 포함하고, 상기 적어도 하나의 프로그램은 MQTT 계층의 코드 및 L2CAP 계층의 코드를 포함하고, 상기 MQTT 계층은 상기 L2CAP 계층의 바로 상위의 계층인 블루투스 장치가 제공된다.In another aspect, a processing unit that executes at least one program; and a communication unit that performs Bluetooth communication, wherein the at least one program includes an MQTT layer code and an L2CAP layer code, and the MQTT layer is a layer immediately above the L2CAP layer.

또 다른 일 측에 있어서, 적어도 하나의 프로그램을 수행하는 처리부; 블루투스 통신을 위한 제1 통신부; 및 인터넷과의 연동을 위한 제2 통신부를 포함하고, 상기 적어도 하나의 프로그램은 제1 통신부 용 코드를 포함하고, 상기 제1 통신부 용 코드는 CoAP 계층의 코드 및 L2CAP 계층의 코드를 포함하고, 상기 CoAP 계층은 상기 L2CAP 계층의 바로 상위의 계층인 게이트웨이가 제공된다.In another aspect, a processing unit that executes at least one program; A first communication unit for Bluetooth communication; and a second communication unit for interworking with the Internet, wherein the at least one program includes a first communication unit code, the first communication unit code includes a CoAP layer code and an L2CAP layer code, The CoAP layer is provided with a gateway, which is a layer immediately above the L2CAP layer.

상기 적어도 하나의 프로그램은 프록시 모듈을 포함할 수 있다.The at least one program may include a proxy module.

상기 프록시 모듈은 상기 CoAP 계층의 상위의 계층일 수 있다.The proxy module may be a layer above the CoAP layer.

상기 프록시 모듈은 상기 제1 통신부를 통해 연결된 블루투스 장치의 주소를 상기 게이트웨이 내부의 URI-경로에 매핑함으로써 상기 블루투스 장치 및 상기 제2 통신부를 통해 연결된 장치 간의 통신을 가능하게 할 수 있다.The proxy module may enable communication between the Bluetooth device and a device connected through the second communication unit by mapping an address of the Bluetooth device connected through the first communication unit to a URI-path within the gateway.

상기 제1 통신부는 블루투스 장치로부터 CoAP의 요청 메시지를 수신할 수 있다.The first communication unit may receive a CoAP request message from a Bluetooth device.

상기 처리부는 상기 CoAP의 요청 메시지로부터 URI-호스트 및 URI-포트를 제거할 수 있고, 상기 요청 메시지에 IP 헤더 및 UDP 헤더를 세팅할 수 있다.The processor may remove URI-host and URI-port from the request message of the CoAP, and may set an IP header and UDP header in the request message.

상기 제2 통신부는 상기 IP 헤더 및 상기 UDP 헤더가 세팅된 요청 메시지를 외부 장치로 전달할 수 있다.The second communication unit may transmit the request message in which the IP header and the UDP header are set to an external device.

상기 제2 통신부는 외부 장치로부터 CoAP의 요청 메시지를 수신할 수 있다.The second communication unit may receive a CoAP request message from an external device.

상기 처리부는 상기 CoAP의 요청 메시지로부터 URI-호스트, URI-포트, URI-경로 중 프리픽스, URI-경로 중 블루투스 장치 식별자, IP 헤더 및 UDP 헤더를 제거할 수 있다.The processor may remove a URI-host, a URI-port, a prefix from a URI-path, a Bluetooth device identifier from a URI-path, an IP header, and a UDP header from the request message of the CoAP.

상기 제1 통신부는 상기 URI-호스트, 상기 URI-포트, 상기 프리픽스, 상기 블루투스 장치 식별자, 상기 IP 헤더 및 상기 UDP 헤더가 제거된 요청 메시지를 블루투스 장치로 전달할 수 있다.The first communication unit may transmit the request message from which the URI-host, the URI-port, the prefix, the Bluetooth device identifier, the IP header, and the UDP header are removed to the Bluetooth device.

상기 게이트웨이는 CoAP Ping 요청 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 블루투스 장치로부터 상기 CoAP Ping 요청 메시지에 대응하는 CoAP Ping 응답 메시지를 수신함으로써 상기 블루투스 장치를 검출할 수 있다.The gateway may detect the Bluetooth device by broadcasting a broadcast message including a CoAP Ping request message and receiving a CoAP Ping response message corresponding to the CoAP Ping request message from the Bluetooth device.

상기 게이트웨이는 브로드캐스트 메시지를 관찰할 수 있다.The gateway may observe broadcast messages.

상기 게이트웨이는 가상 CoAP Ping 응답 메시지를 포함하는 상기 브로드캐스트 메시지를 수신함에 따라 상기 브로드캐스트 메시지를 브로드캐스트한 블루투스 장치를 발견할 수 있다.Upon receiving the broadcast message including the virtual CoAP Ping response message, the gateway can discover the Bluetooth device that broadcast the broadcast message.

상기 게이트웨이는 연결 요청 메시지를 블루투스 장치로 전송할 수 있고, 상기 블루투스 장치로부터 상기 블루투스 장치의 리소스의 경로를 포함하는 응답 메시지를 수신할 수 있고, 상기 경로를 포함하는 재질의 메시지를 상기 블루투스 장치로 전송할 수 있고, 상기 경로에 대한 정보를 포함하는 응답 메시지를 상기 블루투스 장치로부터 수신할 수 있다.The gateway may transmit a connection request message to the Bluetooth device, receive a response message including a resource path of the Bluetooth device from the Bluetooth device, and transmit a material message including the path to the Bluetooth device. and receive a response message including information about the route from the Bluetooth device.

또 다른 일 측에 있어서, 게이트웨이에 의해 수행되는, 블루투스 장치를 검색하는 단계; 및 블루투스 장치에게 게이트웨이 기능을 제공하는 단계를 포함하고, 상기 게이트웨이의 블루투스 통신을 위한 프로토콜 스택은 CoAP 계층 및 L2CAP 계층을 포함하고, 상기 CoAP 계층은 상기 L2CAP 계층의 바로 상위의 계층인 통신 방법이 제공된다.In another aspect, searching for a Bluetooth device performed by a gateway; and providing a gateway function to a Bluetooth device, wherein a protocol stack for Bluetooth communication of the gateway includes a CoAP layer and an L2CAP layer, and the CoAP layer is a layer immediately above the L2CAP layer. do.

상기 통신 방법은, 상기 블루투스 장치의 리소스를 확인하는 단계를 더 포함할 수 있다.The communication method may further include checking resources of the Bluetooth device.

또 다른 일 측에 있어서, 적어도 하나의 프로그램을 수행하는 처리부; 블루투스 통신을 위한 제1 통신부; 및 인터넷과의 연동을 위한 제2 통신부를 포함하고, 상기 적어도 하나의 프로그램은 제1 통신부 용 코드를 포함하고, 상기 제1 통신부 용 코드는 MQTT 계층의 코드 및 L2CAP 계층의 코드를 포함하고, 상기 MQTT 계층은 상기 L2CAP 계층의 바로 상위의 계층인 게이트웨이가 제공된다.In another aspect, a processing unit that executes at least one program; A first communication unit for Bluetooth communication; and a second communication unit for interworking with the Internet, wherein the at least one program includes code for the first communication unit, the code for the first communication unit includes an MQTT layer code and an L2CAP layer code, and the The MQTT layer is provided with a gateway that is a layer immediately above the L2CAP layer.

국제 표준 프로토콜을 블루투스에 적용함으로써 다양한 현재의 기기 및 미래의 기기에 적용될 수 있는 통신 방법이 제공된다.By applying the international standard protocol to Bluetooth, a communication method that can be applied to various current and future devices is provided.

프로토콜 스택 중 일부를 생략함으로써 고효율의 통신을 제공하는 장치 및 방법이 제공된다.An apparatus and method for providing highly efficient communication by omitting some of the protocol stacks are provided.

도 1은 일 실시예에 따른 블루투스를 사용하여 통신하는 시스템을 도시한다.
도 2는 일 실시예에 따른 블루투스 장치의 구조도이다.
도 3은 일 실시예에 따른 게이트웨이의 구조도이다.
도 4는 일 실시예에 따른 블루투스 장치의 프로토콜 구조를 나타낸다.
도 5는 일 실시예에 따른 게이트웨이의 프로토콜 구조를 나타낸다.
도 6은 일 실시예에 따른 블루투스 장치 및 게이트웨이의 통신의 구조를 설명한다.
도 7은 일 실시예에 따른 블루투스 장치의 통신 방법의 흐름도이다.
도 8는 일 실시예에 따른 게이트웨이 통신 방법의 흐름도이다.
도 9는 일 예에 따른 블루투스 장치들 간의 CoAP를 이용하는 통신을 도시한다.
도 10은 일 예에 따른 브로드캐스트를 사용하는 CoAP를 지원하는 블루투스 장치의 검색 방법의 흐름도이다.
도 11은 일 예에 따른 관찰을 사용하는 CoAP를 지원하는 블루투스 장치의 검색 방법의 흐름도이다.
도 12는 일 예에 따른 블루투스 장치의 리소스를 검색하는 방법의 흐름도이다.
도 13은 일 예에 따른 게이트웨이의 외부 장치로부터의 요청을 처리하는 방법의 흐름도이다.
도 14는 일 예에 따른 게이트웨이의 외부 장치로부터의 요청을 처리하는 방법의 흐름도이다.
도 15는 일 예에 따른 게이트웨이 검색 방법의 흐름도이다.
도 16은 일 예에 따른 관찰을 사용하는 CoAP를 지원하는 게이트웨이의 검색 방법의 흐름도이다.
도 17은 일 예에 따른 블루투스 장치를 등록하는 방법의 흐름도이다.
도 18은 일 예에 따른 블루투스 장치의 리소스를 등록하는 방법의 흐름도이다.
도 19는 일 예에 따른 블루투스 장치의 구조도이다.
도 20은 일 예에 따른 게이트웨이의 구조도이다.
도 21은 일 실시예에 따른 블루투스 장치 및 게이트웨이의 통신의 구조를 설명한다.
도 22는 일 예에 따른 어드버타이징 채널 프레임 포맷을 나타낸다.
도 23은 일 예에 따른 데이터 채널 프레임 포맷을 나타낸다.
1 illustrates a system that communicates using Bluetooth according to one embodiment.
2 is a structural diagram of a Bluetooth device according to an embodiment.
3 is a structural diagram of a gateway according to an embodiment.
4 shows a protocol structure of a Bluetooth device according to an embodiment.
5 shows a protocol structure of a gateway according to an embodiment.
6 illustrates a structure of communication between a Bluetooth device and a gateway according to an embodiment.
7 is a flowchart of a communication method of a Bluetooth device according to an embodiment.
8 is a flowchart of a gateway communication method according to an embodiment.
9 illustrates communication using CoAP between Bluetooth devices according to an example.
10 is a flowchart of a method for discovering a Bluetooth device supporting CoAP using broadcast according to an example.
11 is a flowchart of a method for discovering a Bluetooth device supporting CoAP using observation according to an example.
12 is a flowchart of a method of searching for a resource of a Bluetooth device according to an example.
13 is a flowchart of a method of processing a request from an external device of a gateway according to an example.
14 is a flowchart of a method of processing a request from an external device of a gateway according to an example.
15 is a flowchart of a gateway search method according to an example.
16 is a flowchart of a method for discovering a gateway supporting CoAP using observation according to an example.
17 is a flowchart of a method of registering a Bluetooth device according to an example.
18 is a flowchart of a method of registering a resource of a Bluetooth device according to an example.
19 is a structural diagram of a Bluetooth device according to an example.
20 is a structural diagram of a gateway according to an example.
21 illustrates a structure of communication between a Bluetooth device and a gateway according to an embodiment.
22 illustrates an advertising channel frame format according to an example.
23 illustrates a data channel frame format according to an example.

후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS For detailed descriptions of exemplary embodiments described below, reference is made to the accompanying drawings, which illustrate specific embodiments by way of example. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments. It should be understood that the various embodiments are different, but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in one embodiment in another embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the embodiment. Accordingly, the detailed description set forth below is not to be taken in a limiting sense, and the scope of the exemplary embodiments, if properly described, is limited only by the appended claims, along with all equivalents as claimed by those claims.

도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Like reference numbers in the drawings indicate the same or similar function throughout the various aspects. The shapes and sizes of elements in the drawings may be exaggerated for clarity.

실시예에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 실시예에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않으며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다. 어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.Terms used in the examples are for describing the examples and are not intended to limit the present invention. In the examples, the singular also includes the plural unless specifically stated in the text. As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is present in the presence of one or more other components, steps, operations, and/or elements. Or, it does not exclude addition, and means that additional configurations may be included in the practice of exemplary embodiments or the scope of the technical idea of exemplary embodiments. When a component is referred to as being “connected” or “connected” to another component, the two components may be directly connected or connected to each other, but It will be understood that other components may exist in the middle of the two components.

제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first and second may be used to describe various elements, but the above elements should not be limited by the above terms. The above terms are used to distinguish and refer to one component from another. For example, without departing from the scope of rights, a first element may be termed a second element, and similarly, a second element may also be termed a first element.

또한 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.In addition, the components appearing in the embodiments are shown independently to represent different characteristic functions, and each component does not mean that each component consists of only a separate hardware or one software unit. That is, each component is listed as each component for convenience of description. For example, at least two of the components may be combined into one component. Also, one component may be divided into a plurality of components. An integrated embodiment and a separate embodiment of each of these components are also included in the scope of rights unless departing from the essence.

또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.In addition, some of the components may not be essential components for performing essential functions, but may be optional components for improving performance. Embodiments may be implemented by including only components essential to implement the essence of the embodiment, and structures excluding optional components, such as components used only for performance improvement, are also included in the scope of rights.

이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily practice the embodiments. In describing the embodiments, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present specification, the detailed description will be omitted.

기존의 블루투스 표준은, 블루투스 기기 별로 프로파일 표준을 제정하였고, 프로파일 표준이 준수되도록 하였다. 그러나, 사물인터넷의 시대에서는 표준의 제정 속도가 새로운 제품의 출시 속도를 따라가지 못하고 있다.In the existing Bluetooth standard, a profile standard was established for each Bluetooth device, and the profile standard was complied with. However, in the age of the Internet of Things, the rate of establishment of standards is not keeping up with the rate of release of new products.

표준의 제정 및 새로운 제품의 출시 간의 격차에 의해, 한 회사의 제품들 간에만 연동이 되는 호환성의 문제가 발생하였다. 또한, 다양한 기기들을 수용할 수 있는 게이트웨이 및 응용의 개발이 어렵게되는 문제가 발생하였다.Due to the gap between the establishment of standards and the release of new products, a problem of compatibility in which only one company's products are interlocked occurred. In addition, there has been a problem that it is difficult to develop gateways and applications that can accommodate various devices.

따라서, 아래의 실시예들은 미래에 개발될 다양한 블루투스 기반의 사물인터넷 기기를 수용할 수 있는 호환성을 확보하는 프로토콜 구조를 제안한다. 또한, 아래의 실시예들은 기존의 인터넷 프로토콜을 그대로 블루투스 노드 상에 구현할 경우에 발생하는 메시지 오버헤드, 보안 및 재전송 등과 같은 기능 상의 중복 문제를 해결함으로써 효율성을 확보할 수 있다.Therefore, the following embodiments propose a protocol structure that secures compatibility capable of accommodating various Bluetooth-based IoT devices to be developed in the future. In addition, the following embodiments can secure efficiency by solving duplication of functions such as message overhead, security, and retransmission, which occur when the existing Internet protocol is implemented on a Bluetooth node as it is.

또한, 아래의 실시예들에서는, 블루투스 기기가 표준에 따라서 효율적으로 사물인터넷에 연결하는 것을 가능하게 하는 프로토콜 구조를 제안한다.
In addition, in the following embodiments, a protocol structure enabling a Bluetooth device to efficiently connect to the Internet of Things according to a standard is proposed.

도 1은 일 실시예에 따른 블루투스를 사용하여 통신하는 시스템을 도시한다.1 illustrates a system that communicates using Bluetooth according to one embodiment.

시스템(100)은 블루투스 장치(110) 및 게이트웨이(120)를 포함할 수 있다. 블루투스 장치(110)는 복수일 수 있다.System 100 may include a Bluetooth device 110 and a gateway 120 . The number of Bluetooth devices 110 may be plural.

블루투스 장치(110)는 사물인터넷을 지원할 수 있다. 블루투스 장치(110)의 프로토콜 구조는 블루투스 물리 계층, 블루투스 논리 계층, L2CAP 계층, 씨오에이피(Constrained Application Protocol; CoAP) 계층 및 응용 계층으로 구성될 수 있다.The Bluetooth device 110 may support IoT. The protocol structure of the Bluetooth device 110 may include a Bluetooth physical layer, a Bluetooth logical layer, an L2CAP layer, a Constrained Application Protocol (CoAP) layer, and an application layer.

블루투스 장치(110)의 인터넷 네트워킹은 CoAP의 통합 리소스 식별자(Uniform Resource Identifier; URI) 경로 및 블루투스 기기 간의 매핑을 통해 이루어질 수 있다. 이러한 매핑의 과정은 게이트웨이(120)에 의해 수행될 수 있다.Internet networking of the Bluetooth device 110 may be performed through mapping between a Uniform Resource Identifier (URI) path of CoAP and a Bluetooth device. This mapping process may be performed by the gateway 120 .

게이트웨이(120)는 블루투스 통신을 통해 블루투스 장치(110)와 통신할 수 있다. 또한, 게이트웨이(120)는 인터넷을 통해 외부의 다른 장치와 통신할 수 있다.
The gateway 120 may communicate with the Bluetooth device 110 through Bluetooth communication. In addition, the gateway 120 may communicate with other external devices through the Internet.

도 2는 일 실시예에 따른 블루투스 장치의 구조도이다.2 is a structural diagram of a Bluetooth device according to an embodiment.

블루투스 장치(110)는 처리부(210), 통신부(220) 및 저장부(230)를 포함할 수 있다.The Bluetooth device 110 may include a processing unit 210 , a communication unit 220 and a storage unit 230 .

처리부(210)는 블루투스 장치(110)의 동작을 위해 요구되는 작업을 처리할 수 있다. 예를 들면, 처리부(210)는 적어도 하나의 프로세서(processor)일 수 있다. 처리부(210)는 실시예들에서 설명된 처리부(210)의 동작 또는 단계의 코드를 실행(execute)할 수 있다The processing unit 210 may process tasks required for the operation of the Bluetooth device 110. For example, the processing unit 210 may be at least one processor. The processing unit 210 may execute codes of operations or steps of the processing unit 210 described in the embodiments.

통신부(220)는 블루투스 장치(110)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 블루투스 장치(110)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(220)는 네트워크 내의 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 통신부(220)는 블루투스 통신을 위한 네트워크 칩(chip) 또는 블루투스 통신을 위한 부품일 수 있다.The communication unit 220 may receive data or information required for operation of the Bluetooth device 110 and may transmit data or information required for operation of the Bluetooth device 110 . The communication unit 220 may transmit data to another device within the network and may receive data from the other device. For example, the communication unit 220 may be a network chip for Bluetooth communication or a component for Bluetooth communication.

저장부(230)는 블루투스 장치(110)의 동작을 위해 요구되는 데이터를 저장할 수 있다. 예를 들면, 저장부(230)는 메모리(memory)일 수 있다. 저장부(230)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.The storage unit 230 may store data required for the operation of the Bluetooth device 110 . For example, the storage unit 230 may be a memory. The storage unit 230 may include a built-in storage medium such as a RAM and a flash memory, and may include a removable storage medium such as a memory card.

저장부(230)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(210)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(210)는 저장부(230)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 230 may store at least one program. The processing unit 210 may execute at least one program. The processing unit 210 may read at least one program code from the storage unit 230 and execute the read code.

적어도 하나의 프로그램은 블루투스 통신을 위한 프로그램일 수 있다.At least one program may be a program for Bluetooth communication.

통신부(220)는 블루투스 통신을 수행할 수 있다. 통신부(220)는 블루투스 통신을 통해 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다.The communication unit 220 may perform Bluetooth communication. The communication unit 220 may transmit data to another device through Bluetooth communication and may receive data from the other device.

블루투스 장치(110)의 처리부(210), 통신부(220) 및 저장부(230)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 210, the communication unit 220, and the storage unit 230 of the Bluetooth device 110 will be described in detail below with reference to embodiments.

도 3은 일 실시예에 따른 게이트웨이의 구조도이다.3 is a structural diagram of a gateway according to an embodiment.

게이트웨이(120)는 처리부(310), 제1 통신부(320), 제2 통신부(330) 및 저장부(340)를 포함할 수 있다.The gateway 120 may include a processing unit 310 , a first communication unit 320 , a second communication unit 330 and a storage unit 340 .

처리부(310)는 게이트웨이(120)의 동작을 위해 요구되는 작업을 처리할 수 있다. 예를 들면, 처리부(310)는 적어도 하나의 프로세서(processor)일 수 있다. 처리부(310)는 실시예들에서 설명된 처리부(310)의 동작 또는 단계의 코드를 실행(execute)할 수 있다The processing unit 310 may process tasks required for the operation of the gateway 120 . For example, the processing unit 310 may be at least one processor. The processing unit 310 may execute codes of operations or steps of the processing unit 310 described in the embodiments.

제1 통신부(320) 및 제2 통신부(330)는 게이트웨이(120)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 게이트웨이(120)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 제1 통신부(320) 및 제2 통신부(330)는 네트워크 내의 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 제1 통신부(320) 및 제2 통신부(330)의 각각은 네트워크 칩(chip) 또는 포트(port)일 수 있다.The first communication unit 320 and the second communication unit 330 may receive data or information required for the operation of the gateway 120 and may transmit data or information required for the operation of the gateway 120. . The first communication unit 320 and the second communication unit 330 may transmit data to and receive data from other devices within the network. For example, each of the first communication unit 320 and the second communication unit 330 may be a network chip or port.

저장부(340)는 게이트웨이(120)의 동작을 위해 요구되는 데이터를 저장할 수 있다. 예를 들면, 저장부(340)는 메모리(memory)일 수 있다. 저장부(340)는 램(RAM) 및 플레시(flash) 메모리 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착가능한 저장 매체를 포함할 수 있다.The storage unit 340 may store data required for operation of the gateway 120 . For example, the storage unit 340 may be a memory. The storage unit 340 may include a built-in storage medium such as a RAM and a flash memory, and may include a removable storage medium such as a memory card.

저장부(340)는 적어도 하나의 프로그램을 저장할 수 있다. 처리부(310)는 적어도 하나의 프로그램을 실행할 수 있다. 처리부(310)는 저장부(340)로부터 적어도 하나의 프로그램의 코드를 독출(read)할 수 있고, 독출된 코드를 실행할 수 있다.The storage unit 340 may store at least one program. The processing unit 310 may execute at least one program. The processing unit 310 may read at least one program code from the storage unit 340 and execute the read code.

제1 통신부(320)는 블루투스 통신을 위한 블루투스 인터페이스일 수 있다. 예를 들면, 제1 통신부(320)는 블루투스 통신 칩일 수 있다.The first communication unit 320 may be a Bluetooth interface for Bluetooth communication. For example, the first communication unit 320 may be a Bluetooth communication chip.

제2 통신부(330)는 인터넷과의 연동을 위한 인터넷 인터페이스일 수 있다. 예를 들면, 제2 통신부(330)는 와이파이 칩 또는 이더넷 칩일 수 있다.The second communication unit 330 may be an Internet interface for interworking with the Internet. For example, the second communication unit 330 may be a Wi-Fi chip or an Ethernet chip.

제1 통신부(320)는 블루투스 장치(110)와의 통신을 위해 사용될 수 있다. 제2 통신부(330)는 블루투스 장치(110) 및 다른 장치 간의 통신에 대하여 게이트웨이 기능을 제공하기 위해 사용될 수 있다.The first communication unit 320 may be used for communication with the Bluetooth device 110 . The second communication unit 330 may be used to provide a gateway function for communication between the Bluetooth device 110 and other devices.

게이트웨이(120)의 처리부(310), 제1 통신부(320), 제2 통신부(330) 및 저장부(340)의 동작, 기능 및 특징에 대해서 실시예들을 참조하여 아래에서 상세하게 설명된다.
Operations, functions, and characteristics of the processing unit 310, the first communication unit 320, the second communication unit 330, and the storage unit 340 of the gateway 120 will be described in detail below with reference to embodiments.

도 4는 일 실시예에 따른 블루투스 장치의 프로토콜 구조를 나타낸다.4 shows a protocol structure of a Bluetooth device according to an embodiment.

블루투스 장치(110)의 프로토콜 구조는 제어기(controller) 및 호스트(host)로 분류될 수 있다. 예를 들면, 제어기는 통신부(220)에 대응하고, 호스트는 처리부(210)에 대응할 수 있다. 또는, 호스트는 처리부(210)에 의해 수행되는 적어도 하나의 프로그램의 일부에 대응할 수 있다.The protocol structure of the Bluetooth device 110 may be classified into a controller and a host. For example, the controller may correspond to the communication unit 220 and the host may correspond to the processing unit 210 . Alternatively, the host may correspond to a part of at least one program executed by the processing unit 210 .

호스트 제어기 인터페이스는 처리부(210)가 통신부(220)를 제어하기 위한 인터페이스일 수 있다.The host controller interface may be an interface for the processing unit 210 to control the communication unit 220 .

프로토콜 구조의 제일 하위의 계층은 물리적 계층일 수 있다. 다음의 계층은 링크(또는, 데이터 링크(link)) 계층일 수 있다. 다음의 계층은 호스트 제어기 인터페이스일 수 있다.The lowest layer of the protocol structure may be a physical layer. The next layer may be a link (or data link) layer. The next layer may be the host controller interface.

다음의 계층은 L2CAP일 수 있다. ATT 계층, GATT, 지에이피(Generic Access Profile; GAP) 및 씨에스피(CoAP Support Profile; CSP)는 L2CAP 계층의 상위의 계층일 수 있다. CoAP는 L2CAP의 상위의 계층일 수 있다. 응용은 CoAP의 상위의 계층일 수 있다.The next layer may be L2CAP. The ATT layer, GATT, Generic Access Profile (GAP), and CoAP Support Profile (CSP) may be layers above the L2CAP layer. CoAP may be a layer above L2CAP. An application may be a layer above CoAP.

처리부(210)에 의해 수행되는 적어도 하나의 프로그램은 호스트 제이기 인터페이스 계층, L2CAP 계층, CoAP 계층 및 응용 계층을 포함할 수 있다. 처리부(210)에 의해 수행되는 적어도 하나의 프로그램은 ATT 계층, GATT 계층, GAP 계층 및 CSP 계층을 포함할 수 있다. 예를 들면, 적어도 하나의 프로그램은 호스트 제어기 인터페이스 계층의 코드, L2CAP 계층의 코드, CoAP 계층의 코드 및 응용 계층의 코드를 포함할 수 있다. 또한, 적어도 하나의 프로그램은 ATT 계층의 코드, GATT 계층의 코드, GAP 계층의 코드 및 CSP 계층의 코드를 포함할 수 있다.At least one program executed by the processor 210 may include a host interface layer, an L2CAP layer, a CoAP layer, and an application layer. At least one program executed by the processor 210 may include an ATT layer, a GATT layer, a GAP layer, and a CSP layer. For example, at least one program may include host controller interface layer code, L2CAP layer code, CoAP layer code, and application layer code. Also, at least one program may include ATT layer code, GATT layer code, GAP layer code, and CSP layer code.

블루투스 장치(110)에서, 아이이티에프(Internet Engineering Task Force; IETF) CoAP 계층은 L2CAP 계층의 바로 상위의 계층일 수 있다.In the Bluetooth device 110, an Internet Engineering Task Force (IETF) CoAP layer may be a layer immediately above the L2CAP layer.

블루투스 장치(110) 및/또는 적어도 하나의 프로그램의 프로토콜 구조에서, IP 계층, UDP 계층 및 6LoWPAN 계층은 제외될 수 있다.In the protocol structure of the Bluetooth device 110 and/or at least one program, an IP layer, a UDP layer, and a 6LoWPAN layer may be excluded.

CoAP 계층의 이하의 계층인 L2CAP 계층, 호스트 제어기 인터페이스 계층, 링크 계층 및 물리적 계층은 BLE 모듈에 대응할 수 있다. 말하자면, 블루투스 장치(110)에서, CoAP 계층은 BLE의 바로 상위의 계층일 수 있다.Layers below the CoAP layer, such as the L2CAP layer, the host controller interface layer, the link layer, and the physical layer, may correspond to the BLE module. In other words, in the Bluetooth device 110, the CoAP layer may be a layer directly above the BLE.

IETF CoAP는 저용량 소형 기기를 위해 UDP 계층의 위에서 동작하도록 설계된 프로토콜일 수 있다.IETF CoAP may be a protocol designed to operate on top of the UDP layer for small devices with low capacity.

L2CAP 계층은 데이터그램 형태의 데이터를 전송할 수 있다. 또한, L2CAP 계층은 노드를 식별할 수 있으며, 메시지를 노드로 전송할 수 있고, 노드로부터 메시지를 수신할 수 있다.The L2CAP layer may transmit data in the form of datagrams. Additionally, the L2CAP layer may identify nodes, may transmit messages to nodes, and may receive messages from nodes.

말하자면, IP 계층, UDP 계층 및 6LoWPAN 계층이 없더라도 CoAP는 L2CAP 계층의 바로 위에서 동작할 수 있다. 이러한 동작을 통해, 블루투스 장치(110)는 효율적인 통신을 가능하게 하면서도 표준 사물인터넷 프로토콜을 사용할 수 있다.In other words, even without an IP layer, a UDP layer, and a 6LoWPAN layer, CoAP can operate directly above the L2CAP layer. Through this operation, the Bluetooth device 110 can use a standard IoT protocol while enabling efficient communication.

게이트웨이(120) 또는 스마트폰과 같은 단말은 CoAP의 표준을 이용하여 블루투스 장치(110)와 통신할 수 있다. 따라서, 블루투스 장치(110) 및 다른 다양한 블루투스 장치들 간의 연동이 가능할 수 있다.A terminal such as the gateway 120 or a smart phone may communicate with the Bluetooth device 110 using the CoAP standard. Accordingly, interworking between the Bluetooth device 110 and various other Bluetooth devices may be possible.

CoAP 계층은 CoAP 클라이언트 기능 및 CoAP 서버 기능의 적어도 일부를 포함할 수 있다. CoAP 클라이언트 기능은 CoAP 요청의 메시지를 전송하는 기능을 포함할 수 있다. CoAP 서버 기능은 CoAP 요청을 수신하는 기능 및 CoAP 요청에 대한 응답의 메시지를 전송하는 기능을 포함할 수 있다.The CoAP layer may include at least part of a CoAP client function and a CoAP server function. The CoAP client function may include a function of transmitting a message of CoAP request. The CoAP server function may include a function of receiving a CoAP request and a function of transmitting a message of a response to the CoAP request.

CSP는 GATT 및 ATT를 통하여 블루투스 장치(100)가 CoAP의 기능을 지원한다는 것이 검색되게 할 수 있다.The CSP may make it possible to discover that the Bluetooth device 100 supports the CoAP function through GATT and ATT.

GAP, GATT, ATT 및 L2CAP은 기존의 블루투스 스택의 GAP, GATT, ATT 및 L2CAP에 각각 대응할 수 있다.GAP, GATT, ATT and L2CAP may respectively correspond to GAP, GATT, ATT and L2CAP of the existing Bluetooth stack.

블루투스 장치(100)가 CoAP을 지원하지 않는 다른 블루투스 장치와 통신을 할 필요가 없는 경우, CSP, GAP, GATT 및 ATT는 모두 생략될 수 있다. 이러한 경우, 블루투스 장치(110)는 CoAP 및 L2CAP만을 이용하여 다른 블루투스 장치를 검색하고, 검색된 다른 블루투스 장치의 속성을 알아내는 것이 요구될 수 있다.
If the Bluetooth device 100 does not need to communicate with other Bluetooth devices that do not support CoAP, CSP, GAP, GATT, and ATT may all be omitted. In this case, the Bluetooth device 110 may be requested to search for other Bluetooth devices using only CoAP and L2CAP and to find out properties of the other Bluetooth devices found.

도 5는 일 실시예에 따른 게이트웨이의 프로토콜 구조를 나타낸다.5 shows a protocol structure of a gateway according to an embodiment.

게이트웨이(120)의 프로토콜 구조는 제1 통신부(320) 측 프로토콜 구조 및 제2 통신부(330) 측 프로토콜 구조로 분류될 수 있다. 제1 통신부(320) 측 프로토콜 구조는 좌측에 도시되었고, 제2 통신부(330) 측 프로토콜 구조는 우측에 도시되었다.The protocol structure of the gateway 120 may be classified into a first communication unit 320-side protocol structure and a second communication unit 330-side protocol structure. The protocol structure of the first communication unit 320 is shown on the left, and the protocol structure of the second communication unit 330 is shown on the right.

적어도 하나의 프로그램은 제1 통신부(320)를 위해 사용되는 제1 통신부(320) 용 코드 및 제2 통신부(330)를 위해 사용되는 제2 통신부 용 코드를 포함할 수 있다.The at least one program may include codes for the first communication unit 320 used for the first communication unit 320 and codes for the second communication unit used for the second communication unit 330 .

우선, 제1 통신부(320) 측 프로토콜 구조를 살펴본다.First, the protocol structure of the first communication unit 320 is examined.

제1 통신부(320) 측 프로토콜 구조의 제일 하위의 계층은 BLE일 수 있다. BLE는 물리적 계층, 링크 계층, 호스트 제어기 인터페이스 계층 및 L2CAP을 포함할 수 있다. 물리적 계층, 링크 계층, 호스트 제어기 인터페이스 계층 및 L2CAP에 대해서 도 4를 참조하여 전술된 설명이 적용될 수 있다.The lowest layer of the protocol structure of the first communication unit 320 may be BLE. BLE may include a physical layer, link layer, host controller interface layer and L2CAP. The above description with reference to FIG. 4 may be applied to the physical layer, link layer, host controller interface layer and L2CAP.

CoAP는 L2CAP의 상위의 계층일 수 있다.CoAP may be a layer above L2CAP.

L2CAP의 하위의 계층은 도시된 것과 같이 BLE 모듈일 수 있다. 또는, BLE 모듈은 전통적인 블루투스 물리 계층 및 논리 계층으로 대체될 수 있다. 예를 들면, L2CAP의 하위의 계층은 전통적인 블루투스 물리 계층 및 논리 계층일 수 있다.A lower layer of L2CAP may be a BLE module as shown. Alternatively, the BLE module can be replaced with a traditional Bluetooth physical layer and logical layer. For example, layers below L2CAP may be a traditional Bluetooth physical layer and a logical layer.

처리부(310)에 의해 수행되는 적어도 하나의 프로그램은 제1 통신부(320) 용 BLE 모듈, L2CAP 계층 및 CoAP 계층을 포함할 수 있다. 예를 들면, 처리부(310)에 의해 수행되는 제1 통신부(320) 용 코드는 BLE 모듈의 코드, L2CAP 계층의 코드 및 CoAP 계층의 코드를 포함할 수 있다.At least one program executed by the processing unit 310 may include a BLE module for the first communication unit 320, an L2CAP layer, and a CoAP layer. For example, the code for the first communication unit 320 performed by the processing unit 310 may include a BLE module code, an L2CAP layer code, and a CoAP layer code.

게이트웨이(120)의 제1 통신부(320) 측 프로토콜 구조에서, IETF CoAP 계층은 L2CAP 계층의 바로 상위의 계층일 수 있다.In the protocol structure of the first communication unit 320 side of the gateway 120, the IETF CoAP layer may be a layer immediately above the L2CAP layer.

게이트웨이(120)의 제1 통신부(320) 측 프로토콜 구조에서, IP 계층, UDP 계층 및 6LoWPAN 계층은 제외될 수 있다.In the protocol structure of the first communication unit 320 of the gateway 120, an IP layer, a UDP layer, and a 6LoWPAN layer may be excluded.

다음으로, 제2 통신부(330) 측 프로토콜 구조를 살펴본다.Next, the protocol structure of the second communication unit 330 is examined.

제2 통신부(330) 측 프로토콜 구조는 통상적인 티씨피/아이피(Transmission Control Protocol/Internet Protocol; TCP/IP) 스택에 대응할 수 있다.The protocol structure of the second communication unit 330 may correspond to a typical Transmission Control Protocol/Internet Protocol (TCP/IP) stack.

제2 통신부(330) 측 프로토콜 구조의 제일 하위의 계층은 와이파이(WiFi) 및/또는 이더넷(Ethernet)일 수 있다. 와이파이 및/또는 이더넷은 와이파이 및/또는 이더넷 통신을 위한 물리적 계층 및 링크 계층을 의미할 수 있다.The lowest layer of the protocol structure of the second communication unit 330 may be WiFi and/or Ethernet. Wi-Fi and/or Ethernet may refer to a physical layer and a link layer for Wi-Fi and/or Ethernet communication.

IP는 와이파이(WiFi) 및/또는 이더넷(Ethernet)의 상위의 계층일 수 있다.IP may be a layer above WiFi and/or Ethernet.

UDP는 IP의 상위의 계층일 수 있다.UDP may be a layer above IP.

CoAP 및/또는 HTTP는 UDP의 상위의 계층일 수 있다.CoAP and/or HTTP may be layers above UDP.

적어도 하나의 프로그램은 프록시 모듈을 포함할 수 있다. 프록시 모듈은 제1 통신부(320) 측 프로토콜 구조의 CoAP 계층 및 제2 통신부(330) 측 프로토콜 구조의 CoAP 계층 및/또는 HTTP 계층의 상위의 계층일 수 있다.
At least one program may include a proxy module. The proxy module may be a layer above the CoAP layer of the protocol structure of the first communication unit 320 and the CoAP layer and/or HTTP layer of the protocol structure of the second communication unit 330 .

도 6은 일 실시예에 따른 블루투스 장치 및 게이트웨이의 통신의 구조를 설명한다.6 illustrates a structure of communication between a Bluetooth device and a gateway according to an embodiment.

도 6에서는, 블루투스 장치(110), 게이트웨이(120) 및 외부 장치(610)가 도시되었다.In FIG. 6 , the Bluetooth device 110 , the gateway 120 and the external device 610 are shown.

블루투스 장치(110)는 블루투스 노드일 수 있다. 외부 장치(610)는 외부의 인터넷 노드일 수 있다.The Bluetooth device 110 may be a Bluetooth node. The external device 610 may be an external Internet node.

외부 장치(610)는 사물인터넷 서버일 수 있다. 예를 들면, 외부 장치(610)의 프로토콜 구조는 와이파이(WiFi) 및/또는 이더넷(Ethernet), IP, UDP 및/또는 TCP, CoAP 및 응용 계층을 포함할 수 있다.The external device 610 may be an IoT server. For example, the protocol structure of the external device 610 may include WiFi and/or Ethernet, IP, UDP and/or TCP, CoAP, and an application layer.

블루투스 장치(110)의 통신부(220) 및 게이트웨이(120)의 제1 통신부(320)는 블루투스 통신을 통해 서로 간에 통신할 수 있다. 게이트웨이(120)의 제2 통신부(330) 및 외부 장치(610)는 유무선 네트워크를 통해 서로 간에 통신할 수 있다The communication unit 220 of the Bluetooth device 110 and the first communication unit 320 of the gateway 120 may communicate with each other through Bluetooth communication. The second communication unit 330 of the gateway 120 and the external device 610 may communicate with each other through a wired or wireless network.

게이트웨이(120)의 프록시 모듈은 블루투스 장치(110) 및 게이트웨이(120) 내부의 URI-경로(path) 간의 매핑(mapping)을 관리할 수 있다.The proxy module of the gateway 120 may manage a mapping between the Bluetooth device 110 and a URI-path inside the gateway 120 .

게이트웨이(120)의 프록시 모듈은 제1 통신부(320)를 통해 연결된 블루투스 장치(110)의 주소를 게이트웨이(120) 내부의 URI-경로에 매핑함으로써 블루투스 장치(110) 및 제2 통신부(330)를 통해 연결된 외부 장치(610) 간의 통신을 가능하게 할 수 있다.The proxy module of the gateway 120 connects the Bluetooth device 110 and the second communication unit 330 by mapping the address of the Bluetooth device 110 connected through the first communication unit 320 to the URI-path within the gateway 120. Communication between the external devices 610 connected through may be enabled.

블루투스 장치(110)가 외부 장치(610)로 요청을 전송할 경우, 블루투스 장치(110)는 CoAP 메시지 내의 URI-호스트(host)의 옵션 및 URI-포트(port)의 옵션을 이용할 수 있다. 블루투스 장치(110)의 처리부(210)는 URI-호스트의 옵션 및 URI-포트의 옵션을 포함하는 CoAP의 요청 메시지를 생성할 수 있다. 블루투스 장치(110)의 통신부(220)는 CoAP의 요청 메시지를 게이트웨이(120)로 전송할 수 있다.When the Bluetooth device 110 transmits a request to the external device 610, the Bluetooth device 110 may use a URI-host option and a URI-port option in the CoAP message. The processing unit 210 of the Bluetooth device 110 may generate a CoAP request message including a URI-host option and a URI-port option. The communication unit 220 of the Bluetooth device 110 may transmit a CoAP request message to the gateway 120 .

게이트웨이(120)의 제1 통신부(320)는 블루투스 장치(110)로부터 URI-호스트의 옵션 및 URI-포트의 옵션을 포함하는 CoAP의 요청 메시지를 수신할 수 있다. 게이트웨이(120)의 처리부(310)는 CoAP의 요청 메시지로부터 URI-호스트 및 URI-포트를 제거할 수 있고, 요청 메시지에 IP 헤더 및 UDP 헤더를 세팅할 수 있다. 게이트웨이(120)의 제2 통신부(330)는 IP 헤더 및 UDP 헤더가 세팅된 요청 메시지를 외부 장치(610)로 전달할 수 있다.The first communication unit 320 of the gateway 120 may receive a CoAP request message including a URI-host option and a URI-port option from the Bluetooth device 110 . The processing unit 310 of the gateway 120 may remove the URI-Host and the URI-Port from the CoAP request message, and may set an IP header and a UDP header in the request message. The second communication unit 330 of the gateway 120 may transmit the request message in which the IP header and the UDP header are set to the external device 610 .

외부 장치(610)는 요청 메시지에 대한 응답 메시지를 게이트웨이(120)로 전송할 수 있다. 게이트웨이(120)의 제2 통신부(330)는 요청 메시지에 대한 응답 메시지를 수신할 수 있다. 게이트웨이(120)의 제1 통신부(320)는 응답 메시지를 블루투스 장치(110)로 전달할 수 있다. 블루투스 장치(110)의 통신부(220)는 게이트웨이(120)로부터 응답 메시지를 수신할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지에 대한 응답 메시지를 수신하였을 때, 요청 메시지를 전송한 블루투스 장치(110)로 응답 메시지가 전달될 수 있도록 세션(session)을 관리할 수 있다.
The external device 610 may transmit a response message to the request message to the gateway 120 . The second communication unit 330 of the gateway 120 may receive a response message to the request message. The first communication unit 320 of the gateway 120 may transmit a response message to the Bluetooth device 110 . The communication unit 220 of the Bluetooth device 110 may receive a response message from the gateway 120 . When receiving a response message to the request message, the processing unit 310 of the gateway 120 may manage a session so that the response message can be delivered to the Bluetooth device 110 that sent the request message.

도 7은 일 실시예에 따른 블루투스 장치의 통신 방법의 흐름도이다.7 is a flowchart of a communication method of a Bluetooth device according to an embodiment.

단계(710)에서, 블루투스 장치(110)는 블루투스 장치(110)를 게이트웨이(120)에 등록할 수 있다.In step 710, the Bluetooth device 110 may register the Bluetooth device 110 with the gateway 120.

단계(720)에서, 블루투스 장치(110)는 블루투스 장치(110)의 리소스를 게이트웨이(120)에 등록할 수 있다.In step 720, the Bluetooth device 110 may register a resource of the Bluetooth device 110 with the gateway 120.

단계(730)에서, 블루투스 장치(110)는 게이트웨이(120)에 의해 제공되는 게이트웨이 기능을 사용하여 통신을 수행할 수 있다. 통신의 대상은 외부 장치(610)일 수 있다.At step 730, the Bluetooth device 110 may perform communication using the gateway function provided by the gateway 120. The target of communication may be the external device 610 .

블루투스 장치(110)의 프로토콜 스택은 CoAP 계층 및 L2CAP 계층을 포함할 수 있고, CoAP 계층은 L2CAP 계층의 바로 상위의 계층일 수 있다.
The protocol stack of the Bluetooth device 110 may include a CoAP layer and an L2CAP layer, and the CoAP layer may be a layer immediately above the L2CAP layer.

도 8는 일 실시예에 따른 게이트웨이 통신 방법의 흐름도이다.8 is a flowchart of a gateway communication method according to an embodiment.

단계(810)에서, 게이트웨이(120)는 블루투스 장치(110)를 검색할 수 있다.At step 810, the gateway 120 may search for the Bluetooth device 110.

단계(820)에서, 게이트웨이(120)는 블루투스 장치(110)의 리소스를 확인할 수 있다.In step 820, the gateway 120 may check the resources of the Bluetooth device 110.

단계(830)에서, 게이트웨이(120)는 블루투스 장치(110)와 통신할 수 있다. 게이트웨이(120)는 블루투스 장치(110)에게 게이트웨이 기능을 제공할 수 있다.
At step 830 , gateway 120 may communicate with Bluetooth device 110 . The gateway 120 may provide a gateway function to the Bluetooth device 110 .

도 9는 일 예에 따른 블루투스 장치들 간의 CoAP를 이용하는 통신을 도시한다.9 illustrates communication using CoAP between Bluetooth devices according to an example.

도 9에서 예시된 통신에서는, 게이트웨이(120) 없이 블루투스 장치들 간의 통신이 이루어질 수 있다.In the communication illustrated in FIG. 9 , communication between Bluetooth devices may be performed without the gateway 120 .

예를 들면, 블루투스 장치(110)는 사물인터넷 노드일 수 있고, 다른 블루투스 장치(910)는 사물인터넷 서버일 수 있다. 또는. 블루투스 장치(110)는 사물인터넷 서버일 수 있고, 다른 블루투스 장치(910)는 사물인터넷 노드일 수 있다.For example, the Bluetooth device 110 may be an IoT node, and another Bluetooth device 910 may be an IoT server. or. The Bluetooth device 110 may be an IoT server, and another Bluetooth device 910 may be an IoT node.

블루투스 장치(110)는 게이트웨이(120) 없이 CoAP 클라이언트 및/또는 CoAP 서버의 역할을 수행할 수 있다.The Bluetooth device 110 may serve as a CoAP client and/or a CoAP server without the gateway 120 .

블루투스 장치(110)는 스마트폰과 같이 블루투스 노드를 제어하고, 블루투스 노드로부터 값을 획득하는 역할을 수행할 수 있다. 블루투스 장치(110)는 다른 블루투스 장치(910)를 제어할 수 있고, 다른 블루투스 장치(910)로부터 값을 획득할 수 있다. 이러한 경우, 블루투스 장치(110)는 CoAP의 요청 메시지를 다른 블루투스 장치(910)로 전송하는 CoAP 클라이언트의 동작을 수행할 수 있다. 다른 블루투스 장치(910)는 CoAP의 요청 메시지에 대한 CoAP의 응답 메시지를 블루투스 장치(110)로 전송하는 CoAP 서버의 동작을 수행할 수 있다.Like a smart phone, the Bluetooth device 110 may control a Bluetooth node and obtain a value from the Bluetooth node. The Bluetooth device 110 can control other Bluetooth devices 910 and obtain values from the other Bluetooth devices 910 . In this case, the Bluetooth device 110 may perform a CoAP client operation of transmitting a CoAP request message to another Bluetooth device 910 . The other Bluetooth device 910 may perform a CoAP server operation of transmitting a CoAP response message to the CoAP request message to the Bluetooth device 110 .

상기의 역할은 바뀔 수 있다. 다른 블루투스 장치(910)는 스마트폰과 같이 블루투스 노드를 제어하고, 블루투스 노드로부터 값을 획득하는 역할을 수행할 수 있다. 다른 블루투스 장치(910)는 블루투스 장치(110)를 제어할 수 있고, 블루투스 장치(110)로부터 값을 획득할 수 있다. 이러한 경우, 다른 블루투스 장치(910)는 CoAP의 요청 메시지를 블루투스 장치(110)로 전송하는 CoAP 클라이언트의 동작을 수행할 수 있다. 블루투스 장치(110)는 CoAP의 요청 메시지에 대한 CoAP의 응답 메시지를 다른 블루투스 장치(910)로 전송하는 CoAP 서버의 동작을 수행할 수 있다.The above roles may change. Another Bluetooth device 910 may play a role of controlling a Bluetooth node and obtaining a value from the Bluetooth node, like a smart phone. Another Bluetooth device 910 can control the Bluetooth device 110 and obtain a value from the Bluetooth device 110 . In this case, another Bluetooth device 910 may perform a CoAP client operation of transmitting a CoAP request message to the Bluetooth device 110 . The Bluetooth device 110 may perform a CoAP server operation of transmitting a CoAP response message to another Bluetooth device 910 in response to a CoAP request message.

블루투스 장치(110) 및 다른 블루투스 장치(910)는 블루투스 주소를 사용하여 서로를 식별할 수 있다. 말하자면, 블루투스 노드들 간의 식별은 블루투스 주소를 통해 이루어질 수 있다.
Bluetooth device 110 and other Bluetooth devices 910 can identify each other using Bluetooth addresses. In other words, identification between Bluetooth nodes can be made through a Bluetooth address.

도 10은 일 예에 따른 브로드캐스트를 사용하는 CoAP를 지원하는 블루투스 장치의 검색 방법의 흐름도이다.10 is a flowchart of a method for discovering a Bluetooth device supporting CoAP using broadcast according to an example.

게이트웨이(120)는 블루투스 장치(110)를 검색할 수 있다. 예를 들면, 블루투스 장치(110)는 블루투스 지원 센서 노드일 수 있다. 또한, 블루투스 장치(110)는 사물인터넷 기기일 수 있으며, CoAP를 지원하는 BLE 기기일 수 있다.The gateway 120 may search for the Bluetooth device 110. For example, the Bluetooth device 110 may be a Bluetooth enabled sensor node. In addition, the Bluetooth device 110 may be an IoT device and may be a BLE device supporting CoAP.

실시예에서, 검색의 주체는 게이트웨이(120)가 아닌 스마트폰이나 블루투스 장치(110)일 수 있다. 또한, 검색의 대상은 다른 블루투스 장치일 수 있다. 말하자면, 아래의 실시예에서, 게이트웨이(120)는 블루투스 장치(110)로 대체될 수 있다.In an embodiment, the search subject may be a smartphone or a Bluetooth device 110 rather than the gateway 120 . Also, a search target may be another Bluetooth device. In other words, in the embodiments below, the gateway 120 may be replaced by the Bluetooth device 110.

도 10에서, 제1 블루투스 장치(1010) 및 제2 블루투스 장치(1020)의 각각은 블루투스 장치(110)에 대응할 수 있다.In FIG. 10 , each of the first Bluetooth device 1010 and the second Bluetooth device 1020 may correspond to the Bluetooth device 110 .

도 8을 참조하여 전술된 단계(810)는 아래의 단계들(1030, 1040 및 1050)을 포함할 수 있다.Step 810 described above with reference to FIG. 8 may include steps 1030, 1040, and 1050 below.

게이트웨이(120)는 제1 통신부(320)의 통신 범위 내에서 CoAP를 지원하는 블루투스 장치(110)를 검색할 수 있다. 블루투스 장치(110)의 검색에 있어서, 전통적인 블루투스 스택의 GATT 및 ATT가 사용될 수 있다. 그러나, CoAP 및 L2CAP의 구조만을 가지고, 블루투스 장치(110)의 검색이 가능해지면, 게이트웨이(120)의 구조가 더 간단해질 수 있고, 절차가 더 단순하게 될 수 있다.The gateway 120 may search for a Bluetooth device 110 supporting CoAP within a communication range of the first communication unit 320 . For discovery of the Bluetooth device 110, GATT and ATT of the traditional Bluetooth stack may be used. However, if the discovery of the Bluetooth device 110 is possible with only the CoAP and L2CAP structures, the structure of the gateway 120 may be simpler and the procedure may be simpler.

실시예에서, 게이트웨이(120)의 메시지의 생성은 게이트웨이(120)의 처리부(310)에 의해 이루어질 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 게이트웨이(120)의 제1 통신부(320)에 의해 이루어질 수 있다. 제1 블루투스 장치(1010)의 메시지의 생성은 제1 블루투스 장치(1010)의 처리부에 의해 이루어질 수 있다. 제1 블루투스 장치(1010)의 메시지의 전송 및 수신은 제1 블루투스 장치(1010)의 통신부에 의해 이루어질 수 있다. 제2 블루투스 장치(1020)의 메시지의 생성은 제2 블루투스 장치(1020)의 처리부에 의해 이루어질 수 있다. 제1 블루투스 장치(1020)의 메시지의 전송 및 수신은 제1 블루투스 장치(1020)의 통신부에 의해 이루어질 수 있다. 제1 블루투스 장치(1010)의 처리부 및 제2 블루투스 장치(1020)의 처리부의 각각은 블루투스 장치(110)의 처리부(210)에 대응할 수 있다. 제1 블루투스 장치(1010)의 통신부 및 제2 블루투스 장치(1020)의 통신부의 각각은 블루투스 장치(110)의 통신부(220)에 대응할 수 있다.In an embodiment, generation of the message of the gateway 120 may be performed by the processing unit 310 of the gateway 120 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 of the gateway 120 . Generation of the message of the first Bluetooth device 1010 may be performed by a processing unit of the first Bluetooth device 1010 . Message transmission and reception of the first Bluetooth device 1010 may be performed by a communication unit of the first Bluetooth device 1010 . Generation of the message of the second Bluetooth device 1020 may be performed by a processing unit of the second Bluetooth device 1020 . Message transmission and reception of the first Bluetooth device 1020 may be performed by a communication unit of the first Bluetooth device 1020 . Each of the processing unit of the first Bluetooth device 1010 and the processing unit of the second Bluetooth device 1020 may correspond to the processing unit 210 of the Bluetooth device 110 . Each of the communication unit of the first Bluetooth device 1010 and the communication unit of the second Bluetooth device 1020 may correspond to the communication unit 220 of the Bluetooth device 110 .

단계(1030)에서, 게이트웨이(120)는 브로드캐스트 메시지를 생성할 수 있다. 게이트웨이(120)는 브로드캐스트 메시지를 브로드캐스트할 수 있다.At step 1030, gateway 120 may generate a broadcast message. Gateway 120 may broadcast a broadcast message.

브로드캐스트 메시지는 게이트웨이(120)의 주변에 통신 가능한 CoAP를 지원하는 블루투스 장치(110)를 검색하기 위한 메시지일 수 있다.The broadcast message may be a message for searching for a Bluetooth device 110 supporting CoAP capable of communication in the vicinity of the gateway 120 .

브로드캐스트 메시지의 블루투스 링크 계층 패킷 타입은 어드버타이징 인디케이션(advertising indication; ADV_IND)일 수 있다. 브로드캐스트 메시지의 에이디(AD) 타입은 CoAP 메시지라는 것을 나타내는 값을 가질 수 있다. 브로드캐스트 메시지의 페이로드는 CoAP Ping(핑) 요청 메시지를 포함할 수 있다.The Bluetooth link layer packet type of the broadcast message may be advertising indication (ADV_IND). The AD type of the broadcast message may have a value indicating that it is a CoAP message. The payload of the broadcast message may include a CoAP Ping (ping) request message.

CoAP Ping 요청 메시지의 트랜잭션(transaction) 타입은 컨퍼머블(confirmable)일 수 있다. CoAP Ping 요청 메시지의 토큰(token) 길이는 0일 수 있다. CoAP Ping 요청 메시지의 코드는 0.00 (즉, 빔(empty))일 수 있다. CoAP Ping 요청 메시지는 트랜잭션 타입, 토큰 길이 및 코드 외의 다른 옵션을 포함하지 않을 수 있다. CoAP Ping 요청 메시지는 4바이트일 수 있다.The transaction type of the CoAP Ping request message may be confirmable. The token length of the CoAP Ping request message may be 0. The code of the CoAP Ping request message may be 0.00 (ie, empty). The CoAP Ping request message may not include options other than transaction type, token length, and code. A CoAP Ping request message may be 4 bytes.

통신 범위 내에 있는 블루투스 장치들은 브로드캐스트 메시지를 수신할 수 있다.Bluetooth devices within communication range can receive the broadcast message.

단계(1040)에서, 브로드캐스트 메시지를 수신한 제1 블루투스 장치(1010)는 브로드캐스트 메시지에 대한 응답 메시지를 생성할 수 있다. 제1 블루투스 장치(1010)는 응답 메시지를 게이트웨이(120)로 전송할 수 있다.In step 1040, the first Bluetooth device 1010 receiving the broadcast message may generate a response message to the broadcast message. The first Bluetooth device 1010 may transmit a response message to the gateway 120 .

응답 메시지의 블루투스 링크 계층 패킷 타입은 어드버타이징 다이렉트 인디케이션(advertising direct indication; ADV_DIRECT_IND)일 수 있다. 응답 메시지의 AD 타입은 CoAP 메시지라는 것을 나타내는 값을 가질 수 있다. 응답 메시지의 페이로드는 CoAP Ping 요청 메시지에 대한 CoAP Ping 응답 메시지를 포함할 수 있다.The Bluetooth link layer packet type of the response message may be advertising direct indication (ADV_DIRECT_IND). The AD type of the response message may have a value indicating that it is a CoAP message. The payload of the response message may include a CoAP Ping response message to the CoAP Ping request message.

CoAP Ping 응답 메시지의 트랜잭션 타입은 리셋(reset; RST)일 수 있다. CoAP Ping 응답 메시지의 토큰 길이는 0일 수 있다. CoAP Ping 응답 메시지의 코드는 0.00 (즉, 빔)일 수 있다. CoAP Ping 응답 메시지의 메시지 식별자(message identifier; MID)는 CoAP Ping 요청 메시지의 MID와 동일할 수 있다. CoAP Ping 응답 메시지는 4바이트일 수 있다.The transaction type of the CoAP Ping response message may be reset (RST). The token length of the CoAP Ping response message may be 0. The code of the CoAP Ping response message may be 0.00 (ie beam). A message identifier (MID) of the CoAP Ping response message may be the same as the MID of the CoAP Ping request message. A CoAP Ping response message may be 4 bytes.

응답 메시지를 수신한 게이트웨이(120)는 주변에 CoAP를 지원하는 제1 블루투스 장치(1010)가 존재한다는 것을 인식할 수 있다. 예를 들면, 게이트웨이(120)는 제1 블루투스 장치(1010)의 주소를 알 수 있다.Upon receiving the response message, the gateway 120 may recognize that the first Bluetooth device 1010 supporting CoAP exists in the vicinity. For example, the gateway 120 may know the address of the first Bluetooth device 1010 .

단계(1050)에서, 브로드캐스트 메시지를 수신한 제2 블루투스 장치(1020)는 브로드캐스트 메시지에 대한 응답 메시지를 생성할 수 있다. 제2 블루투스 장치(1020)는 응답 메시지를 게이트웨이(120)로 전송할 수 있다.In step 1050, the second Bluetooth device 1020 receiving the broadcast message may generate a response message to the broadcast message. The second Bluetooth device 1020 may transmit a response message to the gateway 120 .

응답 메시지를 수신한 게이트웨이(120)는 주변에 CoAP를 지원하는 제2 블루투스 장치(1020)가 존재한다는 것을 인식할 수 있다. 예를 들면, 게이트웨이(120)는 제2 블루투스 장치(1020)의 주소를 알 수 있다.Upon receiving the response message, the gateway 120 may recognize that the second Bluetooth device 1020 supporting CoAP exists in the vicinity. For example, the gateway 120 may know the address of the second Bluetooth device 1020 .

전술된 것처럼, 게이트웨이(120)는 브로드캐스트 메시지를 사용하여 블루투스 장치(110)를 검색할 수 있다. 게이트웨이(120)는 CoAP Ping 요청 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 블루투스 장치(110)로부터 CoAP Ping 요청 메시지에 대응하는 CoAP Ping 응답 메시지를 수신함으로써 블루투스 장치(110)를 검출할 수 있다.
As described above, gateway 120 may discover Bluetooth device 110 using a broadcast message. The gateway 120 may detect the Bluetooth device 110 by broadcasting a broadcast message including a CoAP Ping request message and receiving a CoAP Ping response message corresponding to the CoAP Ping request message from the Bluetooth device 110. .

도 11은 일 예에 따른 관찰을 사용하는 CoAP를 지원하는 블루투스 장치의 검색 방법의 흐름도이다.11 is a flowchart of a method for discovering a Bluetooth device supporting CoAP using observation according to an example.

게이트웨이(120)는 블루투스 장치(110)를 검색할 수 있다. 예를 들면, 블루투스 장치(110)는 블루투스 지원 센서 노드일 수 있다. 또한, 블루투스 장치(110)는 사물인터넷 기기일 수 있으며, CoAP를 지원하는 BLE 기기일 수 있다.The gateway 120 may search for the Bluetooth device 110. For example, the Bluetooth device 110 may be a Bluetooth enabled sensor node. In addition, the Bluetooth device 110 may be an IoT device and may be a BLE device supporting CoAP.

실시예에서, 제1 게이트웨이(1110) 및 제2 게이트웨이(1120)의 각각은 스마트폰일 수 있다.In an embodiment, each of the first gateway 1110 and the second gateway 1120 may be a smartphone.

도 11에서, 제1 게이트웨이(1110) 및 제2 게이트웨이(1120)의 각각은 게이트웨이(120)에 대응할 수 있다.In FIG. 11 , each of the first gateway 1110 and the second gateway 1120 may correspond to the gateway 120 .

도 8을 참조하여 전술된 단계(810)는 아래의 단계(1130)를 포함할 수 있다.Step 810 described above with reference to FIG. 8 may include step 1130 below.

실시예에서, 블루투스 장치(110)의 메시지의 생성은 블루투스 장치(110)의 처리부(210)에 의해 이루어질 수 있다. 블루투스 장치(110)의 메시지의 전송 및 수신은 블루투스 장치(110)의 통신부(220)에 의해 이루어질 수 있다. 제1 게이트웨이(1110)의 메시지의 전송 및 수신은 제1 게이트웨이(1110)의 제1 통신부에 의해 이루어질 수 있다. 제2 게이트웨이(1120)의 메시지의 전송 및 수신은 제2 게이트웨이(1120)의 통신부에 의해 이루어질 수 있다. 제1 게이트웨이(1110)의 통신부 및 제2 게이트웨이(1120)의 통신부의 각각은 게이트웨이(120)의 제1 통신부(320)에 대응할 수 있다.In an embodiment, the generation of the message of the Bluetooth device 110 may be performed by the processing unit 210 of the Bluetooth device 110. Message transmission and reception of the Bluetooth device 110 may be performed by the communication unit 220 of the Bluetooth device 110 . Message transmission and reception of the first gateway 1110 may be performed by the first communication unit of the first gateway 1110 . Message transmission and reception of the second gateway 1120 may be performed by a communication unit of the second gateway 1120 . Each of the communication unit of the first gateway 1110 and the communication unit of the second gateway 1120 may correspond to the first communication unit 320 of the gateway 120 .

단계(1130)에서, 블루투스 장치(110)는 브로드캐스트 메시지를 생성할 수 있다. 블루투스 장치(110)는 브로드캐스트 메시지를 브로드캐스트할 수 있다. 블루투스 장치(110)는 주기적으로 브로드캐스트 메시지를 브로드캐스트할 수 있다.At step 1130, the Bluetooth device 110 may generate a broadcast message. The Bluetooth device 110 may broadcast a broadcast message. The Bluetooth device 110 may periodically broadcast a broadcast message.

브로드캐스트 메시지는 통신 가능한 CoAP를 지원하는 블루투스 장치(110)가 존재함을 알리기 위한 메시지일 수 있다. 브로드캐스트 메시지는 블루투스 장치(110)가 CoAP를 지원하는 블루투스 노드임을 나타낼 수 있다.The broadcast message may be a message for notifying that a Bluetooth device 110 supporting communicable CoAP exists. The broadcast message may indicate that the Bluetooth device 110 is a Bluetooth node supporting CoAP.

브로드캐스트 메시지의 블루투스 링크 계층 패킷 타입은 ADV_IND일 수 있다. 브로드캐스트 메시지의 AD 타입은 CoAP 메시지라는 것을 나타내는 값을 가질 수 있다. 브로드캐스트 메시지의 페이로드는 가상 CoAP Ping 응답 메시지를 포함할 수 있다.The Bluetooth link layer packet type of the broadcast message may be ADV_IND. The AD type of the broadcast message may have a value indicating that it is a CoAP message. The payload of the broadcast message may include a virtual CoAP Ping response message.

가상 CoAP Ping 응답 메시지의 트랜잭션 타입은 RST일 수 있다. 가상 CoAP Ping 응답 메시지의 토큰 길이는 0일 수 있다. 가상 CoAP Ping 응답 메시지의 코드는 0.00 (즉, 빔)일 수 있다. 가상 CoAP Ping 응답 메시지의 MID는 임의의 값을 가질 수 있다. 가상 CoAP Ping 응답 메시지는 4바이트일 수 있다.The transaction type of the virtual CoAP Ping response message may be RST. The token length of the virtual CoAP Ping response message may be 0. The code of the virtual CoAP Ping response message may be 0.00 (ie beam). The MID of the virtual CoAP Ping response message can have any value. A virtual CoAP Ping response message may be 4 bytes.

통신 범위 내에 있는 게이트웨이들은 브로드캐스트 메시지를 수신할 수 있다.Gateways within communication range can receive the broadcast message.

브로드캐스트 메시지를 관찰하고 있던 제1 게이트웨이(1110)는 브로드캐스트 메시지를 수신할 수 있다. 제1 게이트웨이(1110)는 브로드캐스트 메시지를 수신함에 따라 CoAP를 지원하는 BLE 기기인 블루투스 장치(110)를 발견할 수 있다.The first gateway 1110 observing the broadcast message may receive the broadcast message. Upon receiving the broadcast message, the first gateway 1110 can discover the Bluetooth device 110, which is a BLE device supporting CoAP.

또한, 브로드캐스트 메시지를 관찰하고 있던 제2 게이트웨이(1120)는 브로드캐스트 메시지를 수신할 수 있다. 제2 게이트웨이(1120)는 브로드캐스트 메시지를 수신함에 따라 CoAP를 지원하는 BLE 기기인 블루투스 장치(110)를 발견할 수 있다.Also, the second gateway 1120 observing the broadcast message may receive the broadcast message. Upon receiving the broadcast message, the second gateway 1120 may discover the Bluetooth device 110, which is a BLE device supporting CoAP.

전술된 것처럼, 게이트웨이(120)는 브로드캐스트 메시지를 관찰할 수 있다. 게이트웨이(120)는 가상 CoAP Ping 응답 메시지를 포함하는 브로드캐스트 메시지를 수신함에 따라 브로드캐스트 메시지를 브로드캐스트한 블루투스 장치(110)를 발견할 수 있다.
As mentioned above, gateway 120 can observe broadcast messages. Upon receiving the broadcast message including the virtual CoAP Ping response message, the gateway 120 may discover the Bluetooth device 110 that broadcast the broadcast message.

도 12는 일 예에 따른 블루투스 장치의 리소스를 검색하는 방법의 흐름도이다.12 is a flowchart of a method of searching for a resource of a Bluetooth device according to an example.

게이트웨이(120)가 블루투스 장치(110)를 발견 또는 검색한 후, 게이트웨이(120)는 블루투스 장치(110)가 어떤 리소스를 가지고 있는지를 확인할 수 있다.After the gateway 120 discovers or searches for the Bluetooth device 110, the gateway 120 can check which resources the Bluetooth device 110 has.

리소스는 기능(function) 및 속성(attribute)을 포함할 수 있다.Resources can include functions and attributes.

실시예에서, 게이트웨이(120)는 L2CAP 계층 위의 CoAP를 이용하여 블루투스 장치(110)의 리소스를 검색할 수 있다.In an embodiment, the gateway 120 may retrieve resources of the Bluetooth device 110 using CoAP over the L2CAP layer.

도 8을 참조하여 전술된 단계(820)는 아래의 단계들(1210, 1220, 1230, 1240 및 1250)을 포함할 수 있다.Step 820 described above with reference to FIG. 8 may include steps 1210, 1220, 1230, 1240, and 1250 below.

실시예에서, 블루투스 장치(110)의 메시지의 전송 및 수신은 통신부(220)에 의해 이루어질 수 있다. 블루투스 장치(110)에 의해 전송되는 메시지는 처리부(210)에 의해 생성될 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 제1 통신부(320)에 의해 이루어질 수 있다. 게이트웨이(120)에 의해 전송되는 메시지는 처리부(310)에 의해 생성될 수 있다.In an embodiment, transmission and reception of messages of the Bluetooth device 110 may be performed by the communication unit 220 . A message transmitted by the Bluetooth device 110 may be generated by the processing unit 210 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 . A message transmitted by the gateway 120 may be generated by the processing unit 310 .

단계(1210)에서, 게이트웨이(120)는 블루투스 장치(110)와 통신 채널을 설립(establish)할 수 있다. 설립된 통신 채널은 소정의 시간 동안 유지될 수 있다.In step 1210, the gateway 120 may establish a communication channel with the Bluetooth device 110. The established communication channel may be maintained for a predetermined amount of time.

통신 채널을 설립하기 위해 게이트웨이(120)는 연결 요청(connect request; CONNECT_REQ) 메시지를 블루투스 장치(110)로 전송할 수 있다.To establish a communication channel, the gateway 120 may transmit a connect request (CONNECT_REQ) message to the Bluetooth device 110.

단계(1220)에서, 게이트웨이(120)는 "CoAP GET(겟) /.cb" 메시지를 블루투스 장치(110)로 전송할 수 있다. "CoAP GET /.cb" 메시지는 링크 계층(Link Layer; LL) 데이터 패킷의 형태로 전송될 수 있다.In step 1220, the gateway 120 may transmit a “CoAP GET /.cb” message to the Bluetooth device 110. The "CoAP GET /.cb" message may be transmitted in the form of a Link Layer (LL) data packet.

".cb"는 CoAP 메시지의 URI-경로 옵션에 포함될 수 있다. ".cb"의 역할은 IETF CoAP 규격(예를 들면, 알에프씨7252(RFC7252))의 ".wellknown/core"의 역할과 동일할 수 있다."다만, ".wellknown/core"는 블루투스 통신에 있어서는 너무 길 수 있기 때문에, 단순하게 줄여서 사용될 수 있다.".cb" may be included in the URI-route option of the CoAP message. The role of ".cb" may be the same as the role of ".wellknown/core" of the IETF CoAP standard (eg, RFC7252 (RFC7252)). Since it can be too long for a short text, it can be used as a shorthand for simplicity.

단계(1230)에서, 연결 요청 메시지를 수신한 블루투스 장치(110)는 연결 요청 메시지에 대한 응답 메시지를 전송할 수 있다.In step 1230, the Bluetooth device 110 receiving the connection request message may transmit a response message to the connection request message.

응답 메시지의 크기가 소정의 제1 값의 이상인 경우, 블루투스 L2에서 응답 메시지가 여러 개의 서브 메시지들로 나뉘어질 수 있고, 나뉘어진 서브 메시지들이 전송될 수 있다.When the size of the response message is greater than or equal to the predetermined first value, the response message may be divided into several sub-messages in Bluetooth L2, and the divided sub-messages may be transmitted.

또한, 응답 메시지의 크기가 소정의 제2 값의 이상인 경우, CoAP의 블록와이즈(blockwise) 전송(transfer) 기능이 사용될 수 있다.In addition, when the size of the response message is greater than or equal to a predetermined second value, a blockwise transfer function of CoAP may be used.

응답 메시지의 페이로드는 블루투스 장치(110)의 리소스의 경로를 포함할 수 있다. 리소스는 복수일 수 있다. 페이로드는 복수의 리소스들의 경로들의 목록을 포함할 수 있다.The payload of the response message may include a resource path of the Bluetooth device 110. A resource may be plural. A payload may include a list of paths to a plurality of resources.

단계(1230)는 단계(1231) 및 단계(1232)를 포함할 수 있다.Step 1230 may include steps 1231 and 1232 .

단계(1231)에서, 블루투스 장치(110)는 "CoAP 2.05 Content(컨텐츠)" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP 2.05 Content" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1231, the Bluetooth device 110 may transmit a “CoAP 2.05 Content” message to the gateway 120. The "CoAP 2.05 Content" message may be transmitted in the form of an LL data packet.

단계(1232)에서, 블루투스 장치(110)는 "CoAP 2.05 continue(컨티뉴)" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP 2.05 continue" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1232, the Bluetooth device 110 may transmit a “CoAP 2.05 continue” message to the gateway 120. The "CoAP 2.05 continue" message may be transmitted in the form of an LL data packet.

단계(1240)에서, 게이트웨이(120)는 리소스의 경로에 대한 재질의(re-question) 메시지를 블루투스 장치(110)로 전송할 수 있다. 재질의 메시지는 경로에 대한 세부의 정보를 요청하는 메시지일 수 있다.In step 1240, the gateway 120 may transmit a re-question message about the path of the resource to the Bluetooth device 110. The message of the material may be a message requesting detailed information about the route.

예를 들면, "container"라는 리소스의 경로가 존재하는 경우, 게이트웨이(120)는 "CoAP GET(겟) /container Accept(어셉트):link-format(링크-포맷)" 메시지를 블루투스 장치(110)로 전송할 수 있다. "CoAP GET /container Accept:link-format" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.For example, if a resource path named “container” exists, the gateway 120 sends a “CoAP GET /container Accept (accept):link-format” message to the Bluetooth device 110 ) can be transmitted. The "CoAP GET /container Accept:link-format" message may be transmitted in the form of an LL data packet.

단계(1250)에서, 리소스의 경로에 대한 재질의 메시지를 수신한 블루투스 장치(110)는 재질의 메시지에 대한 응답 메시지를 전송할 수 있다. 응답 메시지는 리소스의 경로에 대한 정보를 포함할 수 있다.In step 1250, the Bluetooth device 110 receiving the material message for the resource path may transmit a response message to the material message. The response message may include information about the path of the resource.

응답 메시지의 크기가 소정의 제1 값의 이상인 경우, 블루투스 L2에서 응답 메시지가 여러 개의 서브 메시지들로 나뉘어질 수 있고, 나뉘어진 서브 메시지들이 전송될 수 있다.When the size of the response message is greater than or equal to the predetermined first value, the response message may be divided into several sub-messages in Bluetooth L2, and the divided sub-messages may be transmitted.

또한, 응답 메시지의 크기가 소정의 제2 값의 이상인 경우, CoAP의 블록와이즈 전송 기능이 사용될 수 있다.In addition, when the size of the response message is larger than a predetermined second value, a blockwise transmission function of CoAP may be used.

응답 메시지의 페이로드는 리소스의 경로에 대한 정보를 포함할 수 있다.The payload of the response message may include information about the path of the resource.

단계(1250)는 단계(1251) 및 단계(1252)를 포함할 수 있다.Step 1250 may include steps 1251 and 1252 .

단계(1251)에서, 블루투스 장치(110)는 "CoAP 2.05 content" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP 2.05 content" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1251, the Bluetooth device 110 may transmit a “CoAP 2.05 content” message to the gateway 120. The "CoAP 2.05 content" message may be transmitted in the form of an LL data packet.

단계(1252)에서, 블루투스 장치(110)는 "CoAP 2.05 continue" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP 2.05 continue" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1252, the Bluetooth device 110 may transmit a “CoAP 2.05 continue” message to the gateway 120. The "CoAP 2.05 continue" message may be transmitted in the form of an LL data packet.

전술된 것처럼, 게이트웨이(120)는 블루투스 장치(110)의 리소스를 검색하기 위해 연결 요청 메시지를 블루투스 장치(110)로 전송할 수 있다. 게이트웨이(120)는 블루투스 장치(110)로부터 연결 요청 메시지에 대한 응답 메시지를 수신할 수 있다. 응답 메시지는 블루투스 장치(110)의 리소스의 경로를 포함할 수 있다. 게이트웨이(120)는 리소스의 경로를 포함하는 재질의 메시지를 블루투스 장치(110)로 전송할 수 있다. 게이트웨이(120)는 리소스의 경로에 대한 정보를 포함하는 응답 메시지를 블루투스 장치(110)로부터 수신할 수 있다. 게이트웨이(120)는 재질의 메시지에 대한 응답 메시지로부터 리소스의 경로에 대한 정보를 획득할 수 있다.
As described above, the gateway 120 may transmit a connection request message to the Bluetooth device 110 to search for resources of the Bluetooth device 110 . The gateway 120 may receive a response message to the connection request message from the Bluetooth device 110 . The response message may include a resource path of the Bluetooth device 110. The gateway 120 may transmit a material message including a resource path to the Bluetooth device 110 . The gateway 120 may receive a response message including information about a path of a resource from the Bluetooth device 110 . The gateway 120 may obtain information about a path of a resource from a response message to a message of a material.

도 13은 일 예에 따른 게이트웨이의 외부 장치로부터의 요청을 처리하는 방법의 흐름도이다.13 is a flowchart of a method of processing a request from an external device of a gateway according to an example.

게이트웨이(120)는 외부 장치(610)로부터의 요청을 처리할 수 있다. 게이트웨이(120)를 통해 블루투스 장치(110)는 외부 장치(610)로부터의 요청에 대한 응답을 제공할 수 있다.The gateway 120 may process a request from the external device 610 . Through the gateway 120, the Bluetooth device 110 may provide a response to a request from the external device 610.

실시예에서, 블루투스 장치(110)의 메시지의 전송 및 수신은 통신부(220)에 의해 이루어질 수 있다. 블루투스 장치(110)에 의해 전송되는 메시지는 처리부(210)에 의해 생성될 수 있다. 게이트웨이(120)에 있어서, 게이트웨이(120) 및 블루투스 장치(110) 간의 메시지의 전송 및 수신은 제1 통신부(320)에 의해 이루어질 수 있다. 게이트웨이(120)에 있어서, 게이트웨이(120) 및 외부 장치(610) 간의 메시지의 전송 및 수신은 제2 통신부(330)에 의해 이루어질 수 있다. 게이트웨이(120)에 의해 전송되는 메시지는 처리부(310)에 의해 생성될 수 있다.In an embodiment, transmission and reception of messages of the Bluetooth device 110 may be performed by the communication unit 220 . A message transmitted by the Bluetooth device 110 may be generated by the processing unit 210 . In the gateway 120 , transmission and reception of messages between the gateway 120 and the Bluetooth device 110 may be performed by the first communication unit 320 . In the gateway 120 , transmission and reception of messages between the gateway 120 and the external device 610 may be performed by the second communication unit 330 . A message transmitted by the gateway 120 may be generated by the processing unit 310 .

단계(1310)에서, 게이트웨이(120)의 처리부(310)는 블루투스 장치(110)를 검색할 수 있고, 검색된 블루투스 장치(110)의 주소를 저장할 수 있다.In step 1310, the processing unit 310 of the gateway 120 may search for the Bluetooth device 110 and store the address of the searched Bluetooth device 110.

단계(1310)는 도 8을 참조하여 전술된 단계(810)에 대응할 수 있다. 블루투스 장치(110)의 검색을 위해 도 10 및 도 11을 참조하여 전술된 실시예가 사용될 수 있다.Step 1310 may correspond to step 810 described above with reference to FIG. 8 . The embodiment described above with reference to FIGS. 10 and 11 may be used to search for the Bluetooth device 110 .

단계(1320)에서, 게이트웨이(120)는 블루투스 장치(110)의 리소스를 검색할 수 있고, 검색된 리소스의 정보를 저장할 수 있다.In step 1320, the gateway 120 may search for resources of the Bluetooth device 110 and store information of the searched resources.

단계(1320)는 도 8을 참조하여 전술된 단계(820)에 대응할 수 있다. 블루투스 장치(110)의 리소스의 검색을 위해 도 12를 참조하여 전술된 실시예가 사용될 수 있다.Step 1320 may correspond to step 820 described above with reference to FIG. 8 . The embodiment described above with reference to FIG. 12 may be used to search for resources of the Bluetooth device 110.

단계(1330)에서, 게이트웨이(120)의 처리부(310)는 블루투스 장치(110)의 리소스에 대한 매핑을 생성할 수 있다. 게이트웨이(120)의 처리부(310)는 블루투스 장치(110)의 리소스 및 게이트웨이(120)의 리소스 경로 간의 매핑을 생성할 수 있다. 게이트웨이(120)는 블루투스 장치(110)의 리소스 및 게이트웨이(120)의 리소스 경로 간의 매핑을 저장할 수 있다.In step 1330, the processing unit 310 of the gateway 120 may create a mapping for resources of the Bluetooth device 110. The processor 310 of the gateway 120 may generate a mapping between resources of the Bluetooth device 110 and resource paths of the gateway 120 . The gateway 120 may store a mapping between resources of the Bluetooth device 110 and resource paths of the gateway 120 .

리소스 경로는 프리픽스(prefix), 블루투스 장치 식별자 및 리소스 식별자를 포함할 수 있다.A resource path may include a prefix, a Bluetooth device identifier, and a resource identifier.

프리픽스는 블루투스 네트워크 내의 노드에 대한 경로임을 나타낼 수 있다.A prefix may indicate a route to a node within a Bluetooth network.

블루투스 장치 식별자는 검색된 블루투스 장치(110)의 식별자일 수 있다. 리소스 식별자는 검색된 리소스의 식별자일 수 있다.The Bluetooth device identifier may be an identifier of the searched Bluetooth device 110 . The resource identifier may be an identifier of a searched resource.

예를 들면, 프리픽스가 "ble"이고, 블루투스 기기 식별자가 "00123"이고, 리소스의 식별자가 "temp"이면, 리소스 경로는 "/ble/00123/temp"일 수 있다.For example, if the prefix is "ble", the Bluetooth device identifier is "00123", and the resource identifier is "temp", the resource path may be "/ble/00123/temp".

단계(1330)는 도 8을 참조하여 전술된 단계(820)에 대응할 수 있다. 말하자면, 단계(820)는 단계들(1320 및 1330)을 포함할 수 있다.Step 1330 may correspond to step 820 described above with reference to FIG. 8 . In other words, step 820 may include steps 1320 and 1330 .

아래의 단계들(1340, 1350, 1355, 1360, 1365, 1370, 1380 및 1390)은 도 7을 참조하여 전술된 단계(730) 및 도 8을 참조하여 전술된 단계(830)의 각각에 대응할 수 있다.Steps 1340, 1350, 1355, 1360, 1365, 1370, 1380 and 1390 below may correspond to each of step 730 described above with reference to FIG. 7 and step 830 described above with reference to FIG. there is.

단계(1340)에서, 게이트웨이(120)는 외부 장치(610)로부터 요청 메시지를 수신할 수 있다.In step 1340, the gateway 120 may receive a request message from the external device 610.

요청 메시지는 CoAP의 요청 메시지일 수 있다.The request message may be a CoAP request message.

게이트웨이(120)는 요청 메시지의 URI-경로를 사용하여 요청 메시지의 목적지(destination)인 블루투스 장치(110)의 주소를 검색할 수 있다.The gateway 120 may search the address of the Bluetooth device 110, which is the destination of the request message, using the URI-path of the request message.

단계(1350)에서, 요청 메시지의 목적지인 블루투스 장치(110)와의 블루투스 연결이 성립되어 있지 않은 경우, 게이트웨이(120)의 처리부(310)는 게이트웨이(120) 및 블루투스 장치(110) 간의 연결을 성립시킬 수 있다. 블루투스 연결의 성립을 위해 게이트웨이(120)는 CONNECT_REQ 메지지를 블루투스 장치(110)로 전송할 수 있다. CONNECT_REQ 메지지를 통해 게이트웨이(120) 및 블루투스 장치(110) 간의 연결이 성립될 수 있다.In step 1350, when the Bluetooth connection with the Bluetooth device 110, which is the destination of the request message, is not established, the processor 310 of the gateway 120 establishes a connection between the gateway 120 and the Bluetooth device 110. can make it To establish a Bluetooth connection, the gateway 120 may transmit a CONNECT_REQ message to the Bluetooth device 110. A connection between the gateway 120 and the Bluetooth device 110 may be established through the CONNECT_REQ message.

단계(1355)에서, 게이트웨이(120)의 처리부(310)는 요청 메시지의 필드를 제거할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지로부터 1) URI-호스트, 2) URI-포트, 3) URI-경로 중 프리픽스 및 4) URI-경로 중 블루투스 장치 식별자를 제거할 수 있고, 요청 메시지로부터 IP 헤더 및 UDP 헤더를 제거할 수 있다.In step 1355, the processing unit 310 of the gateway 120 may remove the field of the request message. Processing unit 310 of gateway 120 may remove 1) URI-host, 2) URI-port, 3) prefix from URI-path and 4) Bluetooth device identifier from URI-path from the request message, IP headers and UDP headers can be removed from

단계(1360)에서, 게이트웨이(120)는 요청 메시지를 블루투스 장치(110)로 전달할 수 있다.In step 1360, the gateway 120 may transfer the request message to the Bluetooth device 110.

단계(1365)에서, 게이트웨이(120)의 처리부(310)는 요청 메시지에 대한 응답 메시지를 전달하기 위해 요구되는 정보를 저장할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지를 전송한 소스인 외부 장치(610)의 주소 및 포트 번호를 저장할 수 있다. 또한, 게이트웨이(120)는 요청 메시지의 토큰 필드 및 MID 필드를 저장할 수 있다.In step 1365, the processor 310 of the gateway 120 may store information required to deliver a response message to the request message. The processor 310 of the gateway 120 may store the address and port number of the external device 610 that is the source of the request message. In addition, the gateway 120 may store the token field and MID field of the request message.

단계(1370)에서, 게이트웨이(120)는 블루투스 장치(110)로부터 요청 메시지에 대한 응답 메시지를 수신할 수 있다.In step 1370, the gateway 120 may receive a response message to the request message from the Bluetooth device 110.

단계(1380)에서, 응답 메시지를 수신하면, 게이트웨이(120)의 처리부(310)는 저장된 외부 장치(610)의 주소, 외부 장치(610)의 포트 번호, 토큰 필드 및 MID 필드를 참고하여 응답 메시지의 목적지인 외부 장치(610)를 식별할 수 있다.In step 1380, upon receiving the response message, the processing unit 310 of the gateway 120 refers to the stored address of the external device 610, the port number of the external device 610, the token field, and the MID field for the response message. The destination of the external device 610 can be identified.

단계(1390)에서, 게이트웨이(120)는 응답 메시지를 외부 장치(610)로 전달할 수 있다.
In step 1390, the gateway 120 may transfer the response message to the external device 610.

도 14는 일 예에 따른 게이트웨이의 외부 장치로부터의 요청을 처리하는 방법의 흐름도이다.14 is a flowchart of a method of processing a request from an external device of a gateway according to an example.

게이트웨이(120)는 블루투스 장치(110)로부터의 요청을 처리할 수 있다. 게이트웨이(120)를 통해 외부 장치(610)는 블루투스 장치(110)로부터의 요청에 대한 응답을 제공할 수 있다.The gateway 120 may process a request from the Bluetooth device 110. Through the gateway 120, the external device 610 may provide a response to a request from the Bluetooth device 110.

실시예에서, 블루투스 장치(110)의 메시지의 전송 및 수신은 통신부(220)에 의해 이루어질 수 있다. 블루투스 장치(110)에 의해 전송되는 메시지는 처리부(210)에 의해 생성될 수 있다. 게이트웨이(120)에 있어서, 게이트웨이(120) 및 블루투스 장치(110) 간의 메시지의 전송 및 수신은 제1 통신부(320)에 의해 이루어질 수 있다. 게이트웨이(120)에 있어서, 게이트웨이(120) 및 외부 장치(610) 간의 메시지의 전송 및 수신은 제2 통신부(330)에 의해 이루어질 수 있다. 게이트웨이(120)에 의해 전송되는 메시지는 처리부(310)에 의해 생성될 수 있다.In an embodiment, transmission and reception of messages of the Bluetooth device 110 may be performed by the communication unit 220 . A message transmitted by the Bluetooth device 110 may be generated by the processing unit 210 . In the gateway 120 , transmission and reception of messages between the gateway 120 and the Bluetooth device 110 may be performed by the first communication unit 320 . In the gateway 120 , transmission and reception of messages between the gateway 120 and the external device 610 may be performed by the second communication unit 330 . A message transmitted by the gateway 120 may be generated by the processing unit 310 .

우선, 도 13을 참조하여 전술된 단계들(1310, 1320 및 1330)이 수행될 수 있다.First, steps 1310, 1320, and 1330 described above with reference to FIG. 13 may be performed.

아래의 단계들(1410, 1420, 1430, 1440, 1450, 1460, 1470 및 1480)은 도 7을 참조하여 전술된 단계(730) 및 도 8을 참조하여 전술된 단계(830)의 각각에 대응할 수 있다.Steps 1410, 1420, 1430, 1440, 1450, 1460, 1470 and 1480 below may correspond to each of step 730 described above with reference to FIG. 7 and step 830 described above with reference to FIG. there is.

다음으로, 단계(1410)에서, 게이트웨이(120)는 블루투스 장치(110)로부터 요청 메시지를 수신할 수 있다.Next, in step 1410, the gateway 120 may receive a request message from the Bluetooth device 110.

요청 메시지는 CoAP의 요청 메시지일 수 있다.The request message may be a CoAP request message.

게이트웨이(120)는 요청 메시지의 URI-경로를 사용하여 요청 메시지의 목적지인 외부 장치(610)의 주소를 검색할 수 있다.The gateway 120 may search the address of the external device 610, which is the destination of the request message, using the URI-path of the request message.

단계(1420)에서, 게이트웨이(120)의 처리부(310)는 요청 메시지의 필드를 추출할 수 있고, 추출된 필드를 제거할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지로부터 1) URI-호스트 및 2) URI-포트를 추출할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지로부터 1) URI-호스트 및 2) URI-포트를 제거할 수 있다.In step 1420, the processing unit 310 of the gateway 120 may extract the field of the request message and may remove the extracted field. Processing unit 310 of gateway 120 may extract 1) URI-Host and 2) URI-Port from the request message. Processing unit 310 of gateway 120 may remove 1) URI-Host and 2) URI-Port from the request message.

단계(1430)에서, 게이트웨이(120)의 처리부(310)는 요청 메시지의 헤더를 설정할 수 있다. 게이트웨이(120)의 처리부(310)는 추출된 URI-호스트를 요청 메시지의 IP 헤더의 목적지 주소로 설정할 수 있다. 게이트웨이(120)의 처리부(310)는 추출된 URI-호스트를 요청 메시지의 IP 헤더의 목적지 주소로 설정할 수 있다.In step 1430, the processing unit 310 of the gateway 120 may set a header of the request message. The processor 310 of the gateway 120 may set the extracted URI-host as the destination address of the IP header of the request message. The processor 310 of the gateway 120 may set the extracted URI-host as the destination address of the IP header of the request message.

단계(1440)에서, 게이트웨이(120)는 요청 메시지를 외부 장치(610)로 전달할 수 있다.In step 1440, the gateway 120 may transfer the request message to the external device 610.

단계(1450)에서, 게이트웨이(120)의 처리부(310)는 요청 메시지에 대한 응답 메시지를 전달하기 위해 요구되는 정보를 저장할 수 있다. 게이트웨이(120)의 처리부(310)는 요청 메시지의 토큰 필드, MID 필드, 목적지 IP 주소, 포트 번호를 저장할 수 있고, 요청 메시지를 전송한 블루투스 장치(110)의 블루투스 장치 식별자 및 블루투스 장치(110)의 주소를 저장할 수 있다.In step 1450, the processing unit 310 of the gateway 120 may store information required to deliver a response message to the request message. The processor 310 of the gateway 120 may store the token field, MID field, destination IP address, and port number of the request message, and the Bluetooth device identifier of the Bluetooth device 110 that sent the request message and the Bluetooth device 110 address can be stored.

단계(1460)에서, 게이트웨이(120)는 외부 장치(610)로부터 요청 메시지에 대한 응답 메시지를 수신할 수 있다.In step 1460, the gateway 120 may receive a response message to the request message from the external device 610.

단계(1470)에서, 응답 메시지를 수신하면, 게이트웨이(120)의 처리부(310)는 저장된 토큰 필드, 저장된 MID 필드, 저장된 목적지 IP 주소, 저장된 포트 번호, 저장된 블루투스 장치(110)의 블루투스 장치 식별자 및 저장된 블루투스 장치(110)의 주소를 참고하여 응답 메시지의 목적지인 블루투스 장치(110)를 식별할 수 있다.In step 1470, upon receiving the response message, the processing unit 310 of the gateway 120 stores the stored token field, the stored MID field, the stored destination IP address, the stored port number, the stored Bluetooth device identifier of the Bluetooth device 110, and The Bluetooth device 110, which is the destination of the response message, may be identified by referring to the stored address of the Bluetooth device 110.

단계(1480)에서, 게이트웨이(120)는 응답 메시지를 블루투스 장치(110)로 전달할 수 있다.
In step 1480, the gateway 120 may transfer the response message to the Bluetooth device 110.

도 15는 일 예에 따른 게이트웨이 검색 방법의 흐름도이다.15 is a flowchart of a gateway search method according to an example.

블루투스 장치(110)의 동작 모드에 따라서는, 게이트웨이(120)가 블루투스 장치(110)를 검색하는 것이 아니라, 블루투스 장치(110)가 게이트웨이(120)를 검색해야 하는 경우도 발생할 수 있다. 실시예에서는, 블루투스 장치(110)가 게이트웨이(120)를 검색하는 과정이 설명된다.Depending on the operating mode of the Bluetooth device 110, a case may occur in which the Bluetooth device 110 searches for the gateway 120 instead of the gateway 120 searching for the Bluetooth device 110. In the embodiment, a process for the Bluetooth device 110 to search for the gateway 120 will be described.

블루투스 장치(110)는 블루투스 지원 센서 노드일 수 있다. 또한, 블루투스 장치(110)는 사물인터넷 기기일 수 있으며, CoAP를 지원하는 BLE 기기일 수 있다.The Bluetooth device 110 may be a Bluetooth enabled sensor node. In addition, the Bluetooth device 110 may be an IoT device and may be a BLE device supporting CoAP.

도 7을 참조하여 전술된 단계(710)는 아래의 단계들(1510 및 1520)을 포함할 수 있다.Step 710 described above with reference to FIG. 7 may include steps 1510 and 1520 below.

실시예에서, 게이트웨이(120)의 메시지의 생성은 게이트웨이(120)의 처리부(310)에 의해 이루어질 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 게이트웨이(120)의 제1 통신부(320)에 의해 이루어질 수 있다. 블루투스 장치(110)의 메시지의 생성은 블루투스 장치(110)의 처리부(210)에 의해 이루어질 수 있다. 블루투스 장치(110)의 메시지의 전송 및 수신은 블루투스 장치(110)의 통신부(220)에 의해 이루어질 수 있다.In an embodiment, generation of the message of the gateway 120 may be performed by the processing unit 310 of the gateway 120 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 of the gateway 120 . Generation of the message of the Bluetooth device 110 may be performed by the processing unit 210 of the Bluetooth device 110. Message transmission and reception of the Bluetooth device 110 may be performed by the communication unit 220 of the Bluetooth device 110 .

단계(1510)에서, 블루투스 장치(110)는 브로드캐스트 메시지를 생성할 수 있다. 블루투스 장치(110)는 브로드캐스트 메시지를 브로드캐스트할 수 있다.At step 1510, the Bluetooth device 110 may generate a broadcast message. The Bluetooth device 110 may broadcast a broadcast message.

브로드캐스트 메시지는 블루투스 장치(110)의 주변에 통신 가능한 CoAP를 지원하는 게이트웨이(120)를 검색하기 위한 메시지일 수 있다.The broadcast message may be a message for searching for a gateway 120 that supports CoAP capable of communication around the Bluetooth device 110.

브로드캐스트 메시지의 블루투스 링크 계층 패킷 타입은 ADV_IND일 수 있다. 브로드캐스트 메시지의 페이로드는 "CoAP GET /gw" 요청 메시지를 포함할 수 있다. 요청 메시지의 "gw"는 게이트웨이 노드임을 나타내는 URI-경로의 문자열의 일 예일 수 있다.The Bluetooth link layer packet type of the broadcast message may be ADV_IND. The payload of the broadcast message may include a "CoAP GET /gw" request message. "gw" in the request message may be an example of a string of URI-paths indicating that it is a gateway node.

통신 범위 내에 있는 게이트웨이(120)는 브로드캐스트 메시지를 수신할 수 있다.A gateway 120 within communication range may receive the broadcast message.

단계(1520)에서, 브로드캐스트 메시지를 수신한 게이트웨이(120)는 브로드캐스트에 대한 응답 메시지를 생성할 수 있다. 게이트웨이(120)는 응답 메시지를 블루투스 장치(110)로 전송할 수 있다.In step 1520, the gateway 120 receiving the broadcast message may generate a response message to the broadcast. The gateway 120 may transmit a response message to the Bluetooth device 110.

응답 메시지의 블루투스 링크 계층 패킷 타입은 ADV_DIRECT_IND일 수 있다. 응답 메시지의 페이로드는 "CoAP 2.05 컨텐츠(Content)" 메시지를 포함할 수 있다.The Bluetooth link layer packet type of the response message may be ADV_DIRECT_IND. The payload of the response message may include a "CoAP 2.05 Content" message.

"CoAP 2.05 컨텐츠(Content)" 메시지는 "CoAP GET /gw" 메시지에 대응할 수 있다.The "CoAP 2.05 Content" message may correspond to the "CoAP GET /gw" message.

"CoAP 2.05 컨텐츠(Content)" 메시지는 게이트웨이(120) 자체에 대한 정보를 포함할 수 있고, 블루투스 장치(110)를 등록할 수 있게 하는 URI-경로를 포함할 수 있다.The "CoAP 2.05 Content" message may include information about the gateway 120 itself, and may include a URI-path enabling the Bluetooth device 110 to be registered.

전술된 것처럼, 블루투스 장치(110)는 CoAP GET 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 게이트웨이(120)로부터 브로드캐스트 메시지에 대응하는 응답 메시지를 수신함으로써 게이트웨이(120)에 대한 정보를 획득할 수 있다.As described above, the Bluetooth device 110 obtains information about the gateway 120 by broadcasting a broadcast message including a CoAP GET message and receiving a response message corresponding to the broadcast message from the gateway 120. can

블루투스 장치(110)는 게이트웨이(120)에 대한 정보 및 URI-경로를 사용하여 게이트웨이(120)에 블루투스 장치(110)를 등록할 수 있다.
The Bluetooth device 110 may register the Bluetooth device 110 with the gateway 120 using information about the gateway 120 and the URI-path.

도 16은 일 예에 따른 관찰을 사용하는 CoAP를 지원하는 게이트웨이의 검색 방법의 흐름도이다.16 is a flowchart of a method for discovering a gateway supporting CoAP using observation according to an example.

블루투스 장치(110)는 게이트웨이(120)를 검색할 수 있다.The Bluetooth device 110 may search for the gateway 120 .

도 7을 참조하여 전술된 단계(710)는 아래의 단계(1610)를 포함할 수 있다.Step 710 described above with reference to FIG. 7 may include step 1610 below.

실시예에서, 게이트웨이(120)의 메시지의 생성은 게이트웨이(120)의 처리부(310)에 의해 이루어질 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 게이트웨이(120)의 제1 통신부(320)에 의해 이루어질 수 있다. 블루투스 장치(110)의 메시지의 생성은 블루투스 장치(110)의 처리부(210)에 의해 이루어질 수 있다. 블루투스 장치(110)의 메시지의 전송 및 수신은 블루투스 장치(110)의 통신부(220)에 의해 이루어질 수 있다.In an embodiment, generation of the message of the gateway 120 may be performed by the processing unit 310 of the gateway 120 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 of the gateway 120 . Generation of the message of the Bluetooth device 110 may be performed by the processing unit 210 of the Bluetooth device 110. Message transmission and reception of the Bluetooth device 110 may be performed by the communication unit 220 of the Bluetooth device 110 .

단계(1610)에서, 게이트웨이(120)는 브로드캐스트 메시지를 생성할 수 있다. 게이트웨이(120)는 브로드캐스트 메시지를 브로드캐스트할 수 있다. 게이트웨이(120)는 주기적으로 브로드캐스트 메시지를 브로드캐스트할 수 있다.At step 1610, gateway 120 may generate a broadcast message. Gateway 120 may broadcast a broadcast message. Gateway 120 may periodically broadcast a broadcast message.

브로드캐스트 메시지는 통신 가능한 CoAP를 지원하는 게이트웨이(120)가 존재함을 알리기 위한 메시지일 수 있다. 브로드캐스트 메시지는 게이트웨이(120)가 CoAP를 지원하는 블루투스 노드임을 나타낼 수 있다.The broadcast message may be a message for notifying that the gateway 120 supporting communicable CoAP exists. The broadcast message may indicate that the gateway 120 is a Bluetooth node supporting CoAP.

브로드캐스트 메시지의 블루투스 링크 계층 패킷 타입은 ADV_IND일 수 있다. 브로드캐스트 메시지의 AD 타입은 CoAP 메시지라는 것을 나타내는 값을 가질 수 있다. 브로드캐스트 메시지의 페이로드는 "CoAP NON(논) PUT(풋) /gw" 메시지를 포함할 수 있다.The Bluetooth link layer packet type of the broadcast message may be ADV_IND. The AD type of the broadcast message may have a value indicating that it is a CoAP message. The payload of the broadcast message may include a "CoAP NON (non) PUT (put) /gw" message.

통신 범위 내에 있는 블루투스 장치(110)는 브로드캐스트 메시지를 수신할 수 있다.A Bluetooth device 110 within a communication range may receive a broadcast message.

브로드캐스트 메시지를 관찰하고 있던 블루투스 장치(110)는 브로드캐스트 메시지를 수신할 수 있다. 제1 게이트웨이(1110)는 브로드캐스트 메시지를 수신함에 따라 CoAP를 지원하는 BLE 기기인 게이트웨이(120)를 발견할 수 있다.The Bluetooth device 110 observing the broadcast message may receive the broadcast message. Upon receiving the broadcast message, the first gateway 1110 can discover the gateway 120, which is a BLE device supporting CoAP.

전술된 것처럼, 블루투스 장치(110)는 브로드캐스트 메시지를 관찰할 수 있다. 블루투스 장치(110)는 CoAP 메시지를 포함하는 브로드캐스트 메시지를 수신함에 따라 브로드캐스트 메시지를 브로드캐스트한 게이트웨이(120)를 발견할 수 있다.
As mentioned above, the Bluetooth device 110 can observe the broadcast message. Upon receiving the broadcast message including the CoAP message, the Bluetooth device 110 may discover the gateway 120 that broadcast the broadcast message.

도 17은 일 예에 따른 블루투스 장치를 등록하는 방법의 흐름도이다.17 is a flowchart of a method of registering a Bluetooth device according to an example.

도 15 또는 도 16을 참조하여 전술된 실시예에 따라서 블루투스 장치(110)가 게이트웨이(120)를 발견한 경우, 블루투스 장치(110)는 블루투스 장치(110) 자신을 게이트웨이(120)에 등록할 수 있다.When the Bluetooth device 110 discovers the gateway 120 according to the embodiment described above with reference to FIG. 15 or 16, the Bluetooth device 110 may register itself with the gateway 120. there is.

도 7을 참조하여 전술된 단계(710)는 단계들(1710, 1720 및 1730)을 포함할 수 있다. 또한, 단계들(1710, 1720 및 1730)은 도 15를 참조하여 전술된 단계(1520)의 이후에 수행될 수 있으며, 도 16을 참조하여 전술된 단계(1610)의 이후에 수행될 수 있다.Step 710 described above with reference to FIG. 7 may include steps 1710 , 1720 and 1730 . Also, steps 1710, 1720, and 1730 may be performed after step 1520 described above with reference to FIG. 15 and may be performed after step 1610 described above with reference to FIG. 16 .

실시예에서, 블루투스 장치(110)의 메시지의 전송 및 수신은 통신부(220)에 의해 이루어질 수 있다. 블루투스 장치(110)에 의해 전송되는 메시지는 처리부(210)에 의해 생성될 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 제1 통신부(320)에 의해 이루어질 수 있다. 게이트웨이(120)에 의해 전송되는 메시지는 처리부(310)에 의해 생성될 수 있다.In an embodiment, transmission and reception of messages of the Bluetooth device 110 may be performed by the communication unit 220 . A message transmitted by the Bluetooth device 110 may be generated by the processing unit 210 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 . A message transmitted by the gateway 120 may be generated by the processing unit 310 .

단계(1710)에서, 블루투스 장치(110)는 게이트웨이(120)와 통신 채널을 설립할 수 있다. 설립된 통신 채널은 소정의 시간 동안 유지될 수 있다.At step 1710, the Bluetooth device 110 may establish a communication channel with the gateway 120. The established communication channel may be maintained for a predetermined amount of time.

통신 채널을 설립하기 위해 블루투스 장치(110)는 CONNECT_REQ 메시지를 게이트웨이(120)로 전송할 수 있다.To establish a communication channel, the Bluetooth device 110 may transmit a CONNECT_REQ message to the gateway 120.

단계(1720)에서, 블루투스 장치(110)는 데이터 메시지를 전송할 수 있다. 데이터 메시지는 L2 데이터 메시지일 수 있다.At step 1720, the Bluetooth device 110 may transmit a data message. The data message may be an L2 data message.

데이터 메시지의 크기가 소정의 제1 값의 이상인 경우, 블루투스 L2에서 데이터 메시지가 여러 개의 서브 메시지들로 나뉘어질 수 있고, 나뉘어진 서브 메시지들이 전송될 수 있다.When the size of the data message is greater than or equal to the predetermined first value, the data message may be divided into several sub-messages in Bluetooth L2, and the divided sub-messages may be transmitted.

또한, 데이터 메시지의 크기가 소정의 제2 값의 이상인 경우, CoAP의 블록와이즈(blockwise) 전송(transfer) 기능이 사용될 수 있다.In addition, when the size of the data message is larger than a predetermined second value, a blockwise transfer function of CoAP may be used.

데이터 메시지의 페이로드는 블루투스 장치(110)에 대한 정보를 포함할 수 있다. 또한, 페이로드는 블루투스 장치(110)의 리소스의 경로를 포함할 수 있다.The payload of the data message may include information about the Bluetooth device 110. Also, the payload may include a resource path of the Bluetooth device 110.

단계(1720)는 단계(1721) 및 단계(1722)를 포함할 수 있다.Step 1720 may include steps 1721 and 1722.

단계(1731)에서, 블루투스 장치(110)는 "CoAP POST(포스트) /gw, 001" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP POST /gw, 001" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1731 , the Bluetooth device 110 may transmit a “CoAP POST (post) /gw, 001” message to the gateway 120 . The "CoAP POST /gw, 001" message may be transmitted in the form of an LL data packet.

단계(1732)에서, 블루투스 장치(110)는 "continue" 메시지를 게이트웨이(120)로 전송할 수 있다. "continue" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1732, the Bluetooth device 110 may transmit a “continue” message to the gateway 120. The "continue" message may be transmitted in the form of an LL data packet.

단계(1740)에서, 게이트웨이(120)는 데이터 메시지에 대한 응답 메시지를 블루투스 장치(110)로 전송할 수 있다. 응답 메시지는 블루투스 장치(110)에 대한 정보가 게이트웨이(120)에 등록되었음을 나타낼 수 있다.In step 1740, the gateway 120 may transmit a response message to the data message to the Bluetooth device 110. The response message may indicate that information about the Bluetooth device 110 is registered in the gateway 120 .

예를 들면, 게이트웨이(120)는 응답 메시지로서 "CoAP 2.01, Location(위치): /gw/ble/001"의 메시지를 블루투스 장치(110)로 전송할 수 있다. CoAP 2.01, Location: /gw/ble/001"는 LL 데이터 패킷의 형태로 전송될 수 있다.For example, the gateway 120 may transmit a message of "CoAP 2.01, Location: /gw/ble/001" to the Bluetooth device 110 as a response message. CoAP 2.01, Location: /gw/ble/001" may be transmitted in the form of an LL data packet.

응답 메시지는 블루투스 장치(110)에 대한 정보가 기록된 경로를 나타낼 수 있다. "CoAP 2.01, Location: /gw/ble/001" 메시지에서, "Location" 옵션의 값인 "/gw/ble/001"이 블루투스 장치(110)에 대한 정보가 기록된 경로를 나타낼 수 있다.The response message may indicate a path where information about the Bluetooth device 110 is recorded. In the "CoAP 2.01, Location: /gw/ble/001" message, "/gw/ble/001", a value of the "Location" option, may represent a path where information about the Bluetooth device 110 is recorded.

전술된 것처럼, 블루투스 장치(110)는 블루투스 장치(110)를 게이트웨이(120)에 등록하기 위해 블루투스 장치(110)에 대한 정보 및 블루투스 장치(110)의 리소스의 경로를 포함하는 데이터 메시지를 게이트웨이(120)로 전송하고, 블루투스 장치(110)에 대한 정보가 기록된 경로를 포함하는 응답 메시지를 게이트웨이(120)로부터 수신할 수 있다.
As described above, in order to register the Bluetooth device 110 with the gateway 120, the Bluetooth device 110 sends a data message including information about the Bluetooth device 110 and a resource path of the Bluetooth device 110 to the gateway ( 120), and a response message including a route in which information about the Bluetooth device 110 is recorded may be received from the gateway 120.

도 18은 일 예에 따른 블루투스 장치의 리소스를 등록하는 방법의 흐름도이다.18 is a flowchart of a method of registering a resource of a Bluetooth device according to an example.

블루투스 장치(110)는 블루투스 장치(110) 자신의 리소스를 게이트웨이(120)에 등록할 수 있다. 리소스는 기능 및 속성을 포함할 수 있다. 또한, 블루투스 장치(110)는 복수의 리소스들을 게이트웨이(120)에 등록할 수 있다.The Bluetooth device 110 may register its own resources with the gateway 120 . Resources can contain functions and properties. Also, the Bluetooth device 110 may register a plurality of resources with the gateway 120 .

블루투스 장치(110)는 도 17을 참조하여 전술된 단계(1740)에서 획득된 블루투스 장치(110)에 대한 정보가 기록된 경로를 사용하여 리소스를 게이트웨이(120)에 등록할 수 있다.The Bluetooth device 110 may register a resource with the gateway 120 using the path in which information about the Bluetooth device 110 obtained in step 1740 described above with reference to FIG. 17 is recorded.

도 7을 참조하여 전술된 단계(720)는 아래의 단계들(1810 및 1820)을 포함할 수 있다.Step 720 described above with reference to FIG. 7 may include steps 1810 and 1820 below.

실시예에서, 블루투스 장치(110)의 메시지의 전송 및 수신은 통신부(220)에 의해 이루어질 수 있다. 블루투스 장치(110)에 의해 전송되는 메시지는 처리부(210)에 의해 생성될 수 있다. 게이트웨이(120)의 메시지의 전송 및 수신은 제1 통신부(320)에 의해 이루어질 수 있다. 게이트웨이(120)에 의해 전송되는 메시지는 처리부(310)에 의해 생성될 수 있다.In an embodiment, transmission and reception of messages of the Bluetooth device 110 may be performed by the communication unit 220 . A message transmitted by the Bluetooth device 110 may be generated by the processing unit 210 . Message transmission and reception of the gateway 120 may be performed by the first communication unit 320 . A message transmitted by the gateway 120 may be generated by the processing unit 310 .

단계(1810)에서, 블루투스 장치(110)는 리소스 등록 메시지를 게이트웨이(120)로 전송할 수 있다.In step 1810, the Bluetooth device 110 may transmit a resource registration message to the gateway 120.

리소스 등록 메시지의 크기가 소정의 제1 값의 이상인 경우, 블루투스 L2에서 리소스 등록 메시지가 여러 개의 서브 메시지들로 나뉘어질 수 있고, 나뉘어진 서브 메시지들이 전송될 수 있다.When the size of the resource registration message is larger than a predetermined first value, the resource registration message may be divided into several sub-messages in Bluetooth L2, and the divided sub-messages may be transmitted.

또한, 리소스 등록 메시지의 크기가 소정의 제2 값의 이상인 경우, CoAP의 블록와이즈 전송 기능이 사용될 수 있다.In addition, when the size of the resource registration message is larger than a predetermined second value, a blockwise transmission function of CoAP may be used.

리소스 등록 메시지의 페이로드는 블루투스 장치(110)에 대한 정보가 기록된 경로를 포함할 수 있고, 블루투스 장치(110)의 리소스에 대한 정보를 포함할 수 있다. 리소스는 복수일 수 있다. 리소스 등록 메시지의 페이로드는 복수의 리소스들에 대한 정보를 포함할 수 있다.The payload of the resource registration message may include a path in which information about the Bluetooth device 110 is recorded, and may include information about resources of the Bluetooth device 110. A resource may be plural. A payload of the resource registration message may include information on a plurality of resources.

단계(1810)는 단계(1811) 및 단계(1812)를 포함할 수 있다.Step 1810 may include steps 1811 and 1812 .

단계(1811)에서, 블루투스 장치(110)는 "CoAP POST /gw/ble/001, <resource>" 메시지를 게이트웨이(120)로 전송할 수 있다. "CoAP POST /gw/ble/001, <resource>" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1811, the Bluetooth device 110 may transmit a “CoAP POST /gw/ble/001, <resource>” message to the gateway 120. The "CoAP POST /gw/ble/001, <resource>" message may be transmitted in the form of an LL data packet.

"/gw/ble/001"는 도 17을 참조하여 전술된 단계(1740)에서 획득된 블루투스 장치(110)에 대한 정보가 기록된 경로를 나타낼 수 있다. 예를 들면, "/gw/ble/001"는 블루투스 장치(110)의 식별자가 될 수 있다."/gw/ble/001" may indicate a path where information about the Bluetooth device 110 obtained in step 1740 described above with reference to FIG. 17 is recorded. For example, “/gw/ble/001” may be an identifier of the Bluetooth device 110.

<resource>는 블루투스 장치(110)의 리소스에 대한 정보를 나타낼 수 있다. "CoAP POST /gw/ble/001" 메시지의 페이로드는 블루투스 장치(110)의 리소스에 대한 정보를 포함할 수 있다.<resource> may indicate information about a resource of the Bluetooth device 110. The payload of the “CoAP POST /gw/ble/001” message may include information about resources of the Bluetooth device 110.

단계(1812)에서, 블루투스 장치(110)는 "continue" 메시지를 게이트웨이(120)로 전송할 수 있다. "continue" 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1812, the Bluetooth device 110 may transmit a “continue” message to the gateway 120. The "continue" message may be transmitted in the form of an LL data packet.

단계(1820)에서, 게이트웨이(120)는 리소스 등록 메시지에 대한 응답 메시지를 블루투스 장치(110)로 전송할 수 있다. 응답 메시지는 LL 데이터 패킷의 형태로 전송될 수 있다.In step 1820, the gateway 120 may transmit a response message to the resource registration message to the Bluetooth device 110. The response message may be transmitted in the form of an LL data packet.

예를 들면, 응답 메시지는 "CoAP 2.01, Location: /gw/ble/001/data1" 메시지일 수 있다.For example, the response message may be a "CoAP 2.01, Location: /gw/ble/001/data1" message.

응답 메시지는 블루투스 장치(110)의 리소스에 대한 정보를 포함할 수 있다.The response message may include information about resources of the Bluetooth device 110.

"Location" 옵션의 값은 블루투스 장치(110)의 리소스에 대한 정보가 기록된 경로를 나타낼 수 있다. 예를 들면, 경로 "/gw/ble/001/data1"에 블루투스 장치(110)의 리소스에 대한 정보가 기록될 수 있다.A value of the “Location” option may indicate a path where information about resources of the Bluetooth device 110 is recorded. For example, information on resources of the Bluetooth device 110 may be recorded in the path “/gw/ble/001/data1”.

전술된 것처럼, 블루투스 장치(110)는 블루투스 장치(110) 자신에 대한 정보가 기록된 경로를 사용하여 리소스를 게이트웨이(120)에 등록할 수 있다.
As described above, the Bluetooth device 110 may register a resource with the gateway 120 using a path in which information about the Bluetooth device 110 itself is recorded.

도 19는 일 예에 따른 블루투스 장치의 구조도이다.19 is a structural diagram of a Bluetooth device according to an example.

블루투스 장치(110)에서, CoAP는 엠큐티티(MQ Telemetry Transport; MQTT)로 대체될 수 있다.In the Bluetooth device 110, CoAP may be replaced with MQ Telemetry Transport (MQTT).

MQTT는 TCP에 기반하여 설계되었으나, 간단한 메시지 구조를 제공할 수 있다. 따라서, MQTT 계층은 L2CAP 계층의 바로 상위의 계층이 될 수 있다.MQTT is designed based on TCP, but can provide a simple message structure. Therefore, the MQTT layer can be a layer immediately above the L2CAP layer.

응용 계층은 블루투스의 복잡한 절차 및 규격을 직접 사용하지 않더라도 MQTT 규격을 사용함으로써 서비스를 제공할 수 있다.The application layer can provide services by using the MQTT standard without directly using the complicated procedure and standard of Bluetooth.

실시예들을 참조하여 전술된 CoAP에 대한 내용은 MQTT에 적용될 수 있다. 예를 들면, 처리부(210)에 수행되는 적어도 하나의 프로그램은 MQTT 계층의 코드를 포함할 수 있고, MQTT 계층은 L2CAP 계층의 바로 상위의 계층일 수 있다.
The contents of CoAP described above with reference to the embodiments may be applied to MQTT. For example, at least one program executed by the processing unit 210 may include an MQTT layer code, and the MQTT layer may be a layer immediately above the L2CAP layer.

도 20은 일 예에 따른 게이트웨이의 구조도이다.20 is a structural diagram of a gateway according to an example.

게이트웨이(120)에서, CoAP는 MQTT로 대체될 수 있다. UDP는 TCP로 대체될 수 있다. 실시예들을 참조하여 전술된 CoAP에 대한 내용은 MQTT에 적용될 수 있다. 또한, 실시예들을 참조하여 전술된 UDP에 대한 내용은 TCP에 적용될 수 있다. 예를 들면, 처리부(310)에 수행되는 적어도 하나의 프로그램은 MQTT 계층의 코드를 포함할 수 있고, MQTT 계층은 L2CAP 계층의 바로 상위의 계층일 수 있다.
At gateway 120, CoAP may be replaced with MQTT. UDP can be replaced by TCP. The contents of CoAP described above with reference to the embodiments may be applied to MQTT. In addition, the contents of UDP described above with reference to the embodiments may be applied to TCP. For example, at least one program executed by the processing unit 310 may include an MQTT layer code, and the MQTT layer may be a layer immediately above the L2CAP layer.

도 21은 일 실시예에 따른 블루투스 장치 및 게이트웨이의 통신의 구조를 설명한다.21 illustrates a structure of communication between a Bluetooth device and a gateway according to an embodiment.

블루투스 장치(110), 게이트웨이(120) 및 외부 장치(610)에 있어서, CoAP는 MQTT로 대체될 수 있다. UDP는 TCP로 대체될 수 있다. 실시예들을 참조하여 전술된 CoAP에 대한 내용은 MQTT에 적용될 수 있다. 또한, 실시예들을 참조하여 전술된 UDP에 대한 내용은 TCP에 적용될 수 있다.
In the Bluetooth device 110, the gateway 120, and the external device 610, CoAP may be replaced with MQTT. UDP can be replaced by TCP. The contents of CoAP described above with reference to the embodiments may be applied to MQTT. In addition, the contents of UDP described above with reference to the embodiments may be applied to TCP.

기본적으로 통신 프로토콜은, 오픈 시스템즈 인터커넥션(Open Systems Interconnection; OSI) 7 계층들 중 하나의 계층에서 역할을 하도록 구성될 수 있다. 시스템에 프로토콜을 적용할 때, 각 계층에 적합한 프로토콜이 선택될 수 있고, 선택된 프로토콜들에 의해 프로토콜 스택이 구성될 수 있다.Basically, the communication protocol may be configured to play a role in one of the Open Systems Interconnection (OSI) 7 layers. When a protocol is applied to the system, a protocol suitable for each layer may be selected, and a protocol stack may be configured by the selected protocols.

통상적인 프로토콜 계층 구조는, 물리 계층, 논리 계층, 네트워크 계층, 전송(transport) 계층, 세션(session) 계층, 응용 계층을 포함할 수 있다. 블루투스 규격에 따른 IPSP 또한 이러한 구조를 따를 수 있다.A typical protocol layer structure may include a physical layer, a logical layer, a network layer, a transport layer, a session layer, and an application layer. IPSP according to the Bluetooth standard may also follow this structure.

CoAP 프로토콜은 세션 계층 및 응용 계층에 해당한다. 블루투스의 물리 계층, 논리 계층 및 CoAP 프로토콜의 특징에 따라, 블루투스 장치(110)의 논리 계층 및 CoAP 프로토콜은, 네트워크 계층 및 전송 계층의 프로토콜 없이, 직접적으로 연결될 수 있다. 직접적인 연결에 따라 효율성 및 호환성이 확보될 수 있다. 또한, 블루투스 장치(110)의 네트워킹 기능은 게이트웨이(120)와의 협력을 통해 수행될 수 있다.
The CoAP protocol corresponds to the session layer and the application layer. According to the characteristics of the physical layer, logical layer, and CoAP protocol of Bluetooth, the logical layer and CoAP protocol of the Bluetooth device 110 may be directly connected without network layer and transport layer protocols. Efficiency and compatibility can be ensured by direct connection. Also, the networking function of the Bluetooth device 110 may be performed through cooperation with the gateway 120 .

도 22는 일 예에 따른 어드버타이징 채널 프레임 포맷을 나타낸다.22 illustrates an advertising channel frame format according to an example.

어드버타이징 채널 프레임 포맷(Advertising Channel Frame Format)(2200)은 프리앰블(Preamble)(2210), 접근 주소(Access Address)(2220), 어드버타이징 채널 피디유 헤더(Advertising Channel PDU(Protocol Data Unit) Header)(2230), 어드버타이징 주소(Advertising Address)(2240), CoAP 헤더/옵션들(CoAP Header/Options)(2250), CoAP 페이로드(2260) 및 순환중복검사(Cyclic Redundancy Check; CRC)(2270)를 포함할 수 있다.The advertising channel frame format 2200 includes a preamble 2210, an access address 2220, and an advertising channel PDU header Unit) Header (2230), Advertising Address (2240), CoAP Header/Options (2250), CoAP Payload (2260) and Cyclic Redundancy Check (Cyclic Redundancy Check) ;CRC) 2270.

어드버타이징 채널 프레임 포맷(2200)은 전술된 메시지 중 어드버타이징 채널에 관련된 메시지의 포맷으로서 사용될 수 있다.
The advertising channel frame format 2200 may be used as a format of a message related to an advertising channel among the aforementioned messages.

도 23은 일 예에 따른 데이터 채널 프레임 포맷을 나타낸다.23 illustrates a data channel frame format according to an example.

데이터 채널 프레임 포맷(Data Channel Frame Format)(2300)은 프리앰블(Preamble)(2310), 접근 주소(Access Address)(2320), 데이터 채널 피디유 헤더(Data Channel PDU(Protocol Data Unit) Header)(2330), CoAP 헤더/옵션들(CoAP Header/Options)(2340), CoAP 페이로드(2350) 및 순환중복검사(Cyclic Redundancy Check; CRC)(2360)를 포함할 수 있다.The data channel frame format 2300 includes a preamble 2310, an access address 2320, and a data channel protocol data unit (PDU) header 2330. ), a CoAP Header/Options (2340), a CoAP payload (2350), and a Cyclic Redundancy Check (CRC) (2360).

데이터 채널 프레임 포맷(2300)은 전술된 메시지 중 데이터 채널에 관련된 메시지의 포맷으로서 사용될 수 있다.
The data channel frame format 2300 may be used as a format of a message related to a data channel among the aforementioned messages.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

110: 블루투스 장치
120: 게이트웨이
610: 외부 장치
110: Bluetooth device
120: gateway
610: external device

Claims (20)

적어도 하나의 프로그램을 수행하는 처리부; 및
블루투스 통신을 수행하는 통신부
를 포함하고,
상기 적어도 하나의 프로그램은 ATT(Attribute protocol) 계층의 코드, GATT(Generic Attribute Profile) 계층의 코드, GAP(Generic Access Profile) 계층의 코드, CSP(CoAP Support Profile) 계층의 코드, CoAP(Constrained Application Protocol) 계층의 코드 및 L2CAP(Logical Link Control and Adaptation Protocol) 계층의 코드를 포함하고,
상기 ATT 계층, 상기 GATT 계층, 상기 GAP 계층, 상기 CSP 계층 및 상기 CoAP 계층은 상기 L2CAP 계층의 상위 계층이고,
상기 CoAP 계층은 CoAP 블루투스 기기를 검색, CoAP 요청의 메시지를 전송, 상기 CoAP 요청의 메시지를 수신 및 상기 CoAP 요청에 대한 응답 메시지를 전송하는 것인 블루투스 장치.
a processing unit that executes at least one program; and
Communication unit that performs Bluetooth communication
including,
The at least one program includes ATT (Attribute protocol) layer code, GATT (Generic Attribute Profile) layer code, GAP (Generic Access Profile) layer code, CSP (CoAP Support Profile) layer code, CoAP (Constrained Application Protocol ) layer and the code of the Logical Link Control and Adaptation Protocol (L2CAP) layer,
The ATT layer, the GATT layer, the GAP layer, the CSP layer, and the CoAP layer are higher layers of the L2CAP layer,
wherein the CoAP layer searches for a CoAP Bluetooth device, transmits a CoAP request message, receives the CoAP request message, and transmits a response message to the CoAP request.
제1항에 있어서,
상기 적어도 하나의 프로그램은 CoAP 지원 프로파일을 포함하는 블루투스 장치.
According to claim 1,
Wherein the at least one program includes a CoAP support profile.
제2항에 있어서,
상기 CSP는 GATT 및 ATT를 통해 상기 블루투스 장치가 CoAP의 기능을 지원한다는 것이 검색되게 하는 블루투스 장치.
According to claim 2,
The CSP enables the Bluetooth device to discover that the Bluetooth device supports the CoAP function through GATT and ATT.
제1항에 있어서,
상기 블루투스 장치는 CoAP GET 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 브로드캐스트 메시지에 대응하는 응답 메시지를 게이트웨이로부터 수신함으로써 상기 게이트웨이에 대한 정보를 획득하는 블루투스 장치.
According to claim 1,
The Bluetooth device obtains information about the gateway by broadcasting a broadcast message including a CoAP GET message and receiving a response message corresponding to the broadcast message from the gateway.
제1항에 있어서,
상기 블루투스 장치는 브로드캐스트 메시지를 관찰하고, 상기 브로드캐스트 메시지를 수신함에 따라 상기 브로드캐스트 메시지를 브로드캐스트한 게이트웨이를 발견하는 블루투스 장치.
According to claim 1,
The Bluetooth device observes a broadcast message, and discovers a gateway that broadcasts the broadcast message upon receiving the broadcast message.
제1항에 있어서,
상기 블루투스 장치는 상기 블루투스 장치를 게이트웨이에 등록하기 위해 상기 블루투스 장치에 대한 정보 및 상기 블루투스 장치의 리소스의 경로를 포함하는 데이터 메시지를 상기 게이트웨이로 전송하고, 상기 블루투스 장치에 대한 정보가 기록된 경로를 포함하는 응답 메시지를 상기 게이트웨이로부터 수신하는 블루투스 장치.
According to claim 1,
The Bluetooth device transmits a data message including information about the Bluetooth device and a path of a resource of the Bluetooth device to the gateway to register the Bluetooth device with the gateway, and sends a path in which the information about the Bluetooth device is recorded. A Bluetooth device receiving a response message including a response message from the gateway.
제6항에 있어서,
상기 블루투스 장치는 상기 경로를 사용하여 상기 블루투스 장치의 리소스를 상기 게이트웨이에 등록하는 블루투스 장치.
According to claim 6,
The Bluetooth device registers a resource of the Bluetooth device with the gateway using the route.
블루투스 장치에 의해 수행되는,
게이트웨이에 의해 검색된 상기 블루투스 장치를 게이트웨이에 등록하는 단계; 및
상기 게이트웨이에 의해 제공되는 게이트웨이 기능을 통해 통신을 수행하는 단계
를 포함하고,
상기 블루투스 장치의 프로토콜 스택은 ATT 계층, GATT 계층, GAP 계층, CSP 계층, CoAP 계층 및 L2CAP 계층을 포함하고,
상기 ATT 계층, 상기 GATT 계층, 상기 GAP 계층, 상기 CSP 계층 및 상기 CoAP 계층은 상기 L2CAP 계층의 상위 계층이고,
상기 CoAP 계층은 CoAP 블루투스 기기를 검색, CoAP 요청의 메시지를 전송, 상기 CoAP 요청의 메시지를 수신 및 상기 CoAP 요청에 대한 응답 메시지를 전송하는 것인 통신 방법.
performed by a Bluetooth device,
registering the Bluetooth device discovered by the gateway with the gateway; and
performing communication through a gateway function provided by the gateway;
including,
The protocol stack of the Bluetooth device includes an ATT layer, a GATT layer, a GAP layer, a CSP layer, a CoAP layer, and an L2CAP layer,
The ATT layer, the GATT layer, the GAP layer, the CSP layer, and the CoAP layer are higher layers of the L2CAP layer,
wherein the CoAP layer searches for a CoAP Bluetooth device, transmits a CoAP request message, receives the CoAP request message, and transmits a response message to the CoAP request.
제8항에 있어서,
상기 블루투스 장치의 리소스를 상기 게이트웨이에 등록하는 단계
를 더 포함하는 통신 방법.
According to claim 8,
Registering the resource of the Bluetooth device with the gateway
A communication method further comprising a.
적어도 하나의 프로그램을 수행하는 처리부; 및
블루투스 통신을 수행하는 통신부
를 포함하고,
상기 적어도 하나의 프로그램은 ATT 계층의 코드, GATT 계층의 코드, GAP 계층의 코드 및 MQTT 계층의 코드 및 L2CAP 계층의 코드를 포함하고,
상기 ATT 계층, 상기 GATT 계층, 상기 GAP 계층 및 상기 MQTT 계층은 상기 L2CAP 계층의 상위 계층인 블루투스 장치.
a processing unit that executes at least one program; and
Communication unit that performs Bluetooth communication
including,
The at least one program includes ATT layer code, GATT layer code, GAP layer code, MQTT layer code, and L2CAP layer code,
The ATT layer, the GATT layer, the GAP layer, and the MQTT layer are upper layers of the L2CAP layer.
적어도 하나의 프로그램을 수행하는 처리부;
블루투스 통신을 위한 제1 통신부; 및
인터넷과의 연동을 위한 제2 통신부
를 포함하고,
상기 적어도 하나의 프로그램은 제1 통신부 용 코드를 포함하고,
상기 제1 통신부 용 코드는 제1 CoAP 계층의 코드 및 L2CAP 계층의 코드를 포함하고,
상기 제1 CoAP 계층은 상기 L2CAP 계층의 바로 상위의 계층이고,
상기 제2 통신부의 프로토콜 스택은 와이파이 또는 이더넷 계층, IP 계층, UDP 계층, 제2 CoAP 계층을 포함하고,
상기 적어도 하나의 프로그램은 프록시 모듈을 포함하고,
상기 프록시 모듈은 상기 제2 CoAP 계층의 상위의 계층이고,
상기 프록시 모듈은 상기 제1 통신부를 통해 연결된 블루투스 장치의 주소를 게이트웨이 내부의 URI-경로에 매핑함으로써 상기 블루투스 장치 및 상기 제2 통신부를 통해 연결된 장치 간의 통신을 가능하게 하는 게이트웨이.
a processing unit that executes at least one program;
A first communication unit for Bluetooth communication; and
Second communication unit for linking with the Internet
including,
The at least one program includes a code for the first communication unit,
The code for the first communication unit includes a code of a first CoAP layer and a code of an L2CAP layer,
The first CoAP layer is a layer immediately above the L2CAP layer,
The protocol stack of the second communication unit includes a Wi-Fi or Ethernet layer, an IP layer, a UDP layer, and a second CoAP layer,
The at least one program includes a proxy module,
The proxy module is a layer above the second CoAP layer,
The proxy module enables communication between the Bluetooth device and a device connected through the second communication unit by mapping an address of the Bluetooth device connected through the first communication unit to a URI-path inside the gateway.
삭제delete 제11항에 있어서,
상기 제1 통신부는 블루투스 장치로부터 CoAP의 요청 메시지를 수신하고,
상기 처리부는 상기 CoAP의 요청 메시지로부터 URI-호스트 및 URI-포트를 제거하고, 상기 요청 메시지에 IP 헤더 및 UDP 헤더를 세팅하고,
상기 제2 통신부는 상기 IP 헤더 및 상기 UDP 헤더가 세팅된 요청 메시지를 외부 장치로 전달하는 게이트웨이.
According to claim 11,
The first communication unit receives a CoAP request message from a Bluetooth device,
The processing unit removes a URI-host and a URI-port from the request message of the CoAP, sets an IP header and a UDP header in the request message,
The second communication unit transfers the request message in which the IP header and the UDP header are set to an external device.
제11항에 있어서,
상기 제2 통신부는 외부 장치로부터 CoAP의 요청 메시지를 수신하고,
상기 처리부는 상기 CoAP의 요청 메시지로부터 URI-호스트, URI-포트, URI-경로 중 프리픽스, URI-경로 중 블루투스 장치 식별자, IP 헤더 및 UDP 헤더를 제거하고,
상기 제1 통신부는 상기 URI-호스트, 상기 URI-포트, 상기 프리픽스, 상기 블루투스 장치 식별자, 상기 IP 헤더 및 상기 UDP 헤더가 제거된 요청 메시지를 블루투스 장치로 전달하는 게이트웨이.
According to claim 11,
The second communication unit receives a CoAP request message from an external device,
The processing unit removes a URI-host, a URI-port, a prefix from a URI-path, a Bluetooth device identifier from a URI-path, an IP header, and a UDP header from the request message of the CoAP;
The first communication unit transfers the request message from which the URI-host, the URI-port, the prefix, the Bluetooth device identifier, the IP header, and the UDP header are removed to the Bluetooth device.
제11항에 있어서,
상기 게이트웨이는 CoAP Ping 요청 메시지를 포함하는 브로드캐스트 메시지를 브로드캐스트하고, 블루투스 장치로부터 상기 CoAP Ping 요청 메시지에 대응하는 CoAP Ping 응답 메시지를 수신함으로써 상기 블루투스 장치를 검출하는 게이트웨이.
According to claim 11,
The gateway detects the Bluetooth device by broadcasting a broadcast message including a CoAP Ping request message and receiving a CoAP Ping response message corresponding to the CoAP Ping request message from the Bluetooth device.
제11항에 있어서,
상기 게이트웨이는 브로드캐스트 메시지를 관찰할 수 있고,
상기 게이트웨이는 가상 CoAP Ping 응답 메시지를 포함하는 상기 브로드캐스트 메시지를 수신함에 따라 상기 브로드캐스트 메시지를 브로드캐스트한 블루투스 장치를 발견하는 게이트웨이.
According to claim 11,
the gateway may observe the broadcast message;
wherein the gateway discovers the Bluetooth device that broadcast the broadcast message upon receiving the broadcast message including the virtual CoAP Ping response message.
제11항에 있어서,
상기 게이트웨이는 연결 요청 메시지를 블루투스 장치로 전송하고, 상기 블루투스 장치로부터 상기 블루투스 장치의 리소스의 경로를 포함하는 응답 메시지를 수신하고, 상기 경로를 포함하는 재질의 메시지를 상기 블루투스 장치로 전송하고, 상기 경로에 대한 정보를 포함하는 응답 메시지를 상기 블루투스 장치로부터 수신하는 게이트웨이.
According to claim 11,
The gateway transmits a connection request message to the Bluetooth device, receives a response message including a path of a resource of the Bluetooth device from the Bluetooth device, transmits a material message including the path to the Bluetooth device, and A gateway for receiving a response message including route information from the Bluetooth device.
삭제delete 삭제delete 적어도 하나의 프로그램을 수행하는 처리부;
블루투스 통신을 위한 제1 통신부; 및
인터넷과의 연동을 위한 제2 통신부
를 포함하고,
상기 적어도 하나의 프로그램은 제1 통신부 용 코드를 포함하고,
상기 제1 통신부 용 코드는 제1MQTT 계층의 코드 및 L2CAP 계층의 코드를 포함하고,
상기 제1MQTT 계층은 상기 L2CAP 계층의 바로 상위의 계층이고,
상기 제2 통신부의 프로토콜 스택은 와이파이 또는 이더넷 계층, IP 계층, TCP 계층 및 제2 MQTT 계층을 포함하는 게이트웨이.
a processing unit that executes at least one program;
A first communication unit for Bluetooth communication; and
Second communication unit for linking with the Internet
including,
The at least one program includes a code for the first communication unit,
The code for the first communication unit includes a code of a first MQTT layer and a code of an L2CAP layer,
The first MQTT layer is a layer immediately above the L2CAP layer,
The protocol stack of the second communication unit includes a Wi-Fi or Ethernet layer, an IP layer, a TCP layer, and a second MQTT layer.
KR1020160046825A 2016-04-18 2016-04-18 Apparatus and method for bluetooth communication KR102503257B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160046825A KR102503257B1 (en) 2016-04-18 2016-04-18 Apparatus and method for bluetooth communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160046825A KR102503257B1 (en) 2016-04-18 2016-04-18 Apparatus and method for bluetooth communication

Publications (2)

Publication Number Publication Date
KR20170119098A KR20170119098A (en) 2017-10-26
KR102503257B1 true KR102503257B1 (en) 2023-02-24

Family

ID=60301108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046825A KR102503257B1 (en) 2016-04-18 2016-04-18 Apparatus and method for bluetooth communication

Country Status (1)

Country Link
KR (1) KR102503257B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102411691B1 (en) * 2018-01-03 2022-06-22 삼성전자주식회사 Electronic device for transmitting or receiving data via external electronic device and method thereof
KR102500082B1 (en) * 2021-11-29 2023-02-16 주식회사 아이엠알 Coap-based load balancer device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513288B1 (en) * 2003-01-13 2005-09-09 삼성전자주식회사 System and method for accessing to home network public network
KR101397744B1 (en) * 2006-11-15 2014-05-20 엘지전자 주식회사 Bluetooth interface apparatus and method
KR101579928B1 (en) * 2014-07-31 2015-12-23 서경대학교 산학협력단 METHOD AND RECORDING MEDIUM FOR COMPATIBILITY BETWEEN IEC61850 AND CoAP
JP2016045964A (en) * 2014-08-26 2016-04-04 富士通株式会社 Method for internet of things (iot) device configuration construction and recording medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120002087A (en) * 2010-06-30 2012-01-05 한국전자통신연구원 Apparatus and method for selecting of ap considering network performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513288B1 (en) * 2003-01-13 2005-09-09 삼성전자주식회사 System and method for accessing to home network public network
KR101397744B1 (en) * 2006-11-15 2014-05-20 엘지전자 주식회사 Bluetooth interface apparatus and method
KR101579928B1 (en) * 2014-07-31 2015-12-23 서경대학교 산학협력단 METHOD AND RECORDING MEDIUM FOR COMPATIBILITY BETWEEN IEC61850 AND CoAP
JP2016045964A (en) * 2014-08-26 2016-04-04 富士通株式会社 Method for internet of things (iot) device configuration construction and recording medium

Also Published As

Publication number Publication date
KR20170119098A (en) 2017-10-26

Similar Documents

Publication Publication Date Title
US11765150B2 (en) End-to-end M2M service layer sessions
EP3243317B1 (en) Machine-to-machine protocol indication and negotiation
EP3195566B1 (en) Service layer interworking using mqtt protocol
EP3259898B1 (en) Message bus service directory
US10863422B2 (en) Mechanisms for ad hoc service discovery
KR101842316B1 (en) Method and system of providing internet protocol(ip) data communication in a nfc peer to peer communication environment
US9979511B2 (en) Cross-layer and cross-application acknowledgment for data transmission
US10231163B2 (en) Efficient centralized resource and schedule management in time slotted channel hopping networks
US20170126569A1 (en) Enhanced neighbor discovery to support load balancing
US11824685B2 (en) Method for implementing GRE tunnel, access point and gateway
US10992578B2 (en) Message retargeting in machine-to-machine service layer communications
KR102503257B1 (en) Apparatus and method for bluetooth communication
EP3857368A1 (en) Advanced resource link binding management

Legal Events

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