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

13
경희대학교 컴퓨터공학과 창의적 종합설계 2016. 06. 13 2012104094 서민석 2013104074 박나연 2013104091 용찬호 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스 Cre ative Design Presentation

Upload: na-yeon-park

Post on 11-Apr-2017

65 views

Category:

Technology


3 download

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 노드 관리 시스템을 이용한 학교 알림 서비스

감사합니다.