Transcript
Page 1: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

경희대학교컴퓨터공학과

창의적종합설계

2016. 06. 13

2012104094 서민석

2013104074 박나연

2013104091 용찬호

개량된MQTT노드관리시스템을이용한학교알림서비스

Creative DesignPresentation

Page 2: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

2/ 12

프로젝트소개

개량된MQTT Protocol

학교알림 서비스

수업 공지

식단 알림

온습도 알림

클라이언트APP

Android/IOS

개량된 MQTT 프로토콜을 이용한 학교 메시지 알림 서비스 각종 과목에 대한 수업 공지, 식단 알림, 온습도 알림 등을 받는다. 사용자는 안드로이드 및 IOS 애플리케이션에서 메시지를 받을 수 있다.

Page 3: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

3/ 12

MQTT?

Publish-Subscribe 구조를 갖는 메시지 프로토콜 저전력, 저대역폭 등 모바일 및 IoT기기에 최적화

노드 수가 많아지면 일일이 관리 해주기 어렵다. Subscribe(구독)을 해야만 메시지를 받을 수 있다. 그룹 기반의 시스템에는 적합하지 않다. Connection 관리를 제공하지 않는다.

Page 4: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

Subscriber

4/ 12

개량된MQTT 구조

기존 MQTT 구조

BrokerPublisher

연결을 맺은 뒤 필요한 Topic들을 일일이 구독

개량된 MQTT 구조

연결을 맺은 후 Monitor & DB에서 그룹화된 정보들을 전송

Subscriber GroupBrokerMonitor & DB

Page 5: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

5/ 12

시스템구성도

DatabaseBroker MQTT Broker Module

Monitor Database Connector Connection Administrator

Holding Information User, Group Subscribe Log

Application (Client-1) Messaging Module Device Control Module

IoT Device (Client-1) Messaging Module Device Control Module

Publisher (Client-2) Publish Request Module

Page 6: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

6/ 12

구조상세

Monitor

Database와 연결하여 각종 Topic에 대한 정보, User 정보, 사용자들의 구독정보 들을 주고 받음

Broker의 요청에 따라 정보를 전송 Keep-alive 등 Connection 관리

Broker

Publisher로부터 Publish 요청이 오면 Monitor에 데이터를 요청하여 Client에게 실제 메시지를 전송해주는 중간 서버

Publisher

특정 그룹에 대한 메시지 전송 요청을 Broker에게 전달 Web Publisher, 온습도 센서 등

Client

원하는 Topic을 구독 구독한 Topic의 메시지를 브로커에서 받음

Page 7: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

7/ 12

그룹브로드캐스팅

DatabaseBroker Monitor

Publisher

① 그룹 브로드캐스팅 메시지 전송 요청② 해당 그룹 멤버 리스트를 Monitor에게 요청③ 그룹 리스트 요청④ 그룹에 해당되는 Client ID 리스트 반환⑤ Broker에게 Client ID 리스트 전송⑥ 해당 Client ID로 메시지 직접 전송

② ③

Subscriber Group

⑤ ④

※ Client는 구독 요청을 따로 하지 않아도 꼭 구독해야하는 것들은Publisher에 의해 구독하고 있는 상태이다.

Page 8: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

8/ 12

그룹리스트와 Subscribe / Unsubscribe

그룹 리스트 확인에서Sub/Unsub 가능

창의적 종합설계 구독

창의적 종합설계

영상 처리

학생회관식단

연구실 온습도

자대 행정실

사용자는 클라이언트App에서 존재하는 그룹리스트를 확인할 수 있음

구독 시 해당 그룹의메시지가 publish 될 때

메시지를 수신

Page 9: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

9/ 12

Connection 정보를통한Keep-Alive 조정

DatabaseBroker Monitor

① 연결 요청(Login)을 전송② Monitor에게 Login 요청을 위해 Client의 Username, 비밀번호 전송③ Database의 정보와 일치하는지 확인④ Database에서 일치한다는 Response 수신⑤ 연결 로그 정보를 Database에 저장⑥ 연결 로그 정보를 분석하여 Broker에게 특정 Client의 Keep-Alive 조정 요청 전송⑦ Client의 Keep-Alive 조정

②③

⑦ ⑥

Client

Page 10: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

10/ 12

Client의멀티플랫폼을위한다양한언어 Porting

Web Publisher

Android IOS

다양한 언어로 MQTT Client를 래핑하여 구현 다양한 플랫폼에서 클라이언트 구동 가능 개발자의 환경에 따라 적절한 클라이언트 구현을 위한 Framework화

ClientLibrary

Page 11: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

11/ 12

실행화면(Android)

로그인

화면

메인화면:

구독

그룹

표시

Page 12: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

12/ 12

실행화면(Android)

그룹

리스트

구독

버튼

세부

메시지

정보

Page 13: 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스

감사합니다.


Recommended