ݺߣ

ݺߣShare a Scribd company logo
경희대학교 컴퓨터공학과
창의적 종합설계
2016. 06. 13
2012104094 서민석
2013104074 박나연
2013104091 용찬호
개량된 MQTT
노드 관리 시스템을
이용한
학교 알림 서비스
Creative Design
Presentation
2/ 12
프로젝트 소개
개량된 MQTT
Protocol
학교
알림 서비스
수업 공지
식단 알림
온습도 알림
클라이언트
APP
Android/IOS
 개량된 MQTT 프로토콜을 이용한 학교 메시지 알림 서비스
 각종 과목에 대한 수업 공지, 식단 알림, 온습도 알림 등을 받는다.
 사용자는 안드로이드 및 IOS 애플리케이션에서 메시지를 받을 수 있다.
3/ 12
MQTT?
 Publish-Subscribe 구조를 갖는 메시지 프로토콜
 저전력, 저대역폭 등 모바일 및 IoT기기에 최적화
 노드 수가 많아지면 일일이 관리 해주기 어렵다.
 Subscribe(구독)을 해야만 메시지를 받을 수 있다.
 그룹 기반의 시스템에는 적합하지 않다.
 Connection 관리를 제공하지 않는다.
Subscriber
4/ 12
개량된 MQTT 구조
 기존 MQTT 구조
BrokerPublisher
 연결을 맺은 뒤 필요한 Topic들을 일일이 구독
 개량된 MQTT 구조
 연결을 맺은 후 Monitor & DB에서 그룹화된 정보들을 전송
Subscriber Group
BrokerMonitor & DB
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
6/ 12
구조 상세
Monitor
 Database와 연결하여 각종 Topic에 대한 정보, User 정보, 사용자들의 구독
정보 들을 주고 받음
 Broker의 요청에 따라 정보를 전송
 Keep-alive 등 Connection 관리
Broker
 Publisher로부터 Publish 요청이 오면 Monitor에 데이터를 요청하여 Client
에게 실제 메시지를 전송해주는 중간 서버
Publisher
 특정 그룹에 대한 메시지 전송 요청을 Broker에게 전달
 Web Publisher, 온습도 센서 등
Client
 원하는 Topic을 구독
 구독한 Topic의 메시지를 브로커에서 받음
7/ 12
그룹 브로드 캐스팅
DatabaseBroker Monitor
Publisher
①
① 그룹 브로드캐스팅 메시지 전송 요청
② 해당 그룹 멤버 리스트를 Monitor에게 요청
③ 그룹 리스트 요청
④ 그룹에 해당되는 Client ID 리스트 반환
⑤ Broker에게 Client ID 리스트 전송
⑥ 해당 Client ID로 메시지 직접 전송
② ③
Subscriber Group
⑥
⑤ ④
※ Client는 구독 요청을 따로 하지 않아도 꼭 구독해야하는 것들은
Publisher에 의해 구독하고 있는 상태이다.
8/ 12
그룹 리스트와 Subscribe / Unsubscribe
그룹 리스트 확인에서
Sub/Unsub 가능
창의적 종합설계 구독
창의적 종합설계
영상 처리
학생회관 식단
연구실 온습도
자대 행정실
사용자는 클라이언트
App에서 존재하는 그룹
리스트를 확인할 수 있음
구독 시 해당 그룹의
메시지가 publish 될 때
메시지를 수신
9/ 12
Connection 정보를 통한 Keep-Alive 조정
DatabaseBroker Monitor
①
① 연결 요청(Login)을 전송
② Monitor에게 Login 요청을 위해 Client의 Username, 비밀번호 전송
③ Database의 정보와 일치하는지 확인
④ Database에서 일치한다는 Response 수신
⑤ 연결 로그 정보를 Database에 저장
⑥ 연결 로그 정보를 분석하여 Broker에게 특정 Client의 Keep-Alive 조정 요청 전송
⑦ Client의 Keep-Alive 조정
②
③
⑦ ⑥
④
Client
⑤
10/ 12
Client의 멀티 플랫폼을 위한 다양한 언어 Porting
Web
Publisher
Android IOS
 다양한 언어로 MQTT Client를 래핑하여 구현
 다양한 플랫폼에서 클라이언트 구동 가능
 개발자의 환경에 따라 적절한 클라이언트 구현을 위한 Framework화
Client
Library
11/ 12
실행 화면(Android)
로
그
인
화
면
메
인
화
면
:
구
독
그
룹
표
시
12/ 12
실행 화면(Android)
그
룹
리
스
트
및
구
독
버
튼
세
부
메
시
지
정
보
감사니다.
Ad

