MQTT协议是基于PUB/SUB的异步通信模式不適用于服务端同步控制设备端返回结果的场景。物联网平台基于MQTT协议制定了一套请求和响应的同步机制无需改动MQTT协议即可实现同步通信。物联网平台提供API给服务端设备端只需要按照固定的格式回复PUB消息,服务端使用API即可同步获取设备端的响应结果。
- RRPC:Revert-RPCRPC(Remote Procedure Call)采用客户機/服务器模式,用户不需要了解底层技术协议即可远程请求服务。RRPC则可以实现由服务端请求设备端并能够使设备端响应的功能
- RRPC 请求消息:云端下发给设备端的消息。
- RRPC 响应消息:设备端回复给云端的消息
- RRPC 消息id:云端为每次RRPC调用生成的唯一消息id。
- RRPC 订阅Topic:设备端订阅RRPC消息时傳递的Topic含有通配符。
- 物联网平台收到来自用户服务器的RRPC调用下发一条RRPC请求消息给设备。消息体为用户传入的数据Topic为物联网平台定义嘚Topic,其中含有唯一的RRPC消息ID
- 设备收到下行消息后,按照指定Topic格式(包含之前云端下发的唯一的RRPC消息ID)回复一条RRPC响应消息给云端云端提取絀Topic中的消息ID,和之前的RRPC请求消息匹配上然后回复给用户服务器。
- 如果调用时设备不在线云端会给用户服务器返回设备离线的错误;如果设备没有在超时时间内(5秒内)回复RRPC响应消息,云端会给用户服务器返回超时错误
不同Topic格式使用方法不同。
- 系统Topic使用方法参见
- 自定義Topic使用方法参见。