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:
Figure 1: An IoT ecosystem can be viewed as a series of layers, or tiers, that together measure, distribute, analyze, and take action on real-world data. (Source: Ubuntu.com )
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:
The software for an IoT gateway must carry out several tasks. Some of the key components are:
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.
Figure 2: Based on Intel’s dual-core Atom E3805 processor, the Dell EM3001 is suitable for a wide range of industrial applications such as this automated automobile assembly line. (Source: Dell)
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.
Figure 3: The Intel NUC (Next Unit Computing) device is a single-board computer that can make an excellent IoT gateway to connect edge-node devices and the Cloud. (Source: Intel)
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.
As a freelance technical writer, Paul Pickering has written on a wide range of topics including: semiconductor components & technology, passives, packaging, power electronic systems, automotive electronics, IoT, embedded software, EMC, and alternative energy. Paul has over 35 years of engineering and marketing experience in the electronics industry, including time spent in automotive electronics, precision analog, power semiconductors, embedded systems, logic devices, flight simulation and robotics. He has hands-on experience in both digital and analog circuit design, embedded software, and Web technologies. Originally from the North-East of England, he has lived and worked in Europe, the US, and Japan. He has a B.Sc. (Hons) in Physics & Electronics from Royal Holloway College, University of London, and has done graduate work at Tulsa University.