Recommended

개량된 MQTT를 이용한 메시징 시스템_컨셉
개량된 MQTT를 이용한 메시징 시스템_컨셉
Na-yeon Park
Wisepush
Wisepush
호진 하
java 8 람다식 소개와 의미 고찰
java 8 람다식 소개와 의미 고찰
Sungchul Park
Android Push Server & MQTT
Android Push Server & MQTT
광운 이
[16.01.05] node.js & mqtt
[16.01.05] node.js & mqtt
Na-yeon Park
IBM MQTT Mobile Push Solution 소개서
IBM MQTT Mobile Push Solution 소개서
Shaun LEE
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
[발표자료]신뢰적인 MQTT 프로토콜에서 성능향상을 고려한 Publish Queue 기반 데이터 전송 기법
Daniel Lim
MQTT 를 이용한 주문시스템 개선
MQTT 를 이용한 주문시스템 개선
SeongHyun Ahn
Mqtt 소개
Mqtt 소개
Junho Lee
웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD
활 김
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
sandeepreddyp42
Internship backend
Internship backend
Yein Sim
Active MQ
Active MQ
Kris Jeong
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Sang Don Kim
모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개
Hyogi Jung
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
JuYeong Jeon
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
Youngjae Kim
Node-RED Modbus sample (Node-RED 간단 사용법)
Node-RED Modbus sample (Node-RED 간단 사용법)
HyukSun Kwon
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
dpfls5645
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
Amazon Web Services Korea
Pusher create web notification service via javascript
Pusher create web notification service via javascript
Ji-Tae Kim
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
현용 황
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
개발자를 위한 마크베이스 네오 시작 가이드
개발자를 위한 마크베이스 네오 시작 가이드
tn457wwhvm
푸시개발 정리 - Push Notification Summary
푸시개발 정리 - Push Notification Summary
Brave Cheon
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
태준 문
Flipper 불완전 정복
Flipper 불완전 정복
Sewon Ann
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
Shaun LEE

More Related Content

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

