소개

IoT란?

IoT란 Internet of Things의 약어로 각종 사물들이 인터넷에 연결하는 것을 의미합니다. 사물들이 인터넷에 연결됨으로써 사물 간 또는 사물과 사람 간에 데이터를 주고받는 것이 가능해지며 이로 인해 "사람이 현관 입구에 도착하면 집안의 전등과 에어컨을 켜거나, 외출 시 자동으로 가스 밸브를 잠그는 동작"과 같은 기기 간 상호작용이 가능하게 됩니다.

네이버 클라우드 플랫폼의 Cloud IoT Core는 사물들이 인터넷을 기반으로 연결하고 데이터 전달하는데 편의 및 보안을 제공합니다. 또한, Cloud IoT Core 서비스와 연동된 다른 상품을 통해서 추가적인 다양한 작업을 수행할 수 있습니다.

Cloud IoT Core 서비스 소개

Cloud IoT Core 서비스는 쉽고 빠르고 안전하게 IoT 기기 간의 통신을 가능하게 하며 실시간으로 메시지에 대한 처리도 할 수 있습니다.

IoT를 활용한 서비스를 구축하기 위해서는 사물이 전송한 메시지를 받아서 다른 사물 또는 사용자에게 전달하는 메시지 전달 서버가 필요합니다. 메시지 전달 서버를 구축 및 구현하기 위해서는 인건비, 장비 구매 및 운영에 대한 정기적/비정기적 운영 비용이 발생하고, 상황에 따라 메시지 양이 늘어나거나 줄어들 경우 서버는 메시지를 처리하기 위해 서버를 증설하거나 감설하는 등의 작업 및 비용이 발생합니다. 또, 서버를 통해 전달되는 메시지는 데이터의 보호를 위하여 암호화 통신을 해야 하며, 서버로 전달된 메시지는 필요한 메시지만을 실시간으로 처리하여 다른 사물 또는 사람에게 메시지를 전달하거나 상황에 맞는 동작을 할 수 있는 기능을 지원해야 합니다.

Cloud IoT Core 서비스는 사물 간의 메시지 전달, 암호화 통신, 실시간 처리 등의 기능을 제공하며, 사용자는 서버의 유지 비용 및 운영에 대한 고민 없이 사용한 양만큼의 비용을 지불하여 원하는 서비스를 구현할 수 있습니다.

Cloud IoT Core 서비스 구조

개략적인 Cloud IoT Core 서비스 구조를 설명하면 다음과 같습니다. 사용자의 장비에서 메시지를 전송하면 Cloud IoT Core 서비스에서는 신뢰할 수 있는 사용자인지 확인(보안 로그인) 하고 메시지를 수신합니다(메시지 송수신). 메시지는 바로 다른 장비에게 송신(발행)할 수 있으며, 사용자가 정의한 조건에 맞는 메시지는 실시간으로 확인(실시간 메시지 처리)하여 정의된 동작을 수행(네이버 클라우드 플랫폼 상품 연동)합니다.

그림1. Cloud IoT Core 서비스 구조

이점

MQTT 프로토콜

MQTT(Message Queue Telemetry Transport) 프로토콜은 성능 자원이 부족한 장비에서도 동작할 수 있는 "경량형 메시지 프로토콜"로 IoT에서 널리 사용되는 메시지 프로토콜입니다.

메시지 구조는 메시지를 분류할 수 있는 토픽(Topic)과 데이터를 전송할 수 있는 페이로드(Payload)로 구성되며, 사용자는 토픽을 기반으로 메시지를 전송하는 발행(Publish) 기능과 메시지를 수신하는 구독(Subscribe) 동작을 수행합니다. 토픽을 위해서 별도의 등록과정이 필요 없고 사용자가 임의로 지정한 토픽으로 설정 후 데이터를 전송할 수 있습니다. 예를 들면, 사용자 A가 mynews 라는 토픽으로 메시지 서버에 데이터를 전송하면, mynews 토픽을 구독하고 있는 구독자(Subscriber)는 사용자 A가 전송한 메시지를 수신합니다. 토픽은 mynews 이외에도 mynews/sport, mynews/media, mynews/weather 등과 같이 "/(슬래쉬)" 를 사용하여 계층적 구조로 사용할 수도 있습니다.

보안 로그인 및 통신

Cloud IoT Core는 X.509 기반의 인증서를 사용하여 사용자 인증 및 TLS 통신을 지원합니다.

장비와 Cloud IoT Core 서비스 간 통신 시 사용자 인증 및 암호화 통신을 하기 위해서는 인증서가 필요합니다. 인증서는 Cloud IoT Core 서비스의 콘솔 화면의 인증서(Certificates) 메뉴를 통해서 다운로드할 수 있으며, 인증 과정을 통해 사용자는 내가 접속하려는 서버가 정상적인 Cloud IoT Core 서버가 맞는지를 확인하고, 서버는 사용자가 정상적으로 인증된 사용자가 맞는지를 확인합니다(양방향 인증). 이후 상호 간의 인증이 완료되면 보안을 위한 암호화 통신을 진행하게 됩니다.

실시간 데이터 처리

Cloud IoT Core는 실시간으로 전송된 MQTT 메시지를 분석하고 처리할 수 있습니다.

