본문 바로가기

개발자/IOT-m2m

사물 인터넷 02. IoT 빌딩 블록 및 아키텍처

반응형

 

 

사물 인터넷 02. IoT 빌딩 블록 및 아키텍처 

 

이전 튜토리얼에서는 사물 인터넷에 대한 간략한 소개를 했습니다. IoT의 중요성, 과제, 응용 및 추세에 대해 논의했습니다. 이제 IoT에 대한 기본 이해를 갖추고 IoT의 구성 요소를 조사할 차례입니다. IoT는 다양한 기술이 집약된 패키지로 개발됩니다. 각 기술은 IoT 시스템 내에서 고유한 주요 역할을 합니다. 이 튜토리얼에서는 IoT의 기본 빌딩 블록과 IoT 인프라에서의 위치를 조사합니다.

 

IoT는 상황 인식 정보를 서로 교환하고 공유할 수 있는 통신 네트워크를 통해 물리적 세계(IoT 장치/객체)의 사물이 가상 세계(클라우드 서비스, 플랫폼 및 애플리케이션)와 상호 작용할 수 있도록 합니다. 따라서 모든 IoT 시스템은 물리적 세계와 가상 세계 및 통신 네트워크에서 구축됩니다. 이 세 가지는 대체로 IoT 시스템의 기본 블록입니다. 따라서 IoT 시스템은 다음 블록 다이어그램으로 정확하게 나타낼 수 있습니다.

 

사물인터넷을 단순한 블록으로 나타낸 이미지

 

IoT 생태계의 인프라를 조감도로 보려면 다음 용어를 이해하는 것이 중요합니다.

 

1) 사물 – 사물 인터넷의 맥락에서, 물리적 세계 또는 정보 세계의 모든 개체는 고유한 ID를 가지며 통신 네트워크에 통합될 수 있는 모든 개체를 '사물'이라고 합니다. 사물은 물리적 사물일 수도 있고 가상 사물일 수도 있습니다. 물리적인 것을 일반적으로 '(IoT) 장치'라고 합니다. IoT에서 사물의 개념은 장치의 개념과 약간 다릅니다. 사물은 가상 또는 물리적 사물일 수 있지만 장치라는 용어가 사용될 때 네트워크에서 통신할 수 있고 센서, 액추에이터, 프로세서, 메모리 및/또는 컨트롤러가 장착될 수 있는 물리적 장비를 의미합니다. 사물은 클라우드 서비스 솔루션과 같은 가상 사물일 수도 있습니다. 이러한 가상 사물은 자체 권한으로 데이터를 교환하고 처리하는 소프트웨어 애플리케이션, API 또는 애플리케이션 솔루션입니다. 그런 응용 프로그램도 있기 때문에, 고유한 ID 또는 식별 키가 있는 경우 사물로 간주됩니다. 가상 사물은 Amazon Web Services의 사물 그림자와 같은 물리적 사물의 정보 표현일 수도 있습니다. 물리적 사물의 간단한 예는 온도 센서일 수 있습니다. 온도 센서는 컨트롤러를 통해 통신망에 연결될 수 있으며, 이는 환경의 실시간 온도에 대한 동적 정보를 수집하고 공유할 수 있다.

 

2) 물리적 세계 - 따라서 IoT 시스템에는 물리적인 것과 가상의 것이 모두 있을 수 있습니다. IoT 시스템에서 물리적 세계는 물리적 사물 또는 장치의 집합체를 의미합니다. 물리적 사물 또는 장치는 IoT 보드를 구성하는 컨트롤러 또는 프로세서를 중심으로 구축됩니다. IoT 보드에는 제한된 메모리 리소스 및 하나 이상의 통신 인터페이스와 함께 마이크로컨트롤러 또는 마이크로프로세서가 있습니다. 하나 이상의 센서, 액추에이터 또는 통신 채널과 인터페이스 하는 범용 입력/출력 핀이 있습니다. 따라서 이러한 물리적 사물은 정보를 감지, 수집, 저장, 공유 및 처리할 수 있으며 실제 세계에 영향을 미치기 위해 하나 이상의 액추에이터를 작동할 수 있습니다.

 

3) 가상 세계 – IoT 시스템에서 가상 세계는 가상 사물의 집합을 의미합니다. 이러한 가상 사물은 일반적으로 웹, 클라우드 또는 모바일 애플리케이션, API 또는 애플리케이션 플랫폼입니다. 가상 세계 또는 가상 사물의 집합은 IoT 시스템의 데이터 로깅, 데이터 마이닝 및 분석에서 중요한 역할을 합니다. 물리적 사물의 데이터는 유용한 통찰력을 얻거나 액추에이터를 작동하는 데 필요한 정보를 얻기 위해 저장, 분석 및 처리되는 소프트웨어 애플리케이션(웹 또는 클라우드 서비스)과 공유됩니다.

 

