我一直在玩弄将 gRPC 用于“IoT”类型设备的想法;不是很受限制的东西,比如传感器;更像是单板计算机内置设备,如机器人、无人机等。由于设备是单独开发的,并且可能由其他公司开发,因此需要设备和集中控制器之间的接口。所以版本化的界面语言是必须的;它不应该只是在一个word文档中;一些可编程的东西,比如头文件、WSDL、IDL 或 ProtocolBuffer。同样在设备和控制器之间,应为注册、重新注册等常见用例指定行为。这可以在 word 文件或一些非技术文档中。
Protocol Buffer (ver 3) 中的 (rpc) 接口规范以及通过 gRPC 的高效实现使我选择了 CoAP/LWM2M(乐山 Java 和 C++ 实现)。
使用过 LWM2M 和 grPC,我想说 gRPC 对开发人员更友好;与OMA LWM2M流程相比,接口定义和实现速度很快。当然gRPC中没有Observer-Notify,但对于那个MQTT就足够了。
严格来说,不能将 LWM2M 与 gRPC 进行比较。LWM2M 不仅仅是接口,它还定义了许多 IoT 案例中的行为,如 BootStrap、Registration、KeepAlive、SW 升级等,它的通用 HTTP(如 GET、PUT)在 URL 类型的可寻址资源上使其非常完整。然而,大多数这些行为都可以通过一些努力来自定义。
我们计划编排的一些物联网事物远不是像灯泡这样的小脑设备,更像是机器人。有没有人将 gRPC 用于类似目的。任何成功的失败故事分享