사용자가 전송한 데이터는 Cloud IoT Core 서비스에서 사용자가 정의한 조건과 일치하는지 검사하고(트리거), 일치하는 경우 사용자가 정의한 동작(액션)을 수행합니다. 예를 들면, 사용자가 주기적으로 온도 데이터를 전송하는 상황에서 사용자가 정의한 90도보다 높은 온도가 감지되면(트리거 단계) SMS 메시지를 사용자에게 전송(액션 단계)하는 기능을 Cloud IoT Core 서비스에서 생성할 수 있습니다. 조건과 일치하는지 검사하는 과정을 트리거라고 하며, 콘솔 화면의 Rules 메뉴에서 SQL 형태로 사용자가 자유롭게 트리거를 위한 조건을 정의할 수 있습니다. 조건과 일치하는 경우 수행하는 동작을 액션이라고 하며, Rules 메뉴에서 트리거 설정 이후에 액션을 설정할 수 있습니다. 실행 가능한 액션의 종류는 점진적으로 늘려갈 예정입니다.

네이버 클라우드 플랫폼 상품과의 연동

Cloud IoT Core 서비스는 네이버 클라우드 플랫폼의 다른 상품과의 연동을 지원합니다.

Cloud IoT Core 서비스의 액션 기능을 통해서 Cloud IoT Core로 전송된 데이터를 다른 상품으로 전달할 수 있습니다. 예를 들면, 미리 Cloud Functions 서비스에 SMS와 같은 알림을 전송하는 액션 또는 트리거를 만든 후에 Cloud IoT Core 콘솔 내에 Rules 메뉴의 액션 항목에 있는 "Cloud Functions로 데이터 전송"을 선택한 후 실행할 Function의 액션 또는 트리거를 선택하여 연동할 수 있습니다.

네이버 클라우드 플랫폼 상품과의 연동은 점차 확대할 예정입니다.

Cloud IoT Core 활용 예

가정에서의 미세먼지 / 환기 경고 시스템 구축

미세먼지가 나빠지거나 좋아지는 경우 사용자에게 알림을 전송하여 환기를 멈추거나 환기를 할 수 있는 적정 시기를 알려주는 시스템 구축할 수 있습니다.

집에서 라즈베리파이의 센서 데이터와 공공 API에서 제공하는 미세먼지 데이터를 종합하여 Cloud IoT Core로 전송합니다.

Cloud IoT Core에서는 미세먼지가 나쁘거나 좋아지는 경우에 대한 조건을 설정하여 조건에 만족하는 경우 Naver Cloud Functions의 액션을 실행하는 구조입니다.

Cloud Functions에서는 미리 정의한 "SMS 문자 발송" 액션이 존재해야 하며, Cloud IoT Core에서 해당 액션을 호출하여 사용자에게 환기 타이밍에 대한 메시지를 전송합니다.

동작 감지 센서를 통한 실내 전등 제어 (with IFTTT)

외부 IoT 장비 제어 솔루션(IFTTT)과 결합하여 실내외 IoT 기기들을 제어할 수 있는 시스템을 구축할 수 있습니다.

라즈베리파이의 동작 감지 센서를 통해 움직임이 관측되는 경우, 동작이 감지되었다는 메시지를 Cloud IoT Core로 전송합니다. 전송된 데이터가 Cloud IoT Core에서 정의한 조건에 맞는다면 Naver Cloud Functions를 통해서 IFTTT의 Hue 전등 On/Off에 대한 메시지를 전송하여 전등을 제어합니다.

IoT 서비스의 개략적인 동작 방식

그림1. IoT 서비스 구조

Cloud IoT Core 서비스 사용을 위해서는 그림1과 같이 "디바이스의 데이터를 전송 → Cloud IoT Core 서비스에서 데이터 처리 → 네이버 클라우드 플랫폼 연동 상품으로의 데이터 전달 또는 사용자가 지정한 기능 실행"과 같은 3개 구성으로 동작합니다.

사용자 환경에서의 디바이스는 센서들의 정보를 수집하여 MQTT 프로토콜을 사용하여 JSON 형식의 데이터를 Cloud IoT Core 서비스로 전송하게 됩니다. Cloud IoT Core 서비스는 데이터를 확인 및 실시간으로 처리하여 사용자 환경의 다른 디바이스에 메시지를 전송하거나 연동된 네이버 클라우드 플랫폼 상품이 있는 경우 네이버 클라우드 플랫폼 상품으로 데이터를 전달하거나 사용자가 설정한 기능을 실행합니다.

아키텍처

그림1과 같이 Cloud IoT Core 서비스는 인증서버, 메시지 서버, 실시간 처리 서버로 구성됩니다. 인증서버는 사용자의 장비에 설치할 X.509 형식의 인증서를 발급, 삭제 및 관리하는 역할을 수행하고, 사용자의 디바이스를 인증하고 보안 통신을 할 수 있도록 하는 역할을 수행합니다. 메시지 서버는 MQTT 프로토콜을 지원하며, 사용자가 전송한 MQTT 메시지를 수신받고 실시간 처리 서버로 메시지를 전달하는 기능을 수행합니다. 메시지는 보안을 위하여 사용자별로 구분된 독립적인 영역에서 관리됩니다. 실시간 처리 서버는 전송된 메시지가 사용자가 정의한 동작에 부합하는 메시지인지 실시간으로 검사(트리거)하고 부합하는 메시지인 경우 사용자가 정의한 동작(액션)을 수행하게 됩니다.

제공하는 리전

Cloud IoT Core 서비스는 현재 한국 리전을 대상으로 서비스를 하고 있습니다.

사용 한도

서비스 사용 시 최대 생성 가능한 규칙이나 이름의 길이 제한 등이 있습니다. 상세한 내용은 "기타 > 제한 사항"을 참고 부탁드립니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...