4) 통신 네트워크 – IoT에서 통신 네트워크는 물리적 세계와 가상 세계 간의 상호 작용을 가능하게 하는 링크입니다. 실질적으로 센서와 액추에이터가 탑재된 IoT 보드가 웹이나 클라우드 서버와 통신하거나 서로 통신할 수 있도록 하는 것은 광역 네트워크 또는 인터넷 네트워크이다. 여러 계층(물리, 링크, 네트워크, 전송 및 응용 계층)을 통해 구현되는 일반적인 인터넷 네트워크와 다르지 않습니다. 각 계층에는 안전하고 효율적인 데이터 교환을 용이하게 하는 다양한 통신 프로토콜이 있습니다.

 

물리적 또는 링크 계층에서 사용되는 일부 인기 있는 통신 프로토콜은 LR-WPAN, 6LoWPAN, Bluetooth/LE, 802.15.4, LTE, GPRS, CDMA, NFC, Zigbee, 802.11 Wi-Fi, WIRELESSHART, Zwave, Sigfox, DASH7, LoRaWAN, Thread, INSTEON 등이 있으며, 가장 일반적인 네트워크 계층 프로토콜은 IPv4 및 IPv6입니다. 일반적인 전송 계층 프로토콜에는 TCP, UDP, DTLS 및 TLS가 포함됩니다. 인기 있는 애플리케이션 계층 프로토콜 중 일부는 DDS, MQTT, REST, CoAP, LLAP, XMPP, SSI, AMQP, XMPP-IoT 및 MQTT-SN입니다.

 

IoT 시스템 아키텍처 –

 

다양한 조직과 서비스 제공업체는 다양한 방식으로 IoT 아키텍처를 정의, 구현 및 인식합니다. 그러나 IoT 시스템의 기본 아키텍처는 모든 구현 및 비즈니스 모델에서 동일하게 유지됩니다. IoT 시스템의 기본 아키텍처는 다음과 같은 4 계층 모델에서 이해할 수 있습니다.

 

1) IoT 기기 및 게이트웨이

2) 통신망

3) 클라우드 또는 서버

4) 사물인터넷 적용

 

데이터는 IoT 시스템에 의해 생성, 전송, 처리 및 유용한 통찰력으로 변환됩니다. IoT 시스템의 기본 아키텍처는 다음 블록 다이어그램으로 나타낼 수 있습니다.

 

The 4 Stage IoT architecture 이미지: https://www.quora.com/What-are-the-4-stages-of-IoT-architecture

 

1) IoT 장치 – 다음 요구 사항을 충족하는 모든 장치 또는 장비는 IoT 장치로 간주됩니다.

 

a) 다른 장치와 통신이 가능하고 인터넷 네트워크에 연결할 수 있습니다. 다른 장치와 통신을 설정하거나 인터넷 네트워크에 연결할 수 있는 하드웨어 인터페이스와 펌웨어 또는 운영 체제가 있어야 합니다.

 

b) 센서 및/또는 액추에이터가 장착되어 있어야 합니다. 센서는 물리적 세계에서 정적 또는 동적 정보를 수집할 수 있습니다. 센서가 수집한 정보나 데이터는 서버나 클라우드와 공유하거나 교환해야 한다. 장치에는 처리된 데이터 또는 클라우드 또는 서버에서 다시 보낸 통찰력에 따라 또는 그에 따라 작동하는 액추에이터가 있을 수도 있습니다.

 

c) 장치에는 데이터를 캡처하기 위한 컨트롤러 또는 프로세서, 데이터를 저장하기 위한 메모리(종종 일시적으로), 캡처된 데이터 또는 서버 또는 클라우드에서 수신한 데이터를 처리하기 위한 펌웨어 또는 운영 체제가 있어야 합니다.

 

대부분의 IoT 장치는 표준 IoT 보드를 사용하여 구축됩니다. 이러한 보드는 마이크로컨트롤러 보드 또는 도터 보드(단일 보드 컴퓨터)일 수 있습니다. 인기 있는 IoT 보드에는 Arduino, Raspberry Pi, Beagle Bone, CubieBoard, Pinnocio, Banana Pi 등이 있습니다. 보드에는 온보드 메모리(RAM 및 ROM), 디지털 및 아날로그 GPIO(범용 입력 출력) 핀, 다양한 통신 채널(USB, I2C, SPI, TWI, 이더넷 등)이 통합된 마이크로컨트롤러 또는 프로세서가 함께 제공됩니다. 이러한 보드는 다른 보드 또는 센서 및 액추에이터와 함께 적층되어 IoT 장치(물리적 장치)를 형성할 수 있습니다.

 

