본문 바로가기
Theory/IoT

02 IoT 아키텍처 구성 (1/3)

by Orangetasteboy 2023. 7. 28.

IoT 아키텍처

IoT 서비스는 크게 두 가지 역할 담당 : 디바이스에서 전송된 데이터를 데이터베이스에 저장한 후 해당 데이터를 분석하는 역할 / 디바이스에 명령 및 정보를 전송하는 역할

 

 

1. 전체 구성

구성 요소 : 디바이스, 게이트웨이, 서버

2. 게이트웨이

인터넷에 직접 접속할 수 있는 기능을 가진 장치 또는 소프트웨어

인터넷에 직접 접속할 수 없는 디바이스와 인터넷 간의 중계 역할 담당

복수의 디바이스 접속 가능

주로 리눅스를 운영 체제로 사용

게이트웨이를 선택할 때 인터페이스, 네트워크 인터페이스, 하드웨어, 소프트웨어, 전원을 고려

 

인터페이스

게이트웨이와 디바이스를 연결하는 것

인터페이스에 따라 접속할 수 있는 디바이스가 결정

 

유선 접속 타입 : 시리얼 통신, USB 접속

시리얼 통신 - D-USB 9핀 커넥터 사용

 

무선 접속 타입 : 블루투스나 와이파이(IEEE 802.11)가 인터페이스로서 사용, Zigbee나 업체 자체 개발 프로토콜도 존재

 

네트워크 인터페이스

게이트웨이 설치 장소에 따라 영향

이더넷, 와이파이, 3G/LTE를 이용해서 외부 네트워크에 접속

유선 접속을 위한 이더넷은 통신 환경이 안정적이지만, 설치 장소까지 근거리 통신망 케이블 배선 필요

3G/LTE는 설치 장소가 비교적 자유로움, 전파의 세기에 따라 통신 품질에 영향을 미치므로 유선 접속보다 불안정

 

하드웨어

CPU나 메모리는 일반적으로 PC에서 사용하는 하드웨어보다 성능상 제약 존재

게이트웨이의 목적에 맞게 하드웨어의 성능 고려

 

소프트웨어

게이트웨이 OS에는 주로 리눅스 이용

제한된 하드웨어 자원을 위한 BusyBox 존재

BusyBox : 작은 용량의 메모리를 위한 표준 리눅스 명령어 도구 모음

 

전원

대부분 AC 어댑터 사용

 

 

3. 서버 구성

IoT 서비스는 크게 프론트엔드 파트, 처리 파트, 데이터베이스 파트로 나눔.

프론트엔드 파트

송/수신 서버 역할

여러 프로토콜과 상호 작용

 

수신 서버는 디바이스나 게이트웨이로부터 전송된 데이터를 수신하고 처리 파트로 데이터 전달

송신 서버는 처리 서버로부터 데이터를 수신하여 디바이스로 전송

 

IoT 서비스는 상황에 따라 실시간성 프로토콜인지, 통신이 경량인 프로토콜인지, 서버를 기점으로 데이터를 전송할 수 있는 프로토콜인지 등 고려

 

처리 파트

프론트엔드 파트로부터 수신한 데이터 처리

처리 : 데이터를 파싱(parsing), 저장, 분석하고 디바이스에 전송할 내용을 생성하는 등의 프로세스

 

데이터 처리 : 배치 처리, 스트림 처리

배치 처리 - 우선 데이터베이스에 데이터를 저장한 후 일괄 처리를 수행

스트림 처리 - 프론트엔드 파트로부터 수신하는 데이터를 차례로 처리

 

데이터베이스 파트

관계형 데이터베이스나 NoSQL 등 활용


데이터 수집

1. 게이트웨이의 역할

세 가지 주요 기능 : 디바이스와의 접속 기능, 데이터 처리 기능, 서버로의 송신 기능

 

디바이스와의 접속

디바이스와 게이트웨이는 다양한 인터페이스로 연결됨.

외부 요청이 있는 경우에 데이터를 송신하는 디바이스인 경우는 게이트웨이에서 데이터 요청 수행 필요

 

데이터 생성

디바이스에서 수신한 데이터를 서버로 전송 가능한 형태로 변환

디바이스로부터 게이트웨이로 송신되는 데이터는 바이너리 데이터 또는 BCD 코드라는 네 자릿수 2진수를 한 자릿수 10진수로 치환해 표기

데이터를 서버에 직접 전송하지 않고, 게이트웨이에서 숫자 및 문자열 형태로 변환

 

여러 데이터들을 하나로 모아서 전송 : 추가 정보를 줄여서 데이터 양 감소, IoT 서비스로 액세스하는 부하 감소

 

서버로 송신

데이터를 IoT 서비스에 전송

데이터 전송 간격 및 프로토콜을 서버 측에 맞추어야 함.

IoT 서버로부터 메시지 수신 기능 필요

'Theory > IoT' 카테고리의 다른 글

05 IoT 관련 통신 프로토콜  (0) 2023.08.10
04 IoT 아키텍처 구성 (3/3)  (0) 2023.07.29
03 IoT 아키텍처 구성 (2/3)  (0) 2023.07.28
01 IoT 기초  (0) 2023.07.27

댓글