Architecting an Internet-of-Things (IoT)
The Internet of Things (IoT) is one of the major technological developments in recent years. IoT helps to connect people to people, people to physical objects and physical objects to other physical objects. Given the explosion of the number of “things” that need to connect to the internet (and perform complex functions); IoT architecture requires a three-tier approach, utilizing a “gateway”. (This is in contrast to a two-tier approach which is a direct connection to the internet.)
So why do we need this “Middleman”? An IoT gateway performs important functions:•It aggregates and/or processes sensor data that is not valuable to the upstream system in raw form
•Translates between sensor protocols to order to connect to upstream brokers, HTTPS, MQTT, COAP etc.…
•It connects sensors and controllers that use very low energy, distributing more complex connectivity to the gateway
•The gateway may enforce stricter security mechanisms than the endpoint can implement, a distributed security model
•Management, to provision, update and control access
•Local storage and analysis of sensor data
•The gateway allows communication back to the end point sensor from the system, communication that might not be available from a nonlocal gateway.
Gateways can operate as platforms for application code that processes data and becomes an intelligent part of a device-enabled system. Gateways are also required to manage and control complex environments due to:•Numerous and differing protocols, (such as Wi-Fi, Bluetooth, serial ports, Ethernet, MQTT, ZigBee )
•Different connectivity models
•Different control environments, management and or security models
•The dissimilarity of IoT systems
Choosing a gateway early in development is crucial. Some of the considerations in choosing a gateway include provisioning, security, management, and intermediate data processing /aggregation. IoT is not just getting information to the system, but also sending a return message to the sensor (handshakes, control messages, status messages, firmware updates etc.…) Therefore an important consideration in gateway choice is the ability for the sensor or endpoint to receive information back from the system/cloud. What gateways solutions currently exist?
Local Gateway solutions:•Wi-Fi to Ethernet
•BLE, 802.15.4, Thread, ZigBee to Ethernet
•Custom proprietary gateways
•Smart Phone BLE to Cellular or Wi-Fi
Non Local gateway solutions:•Cellular-based gateways: LTE, LTE-M, 3G/4G, CAT-M1, CAT-NB1
•LPWAN: SigFox, LORA, Weightless
Choosing the gateway solution has a large impact on the deployment, provisioning, and maintenance of IoT systems. Some of the challenges of choosing the gateway are the cost, complexities of installation and the scalability of sensor endpoint infrastructure. In addition, the management of multiple gateway locations, carriers, sim cards, and different radio frequencies for different locations must be considered. Global deployment may require different gateways in different locations.