2016년 12월 4일 일요일

사물인터넷 연결 플랫폼 IFTTT과 MQTT

IoT 사물인터넷 관련해서, 피지컬 혹은 인터넷 사이트 객체 간의 연결과 데이터 교환은 매우 중요하다. 이런 관점에서 IFTTT와 MQTT는 IoT에서 매우 중요한 위치를 차지하고 있는 플랫폼 중 하나이다.

IFTTT 개념 및 작동 방식
IFTTT (IF this than that) 는 인터넷 사이트 객체간 특정 트리거 조건이 발생했을 때, 다른 인터넷 객체에 메시지를 전달해 주는 브로커 역할을 한다. IFTTT에서는 이런 조건과 액션들을 조합해 애플릿(applet) 만드는 행위가 요리와 비슷해서 레시피라 한다. 다음 그림은 특정 트리거(사진 업로드)가 발생했을 때, 특정 액션(드롭박스에 사진을 저장)하는 레시피 예이다.

실제로, IFTTT에 가입한 후, 애플릿을 하나 만들면, 매우 직관적인 애플릿 메이커 화면이 뜨고, 각 this, that에 조건과 행위를 선택해 주기만 하면 작업이 끝난다 (예 - 구글 어시스턴스 트리거 조건 -> 특정 사이트에 메시지 전송. 아래 참고.).

이런 방식으로 IoT 객체에서 발생된 트리거를 특정 웹사이트에 전달해 줄 수 있고, 웹사이트에서 발생된 트리거를 IoT 객체에 전달해 줄 수도 있다.

MQTT 개념 및 작동 방식
MQTT (Message Queueing Telemetry Transport) 는 IBM 에서 개발된 후, 2014년 국제 민간 표준기구인 오아시스에 의해서 표준으로 제정된 네트워크 상에서 메시지를 교환하는 표준 프로토콜이다. 작동 방식을 보면, 메시지를 중계하는 브로커가 메시지 출판자와 구독자를 중계하며, 메시지 교환을 처리한다.

이런 방식은 ROS(Robot Operating System)에서도 동일하게 사용되는 방식으로, 소프트웨어 공학에서 유명한 디자인 패턴 중 publication-subscription  구조를 사용한다. 


IFTTT에 비해, MQTT는 표준화된 방식으로 메시지를 교환하는 양쪽을 연결해 주는 역할을 한다.

IoT 연결 브로커 플랫폼 
이런 브로커 플랫폼을 이용하면, 다음과 같이 아마존 에코에서 특정 음성에 반응하는 사물 인터넷 기기, CCTV에서 특정 이미지 인식 조건이 일치할 때, SMS 문자를 전송하는 기기 등을 손쉽게 개발할 수 있다.



앞으로 이와 같은 IoT 플랫폼을 이용한 제품들이 더욱 다양해 질 것이라 예상한다.

참고 - IFTTT 작업 순서 
IFTTT에서 구글 어시스턴스에서 음성을 입력받아, 특정 조건일 때의 텍스트를 특정 사이트에 전송하는 예를 간단히 만들어 본다.

1. 애플릿 생성

2. + this 선택해 트리거 설정

3. 구글 어시스턴트 선택 및 설정


4. 액션으로 Maker 선택 및 설정



5. IFTTT 애플릿 생성됨. 이제 사용하면 됩니다.ㅎ


레퍼런스

댓글 6개: