We are working with an OBD-II device that we have directly bought from the manufacturer and want to create a platform for it. 80K+ devices will be used per year.
The OBD-II device collects car diagnostic data and provides GPS location too. It uses TCP/IP and UDP as a communication protocol. We can't add anything inside the device anything except IP, PORT, and APN.
The device sends Hex data and we need to first convert it into readable form. Like this:
C00000009DAA020000000000010001001047325F48312E315F56322E31000300133836313434353033343533383130330004000A313135323030000200153147314A4335343434523732353233363900050005010006000B6265656C696E650007000B6265656C696E650008000500000900183839373031393931363031313930343036363466000A0017696E7465726E65742E6265656C696E652E7275C0
We are using Azure as a cloud platform for our platform creation. As Azure IoT Hub doesn't support TCP/IP directly and we need to use Azure IoT protocol gateway or any other solution. But Azure IoT protocol gateway is also not a choice as at some point it is not liable. We want the device autoregistration using DPS or any if possible. The platform will support multitenant.
We are thinking of a solution like creating a TCP socket server on Azure and then send data from there to Azure IoT Hub or any DB or perform any operation using the Azure Function app.
Is there a better solution for implementing this for creating our platform which leverages Azure services?
device sends Hex data