표제지
목차
국문요약 10
제1장 서론 11
1.1. 연구 배경 및 목적 11
1.1.1. 연구 배경 11
1.1.2. 연구 목적 12
1.2. 연구 방법 및 논문 구성 13
1.2.1. 연구 방법 13
1.2.2. 논문 구성 13
제2장 관련 연구 14
2.1. 스마트 팜 14
2.1.1. 스마트 팜 개요 14
2.1.2. 클라우드 기반 스마트 팜 서비스 17
2.2. 사물인터넷 표준 프로토콜 19
2.2.1. MQTT 20
2.2.3. CoAP 25
2.3. 고속 처리를 위한 비동기 기술 29
2.3.1. Vert.x 29
2.3.2. Node.js 33
제3장 비동기 IoT 브로커 설계 및 구현 37
3.1. 작물 생육 모니터링 시스템 37
3.1.1. 시스템 개요 37
3.1.2. 수집 시스템 구성 40
3.2. 비동기 IoT 브로커 설계 및 구현 50
3.3. 실험 환경 구성 55
제4장 실험 결과 및 분석 60
4.1. 실험 결과 60
4.2. 결과 분석 68
제5장 결론 70
참고문헌 72
ABSTRACT 76
[표 2-1] 연도별 농가 인구 및 경작지 면적 15
[표 2-2] 스마트 농업 분야 관련 국내 시장규모 및 전망 16
[표 2-3] 와일드카드에 따른 동작 방법 23
[표 2-4] QoS에 따른 동작 24
[표 3-1] Redis 벤치마크 성능 테스트 결과 51
[표 3-2] 실험 서버 성능 55
[표 3-3] 실험 클라이언트 성능 57
[표 4-1] 단일 Subscriber에서 QoS에 따른 성능변화 60
[표 4-2] 브로커 인스턴스 수에 따른 성능변화 62
[표 4-3] 여러 Subscriber에서 동일 토픽 구독에 따른 성능변화 64
[표 4-4] 여러 Subscriber에서 각기 다른 토픽 구독에 따른 성능변화 65
[그림 2-1] 스마트 농업의 현황과 발전 방향 15
[그림 2-2] 클라우드 기반의 FaaS 개념도 17
[그림 2-3] MQTT 기본 Publish/Subscribe 구조 21
[그림 2-4] 메시지 버스 흐름도 22
[그림 2-5] MQTT 토픽 구조 23
[그림 2-6] CoAP 프로토콜 계층 구조 25
[그림 2-7] HTTP와 CoAP의 연동방식 26
[그림 2-8] CoAP (a)신뢰 메시지 전송 / (b)비 신뢰 메시지 전송 27
[그림 2-9] CoAP 메시지 포맷 27
[그림 2-10] Vert.x의 구조 30
[그림 2-11] Vert.x 동작 31
[그림 2-12] Node.js의 구조 33
[그림 2-13] Node.js 구조 34
[그림 3-1] 국내 농촌의 문제 37
[그림 3-2] 농가의 관리 현황 38
[그림 3-3] 작물 생육 모니터링 시스템 개념도 39
[그림 3-4] 작물 생육 환경 모니터링 시스템 구성도 40
[그림 3-5] 생육 환경 수집 센서 개요 41
[그림 3-6] 로라 네트워크 구조 42
[그림 3-7] 작물 생육 환경 수집 센서 구조 43
[그림 3-8] 센서 장비 지하부 43
[그림 3-9] 센서 장비 지상부 44
[그림 3-10] 센서 장비 구동부 44
[그림 3-11] 농지 센서 배치 구조 45
[그림 3-12] 생육 환경 데이터 분석 및 이상감지 46
[그림 3-13] 센서 정보 수정 및 요청 47
[그림 3-14] 이상감지 기법 - 정상 데이터 48
[그림 3-15] 이상감지 기법 - 비정상 데이터 48
[그림 3-16] 관제 대시보드 49
[그림 3-17] AS-Broker 블록 다이어그램 50
[그림 3-18] AS-Broker 클래스 다이어그램 51
[그림 3-19] AS-Broker 기본 Payload 구조 레일로드 다이어그램 52
[그림 3-20] Observation 타입 Payload 구조 레일로드 다이어그램 53
[그림 3-21] Management 타입 Payload 구조 레일로드 다이어그램 53
[그림 3-22] AS-Broker 동작 순서도 54
[그림 3-23] 서버 시스템 구성 55
[그림 3-24] AS-Broker 동작 설정 화면 56
[그림 3-25] 실험 환경 구성 58
[그림 3-26] 클라이언트 구성 화면 59
[그림 4-1] 단일 Subscriber QoS 0 경우 61
[그림 4-2] 단일 Subscriber QoS 1 경우 61
[그림 4-3] 브로커 인스턴스가 3개일 경우 63
[그림 4-4] 브로커 인스턴스가 1개일 경우 63
[그림 4-5] 동일 토픽을 Subscriber 10개가 구독할 경우 64
[그림 4-6] 동일 토픽을 Subscriber 100개가 구독할 경우 65
[그림 4-7] 각기 다른 토픽을 Subscriber 2개가 구독할 경우 66
[그림 4-8] 각기 다른 토픽을 Subscriber 4개가 구독할 경우 67