我们正在使用直接从制造商处购买的 OBD-II 设备,并希望为其创建一个平台。每年将使用 80K+ 台设备。
OBD-II 设备收集汽车诊断数据并提供 GPS 位置。它使用 TCP/IP 和 UDP 作为通信协议。除了 IP、PORT 和 APN 之外,我们不能在设备内部添加任何内容。
设备发送十六进制数据,我们需要先将其转换为可读形式。像这样:
C00000009DAA020000000000010001001047325F48312E315F56322E31000300133836313434353033343533383130330004000A313135323030000200153147314A4335343434523732353233363900050005010006000B6265656C696E650007000B6265656C696E650008000500000900183839373031393931363031313930343036363466000A0017696E7465726E65742E6265656C696E652E7275C0
我们使用 Azure 作为我们创建平台的云平台。由于 Azure IoT Hub 不直接支持 TCP/IP,我们需要使用 Azure IoT 协议网关或任何其他解决方案。但是 Azure IoT 协议网关也不是一种选择,因为在某些时候它不承担责任。我们希望设备自动注册使用 DPS 或任何可能的情况。该平台将支持多租户。
我们正在考虑一种解决方案,例如在 Azure 上创建 TCP 套接字服务器,然后将数据从那里发送到 Azure IoT 中心或任何 DB 或使用 Azure Function 应用程序执行任何操作。
是否有更好的解决方案来实现这一点,以创建我们利用 Azure 服务的平台?