Mqtt 소개
Mqtt 소개
Junho Lee
웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD
활 김
Androidpn guide-0.5.0-ko
Androidpn guide-0.5.0-ko
sandeepreddyp42
Internship backend
Internship backend
Yein Sim
Active MQ
Active MQ
Kris Jeong
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Sang Don Kim
모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개
Hyogi Jung
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
JuYeong Jeon
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
Youngjae Kim
Node-RED Modbus sample (Node-RED 간단 사용법)
Node-RED Modbus sample (Node-RED 간단 사용법)
HyukSun Kwon
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
dpfls5645
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
Amazon Web Services Korea
Pusher create web notification service via javascript
Pusher create web notification service via javascript
Ji-Tae Kim
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
현용 황
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
개발자를 위한 마크베이스 네오 시작 가이드
개발자를 위한 마크베이스 네오 시작 가이드
tn457wwhvm
푸시개발 정리 - Push Notification Summary
푸시개발 정리 - Push Notification Summary
Brave Cheon
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
태준 문
Flipper 불완전 정복
Flipper 불완전 정복
Sewon Ann
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
Shaun LEE
웹기반원격감시제어 2010 CPD
웹기반원격감시제어 2010 CPD
활 김
Internship backend
Internship backend
Yein Sim
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Sang Don Kim
모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개
Hyogi Jung
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
센서데이Ѣ수집모니터링싵ӊ템_개발두번째
JuYeong Jeon
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
Youngjae Kim
Node-RED Modbus sample (Node-RED 간단 사용법)
Node-RED Modbus sample (Node-RED 간단 사용법)
HyukSun Kwon
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
1st-BE-sideproject-GDGonCampus_KyungHee_Univ.pdf
dpfls5645
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon MQ, 관리형 ActiveMQ 서비스 활용하기 (이창수 솔루션즈 아키텍트)
Amazon Web Services Korea
Pusher create web notification service via javascript
Pusher create web notification service via javascript
Ji-Tae Kim
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
Iris-iPNS / 푸시 솔루션 (Push Solution) 제품 소개
현용 황
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
Amazon MQ 쉽게시작하는 메시지 브로커 서비스 - 트랙1, Community Day 2018 re:Invent 특집
AWSKRUG - AWS한국사용자모임
개발자를 위한 마크베이스 네오 시작 가이드
개발자를 위한 마크베이스 네오 시작 가이드
tn457wwhvm
푸시개발 정리 - Push Notification Summary
푸시개발 정리 - Push Notification Summary
Brave Cheon
Mcollective orchestration tool 소개
Mcollective orchestration tool 소개
태준 문
Flipper 불완전 정복
Flipper 불완전 정복
Sewon Ann
IBM Websphere MQ Software 소개 ( Messaging Engine )
IBM Websphere MQ Software 소개 ( Messaging Engine )
Shaun LEE

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

  • 1. 경희대학교 컴퓨터공학과 창의적 종합설계 2016. 06. 13 2012104094 서민석 2013104074 박나연 2013104091 용찬호 개량된 MQTT 노드 관리 시스템을 이용한 학교 알림 서비스 Creative Design Presentation
  • 2. 2/ 12 프로젝트 소개 개량된 MQTT Protocol 학교 알림 서비스 수업 공지 식단 알림 온습도 알림 클라이언트 APP Android/IOS  개량된 MQTT 프로토콜을 이용한 학교 메시지 알림 서비스  각종 과목에 대한 수업 공지, 식단 알림, 온습도 알림 등을 받는다.  사용자는 안드로이드 및 IOS 애플리케이션에서 메시지를 받을 수 있다.
  • 3. 3/ 12 MQTT?  Publish-Subscribe 구조를 갖는 메시지 프로토콜  저전력, 저대역폭 등 모바일 및 IoT기기에 최적화  노드 수가 많아지면 일일이 관리 해주기 어렵다.  Subscribe(구독)을 해야만 메시지를 받을 수 있다.  그룹 기반의 시스템에는 적합하지 않다.  Connection 관리를 제공하지 않는다.
  • 4. Subscriber 4/ 12 개량된 MQTT 구조  기존 MQTT 구조 BrokerPublisher  연결을 맺은 뒤 필요한 Topic들을 일일이 구독  개량된 MQTT 구조  연결을 맺은 후 Monitor & DB에서 그룹화된 정보들을 전송 Subscriber Group BrokerMonitor & DB
  • 5. 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
  • 6. 6/ 12 구조 상세 Monitor  Database와 연결하여 각종 Topic에 대한 정보, User 정보, 사용자들의 구독 정보 들을 주고 받음  Broker의 요청에 따라 정보를 전송  Keep-alive 등 Connection 관리 Broker  Publisher로부터 Publish 요청이 오면 Monitor에 데이터를 요청하여 Client 에게 실제 메시지를 전송해주는 중간 서버 Publisher  특정 그룹에 대한 메시지 전송 요청을 Broker에게 전달  Web Publisher, 온습도 센서 등 Client  원하는 Topic을 구독  구독한 Topic의 메시지를 브로커에서 받음
  • 7. 7/ 12 그룹 브로드 캐스팅 DatabaseBroker Monitor Publisher ① ① 그룹 브로드캐스팅 메시지 전송 요청 ② 해당 그룹 멤버 리스트를 Monitor에게 요청 ③ 그룹 리스트 요청 ④ 그룹에 해당되는 Client ID 리스트 반환 ⑤ Broker에게 Client ID 리스트 전송 ⑥ 해당 Client ID로 메시지 직접 전송 ② ③ Subscriber Group ⑥ ⑤ ④ ※ Client는 구독 요청을 따로 하지 않아도 꼭 구독해야하는 것들은 Publisher에 의해 구독하고 있는 상태이다.
  • 8. 8/ 12 그룹 리스트와 Subscribe / Unsubscribe 그룹 리스트 확인에서 Sub/Unsub 가능 창의적 종합설계 구독 창의적 종합설계 영상 처리 학생회관 식단 연구실 온습도 자대 행정실 사용자는 클라이언트 App에서 존재하는 그룹 리스트를 확인할 수 있음 구독 시 해당 그룹의 메시지가 publish 될 때 메시지를 수신
  • 9. 9/ 12 Connection 정보를 통한 Keep-Alive 조정 DatabaseBroker Monitor ① ① 연결 요청(Login)을 전송 ② Monitor에게 Login 요청을 위해 Client의 Username, 비밀번호 전송 ③ Database의 정보와 일치하는지 확인 ④ Database에서 일치한다는 Response 수신 ⑤ 연결 로그 정보를 Database에 저장 ⑥ 연결 로그 정보를 분석하여 Broker에게 특정 Client의 Keep-Alive 조정 요청 전송 ⑦ Client의 Keep-Alive 조정 ② ③ ⑦ ⑥ ④ Client ⑤
  • 10. 10/ 12 Client의 멀티 플랫폼을 위한 다양한 언어 Porting Web Publisher Android IOS  다양한 언어로 MQTT Client를 래핑하여 구현  다양한 플랫폼에서 클라이언트 구동 가능  개발자의 환경에 따라 적절한 클라이언트 구현을 위한 Framework화 Client Library