Internet of Things
The Internet of Things (IoT) means connecting all types of imaginable objects to the Internet (sensors devices, cars, wearables, robots, drones,…), enabling the development of new applications based on the interaction between the physical and virtual worlds. There exist many use cases of IoT, among them those preceded by the qualifier Smart: Smart Cities, Smart Building, Smart Home, Smart Industry, Smart Retail, Smart Farming, …
There are many components involved in an end-to-end IoT scenario: the IoT devices, the communication infrastructure (including the last mile, which usually involves wireless links), and the collection of servers that store and process the data (relying on big data technologies if necessary) on which the IoT applications are built.
Despite the efforts of standards developing organization (SDO), there is no a commonly agreed IoT architecture. In part, this is due to the many technological alternatives available (either proprietary or standardized) and the large number of actors present into the IoT arena (network operators, software companies, cloud service providers, …)
-
IoT device prototyping. Interaction between IoT objects and the physical world (including people) is performed by means of sensors and/or actuators. Sensors translates physical magnitudes (noise, light, temperature, …) into digital data which are partially processed by the IoT device through a microcontroller or microprocessor. In the last years, low cost hardware platforms such as Arduino and Raspberry Pi have gained attraction for prototyping IoT devices. They provide an excellent environment for performing test beds and proof of concept trials.
-
Communication technologies. A key aspect in IoT is the last mile solutions for connecting the devices, for which there exist many alternatives. Although sometimes it is possible to use fixed links (e.g. Ethernet), in most occasions it is necessary to rely on wireless technologies such as WiFi, Bluetooth, or mobile communication networks (2G/3G/4G).The solution depends on a number of factors such as physical location of the device, the distance to the network access point, the bandwidth required, etc. Thus a broad range of solutions has been proposed, either proprietary (e.g. Sigfox, LoRa) or standardized (6LowPAN, eMTC, NB-IoT, EC-GSM-IoT). It is worth to mention the ongoing specifications for IoT communications in 5G systems, where two different user cases have been identified: mMTC (massive MTC) and uRLLC (Ultra-Reliable Low latency Communications).
-
Storage and processing architectures. For storing and processing IoT data, there exists a number of solutions. On the one hand, large companies are proposing is own proprietary architectures, usually offered as services on the cloud. On the other hand, there are open software initiatives (specially those under the Apache Software Foundation) which are gaining high acceptance. This include Hadoop, Spark, Scala and Kafka, just for mention some of them (see https://projects.apache.org).
-
Data analytics and visualization. Most of the times, IoT applications require extracting valuable information of the collected data by using advanced analytics techniques (data mining, machine learning, data visualization). This information may be used as the basis for improving a given service (e.g. to adjust the scheduling of a bus or metro line, restrict the traffic due to pollution levels detected, etc.), or even to automatically perform an action on the IoT devices (e.g. a thermostat controlling the HAVC (Heat, Air Ventilation and Cooling) system.
-
Security. Taking into account that IoT devices interact with the physical environment, security is a fundamental aspect to consider. This is especially important when IoT devices are controlling public services and critical infrastructure (Smart Grid, gas and water networks, safety cameras, etc.) There have been a number of recent incidents that probe that IoT deployments are not as secure as expected. Thus, the adequate mechanisms for preventing unauthorized access to IoT devices, supplanting them for injecting fake data into the system, or compromising data privacy, must be seriously considered.
-
Operation & Management. Another important aspect is the capabilities for remote managing of IoT devices. In many practical situations, these devices are physically dispersed and located in places of difficult access (e.g. on top of a light post, in the façade of a building, buried under a parking lot, ..). Thus, the possibility of resetting remotely the device, or perform a software update, is highly desirable.