개발 가이드

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

LoRa App/Web 서버 시작하기

HTTP Server와 MQTT Client의 특징 및 차이점

‘ThingPlug의 역할과 필요성’의 그림에서 확인한 것과 같이 ThingPlug-App/Web 서버 사이의 통신은 HTTP와 MQTT를 통하여 가능합니다.

HTTP 프로토콜

ThingPlug-App/Web 서버 사이에서 HTTP 프로토콜을 사용할 경우, LoRa 네트워크 구조

HTTP 프로토콜은 서버-클라이언트 기반 통신입니다. 데이터 수집을 위해 Subscription을 사용할 경우, ThingPlug는 HTTP 클라이언트 역할을 하고 App/Web 서버가 HTTP 서버 역할을 합니다. 이처럼 App/Web 서버가 HTTP 서버 역할을 수행하기 때문에 외부 네트워크에서 App/Web 서버로 접속할 수 있는 환경 이어야 합니다. 예를 들면, App/Web 서버가 공인 IP를 사용하고 Inbound Port를 설정해 외부에서 접속 가능하도록 해야 합니다. App/Web 서버를 HTTP 프로토콜을 이용하여 구현 하실 경우, 서버 개발에 필요한 HTTP API를 참고하시면 됩니다.

MQTT 프로토콜

ThingPlug-App/Web 서버 사이에서 MQTT 프로토콜을 사용할 경우, LoRa 네트워크 구조

MQTT 프로토콜은 발행/구독 기반 통신입니다. MQTT 연결에서 ThingPlug는 MQTT 브로커 역할을 하며, App/Web 서버가 MQTT 클라이언트 역할을 합니다.
HTTP 프로토콜과 달리 App/Web 서버가 MQTT 클라이언트 역할을 하기 때문에 외부 네트워크로 접속만 가능하면 ThingPlug와 통신이 가능합니다. 따라서 공인 IP를 사용할 수 없는 환경이거나 Inbound Port를 사용할 수 없는 환경에서도 MQTT 프로토콜을 이용하면 ThingPlug와 통신이 가능합니다.
App/Web 서버를 MQTT 프토로콜을 이용하여 구현 하실 경우, 6장에서 서버 개발에 필요한 MQTT API를 참고하시면 됩니다.

top