Azure IoT Hub는 Embedded / IoT 장치와 어떻게 상호 작용합니까?


13

Azure IoT 플랫폼에서 작업하고 있으며 장치가 IoT 허브로 데이터를 보내는 방법을 이해합니다 (잘못되지 않은 경우 웹 서비스 호출 또는 이와 유사한 것임).

그러나 IoT 허브가 장치 통신을 위해 IoT 허브에서 작업하고 있지 않기 때문에 IoT 허브가 어떻게 데이터 / 명령 / 입력을 장치로 전송하는지 궁금합니다 (데이터를 장치로 푸시 할 필요가 없음). IoT 허브가 장치와 직접 상호 작용할 수 있습니까? (장비의 고유 ID 사용 또는 IP, Mac 주소 등과 같은 고유 ID 사용)

어딘가에서 IoT 허브에 입력이있는 경우 장치가 계속 IoT 허브에 요청하고 IoT 허브가 응답하여 장치에 데이터 / 명령 / 입력을 보냅니다. 그게 사실입니까? 그렇지 않은 경우 설명하십시오.

답변:


14

IoT Hub 연결 장치가 사용하는 모델은 들어오는 연결을 절대 받아들이지 않을 것입니다. IoT Hub 장치는 절대 '서버'로 작동하지 않으며 이는 Azure IoT 보안 모델의 중요한 부분입니다. 이에 대한 결정적인 모델은 Clemens Vasters의 'Service Assisted Communication'에 캡슐화되어 있습니다.

따라서 장치는 데이터를 보내거나 명령을 받기 위해 항상 외부 서비스를 '폴링'합니다. API는 데이터가 장치로 전송되는 것처럼 보이지만 항상 나가는 연결을 만드는 장치입니다.

IoT 허브는 두 가지 방식으로이를 수행합니다.

  1. 장치 엔드 포인트로 데이터를 전송합니다 /devices/{deviceId}/messages/devicebound. 큐 또는 토픽 구독과 유사한 AMQP 메시징 엔드 포인트입니다. 장치는 명령을 읽을 때 필요한 경우 승인을 받아야하며 이는 기본 AMQP 프로토콜의 일부입니다. 이는 MQTT와 동일하게 작동하며 https는 유효한 폴백입니다. API가이 모든 것을 마무리합니다. 본질적으로 동일한 기본 메시지 프로토콜을 중심으로 API 래퍼 인 '직접 메서드'와 같은 추가 개념이 있습니다.
  2. 서버 측 장치 쌍을 사용하면 장치와 서버간에 속성을 논리적으로 동기화 할 수 있습니다. 장치 쌍에서 속성을 설정하면 장치가 동기화 될 때 해당 속성이 장치에 동기화됩니다. 이것은 메시지 기반이 적으며 LWM2M 장치 관리 프로토콜 위에 구축됩니다.

많은 '폴링', 연결, 공유 연결, 영수증 등은 AMQP (또는 MQTT) 프로토콜의 일부로 처리해야하며, 이는 IoT Hub SDK에 포함되어 있습니다. 따라서 위의 내용은 매우 단순하지만 반복하기 위해 IoT Hub는 장치의 IP 주소 / 포트로 데이터를 보내려고 시도하지 않습니다.


@Simon에게 감사합니다. 이제 데이터를 보내거나받는 데 IoT 허브 만 호출하는 장치 만 있습니다. 귀하의 답변에 "Azure IoT"를 언급 했으므로 모든 IoT 플랫폼 에서 귀하의 답변 애플리케이션 을 확인하고 싶 습니까? 또는 Azure IoT에만 해당됩니다.
Shri

@ShrikantBhusalwad 많은 플랫폼이 아직 개발되지 않았기 때문에 모든 플랫폼에 답을 적용 할 수는 없습니다. 이것은 일반적인 모델이며 보안에 유용하지만 다른 모델, 특히 새로운 환경에서 정당화 될 수 있습니다.
Sean Houlihane

2
모든 플랫폼에 익숙하지는 않지만 대부분의 클라우드 플랫폼은 비슷합니다. AWS는 대부분 동일한 MQTT를 사용합니다. @sean에서 알 수 있듯이 모든 플랫폼에 적용 할 수는 없지만 위험한 보안 관행을 미리 구축 할 클라우드 플랫폼은 거의 없습니다 . 서버로 장치 모델을 사용하는 방법은 레거시이거나 훨씬 더 엄격합니다 (가장자리 또는 메쉬 패턴이 개발 됨). Azure IoT는 레거시 또는 엣지 기반 장치의 문제를 해결하기 위해 필드 및 클라우드 게이트웨이를 건축 적으로 지원
Simon Munro

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.