'IOT'에 해당되는 글 12건

Prototype/IoT Platform

1. 프로토콜 선택

앞서 설명했듯이 IoTMakers에서는 아래와 같은 프로토콜을 지원하고 있다.

개발 환경에 따라서 JAVA를 사용할지, C를 사용할지, 아니면 아두이노를 사용할지 선택해야 한다.

 

 

기본적으로 각각의 SDK는 위와 같은 연동 구조로 되어있으며, 디바이스와 IoTMakers 사이의 접속, 데이터 전송, 제어 등을 위한 API(Application Programming Interface)가 구현되어 있다.

 

이번 포스팅에서는 C SDK의 MQTT프로토콜 가이드 문서를 통해 IoTMakers에 접속하는 방법에 대해 알아볼 것이다.

 

2. IoTMakers MQTT API

IoTMakers에 접속해 데이터를 전송해서는 위에 나타난 정도의 함수들로 처리할 수 있다. (1, 3, 6, 11, 14, 15, 17)

 

1. im_init(): 이 함수에서는 IoTMakers의 IP, Port, Gateway 연결 ID, Device ID, Device Password 등 IoTMakers에 접속하기 위한 기본 설정 과정이다.

3. im_connect(): 위의 IP, Port 정보들로 바탕으로 MQTT 연결을 수행하고, receive 핸들러를 등록한다.

6. im_auth_device(): Gateway 연결 ID, Device ID, Device Password 정보로 인증 요청을 수행한다.

11. im_send_numdata(): 숫자 형태의 데이터를 전송할 때 사용한다. 문자형은 im_send_strdata()를 사용하며, 숫자형와 문자형을 동시에 여러 개 보낼 경우 im_send_complexdata()를 사용한다.

14. dataresp_handler(): (3)에서 등록한 receive 핸들러로 수신된 데이터를 확인할 수 있다.

15. im_disconnect(): mqtt disconnect함수

17. im_release(): 메모리 할당 해제

 

함수에 대한 자세한 사용방법이나 예제 소스코드는 가이드 문서를 참고하세요.

http://iotmakers.olleh.com/openp/assets/files/C_SDK_manual_MQTT_2.2.0.pdf

Prototype/IoT Platform

 

 

1. IoT Makers란..

 

국내 통신사들이 IoT 관련 활발해지면서 각 통신사마다 IoT Platform을 내놓고 있다. 그 중 KT에서는 IoT Makers라는 이름으로 IoT Platform을 개발하고 제공하려 하고 있다.

사이트 주소 :  http://iotmakers.olleh.com/

 

 

 

2. IoT Makers 특징

KT의 IoT Makers의 특징은 아래와 같다.

 

  • IoTMakers에서 현재 사용 가능한 프로토콜은 TCP+oneM2M과 MQTT+oneM2M이다. 사설 프로토콜도 사용 가능하다고 되어있는데, 이 점은 테스트해봐야 할 것 같다..
  • 가상 디바이스 시뮬레이터는 센서 디바이스 없이 어플리케이션을 개발하려고 할 때, 가상의 센싱 데이터를 만들 때 사용한다.
  • 다른 IoT Platform 들과 마찬가지로 대시 보드로 데이터를 모니터링 할 수 있다.
  • 사용해보면서 느낀 KT IoTMakers 만의 특징이라고 한다면 GUI 기반의 이벤트 생성이다. 아래 그림처럼 직관적으로 이벤트를 생성할 수 있다.

 

 

3. IoTMakers에 접속하고 데이터 전송하기

디바이스가 IoTMakers에 접속하고 데이터를 전송하거나, IoTMakers로 부터 제어신호를 수신하기 위한 방법은 아래와 같다.

IoTMakers에서 제공하는 SDK(Software Development Kit)은 위와 같다. JAVA SDK에는 TCP, HTTP, MQTT, CoAP 통신 프로토콜이 포함되어 있다. JAVA SDK는 아무래도 어플리케이션 개발에 사용되기 때문에.. 별로 관심이 없다.

C SDK에는 TCP와 MQTT 프로토콜을 제공하고 있으며, 아두이노 용 SDK도 배포 중이다. 아두이노 용 SDK는 기본적으로 C-TCP와 동일한 TCP+oneM2M 구조로 되어 있으며, 임베디드 용으로 구현되었기 때문에 JSON Library 등 utility의 사이즈를 줄이기 위해 심플하게 구현되어 있는 것이 차이점이다.

 

SDK 들 중 사용자의 환경에 맞는 SDK를 사용하면 아래처럼 IoTMakers에 데이터를 전송하고 제어신호를 수신할 수 있다.

 

1 2
블로그 이미지

IoT 개발자 블로그이고 싶다.

1byte