개발 가이드

IoT Portal 서비스 개발에 필요한 개발 가이드 입니다.

LoRa App/Web 서버 시작하기

App/Web 서버에서 데이터를 수집하기 위한 방법

App/Web 서버에서 ThingPlug의 데이터를 가져오는 방법은 기본적으로 2 가지가 있습니다.
첫 번째 방법은 Polling 방식입니다. 주로 App/Web 서버가 특정 시간에만 데이터를 가져오는 응용이나 ThingPlug에 저장된 데이터를 바로 확인할 때 적합합니다.
두 번째 방법은 Subscription 방식입니다. Subscription 방식의 경우, LoRa 디바이스가 Uplink 하는 모든 데이터를 서버에 저장해야 하는 응용에 적합합니다.
자세한 내용은 아래에서 확인할 수 있습니다.

Polling 방식

기본적인 Polling 방식 개념은 서버-클라이언트 구조 통신에서 클라이언트가 일정 간격으로 서버에게 데이터 요청하고, 이에 대한 응답으로 서버가 클라이언트 에게 데이터를 전송하는 방식을 말합니다.

서버-클라이언트 기반 Polling 방식의 데이터 요청/응답 과정

이와 같은 방식을 LoRa 네트워크의 ThingPlug-App/Web 서버에 적용하면 다음과 같습니다. 아래의 예제는 LoRa GPS 응용이며, LoRa 디바이스는 주기적으로 위치 정보를 Uplinlk 하고 App/Web 서버는 주기적으로 데이터를 ThingPlug에 요청하여 받는 구조입니다.
이와 같이 Polling 방식으로 App/Web 서버를 구현하실 경우, 주의하셔야 되는 부분은 Polling 방식을 통해서는 ThingPlug에 저장된 최신 데이터만 요청하여 받을 수 있다는 점입니다. 따라서 Polling 주기 사이에 LoRa 디바이스가 두 번 이상의 데이터를 Uplink 하게 되면 최신 이전의 데이터는 유실될 수 있습니다.

GPS 응용을 예로 들어, Polling 방식을 LoRa 네트워크에 적용한 통신 과정

Subscription 방식

기본적인 Subscription 방식의 경우, 서버-클라이언트 구조 통신에서 최초 1회 Subscription 등록 과정을 수행하고 서버의 해당 클라이언트에 대한 데이터가 업데이트 될 때마다 서버는 클라이언트로 업데이트된 데이터를 Push 합니다. 이는 소셜 네트워크에서 특정 페이지를 구독하면 업데이트 될 때마다 알림 메시지를 받는 것과 유사합니다

서버-클라이언트 기반 Subscription 방식의 데이터 요청/응답 과정

이와 같은 방식을 LoRa 네트워크의 ThingPlug-App/Web 서버에 적용하면 아래 그림과 같습니다. 먼저 최초 1회 App/Web서버가 ThingPlug로 특정 LoRa 디바이스에 대한 데이터를 받기 위해 Subscription 등록을 수행합니다. Subscription 등록 이후, LoRa 디바이스가 Uplink할 때마다 ThingPlug는 App/Web 서버로 데이터를 Push 하게 됩니다.

GPS 응용을 예로 들어, Subscription 방식을 LoRa 네트워크에 적용한 통신 과정

Subscription 방식은 App/Web 서버에서 Downlink, 즉 제어 명령을 내렸을 때의 결과를 Subscription 할 수도 있습니다.
만약 App/Web 서버의 결함으로 데이터가 유실되는 경우를 대비하여 백업용 Subscription을 등록할 수 있습니다. ThingPlug에서는 LoRa 디바이스에 대한 Subscription을 최대 3개까지 등록이 가능합니다.

top