장치 연결 고려 사항
장치 네트워크를 Oracle IoT 애플리케이션 인스턴스에 연결하는 방법에는 여러 가지 옵션이 있습니다.
장치가 네트워크에 연결되는 방식을 결정한 후에는 장치에서 Oracle IoT로 데이터를 전송해야 합니다. 클라우드 서비스에 장치를 연결하기 위한 네 가지 선택 사항은 다음 아키텍처 다이어그램에 나와 있습니다.

그림 연결에 대한 설명-options.png
디바이스 연결을 위해 선택하는 전략은 디바이스의 기능 및 디바이스에서 Oracle IoT 애플리케이션으로 데이터를 전송하는 방법에 따라 달라집니다.
- 장치가 프로그래밍 가능함: 장치가 IP(인터넷 프로토콜)를 사용하여 통신할 수 있고 장치의 프로그래밍을 수정하거나 장치에 다른 소프트웨어를 추가할 수 있는 경우 장치에서 직접 Oracle IoT 클라우드 인스턴스로 데이터를 전송하도록 선택할 수 있습니다.
- 디바이스를 프로그래밍할 수 없음: 디바이스의 프로그래밍을 변경할 수 없는 경우 게이트웨이 역할을 하는 필드의 다른 디바이스에 디바이스를 연결하고 Oracle IoT Cloud 애플리케이션에 대한 통신을 프록시할 수 있습니다. 장치가 장치의 고유 프로토콜을 사용하여 게이트웨이로 데이터를 전송합니다. 게이트웨이는 디바이스의 데이터를 Oracle IoT Cloud Service로 전달합니다.
- 필드에 게이트웨이 장치를 추가할 수 없음: 사용자 환경에서 필드의 게이트웨이를 지원하지 않는 경우 Oracle Cloud 인스턴스(예: Oracle IoT Cloud Gateway)에서 실행 중인 게이트웨이에 장치를 연결할 수 있습니다. 장치는 모든 인터넷 프로토콜을 사용하여 게이트웨이와 통신할 수 있습니다. 게이트웨이는 디바이스의 데이터를 Oracle IoT Cloud Service로 전달합니다.
- 기기가 이미 타사(비Oracle) 클라우드 서비스에 연결되어 있습니다.: 타사 클라우드 서비스를 사용하여 장치에서 데이터를 수집하는 경우 장치 데이터를 게이트웨이로 전달할 수 있습니다. 게이트웨이는 디바이스의 데이터를 Oracle IoT Cloud Service로 전달합니다.
장치 직접 접속
REST 호출, MQTT(Message Queuing Telemetry Transport)를 사용하거나 게이트웨이를 통해 인터넷 프로토콜(IP)을 통해 장치를 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스에 직접 연결할 수 있습니다. 클라우드 인스턴스의 특정 엔드포인트로 데이터를 전송하도록 장치를 프로그래밍할 수 있는 경우 이 접근 방법을 선택합니다.
Oracle IoT 직접 데이터 수집을 사용하여 장치 연결
직접 수집은 통신 대역폭을 최소화하고 관리 오버헤드를 최소화하면서 장치를 가장 효율적으로 연결하는 방법을 제공합니다. 직접 데이터 수집은 Oracle IoT Asset Monitoring Cloud Service에서 사용할 수 있습니다.
Oracle IoT 커넥터를 사용하여 장치 연결
다양한 연결 프로토콜 및 데이터 형식을 지원하기 위해 장치별 데이터 형식의 연결 및 해석을 위해 대부분의 장치에 대해 구성할 수 있는 커넥터를 사용하는 것이 좋습니다.
Oracle 클라이언트 라이브러리를 사용하여 장치 연결
Oracle 클라이언트 라이브러리로 장치 애플리케이션을 생성하여 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스와 직접 통신합니다.
장치가 프로그래밍 가능하고 소프트웨어 배치를 지원하는 경우 여러 언어 옵션 중에서 선택할 수 있습니다. Oracle Fusion Cloud IoT Intelligent Applications는 다음을 포함하여 장치 연결 및 기능을 지원하는 애플리케이션을 생성하는 데 사용할 수 있는 여러 소프트웨어 개발 클라이언트 라이브러리를 제공합니다.
- Java 스탠다드 에디션
- JavaScript
- C POSIX
- 임베드
- Microsoft Windows
- Android
- 애플 iOS
Oracle 클라이언트 소프트웨어 라이브러리 중 하나를 사용하여 장치 응용 프로그램을 개발하면 장치 환경에 다음과 같은 이점이 있습니다.
- 장치 활성화 및 ID 관리: 클라이언트 소프트웨어는 장치의 초기 장치 활성화 프로세스 및 ID 관리를 처리합니다.
- JSON 메시지 구성: Oracle IoT Cloud는 메타데이터 헤더 및 키-값 쌍 페이로드로 구성된 JSON 메시지 형식을 사용합니다. 클라이언트 소프트웨어는 입력으로 키-값 맵만 사용하여 메시지 구성을 단순화합니다.
- 메시지 저장 및 전달: 클라이언트 라이브러리는 자동 저장 및 전달을 수행하여 간헐적인 네트워크 연결 문제를 처리합니다.
- 장치 명령에 대한 콜백 처리기: Oracle IoT 애플리케이션은 장치 변경에 영향을 주는 명령을 장치로 다시 전송할 수 있습니다. 클라이언트 라이브러리는 메시지 수신 및 메시지 배포를 적절한 콜백 처리기로 처리합니다.
- Software Defined Edge Analytics: 사용자가 장치에서 에지 분석을 수행하기 위해 Oracle IoT Cloud에서 간단한 정책을 정의할 수 있습니다. 이러한 정책은 자동으로 장치로 푸시되어 에지에서 실행됩니다. 정책의 예로는 메시지 대기 시간 변경, 난독화, 샘플 속도 변경, 데이터 집계, 간단한 통계 표현식 등이 있습니다.
장치 간접 연결
프록시를 사용하여 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스와 통신하여 장치를 간접적으로 연결할 수 있습니다. 장치를 프로그래밍할 수 없거나 다른 비Oracle 서비스에 이미 연결된 경우 이 접근 방법을 선택합니다.
간접 연결된 장치는 다른 서비스 또는 게이트웨이를 활용하여 장치에서 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스로 데이터를 전달합니다. 간접 연결된 장치는 게이트웨이 애플리케이션에 프로토콜을 사용하여 데이터를 전송하여 장치 고유 프로토콜을 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스에 대한 REST 호출로 변환합니다.
게이트웨이를 사용하여 장치 연결
장치에서 Oracle Fusion Cloud IoT Intelligent Applications 인스턴스로 통신을 프록시하려면 게이트웨이를 구현합니다.
게이트웨이는 선택한 소프트웨어 개발 환경을 사용하여 생성하고 독립형 컴퓨터, 전용 하드웨어 또는 클라우드 환경에 배치할 수 있는 클라이언트 애플리케이션입니다.
Oracle IoT Cloud Gateway는 게이트웨이 클라이언트 애플리케이션을 구축하는 데 사용할 수 있는 Java 기반 소프트웨어 개발 키트(SDK)입니다. SDK로 구축된 게이트웨이 클라이언트 애플리케이션은 Java를 지원하는 모든 하드웨어 및 운영체제에 배포할 수 있으며 Linux 기반 마이크로 플랫폼에는 ARMv6 및 x86가 포함됩니다.
SDK를 사용하여 게이트웨이 클라이언트 애플리케이션을 생성하고 배포하면 Oracle 클라이언트 라이브러리와 동일한 이점이 있습니다.