MQTT에 대해 표준화 된 RPC 메커니즘이 있습니까?


10

스택 오버 플로우 에서 MQTT를 통한 요청 / 응답 상호 작용 구현에 대한 질문이 있습니다. 한 답변에서 알 수 있듯이 한 주제에 대한 요청을 게시하고 요청에 포함 된 다른 토큰에서 응답을 수신하여이를 수행 할 수 있습니다. 조금 어색하지만 작동합니다.

MQTT가 IoT 전체에서 광범위하게 사용되므로 상호 운용성을 위해이 RPC 유형 상호 작용을 표준화하려는 시도가 있었습니까?


esr.net/download/specification/ESR030-LWM2M-MQTT-1.0-A.pdf 답변의 기초가 될 수 있습니다 . LWM2M에 긴밀하게 결합 된 일반적인 요청 / 응답 사양은 아닙니다.
Chris Steinbach

답변:


9

나는 그러한 표준을 모릅니다.

다른 질문에 대한 답변에서 지적했듯이 pub / sub는 RPC에 적합하지 않지만 적합하도록 구부릴 수 있습니다.

MQTT의 강점 중 하나는 페이로드가 무엇이든 가능하므로 개발자가 프로젝트에 가장 적합한 선택을 할 수 있다는 것입니다.


4

MQTT를 통한 표준화 된 RPC 통신 방법에 대한 요구 사항이 무엇인지 확실하지 않지만, 여전히 약간의 검색을 수행하여 몇 가지 사항을 전달했습니다.

우선, 표준 방법에 대해. 에 하나 Github에서는 손톱을의 설명 종류의 프로젝트 RPC :

이 모듈은 mqtt 연결을위한 rpc 인터페이스를 제공합니다. 본질적으로 이는 MQTT 주제 구조를 전송으로 사용하는 요청 및 응답 전략입니다.

요점은 스택 모델 (OSI 모델은 표준)을 사용하고 MQTT를 스택 레이어 중 하나로 사용하는 것입니다.

mqtt를 통한 json-rpc의이 프로젝트는 MQTT를 통해 표준화되거나 최소한 잘 알려진 프로토콜을 사용합니다.

어색함에 대해서는 MQTT와 RPC를 처음부터 새로 작성할 필요가 없지만 대신 연결된 라이브러리 중 하나 또는 Github에서 찾은 다른 라이브러리를 사용하십시오.

모든 언어에 대해 Github에 대한 준비된 기초는 없지만,이 경우 준수는 계획 기준이되며 불행히도 다른 프로젝트 전체에 영향을 줄 수 있습니다.


나는 진정한 요구 사항이 없습니다. 질문의 원동력은 CoAP (RFC 정의 요청 / 응답 pub / sub 메커니즘을 가짐 )를 MQTT와 비교하는 것입니다. MQTT는 이제 현재 pub / sub 만 표준화했다고 확신합니다. 확실히 RPC 용 오픈 소스 라이브러리를 갖는 것이 아무것도 아닌 것보다 낫습니다.
Chris Steinbach

4

Azure IoT Hub에는 직접적인 방법이라는 개념이 있습니다.

IoT Hub를 사용하면 클라우드의 장치에서 직접 메서드를 호출 할 수 있습니다.

MQTT (AMQP는 지원되지 않음)를 통해 구현됩니다. 여기서

디바이스는 MQTT 주제에 대한 직접 메소드 요청을 수신합니다.

$iothub/methods/POST/{method name}/?$rid={request id}.

그들은 이것을 SDK로 감싸서 개발자가 주제를 구체적으로 모니터링하는 것에 대해 걱정할 필요가 없습니다. 비슷한 접근법을 구현할 수 있습니다.

다른 답변에 따르면 pub-sub는 RPC에 적합하지 않으며 내가 아는 한 표준이 없습니다.

더 많은 문서가 여기 있습니다 .

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