스택 오버 플로우 에서 MQTT를 통한 요청 / 응답 상호 작용 구현에 대한 질문이 있습니다. 한 답변에서 알 수 있듯이 한 주제에 대한 요청을 게시하고 요청에 포함 된 다른 토큰에서 응답을 수신하여이를 수행 할 수 있습니다. 조금 어색하지만 작동합니다.
MQTT가 IoT 전체에서 광범위하게 사용되므로 상호 운용성을 위해이 RPC 유형 상호 작용을 표준화하려는 시도가 있었습니까?
스택 오버 플로우 에서 MQTT를 통한 요청 / 응답 상호 작용 구현에 대한 질문이 있습니다. 한 답변에서 알 수 있듯이 한 주제에 대한 요청을 게시하고 요청에 포함 된 다른 토큰에서 응답을 수신하여이를 수행 할 수 있습니다. 조금 어색하지만 작동합니다.
MQTT가 IoT 전체에서 광범위하게 사용되므로 상호 운용성을 위해이 RPC 유형 상호 작용을 표준화하려는 시도가 있었습니까?
답변:
MQTT를 통한 표준화 된 RPC 통신 방법에 대한 요구 사항이 무엇인지 확실하지 않지만, 여전히 약간의 검색을 수행하여 몇 가지 사항을 전달했습니다.
우선, 표준 방법에 대해. 에 하나 Github에서는 손톱을의 설명 종류의 프로젝트 RPC :
이 모듈은 mqtt 연결을위한 rpc 인터페이스를 제공합니다. 본질적으로 이는 MQTT 주제 구조를 전송으로 사용하는 요청 및 응답 전략입니다.
요점은 스택 모델 (OSI 모델은 표준)을 사용하고 MQTT를 스택 레이어 중 하나로 사용하는 것입니다.
mqtt를 통한 json-rpc의이 프로젝트는 MQTT를 통해 표준화되거나 최소한 잘 알려진 프로토콜을 사용합니다.
어색함에 대해서는 MQTT와 RPC를 처음부터 새로 작성할 필요가 없지만 대신 연결된 라이브러리 중 하나 또는 Github에서 찾은 다른 라이브러리를 사용하십시오.
모든 언어에 대해 Github에 대한 준비된 기초는 없지만,이 경우 준수는 계획 기준이되며 불행히도 다른 프로젝트 전체에 영향을 줄 수 있습니다.
Azure IoT Hub에는 직접적인 방법이라는 개념이 있습니다.
IoT Hub를 사용하면 클라우드의 장치에서 직접 메서드를 호출 할 수 있습니다.
MQTT (AMQP는 지원되지 않음)를 통해 구현됩니다. 여기서
디바이스는 MQTT 주제에 대한 직접 메소드 요청을 수신합니다.
$iothub/methods/POST/{method name}/?$rid={request id}.
그들은 이것을 SDK로 감싸서 개발자가 주제를 구체적으로 모니터링하는 것에 대해 걱정할 필요가 없습니다. 비슷한 접근법을 구현할 수 있습니다.
다른 답변에 따르면 pub-sub는 RPC에 적합하지 않으며 내가 아는 한 표준이 없습니다.
더 많은 문서가 여기 있습니다 .