개발 가이드

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

HTTP Server로 개발하기

HTTP API 시작하기

App/Web 서버가 ThingPlug에서 제공하는 기능을 사용하려면 ThingPlug Resource API를 사용해야 합니다. 이 문서에서는 ThingPlug의 Resource API를 간단히 테스트 해보기 위하여 Postman이라는 툴을 사용합니다. Postman을 이용하여 최신 데이터, 디바이스 리스트 등과 같은 Resource API를 요청하고, ThingPlug로 부터 이에 대한 응답을 받아보도록 하겠습니다.

Postman 설치의 경우, https://www.getpostman.com/apps에 접속하여 PC의 환경에 맞게 최신 버전을 다운로드하고 설치 합니다. (본 문서의 경우, Windows 10 64bit 환경에서 진행하였습니다.)

ThingPlug API 사용 방법

좌측 상단의 ‘Import’ 버튼을 클릭하여 사전에 다운로드 받은 Json 포맷 파일을 Import할 수 있습니다.

Postman실행 화면

‘Choose Files’버튼을 클릭하여 ‘ThingPlugAPI_[ThingPlug_LTID].Json’ 파일을 Import 합니다.

Postman의 Json 포맷 파일 import 방법

Import 후, Collection 탭을 클릭하면 ThingPlug_v1 폴더 구조가 생성된 것을 확인 할 수 있습니다.

Import된 ThingPlug API 확인

‘01.Login’의 ‘Get Userkey’를 예로 들어, ThingPlug Resource API를 사용하는 것을 설명 드리겠습니다.

ThingPlug Resource API 사용 방법

ThingPlug Resource API를 사용하기 위해선, 하단의 표와 같은 정보를 참고하여 입력해야 합니다. 필요한 정보를 입력 한 후, ‘Send’ 버튼을 클릭하면 아래 그림의 표시된 것처럼 ThingPlug로 부터 응답을 받을 수 있습니다.

ThingPlug Resource API 요청에 대한 응답
개발가이드 설명
{Portal_ID} ThingPlug 포탈 ID
{Portal_PWD} ThingPlug 포탈 PW
{USER_KEY} ThingPlug 사용자 인증키
{PLATFORM} 테스트망: thingplugtest / 상용망: thingplugpf
{APP_EUI} AppEUI
{LTID} LTID
{EXEC_INS} 제어 명령 시, 해당 명령의 Resource ID
{CON_SUB_NAME} Subscription Create 시, X-M2M-NM 필드 값

ThingPlug Platform

ThingPlug는 기능에 따라 플랫폼 서버와 웹 서버로 나뉘어 집니다.
플랫폼 서버는 LoRa 디바이스와 연결되어 Uplink 데이터를 저장하고, 제어 명령(Downlink)를 수행합니다. 또한 App/Web 서버가 ThingPlug로 Resource API를 요청할 때에 ThingPlug의 플랫폼 서버로 요청하는 것입니다.
웹 서버는 웹 브라우저를 통해 접근할 수 있으며, 사용자 인증키, LoRa 디바이스, Uplink 데이터 조회 등의 기능들을 제공합니다.
웹 서버에서 제공하는 기능들은 ‘LoRa App/Web 서버 시작하기 >ThingPlug 포탈에서 할 수 있는 기능’ 에서 확인 가능합니다.

ThingPlug Resource API 구조

ThingPlug Resource API를 사용하기 위해 ThingPlug Resource API 구조를 알아보도록 하겠습니다.
ThingPlug의 Resource API구조는 다음과 같이 계층 구조입니다. 예를 들어 ContectInstance에 접근하려면 ‘CSEBase/SCV Version/remoteCSE/Container/ContectInstance’ 와 같은 형태로 접근해야 합니다.

ThingPlug Resource API 구조

그림에서 확인할 수 있는 Resource API에 대한 설명은 다음과 같습니다.

개발가이드 설명
생성 순서 Resource API Type 설명
1 Node LoRa 디바이스의 물리적 정보를 저장하는 Resource API
2 remoteCSE LoRa 디바이스의 Uplink 데이터와 같은 논리적 정보를 저장하는 Root Resource API
3 Container LoRa 디바이스의 Uplink 데이터가 저장되는 저장소 Resource API
4 ContentInstance 실제 Uplink 데이터가 저장되는 Resource API
5 mgmtCmd LoRa 디바이스 제어 Resource API 

이해를 돕기 위하여, ThingPlug Resource API 구조에 의해서 ThingPlug에 저장된 최신 데이터를 조회 하기 위해선 어떤 형태로 Request 해야 하는지 비교하여 설명 드리도록 하겠습니다.

ThingPlug Resource API 구조와 HTTP 기반 최신 데이터 조회 Request 문 비교

만약, LoRa 디바이스 정보가 다음과 같을 때,

개발가이드 설명
내용
AppEUI 0000000000000004
LTID 00000004d02544fffef03b47

최신 데이터인 ContentInstance에 접근하기 위해서는 다음과 같이 Request를 해야 합니다.

개발가이드 설명
최신 데이터를 조회하는 Request
https://onem2m.sktiot.com:9443/0000000000000004/v1_0/remoteCSE-00000004d02544fffef03b47/container-LoRa/latest

top