Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OEM Server with TCP to IoT Hub #137

Open
ravitol opened this issue Apr 7, 2019 · 3 comments
Open

OEM Server with TCP to IoT Hub #137

ravitol opened this issue Apr 7, 2019 · 3 comments

Comments

@ravitol
Copy link

ravitol commented Apr 7, 2019

Hello guys
I have IoT Devices that connect to a proprietary OEM Server and I need to get the telemetry data into IoT hub

The OEM server has the ability to send open a TCP socket connection per device and send the raw data to another server. Is using the azure IoT protocol gateway my best option to parse the raw data and send this over IoT hub or is there another pattern that I should consider.

If this is my best option where should i start to make changes

Appreciate the help

Ravi

@vivekbahl
Copy link

Hi Ravi,
I find Protocol Gateway, do provide a framework for interacting with IoT Hub. but you may try other options here - (https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-sdks). You can opt for creating IoT Edge modules, and your OEM server may send data to these modules. You may decide to process the input data here or send it across to IoT Hub, to let backend consumers read from IoT Hub draw inferences out of it.

Hope this helps,
Vivek Bahl

@ravitol
Copy link
Author

ravitol commented Apr 15, 2019 via email

@vivekbahl2021
Copy link

Hi Ravi,

You are right the PG provides a solid pattern, that can be extended. Beneath it uses DotNetty and its MQTT encoder/decoders, and Devices.Client for communication with IoT hub. Also, DotNetty provides Handlers for TLS(https://github.com/Azure/DotNetty/tree/dev/src/DotNetty.Handlers/Tls). You may go through the samples provided (https://github.com/Azure/DotNetty/tree/dev/examples).

You can use the Service Fabric Stateless service host for deploying the PG instance. It allows using ETW for logging that you can easily extend, with Eventhub as a destination for the logs (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-aggregation-wad). The Stateless service instances also provide an easy path for scaling, upon need (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-scaling).

Thanks,
Vivek Bahl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants