Integration with the Azure IoT Hub
Our Choosing an Integration Strategy article covers the different ways to receive device data.
Some users wish to make use of the Azure IoT Hub to receive data.
The OEM Server supports this via the use of the HTTP Connector (option 3 in the integration strategy article)
Typical IoT Hub Requirements
These requirements can vary and the user must check on their side.
This is not an exhaustive list, just what we have accommodated in the past.
- Data sent in the form of an HTTP POST
- Application/json header
- Header containing the hub name.
- Per device authentication tokens
- Posting to specific URLs based upon the device serial.
The HTTP Connector in OEM Server
In order to achieve the requirements
In it's simplest form, DM simply sets the connector up to send a HTTP POST to a provide URL each time the device uploads data to OEM server - it will be forwarded on.
The server should respond with HTTP OK (200)
Additional fields, features can be configured to facilitate sending data to the IoT Hub including:
[SERIAL] - Device Serial
[CUSTOM1], [CUSTOM2], [CUSTOM3] - these values can be loaded in to the OEM Database against device serials via the OEM API (contact DM support for API documentation)
Multiple headers can be sent with the POST.
Thus for example data can be sent in the following format,
URL - https://yourhubURL/hubname/[SERIAL]
The serial of the specific device is sent in the URL.
Header1 - application/json
Header2 - Authorization:[CUSTOM1] (perhaps this is a per device authorisation token. The correct token will be retrieved and sent with the POST.
The IoT Hub Helper will allow the user to load in the per device tokens against each serial in OEM - so that this can be passed with the request to the IoT Hub.