IoT 장치는 널리 사용되는 마이크로컨트롤러 또는 프로세서로 네트워크 인터페이스, RF 또는 셀룰러 트랜시버를 보강하여 구축할 수도 있습니다. 이러한 IoT 장치는 미션 크리티컬 애플리케이션을 위해 맞춤 제작되었습니다. 주요 마이크로컨트롤러 제조업체로는 TI(Texas Instruments), ARM, Freescale, Intel, Microchip Technology, Atmel 및 Broadcom이 있습니다.

 

하드웨어 설계 및 기능에 따라 IoT 장치는 다음과 같이 크게 분류할 수 있습니다.

 

1) 일반 기기

2) 감지 및 작동 장치

 

일반 장치 – 일반 장치는 처리 및 통신 기능이 내장된 IoT 애플리케이션 도메인의 장치입니다. 일반 장치는 일부 정보를 처리할 수 있으며 유선 또는 무선 인터페이스를 통해 통신망에 연결할 수 있습니다. 기본적으로 이러한 장치는 클라우드 또는 서버에서 데이터와 통찰력만 수집하고 그에 따라 데이터 처리를 수행하거나 수행합니다. 예를 들어 웹으로 제어되는 산업 기계나 가전제품은 일반적인 IoT 장치로 간주될 수 있습니다.

 

감지 및 작동 장치 – 감지 및 작동 장치에는 실제 세계와 상호 작용하고 영향을 미칠 수 있는 센서와 작동기가 장착되어 있습니다. 센서는 온도, 습도, 광도, 힘, 밀도 등과 같은 실제 물리량과 관련된 정보를 수집하여 온보드 컨트롤러/프로세서에 전달합니다. 컨트롤러 또는 프로세서는 정보를 (일시적으로) 저장하고 통신 네트워크에 전달합니다. 다양한 통신망을 통해 클라우드나 서버에서 수신합니다. 클라우드는 정보를 처리하고 액추에이터를 작동하는 데 유용한 통찰력을 다시 보냅니다.

 

게이트웨이의 역할

 

IoT 장치는 게이트웨이를 통해 또는 게이트웨이 없이 다른 장치와 통신을 설정할 수 있습니다. 게이트웨이는 기본적으로 프로토콜 변환에 필요합니다. IoT 장치가 Zigbee 인터페이스를 통해 데이터를 주고받을 수 있으므로 Zigbee 프로토콜을 통해 통신한다고 가정합니다. 통신 네트워크는 TCP-IP 프로토콜을 통해 데이터를 송수신할 수 있습니다. 이 경우 Zigbee 프로토콜을 사용하여 장치를 통해 들어오는 데이터를 TCP-IP 프로토콜을 통한 데이터 전송으로 변환하고, 클라우드나 서버에서 TCP-IP 프로토콜을 통해 들어오는 데이터를 Zigbee 프로토콜로 변환하여 IoT 장치에서 수신할 수 있는 게이트웨이가 필요합니다. IoT 장치의 통신 네트워크와 온보드 네트워크가 다르기 때문에 게이트웨이는 두 네트워크 간의 양방향 브리지 역할을 합니다.

 

Gateway 주요 기능(Key functionalities of IoT Gateway)

  • Establishing communication bridge.
  • Provides additional security.
  • Performs data aggregation.
  • Pre processing and filtering of data.
  • Provides local storage as a cache/ buffer.
  • Data computing at edge level.
  • Ability to manage entire device.
  • Device diagnostics.
  • Adding more functional capability.
  • Verifying protocols.

 

IoT Gateway가 하는 일

  1. Receives data from sensor network.
  2. Performs Pre processing, filtering and cleaning on unfiltered data.
  3. Transports into standard protocols for communication.
  4. Sends data to cloud. 

 

게이트웨이는 장치 프로토콜에 따라 (센서) 데이터를 수집 및 추출하고, 통신 네트워크가 작동하는 프로토콜에 따라 랩핑 및 포맷하고, 클라우드 또는 서버로 전송하기 위해 데이터를 통신 네트워크에 푸시합니다. 같은 방식으로 클라우드 또는 서버에서 데이터, 통찰력 또는 정보를 수신 및 추출하고 온디바이스 네트워크에서 사용하는 네트워크 프로토콜에 따라 랩핑 및 형식화하고 클라우드 처리 데이터를 IoT 장치로 푸시합니다.

 

따라서 게이트웨이는 다음 두 시나리오 중 하나에서 필요할 수 있습니다.

 

1) IoT 기기와 통신망이 서로 다른 프로토콜로 동작하는 경우. 종종 이러한 프로토콜은 다른 네트워크 계층에 있을 수 있습니다. 위의 예에서와 같이 Zigbee는 물리 계층 프로토콜이고 TCP-IP는 전송 계층 프로토콜입니다. 무선 센서 네트워크는 게이트웨이를 통한 장치 대 네트워크 통신의 또 다른 예입니다.

 

