An Internet of Things (IoT) gateway is a physical device or software application that serves as the point of connection between the IoT application server and end devices. All data moving to and from the IoT application server goes through the IoT Gateway. IoT Gateway are the most important part of your IoT infrastructure so choosing a powerful and appropriate gateway is important for the success of your project.
Architecture of an IOT gateway
Hardware Architecture
You can choose from the following two IoT architecture:
- Each end device has inbuilt IoT Gateway functionality – example an AMR energy meter. This approach is useful when the device is self contained and does not require any external sensors or devices to be connected to it. It requires a custom device to be developed and only makes sense when volumes are high.
- Each end device connect to a central IoT Gateway – example multiple energy meter connecting via a RS485 bus to a central IoT Gateway. This approach is useful when you need to integrate external sensors and devices. You can leverage off the shelf components, reducing both time and cost of the project.
Embedded Software Architecture
Important IOT gateway features
Memory for Data Logging
IoT relies on the internet as the main communication channel between the IoT devices and the IoT application server. The IoT edge application running on the IoT Gateway would usually be acquiring data from end devices and pushing it to the IoT application server. In the case when internet on the IoT Gateway is down it should have enough memory to store at least a few days of data. May be even more in case it is difficult to reach sites or with sites with poor network connectivity. This will prevent any data loss in absence of internet to upload it to the server.
HW watchdog external to the Microcontroller
This feature will save you many site visits when you’re IoT Gateway, hangs or becomes unresponsive. Most microcontrollers have an internal watchdog but this would only restart the microcontroller in case of edge application hanging. In case the microcontroller itself hangs, the external watchdog will still do the job of restarting the microcontroller.
LED Indications
LED indications are good for fast troubleshooting on site. This is usually very useful feature for your field team for troubleshooting issues in the field.
RTC (Real Time Clock)
Most IoT application rely on data being accurately stamped. Most IoT Gateways that do not have an RTC clock rely on the network time to timestamp the data. This approach has a serious problem in case the device reboots and there is no network to update the current time. In this case, the data would be time-stamped wrongly. An RTC allows accurate time stamping of data even if a reboot occurs in absence of network time source.
Remote Diagnostics
An IoT Gateway that sends diagnostics data to the application server helps you identify issues more effectively. This can reduce a lot of time and money spent on troubleshooting issues.
Open Application Environment
The IoT Gateway application framework should be open to developers to develop an application on top of it so that the IoT Gateway does not lock you to a cloud or IoT application vendor. You can anytime replace the application with any other edge application to support the new IoT application service provider.
TPM for certificate storage and identity management
If you have devices that are installed in an easily accessible location, you run a chance of device credentials stored directly on the device (in the application code or a configuration file) being stolen. Devices equipped with TPM store device credentials in a dedicated TPM device. Credentials stored in TPM cannot be read or duplicated even if someone has physical access to the device.
TLS, SSL and Client side X509 Certificate Support
The TCP stack used in the IoT Gateway should support TLS and client-side certificate to secure connection between the IoT Gateway and the IoT application server.
These are some of the important IOT features that you should definitely consider before you select an IOT gateway that best suits your needs. I hope this article helped you select an appropriate IOT gateway.