0
votes

I am trying to log input from multiple GPS devices and was told by an Azure official that the best way to do it is by using Azure IoT hub.

The thing is, IoT Hub supports certain protocols (AMQP/MQTT/HTTP). Do I necessarily need a GPS device that supports those protocols? As far as I can find, most of them support their own protocol over plain TCP/UDP. If there is nothing I can do - I would like to know a standard brand that supports those protocols, because I am yet to find one.

The other thing is security, IoT Hub allows different shared access policy. I have no idea how can I configure a simple GPS tracker to hold that token. If you have any documentation on the subject I would like to see some, because I cannot find anything.

2

2 Answers

1
votes

In this scenario, you need a protocol gateway between your IoT Hub endpoint and your GPS devices. The protocol gateway translates the protocol used by your devices to a protocol supported by IoT Hub. The Azure IoT Protocol Gateway provides this functionality. It supports hosting the gateway in the cloud or on-premises (as a service fabric cluster).

As for the security aspect of your question, a field/protocol gateway can be either transparent or opaque.

A transparent gateway is one where the device's identity (ie: GPS device) is known by IoT Hub. As you pointed out, this means you need a way to update the device with a token that IoT Hub can use to authenticate and authorize the device. The protocol gateway simply performs protocol transation and passes the identity of the device through.

An opaque gateway is one where the device's identity is not known or managed by IoT Hub. In this scenario, only the identity of the gateway is known by IoT Hub. The token is on the gateway and is used to authenticate and autorize the gateway. To provide authorization capabilities for the GPS devices behind the gateway, you would have to add some code to your backend solution (behind IoT Hub) to do that and your protocol gateway would also have to include a device identifier in the messages to/from IoT Hub. So, the protocol gateway performs protocol translation and some additional logic (message hydration) to include device specific identity for authorization purposes. This is the path you will need to take if you cannot load/update the token to the GPS device.

0
votes

The simplest way to do this is to use a GPS that is read by a serial connection and then a device to read that data and package it up in one of the supported protocols.

The device could be something as simple as an Arduino with a Ethernet/WiFi interface.