我现在想介绍如何使用适配器机制将电子锁跟踪器(JT701)设备集成到hono。有问题的设备正在使用Jt600协议。对于我们来说不幸的是,我们无法更改设备以使用hono API(无论是http还是mqtt)

最佳答案

Hono使用协议适配器在设备的传输协议和AMQP 1.0协议之间进行调解,该协议由Hono内部使用,也用于Hono的北向(面向应用程序)API。

Hono带有多个用于HTTP,MQTT,AMQP 1.0,LoRaWAN和(实验性)SigFox和CoAP的标准适配器。

如果设备使用的专有协议无法映射/适应标准适配器公开的端点,则有两种可能的方法可以使设备与Hono一起使用:


实现一个自定义协议适配器,该适配器公开实现设备协议并与Hono API集成的端点。如注释中已指出的,此过程在https://www.eclipse.org/hono/docs/dev-guide/custom_http_adapter/中进行了描述。
在现有标准适配器之一的前面实现协议代理。在您的情况下,代理将与设备说JT600并连接到AMQP 1.0适配器,从而来回转发数据。 https://github.com/eclipse/hono/issues/1478中描述了此概念。


第一种方法最适合于实现新适配器,该适配器有可能成为现成的Hono附带的标准适配器,例如适用于广泛使用的标准协议的适配器。它需要深入了解Hono的API才能正确实施。这种方法的优点是适配器可以成为Hono代码库的一部分。

第二种方法更适合您不想公开的专有协议,或者如果您需要/想要对代码本身进行更多控制。这种方法的最大优点是操作简便,因为您只需要与AMQP 1.0适配器面向终端的设备集成,而无需关心如何与所有其他Hono API集成。但是请注意,使用这种方法无法利用Hono的凭据API来存储用于验证设备的凭据。

关于java - 如何使用自定义HttpAdaptor将电子锁跟踪器(JT701)与Eclipse Hono集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58647031/

10-11 11:18