- We have around 9000 devices in field.
- This devices are at groups of 1-100 at customers on prem.
- The devices are not capable of azure-iot-sdk integration.
- The devices have a webservice API.
- The devices should appear as first-class devices in azure.
We like the iot edge module provisiong feature. We want to evaluate if modules could gather data from the devices and send them to IoTHub for further processing.
We found this feature overview of IoTEdge: https://docs.microsoft.com/de-de/azure/iot-edge/iot-edge-as-gateway
Pattern Transparent
and Protocol translation
are out of scope due to above facts. Pattern Identity translation
seems to fit.
We want a 1 to 1 relationship between module and real device.
Therefor we assume the following POC with the hope of clarification and best practise:
- we implement a iot edge module (azure-iot-sdk-java)
- we open module connection to iotedge and suscribe to desired properties
- the module identity gets as desired property the ip of the real device and the azure device identitiy connection string.
- we open device connection to iotedge by adding
GatewayHostName
to the device connection string as described here https://docs.microsoft.com/de-de/azure/iot-edge/iot-edge-as-gateway - we request data from the real device and send them via azure device identity.
This somewho mixes up two patterns and seems kind of odd to us. Can you point out best practises and risks with this approach?