The Internet of Things (IoT) is becoming an indispensable part of our daily lives: Where would you be without the ability to turn on the hot tub from your smartphone when you’re still five miles from home? Don’t ask.
Enabling functions like these—and others perhaps more critical—requires an ecosystem that consists of many components working seamlessly together. The IoT architecture (Figure 1) can be organized by function into several layers or tiers:
- The Device layer (also called the edge tier) typically contains three elements: Sensors measuring real-world data; actuators affecting changes to the real world; and transceivers transmitting sensor data and receiving actuator commands.
- The Dateway tier acts as a secure intermediary between these sensors and actuators and the Cloud. An IoT gateway is an integral part of the IoT ecosystem, handling communication with local sensors and remote users as well as a suite of other functions.
- The Cloud tier handles overall monitoring and management of the IoT ecosystem. It interfaces with multiple gateways and performs analytics on the collected and stored data.
- The Application layer is the interface to the end user, allowing access and control of IoT products and services.
Key Requirements In Gateway Design
Although each IoT is different, the primary role of the gateway is to aggregate the data from several relatively low-speed edge nodes and send it to the Cloud via a single high-speed link.
Aggregating the data may involve more than simply passing it upstream. If the local network uses a mesh topology such as ZigBee or LoRa, for example, the gateway may receive multiple copies of the same message. In this case, the gateway chooses which message is passed upstream and which downstream node will handle downstream communication with the edge device.
The gateway is often the logical place to incorporate IoT functions that were previously located in another tier. As the complexity of IoT functions increases, designers are moving processing functions closer to the sensor/device level, a development also known as “fog computing.” Partitioning IoT tasks in this way provides a quick response for time-critical functions and also reduces network loading by not sending local events upstream if they don’t contribute to data analytic functions.
The gateway device is the best location for this processing, since it’s often cheaper to consolidate the responses to several edge-nodes in a single module than to divide it up among multiple units. A large-scale IoT installation will contain tiers that are physically separate; however, in smaller-scale systems, several tiers may be combined into one unit. A gateway in a vending machine, for example, may include the user interface, inputs, outputs, and a wireless or wired interface. In this case, the IoT consists only of the Cloud plus the gateway.
Given the diversity of expectations, what are the hardware and software must-haves for an IoT gateway?
Here are some of the required features of a gateway hardware design:
- Core: IoT applications vary widely in the demands they place on the gateway core: The CPU and its associated modules. Some applications may require a high level of processing and necessitate a more powerful processor with floating-point capability; others may be highly security-conscious, demanding a CPU with enhanced hardware that meets Trusted Platform Module (TPM) specifications. Many vendors offer gateway-friendly microprocessors in families of compatible devices. The Intel Atom E3800 Processor, for example, is a popular IoT gateway core: The thirteen devices feature from one to eight cores; memory from 512kB to 2MB; and operating frequencies from 1.33GHz to 1.91GHz.
- Storage: Solid-state drives (SSDs), which use flash memory to store data, are popular choices; with no moving parts, they are robust, reliable, and offer higher performance compared to hard disk drives (HDDs). The Intel Solid State Drive E 6000p Series is a good example: it is available in 128GB and 256GB versions, features the standard PCIe Gen 3 interface, and offers AES 256-bit self-encryption for data protection.
- Connectivity: The hardware must support a variety of wired and wireless communication interfaces. The Internet connection to the Cloud is likely to be to a router via Wi-Fi or Ethernet, but the edge-node connectivity is highly application-specific, given the diversity of IoT use cases.
- Environmental Considerations: Selection of the hardware should also take the operating environment into account. Will the IoT gateway device be housed in an office, on the factory floor, or exposed to the elements in some way? What is the quality of the available power?
The software for an IoT gateway must carry out several tasks. Some of the key components are:
- The OS manages processor, memory, and other resources, and provides the applications with a level of abstraction from the underlying hardware. There are numerous choices designed for IoT gateways, including proprietary products such as Microsoft’s Windows IoT Enterprise or Windows IoT Core, and open-source offerings such as Ubuntu or Ubuntu Core, both derivatives of Linux.
- Communications and connectivity modules interface with edge tier nodes via such protocols as USB, RS-485, IEEE 802.11/b/g/n (WiFi), LoRa, or Bluetooth Low Energy (BLE).
- The network management block communicates with the Cloud using Ethernet, Wi-Fi, or cellular protocols.
- Security sits at the intersection between the edge tier and the public Internet, as the gateway is a prime target for mischief-makers. Any robust software stack must include multiple layers of security, including encrypted communication and device authentication. Secure designs usually involve close interaction between both hardware and software components.
Gateway Design Examples
IoT gateways come in all shapes and sizes to meet the needs of specific IoT applications. Here are a couple examples of gateway devices aimed at different markets—industrial IoT, as well as kiosks and signs:
Industrial IoT (IIoT) applications include automated manufacturing, HVAC, smart logistics, process control, and smart farming. With this broad range, IIoT gateways must be able to accommodate many old and new communication protocols, be capable of close-to-the-edge processing, feature flexible mounting options, and survive in the factory environment.
The Dell EM3001 has features aimed at IIoT applications. It is based around Intel’s dual-core Atom E3805 processor with 1MB of RAM, running at 1.33GHz. A member of the Edge Gateway 3000 family, the EM3001 is a fanless design that accommodates a variety of operating systems, including Ubuntu, Windows Embedded Standard, or Intel Wind River Linux.
The EM3001 includes wireless standards such as IEEE 802.11b/g/n (Wi-Fi), cellular, and BLE, plus wired protocols such as USB and 10/100 Ethernet with Power-Over-Ethernet (PoE) functionality; it also accommodates legacy industrial standards such as RS-232, RS-422, and RS-485. For increased flexibility, the EM3001 includes a general-purpose input/output (GPIO) port. The port features eight channels that can be independently programmed for logic-level digital I/O, Digital-to-Analog (DAC), or Analog-to-Digital (ADC) functions. It also includes integrated accelerometer; pressure, temperature, and humidity sensors, plus a GPS. The EM3001 is designed for operation in typical mobile and manufacturing environments with low power consumption, an IP50 dust ingress rating, an industrial-grade micro-SD card, and TPM 2.0 security protection.
Kiosks—also called Point-Of-Sale (POS) terminals—are examples of IoT thin-client applications. These require a gateway that’s designed specifically to work closely with a Cloud-based server to accomplish the given task. A POS terminal, for example, might include a printer, a display, and Human-Machine Interface (HMI) functions, such as a microphone, loudspeaker, or touchscreen.
Intel offers the NUC (Next Unit Computing) family of devices for thin-client applications. The Intel NUC Kit NUC5CPYH, for example, combines edge-node functions and the network connection to the Cloud into a single unit.
Since the thin-client application relies heavily on the remote server for any computationally intensive processing, the gateway can use a less-powerful (and lower-cost) core. The NUC processor uses a member of the Intel Celeron family, the dual-core N3050: This device contains 2MB of cache memory and runs at 1.6GHz. As befits the application, the NUC gateway also includes Intel HD graphics and interfaces for VGA, HDMI, or eDP touch-panel displays; there’s also audio capability with a headphone/microphone jack and an internal loudspeaker.
The tight coupling with the Cloud increases network loading, so the NUC features a high-speed Gigabit Ethernet LAN connection. Unlike the IIoT gateway discussed earlier, a typical thin-client does not need a wide variety of I/O connections or interfaces. Even so, the NUC board does include a PCIe slot, plus an available header that supports custom add-on board designs by providing access to USB, SMBus, and a selection of power and ground lines.
The IoT Gateway is a key link in the IoT chain. Its core function is to transmit information between devices and the Cloud: Information in one direction and commands in the other. Fulfilling this function imposes certain requirements on the hardware and software, but in many real-world applications, the gateway is pressed into taking on some of the functions of the other IoT layers. The resulting designs have quite different feature sets, as shown by the discussion in this blog.
Article Courtesy: Mouser Electronics