2) 하나의 IoT 장치는 다른 프로토콜에서 작동하는 다른 IoT 장치와 통신해야 할 수 있습니다. 예를 들어 블루투스 장치는 게이트웨이를 사용하여 무선으로 다른 BLE 장치와 통신할 수 있습니다.

 

따라서 게이트웨이는 장치와 클라우드 또는 한 장치와 다른 장치 간의 간접적인 통신 방법을 제공합니다. 장치 간 통신의 경우 IoT 끝점(개별 IoT 장치)이 함께 위치하여 게이트웨이를 통해 서로 다른 물리적 또는 링크 계층 프로토콜(Bluetooth, Wi-Fi, Zigbee, Bluetooth-LE와 같은 RF 프로토콜)에서 통신할 수 있습니다. 이러한 게이트웨이를 Edge 게이트웨이라고 합니다.

 

이미지 https://www.lanner-america.com/blog/what-is-an-iot-gateway/

 

Internet of Things (IoT) Gateways 이미지: https://www.geeksforgeeks.org/internet-of-things-iot-gateways/

 

게이트웨이 없는 통신

 

IoT 장치는 클라우드 또는 다른 IoT 장치에 직접 연결할 수도 있습니다. 이 경우 장치와 통신망 또는 서로 통신하는 장치는 동일한 프로토콜을 사용하여 데이터를 공유하고 교환해야 합니다. 따라서 프로토콜 변환 및 게이트웨이가 필요하지 않습니다. 일반적으로 이러한 장치 대 장치 또는 장치 대 네트워크 통신은 MQTT(Message Queuing Telemetry Transport), CoAP(Constrained Application Protocol), DDS(Data Distribution Service), AMQP(Advanced Message Queuing Protocol) 및 Extensible과 같은 응용 프로그램 계층 프로토콜을 통해 가능합니다. 메시징 및 현재 상태 프로토콜(XMPP). 예를 들어, 하나의 ESP8266 IoT 보드는 MQTT 프로토콜을 사용하여 다른 ESP8266 보드와 직접 통신할 수 있습니다. MQTT는 애플리케이션 계층 프로토콜입니다.

 

Mobile as an IoT gateway

 

IoT 장치(IoT 보드)에는 데이터 처리, 메시징 및 통신 수행, 데이터 저장 관리, 액추에이터 작동 관리를 위한 펌웨어, 운영 체제 또는 실시간 운영 체제가 있을 수 있습니다. 인기있는 IoT 운영 체제 중 일부는 Embedded Linux, TinyOS, Snappy Ubuntu Core, Contiki, FreeRTOS, Mantis, ARM의 mbedOS, RIOT OS, Windows 10, Nucleus RTOS, eCOS, SAFE ROTS, Android Things, Green Hills Integrity, WindRiver VxWorks 및 브릴로 OS.

 

2) 통신 네트워크 – 통신 네트워크는 일반적으로 서로 다른 계층(물리적, 링크, 네트워크, 전송 및 응용 프로그램)과 통신 프로토콜이 서로 다른 계층에서 작동하는 일반적인 인터넷 네트워크입니다.

 

3) 클라우드/서버 – 클라우드 또는 서버는 IoT 시스템의 에지입니다. 클라우드는 다양한 IoT 장치에서 수집한 데이터를 저장하고 데이터 마이닝 및 분석을 수행하여 유용한 통찰력을 도출합니다. 또한 연결된 장치 및 네트워크를 관리하고 장치 간 통신을 관리하며 서로 다른 IoT 장치 및 통신을 함께 작동 및 동기화하여 IoT 응용 프로그램을 구현합니다. 클라우드는 IoT 애플리케이션을 활성화하기 위해 다른 사설 및 공용 클라우드 서비스와 통신할 수도 있습니다.

 

4) IoT 애플리케이션 – 클라우드에서 데이터의 처리, 마이닝 및 분석은 IoT 애플리케이션에 의해 수행됩니다. IoT 애플리케이션은 데이터를 추출하고 이를 조작하여 유용한 통찰력을 도출하고 통찰력을 대상 IoT 장치에 안전하게 푸시하도록 관리하는 클라우드 서버의 소프트웨어입니다. 예를 들어 홈 자동화용으로 설계된 IoT 애플리케이션은 센서의 데이터를 처리하고 클라우드에서 명령을 보내 가전제품을 작동할 수 있습니다.

 

다음 튜토리얼에서는 통신 네트워크의 다른 계층에서 사용되는 다양한 IoT 통신 프로토콜을 살펴봅니다.  

 

이 와중에도 2021 공주마라톤

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^