0

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?

Lucifer
  • 346
  • 1
  • 12

1 Answers1

2

If you are bridging into Azure from devices and not able to run the IoT Device Client on the device you might be better off not provisioning through IoT Hub at all.

If you trust the data stream or have no reason not to trust it, maybe because your proprietary data stream is security enough (via obscurity) then you could skip device management altogether.

Most of us who pull these custom solutions off don't like to share the specifics online, but also they are often achieved in a specific way that is less useful to the community. What you probably need to do is engage a consultant directly for guidance or architecture support, someone who can provide a feasibility study of the options that are available

A single virtual PC running in Azure doesn't sound like a viable solution if you want to manage many thousands of devices, make sure your solution is ready to scale before you start. You could use load balancing but it might be simpler and more cost effective to run as web app or functions.

Review the why you want to use IoT Hub, what features and aspects of it you will actually utilise as you can still utilise Azure EventHub and all the streaming goodness without IoT Hub which can be a bottleneck if it is not being used as the Frontline cloud injestion.

If you setup a farm of WebApps to receive the requests and forward them into IoT/Event Hub then that could work but the specific solution is highly specific to your needs, it may be hard to support a large number of concurrently connected devices like IoT Hub can.

A protocol gateway is usually the optimal solution for such a bridge, depending on your hardware design and development stage it could be hardwired into your current device or easily bolted on. I would strongly recommend you start there, we used RPi compute as a bridge but could have done something similar with an ESPy, or many off the shelf products these days.

Please post about your issues with a protocol gateway, that would simplify and standardize the rest of the solution in a way that you would get more useful community support from sites like this.

Chris Schaller
  • 221
  • 2
  • 6