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?

6
  • what does this mean exactly? ... device sends Hex data – jsotola Jul 19 at 14:17
  • Someone else asked about this once, but wasnt clear enough. iot.stackexchange.com/questions/5721/… Perhaps you can be clearer and get help. Which among these is your question ? : Knowing the manufacturer's registration protocol, connecting 80k devices on TCP, how to make a multitenant platform on Azure, how to make a website or phone App with Azure. If its just the traffic, have you checked out Azure Load Balancer already ? – kalyanswaroop Jul 19 at 14:34
  • For multitenancy questions, start with iot.stackexchange.com/questions/4014/… – kalyanswaroop Jul 19 at 14:36
  • @kalyanswaroop None of the above is my question. My question is simple " How to implement these devices with the Azure?". I have said my one solution which is to create a virtual server on Azure and create a TCP socket listener in it and connect those devices to it. I want other solutions too except this said one and if possible a better one. – Lucifer Jul 19 at 15:50
  • @jsotola added the hex data example. – Lucifer Jul 19 at 15:53
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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.