Research challenges in measurements for Internet of Things systems ACTA IMEKO ISSN: 2221-870X December 2018, Volume 7, Number 4, 82 - 94 ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 82 Research challenges in measurements for Internet of Things systems Eulalia Balestrieri1, Luca De Vito1, Francesco Lamonaca1, Francesco Picariello1, Sergio Rapuano1, Ioan Tudosa1 1 Department of Engineering, University of Sannio, 82100 Benevento, Italy Section: RESEARCH PAPER Keywords: Internet of Things; distributed measurement; compressed sensing; power measurement; Mobile devices; Localization; Synchronization Citation: Eulalia Balestrieri, Luca De Vito, Francesco Lamonaca, Francesco Picariello, Sergio Rapuano, Ioan Tudosa, Research challenges in measurements for Internet of Things systems, Acta IMEKO, vol. 7, no. 4, article 14, December 2018, identifier: IMEKO-ACTA-07 (2018)-04-14 Editor: Dusan Agrez, University of Ljubljana, Slovenia Received October 26, 2018; In final form November 28, 2018; Published December 2018 Copyright: © 2018 IMEKO. This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited Corresponding author: Francesco Picariello, e-mail: fpicariello@unisannio.it 1. INTRODUCTION “The Internet of Things (IoT) extends the idea of interconnecting computers to a plethora of different devices, collectively referred to as smart devices [1].” These devices are connected to physical items, usually called “things,” such as home appliances, vehicles, buildings, and wearable objects. The IoT paradigm is applied in several applications, including transportation and industrial sectors [2-8], allowing users to monitor and manage complex systems in a simple way. However, IoT represents a technological challenge in several respects, specifically hardware [9] and telecommunication aspects [2, 10]. The most common IoT systems aim to monitor and manage physical quantities related to the “things” to which they are applied. Thus, the measurement of these physical quantities plays a crucial role from the design to the test phases of an entire IoT system. First, for designing an IoT system, the physical quantities that require monitoring must be defined. Then, the data acquisition system of each IoT node is designed according to the defined quantities. The acquired data must be shared over the Internet with the following constraints: (i) minimization of the amount of the exchanged data, while maintaining the entirety of the information, (ii) reduction of the time delay required for sharing the data over the network, and (iii) an increase in the lifetime of the nodes. To comply with these constraints, it is crucial to measure (i) the power consumption of each node, which depends on the hardware and software implementation of the whole IoT system, and (ii) the time delay that occurs due to the data processing and the network. Furthermore, in the case of mobile applications, it is crucial to measure the position of the devices such that it is possible to associate the position where the measurements are taken with the measurement information. Lastly, the synchronization of the IoT nodes must be guaranteed in order to allow the implementation of time division multiple access (TDMA) communication protocols and to complement the measurement information with the time instant at which it has been acquired. The aim of this paper is to present and discuss the key measurement aspects for the design of an IoT system. In particular, the generic design guidelines for an IoT system are summarized according to two important requirements: the power supply capabilities of the infrastructure and the time delay constraints of the application. Several research contributions in the measurement field are reviewed, proposing innovative solutions that attempt to satisfy the abovementioned requirements. From an analysis of the scientific literature in the measurement field, it is clear that the main research trends are ABSTRACT In this paper, an overview of the research challenges in measurements for the design of Internet of Things (IoT) systems is proposed. To this end, a general architecture of an IoT system is presented, which is specialized according to two key requirements: the power supply capabilities of the infrastructure and the time delay constraints of the application. Guidelines for the design of an IoT system are summarized, and the measurement needs are highlighted. A review of the research contributions is given concerning three main measurement topics: (i) energy-aware data acquisition systems, (ii) localization of mobile IoT nodes, and (iii) precise synchronization protocols. mailto:fpicariello@unisannio.it ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 83 focused on (i) energy-aware data acquisition systems, (ii) localization of mobile IoT nodes, and (iii) precise synchronization protocols. In this paper, an overview of these research contributions is given. The paper is organized as follows. In Section 2, the general architecture of an IoT system is presented and some examples of IoT systems are reported. Section 3 presents four IoT system typologies that are defined on the basis of the power supply capabilities of the system components and the time delay constraints imposed by the application. Furthermore, in Section 3, design guidelines for an IoT system are summarized. A brief review on the research contributions in the measurement field concerning the implementation of energy-aware data acquisition systems is presented in Section 4. Section 5 presents an overview of the research contributions concerning the implementation measurement systems for accurate localization of mobile IoT nodes. Section 6 reports the classification of the synchronization protocols available in the literature on IoT systems. The final section concludes the paper. 2. GENERAL ARCHITECTURE OF AN IoT SYSTEM An IoT system allows for digitizing the physical quantities related to a huge number of physical objects. Thus, it converts the real world into a virtual world, allowing for the sharing of the object capabilities over the Internet. To this end, an IoT system must comply with several key requirements [11], which can be classified as (i) resource control, (ii) energy awareness, (iii) quality of service (QoS), (iv) interoperability, (v) interference management, and (vi) security. Resource control is related to the fact that all IoT nodes must be remotely accessible and configurable. Furthermore, as an IoT system is composed of a huge number of nodes, it is necessary to manage the availability of redundant resources. Usually, IoT nodes are powered by batteries. Thus, the design of an IoT system from the network level to the hardware level (i.e., sensors, actuators, microcontrollers) must minimize the power consumption of the single device and of the overall system. QoS in IoT is ensured by assigning priorities to services and data [11]. For example, services that require real-time processing or early warning must have a higher priority than other services. Moreover, a service must provide only relevant information to the users by processing and fusing the large overall amount of data that is provided by all IoT nodes. An important feature of an IoT system is the interoperability of devices made by several different manufacturers. This feature requires adaptation between the networking protocols of the different devices. Another important characteristic of an IoT system is related to interference management. The huge number of devices connected to the Internet by means of multi-radio transceivers requires the design of communication protocols for minimizing the effect of electromagnetic interference among neighboring nodes. Moreover, the level of security related to the exchanged data and to the access to each IoT node is an essential requirement. Finally, to guarantee the system’s reliability, it is important to implement procedures that automatically recognize the faults and failures of the entire IoT system. The design guidelines of an IoT system from the perspective of hardware, software, and communication must consider the abovementioned requirements. Furthermore, once the system has been designed and implemented, it is necessary to verify compliance with the design requirements. To this end, measurement methods must be provided for measuring the parameters that quantify the performance of an IoT system following such requirements. In the literature on this topic, several works have focused on the implementation of IoT systems, and several architectures have been proposed [12]. All these systems have been designed in order to comply with at least two or three of the abovementioned requirements. Furthermore, they have several blocks in common. Such similarities allow us to draw a general scheme of an IoT system. According to [2], the general architecture of an IoT system consists of the following layers (Figure 1): (i) the physical layer, (ii) the data exchange layer, (iii) the information integration layer, and (iv) the application service layer. The physical layer is composed of sensor and actuator nodes that allow the monitoring and the control of physical quantities related to the physical objects. Furthermore, the sensor and actuator nodes communicate with each other and share data over the Internet. In general, a sensor and actuator node consists of the following components: (i) a microcontroller; (ii) smart sensors that communicate the measurement data to the microcontroller via digital interfaces (such as the inter-integrated circuit [I2C], the serial peripheral interface [SPI], and the universal asynchronous receiver-transmitter [UART]); (iii) actuators that consist of transducers (such as motors, relays, thermal resistors, and speakers) and electronic circuitry used to drive them by means of commands received from the microcontroller; (iv) a power supply system that, according to the application requirements, is connected directly to the electrical network or consists of batteries with a harvesting system; and (v) wireless and/or wired transceivers, which enable communication between the nodes. The data exchange layer aims to provide Internet connection capabilities to the sensor and actuator nodes. In particular, data Figure 1. The general architecture of an IoT system [2]. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 84 is collected from the sensor nodes and is shared over the Internet. Commands can be sent to the actuators. According to the network topology, the data exchange layer is implemented in two ways: (i) concentrator nodes communicate with the sensor and actuator nodes as well as with the Internet gateways, which provide Internet capabilities to all the devices in the physical layer; or (ii) the sensor and actuator nodes have an Internet connection and can interact with the cloud server. In particular, the first network topology is used when it is needed to minimize the power consumption of the sensor and actuator nodes, especially when they are powered by batteries. The information integration layer is also known as the middleware layer. It stores, analyzes, and processes the huge amount of data that comes from the data exchange layer. It employs several technologies, including databases, cloud computing, and big data processing modules. This layer creates an abstraction of the physical layer by processing the large amount of data given by the data exchange layer and by providing the compressed and more intuitive information that is usually required by the end user. According to [13], the features of an information integration layer are: (i) interoperability and application programming interface; (ii) scalability; and (iii) the security and privacy protection. The first feature facilitates collaboration and information exchange between heterogeneous nodes. In particular, two types of interoperability should be assured: semantic and syntactic. Semantic interoperability deals with abstraction of the meaning of the data within a particular domain according to the services that must be provided to the end user. Syntactic interoperability ensures that the devices can communicate the data to each other even if the shared portions of data have different formats, structures, and encodings. The information integration layer must manage the system scalability by automatically making the required changes when the infrastructure scales (e.g., when a new IoT node is added to the system). Furthermore, the integration layer must protect the shared data by means of encryption, and it must limit access only to specific users by means of reliable user authentication methods. The application service layer consists of digital services that allow the management of the entire IoT system or parts of it by using the abstraction provided by the integration layer. In par- ticular, end users can interact with the IoT nodes by visualizing the integrated information and by sending operative commands that are implemented in the information integration layer. The proposed general architecture, depicted in Figure 1Figure 1. The general architecture of an IoT system [2]., can be used to model an IoT system, and in the following section, two examples of an IoT system implementing such architecture are presented and analyzed. In [14], the authors implemented an IoT-based system for the real-time monitoring of a decentralized photovoltaic plant. As depicted in Figure 2, the physical layer is composed by an analog/digital converter embedded system (ADCES) that consists of a PIC18F microcontroller that includes a native USB interface as well as analog voltage, current, temperature, and solar irradiance sensors. The ADCES acquires the data provided by the sensors and sends it via USB to the embedded Linux system (ELS). Furthermore, the ELS acquires the measurements provided by the ambient temperature and relative humidity digital sensors and combines them with the measurements of the ADCES. All the data is shared over the Internet thanks to the Wi-Fi interface of the ELS, which is connected to an Internet gateway. The information integration layer is implemented on a cloud server, where the data is stored directly on a database. The application service layer, where the user can interact with the Cloud server, is implemented by means of a web application. In the beginning, the web application requires user authentication. Thereafter, it shows the instantaneous measured values provided by the sensor nodes and the stored historical data with a time scale of one minute. Figure 2. The general architecture of an IoT-based system for real-time monitoring of a decentralized photovoltaic plant. Figure 3. The general architecture of an IoT system applied to guardrails installed along the road infrastructure. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 85 Another example of the IoT system is reported in [15]. The study in [15] proposes an IoT system applied to the guardrails installed along the road infrastructure (Figure 3). The physical layer consists of two types of sensor and actuator nodes: (i) the traffic safety nodes and (ii) the environment monitoring nodes. The first one contains (i) a speed measurement system, which measures the vehicle speed; (ii) a proximity measurement system, which detects when a vehicle is going to be dangerously close to the guardrail respect to a defined safety distance; (iii) an impact detection system, revealing a crash of a vehicle with the guardrail; and (iv) an alert system, consisting of a light and acoustic system, which are activated in the case of an accident, the dangerous approach of a vehicle to the guardrail, and when a remote command is received. The environment monitoring nodes provide (i) PM2.5, PM10, CO2, NO2, and SO2 concentration measurements; (ii) ambient temperature and relative humidity measurements; and (iii) information related to the conditions of the road surface. In addition to the sensors, both types of the nodes embed (i) the IRIS mote platform, which includes an IEEE 802.15.4 radio transceiver and the ATmega1281 microcontroller; and (ii) a power management system that is connected to an external battery, charged by a photovoltaic panel. The data exchange layer consists of a concentrator that collects the data provided by the sensor and actuator nodes and sends them to a server through an Internet key. Furthermore, each concentrator manages a mesh network composed by the sensor and actuator nodes. For the communication, the IPv6 over a low-power wireless personal area network (6LoWPAN) protocol is adopted. The integration information layer is implemented on the server, which provides (i) information related to the traffic conditions by estimating the average speed on the road section according to the number of vehicles crossing the road and each vehicle speed; (ii) information related to the surface road conditions; (iii) the concentration measurements of the considered pollutants and, if they are higher than the maximum allowed value, an alert semantic command is stored on the database; (vi) the entities of the vehicle-guardrail impacts that eventually occurred; and (v) a command that can be send to each node to remotely activate the alert system. The application service layer is implemented using a web application that shows to the user the information provided by the previous layer on a map and allows them to interact with each sensor and actuator node for activating the alert system. 3. DESIGN GUIDELINES FOR IoT SYSTEMS Of course, the specific design of an IoT-based system depends on the type of application; however, according to the general architecture presented in the previous section, it is possible to define some common design guidelines. In this section, the key steps required for the design of each IoT layer are described. Furthermore, simple guidelines for the design of an IoT system are summarized. In order to define the guidelines for designing an IoT system, it is necessary to look at some parameters related to the target application. In particular, as reported in Figure 4, IoT systems can be classified according to (i) the maximum time delay required for receiving and transmitting the information from and to the sensor/actuator nodes; and (ii) the power supply capabilities of the infrastructure or, in general, of the objects where the IoT nodes will be installed. By combining these parameters, four typologies of IoT systems can be identified: (i) battery-powered and real-time IoT systems; (ii) battery-powered IoT systems; (iii) network-powered and real-time IoT systems, and (iv) network-powered IoT systems. In particular, the first couple of typologies are applied in the case of applications in which the power network is unavailable or in the case that the IoT system is composed of mobile devices and the time delay required for transmitting and receiving data from the sensor and actuator nodes by the end user is constrained. An example of this typology is reported in [16]. Such a system consists of sensor and actuator nodes placed along the road infrastructure on the guardrails. Due to power network limitations, the power system consists of a photovoltaic panel with a battery [17]. Furthermore, due to the fact that the system aims to send warnings to the user and to the other sensor/actuator nodes related to the impacts between the vehicles and the guardrails, the required time delay of the data packets must be less than 110 ms [18]. A battery-powered IoT system is usually applied for monitoring physical quantities (temperature, humidity, pollutant concentration, etc.) that have a low variation in time and in environments in which the power network is not available. For example, the researchers in [19] propose an IoT system to monitor temperature, humidity, and CO2 for implementing an air quality and weather monitoring system in a smart city. In that case, the time required for sending the temperature, humidity, and CO2 concentration measurements is around 40 s, and the power supply system consists only of a battery. The adopted communication interface is the Wi-Fi connection. The researchers in that study implemented an algorithm for each sensor node such that it goes into several sleep states for reducing its power consumption. In this way, they increase the lifetime of the battery. Applications that require the management of early warnings and the time at which the infrastructure that is intended to be monitored has a power network connection available fall within the third typology. As reported in [2], this is a smart energy application. In particular, in the case of the monitoring and management of the power grid, the IoT system consists of several phasor measurement units (PMUs) placed along the network itself, which measures voltages and currents simultaneously. If the smart energy system is aiming to achieve protection, it requires the implementation of early warning mechanisms from the data exchange layer up to the application service layer. In this case, the P-class PMUs are adopted Figure 4. The four proposed IoT system typologies. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 86 according to the IEEE Std C37.118.1-2011, and a network- powered and real-time IoT system is needed. For applications in which the power network is available and no time delay constraints are imposed, a simple network- powered IoT system can be used. This is the case in industrial applications, where it is necessary to extend the capabilities of an already available network (e.g., based on RS-485) of sensors and actuators with IoT. For example, in [20], the researchers propose a multi-channel RS-485 IoT gateway, consisting of an embedded device with an ethernet interface and 32 RS-485 ports. Another example of a network-powered IoT system is reported in [21]. The researcher proposes therein an IoT system for sharing the data provided by biomedical devices, such as nuclear medicine images, MRI images, and digitized x-rays. For example, the access point communicates with medical devices, and it is connected via ethernet to the Internet. All the collected data is shared on a medical data cloud service. Considering the power supply capabilities of the infrastructure where the IoT nodes will be installed and the time delay constraints, in the following section, some guidelines for the design of an IoT system are summarized (see Figure 5): 1. Definition of the system requirements in terms of power supply capabilities and time-delay constraints. 2. Choice of the IoT system typology, according to the abovementioned definitions. 3. Definition of the requirements related to the physical layer in terms of (i) number and types of sensor and actuator nodes; (ii) maximum power consumption for each node; (iii) target uncertainty related to the physical quantities measured by each sensor; (iv) target accuracy and precision of the actuators; (v) typology of the digital interfaces for acquiring the measurements provided by the sensors and for driving the actuators; (vi) computational effort of the data processing algorithms that will be implemented on the node; and (vii) time delay required for data processing. 4. Definition of the requirements related to the exchange layer, in terms of (i) maximum time delay allowed for sending or receiving a packet to or from the nodes; (ii) typology of communication, wireless or wired; (iii) network topology; (iv) maximum distances for the communications among the sensor/actuator nodes, the sensor/actuator nodes and the concentrator, the sensor/actuator nodes and the gateway, and the concentrator and the gateway; (v) maximum power consumption allowed for the communication; and (vi) type of data cryptography. 5. Requirements related to the information integration layer: (i) definition of the end users; (ii) definition of the number and kinds of services that must be provided to each end user; (iii) definition of the integrated information needed for implementing each service; (iv) definition of the information integration layer architecture in terms of data processing algorithms that will be implemented on the nodes or in the cloud; (v) evaluation of the computational complexity of the algorithms for processing the measured data to provide the integrated information; and (vi) definition of the processing time required for providing each integrated information. 6. Requirements related to the application service layer: (i) definition of the user interface for each provided service; (ii) definition of the computational complexity related to the processing algorithms that will be implemented in the end user device; and (iii) definition of the typologies of end user platforms that will be used for implementing the user interface. 7. Choice of the data exchange layer and information integration layer architectures according to the abovementioned requirements and analysis of the time delay required for sending and receiving data from and to the nodes. 8. Selection of the sensors and the actuators to be embedded on the physical layer nodes according to their metrological and electrical characteristics. 9. Selection of the microcontroller and radio transceivers to be embedded on the nodes (sensor/actuator nodes, gateway and concentrator), according to their power consumption, computational capabilities, and the available digital and analog peripherals. 10. Definition of the data processing algorithms to be implemented on the nodes and of the procedures performed in the cloud. 11. Analysis of the computational effort of each algorithm and evaluation of the time required for performing them. 12. Definition of the graphical user interface on the end-user devices according to the typology of service to be provided. These design steps require knowledge of a huge range of technologies, from telecommunication to firmware development. Furthermore, they turn out to be challenging when the application requires low power consumption and real-time operations. In particular, these requirements affect the design of (i) each sensor/actuator node, (ii) the network architecture, and (iii) the data processing at each layer. Several research contributions in the measurement field have proposed solutions Figure 5. The proposed steps for the design of an IoT system. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 87 to satisfy these requirements. The main research trends are focused on the following topics: (i) energy-aware data acquisition systems, (ii) localization of mobile IoT nodes, and (iii) precise synchronization protocols. For each of these topics, a carefully selected collection of research contributions is reviewed in the following Sections, allowing us to draw on the current research trends. 4. ENERGY-AWARE DATA ACQUISITION SYSTEMS The sensor/actuator node in an IoT system has the following roles: (i) providing measurements related to the physical quantities that are intended to be monitored, (ii) driving the actuators embedded on the node, (iii) communicating with the Internet gateway or the coordinator node according to the typology of the data exchange layer, and (iv) communicating with the other sensor/actuator nodes. Furthermore, especially for battery-powered IoT systems and in the case of early warning applications, the node must exhibit both low-power consumption and low processing time. In such cases, several solutions have been proposed in the scientific literature, with the aim of minimizing such parameters. Those solutions refer to energy-aware sampling methods and power management. 4.1. Energy-aware sampling methods The data acquisition system of a sensor node aims to deter- mine the value of one or more physical quantities for monitoring. The general architecture of a data acquisition system consists of the following elements [22]: (i) sensors or transducers; (ii) signal conditioning circuitry; (iii) anti-aliasing filters; (iv) a sample and hold circuit; (v) a multiplexer; (vi) the analog-to-digital converter (ADC); (vii) the clock that defines the timing unit used for the analog-to-digital conversion and the data processing; (viii) the memory; and (ix) a digital interface. The most important parameters of a data acquisition system are (i) the bandwidth, (ii) the maximum sampling rate, and (iii) the memory length. These parameters directly affect (i) the power consumption of the node; (ii) the amount of data that is processed and transmitted; and (iii) its cost. To this end, several researchers have focused on new data acquisition techniques, aiming either to enlarge the bandwidth or reduce the sampling frequency and thus the data transfer rate. One emerging technique is based on the compressed sensing (CS) theory [23]. The CS theory relies on the fact that many types of information have a property called sparseness in a proper domain [24]. Thus, the required information for the specific application could be obtained from a compressed version of the sampled signals as well as the whole signals sampled according to the Nyquist theory [24]. In [24], the researchers analyzed the use of CS theory for the acquisition of data in IoT systems, and they propose a signal reconstruction algorithm that offers higher accuracy and lower computational effort compared with group/cluster-sparse reconstruction algorithms that are available in some studies. In the following section, the CS theory as applied to a generic IoT system is briefly described. An IoT system consists of n nodes, where each node j collects the yj sample, with j = 1, ..., n. The collected measurement vector is 𝒚 = [𝑦1, … , 𝑦𝑛 ] 𝑇 . The data acquisition process can be modeled as: 𝒙 = 𝜱 𝒚, (1) where 𝜱 denotes an 𝑚 × 𝑛 matrix with 𝑚 far less than 𝑛, and the measurement data x is a 𝑚 × 1 vector. According to the CS theory, by knowing the matrix 𝜱, it is possible to recover y from x. As the dimension of y is much smaller than the size of x, CS theory provides the following advantages in the data acquisition: (i) the number of acquired samples is reduced and the length of the occupied memory is consequently reduced by maintaining the same time window of a Nyquist-based acquisition system; and (ii) the sampling rate of the ADC can be reduced by maintaining the same bandwidth of a Nyquist-based acquisition system. In this case, it is possible to minimize the power consumption, processing, and transmission time of each sensor node. On the other hand, in order to reconstruct the entire vector y from the acquired measurements stored in the vector 𝒙, the y vector must be sparse in a specific domain, (i.e. it can be defined by few coefficients in that domain): 𝚯 = 𝜳T𝒚, (2) where 𝜣 is a k-sparse 𝑛 × 1 vector, with 𝑘 ≪ 𝑛, which denotes the weights vector, 𝜃𝑖 = 〈𝒚, 𝝍𝑖 〉. 𝜳 = [𝝍1, … , 𝝍𝑛] is the basis matrix. A vector can be said to be k-sparse, if there are k nonzero coefficients in 𝜣 with 𝑘 ≪ 𝑛. Furthermore, the matrices 𝜱 and 𝜳 must be incoherent, and the 𝑚 × 𝑛 measurement matrix 𝜱 must satisfy the restricted isometry property (RIP). A CS theory-based sampling process requires the acquisition of a small number of samples of a sparse signal, thus allowing the reconstruction of the observed signal by using linear/convex optimization methods. In IoT systems, CS theory can be applied to the following data: (i) node-dependent data and (ii) node-cooperative data. Figure 6. The general architecture of a data acquisition system (a) [22] vs. the general architecture of a data acquisition system with the CS applied to node-dependent data (b). ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 88 In the case that CS theory is applied to node-dependent data, each node acquires the samples related to a signal y(t), with a sampling process working at sub-Nyquist rate (see Figure 6b). In this case, CS theory can be used at the physical layer to effectively reduce the sampling rate of the ADC with respect to a classic Nyquist-based sampling process (see Figure 6a). Thus, the power consumption of the IoT node can be reduced according to the clock rate reduction. Furthermore, the amount of the exchanged data is reduced. The reconstruction of the data from the compressed data is usually performed in the information integration layer after the data has been sent through the digital interface. For example, in [25], the researchers propose an IoT system using CS theory applied to electrocardiographic (ECG) and photoplethysmography (PPG) signals acquired by an IoT node. In particular, the researchers propose an adaptive CS algorithm, whereby according to the morphology and the noise and signal quality, the compression ratio related to the non-uniform sampling operation is tuned. The researchers compared the energy consumption of a system based on the commonly used discrete wavelet transform (DWT) and the proposed CS method on a Fourier basis. In particular, the energy consumption in the case of DWT is from 215 mJ to 830 mJ, and in the case of CS theory, it is around 6 mJ, with a signal-to-noise ratio (SNR) on the reconstructed signal of 16 dB. Furthermore, the number of samples acquired by using CS theory is at least four times less than the number of samples acquired using DWT. In this way, the number of exchanged and stored data is drastically reduced. In the case of node-cooperative data, the CS can be applied to reconstruct the measurements related to several spatial distributed monitored points by taking a few measurements provided by a set of randomly activated IoT sensor nodes (see Figure 7). The IoT sensor nodes that do not send measurements at a given time instant can be kept in sleep mode. In this way, it is possible to reduce the power consumption of the entire IoT system and the amount of the exchanged data. As in the case of node-dependent data, the reconstruction of the data from the compressed data is usually performed in the information integration layer. In [26], a CS theory-based scheduling scheme is proposed for a battery-powered IoT system applied to a water distribution network system. Each IoT node is connected by wireless with the other and communicates with a concentrator that sends the monitored data to the server, via the Internet. The researchers propose an algorithm for reducing the amount of data transmitted by the IoT nodes. Furthermore, when an IoT node is not transmitting data to the concentrator, it is kept in sleep mode. For each timeslot, the concentrator randomly calculates a sequence of m numbers to represent the number of IoT nodes that will be activated in the network (n is the total number of IoT nodes that can be potentially activated). The concentrator broadcasts a message to all the IoT nodes, which contains the identification number of the m nodes that will be activated and that will provide the measurements. The m IoT nodes transmit data to the concentrator by hopping, while the other n-m data is in sleep mode. For each timeslot, the n-m measurements of the inactive IoT nodes must be recovered at the information integration layer by applying CS theory, which considers the Type-IV DCT basis. In this case, at each time slot, the compression ratio 𝑚 𝑛⁄ corresponds to the number of activated IoT nodes with respect to the total number of nodes. The researchers showed that the proposed IoT system is able to minimize the number of activated IoT nodes, assuring the correct reconstruction of all the data. Compared with the other methods available in the relevant literature, they increase the lifetime of each IoT node by about 10%. 4.2. Energy-aware power management It is especially crucial to consider the power consumption of an IoT node in the case of battery-powered IoT systems [27]. In order to reduce the power consumption of the sensor/actuator nodes, two strategies are applied: (i) operating on the technology adopted for implementing the integrated circuits (ICs) and (ii) operating on the power management system of the node. The complementary metal-oxide semiconductor (CMOS) technology is the basic part of all the ICs embedded on an IoT node. As reported in [28], the operating voltage is the dominant factor that affects the power consumption of an IC. On the other hand, the operating speed of CMOS ICs is continuously increasing due to miniaturization, in accordance with Moore's Figure 7. The general architecture of a data acquisition system, with CS theory applied to the node-cooperative data. Figure 8. The general energy model for an IoT node [32]. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 89 law. However, the continuous reduction of the working voltage of ICs slowed down after 100 nm technology, due to the increase of the threshold voltage Vth variability, which has a huge effect on it [28]. For this reason, several new CMOS technologies have been proposed in the relevant literature, such as the fully depleted silicon-on-insulator (FDSOI), fin field effect transistor (FinFET) [29], tunneling field-effect transistor (TFET) [30], and silicon on thin buried oxide (SOTB) transistors [28]. In addition to these technological advances, the power consumption of an IoT node can be reduced by operating on the management of the peripherals; the microcontroller; and the sensors and/or actuators integrated on the node. Of course, in battery-powered IoT systems, in which small batteries are used, the lifetime must be increased as much as possible, and the power consumption of the entire IoT node must therefore be minimized [31]. In [32], the generic energy model for an IoT node is reported. It is shown here in Figure 8 and consists of (i) energy harvesting (e.g., photovoltaic panels, wind turbines), which collects energy from the environment and converts it into usable electrical power by the subsequent blocks; (ii) the energy buffer, consisting of batteries or super-capacitors, where the energy is stored and then released in a different time; and (iii) the energy consumer, which dissipates the energy provided by the energy buffer according to the performed tasks (e.g., acquiring data from the sensors, driving the actuators, processing the data provided by sensors, transmitting and receiving data from/to the wired or wireless communication interface). Usually, the two main power consumption contributors of the energy consumer are (i) the microcontroller that communicates with or drives (through its peripherals) the sensors and the actuators, respectively; (ii) the radio transceiver that communicates with the microcontroller and sends/receives data to/from antennae; and (iii) the actuators. In order to reduce the power consumption, each IoT node can work in different power modes [33]. In general, these power modes are (i) active mode, when all the peripherals are active, and the microcontroller is performing tasks; (ii) idle mode, when all the peripherals are active, and the microcontroller is not performing any tasks; and (iii) sleep mode, when some or all of the peripherals are not powered. For reducing the total amount of energy dissipated by the IoT node, it is usually placed in sleep mode for long periods of time. Thus, the power consumption of the device in sleep mode for saving energy is crucial. For this reason, in modern microcontrollers, several sleep modes according to the type of disabled peripherals are available. For example, in [34], a power management system for ultra-low-power microcontrollers that is used for implementing smart sensors and that supports several graded sleep modes is proposed. In this case, there are three sleep modes considered: (i) low-power state, when the central processing unit (CPU) of the microcontroller is stopped by gating the system clock, (ii) power gating mode, when the microcontroller is switched off but the low-dropout regulator (LDO) is activated, and (iii) disabling LDO mode. For the radio transceiver, the power modes agree with the following radio states: (i) transmitting, (ii) receiving, (iii) standby, and (iv) off mode. For each power mode, the relative power consumption and the time required for transitioning into and out of each of them are related. Switching between states can be due to synchronous or asynchronous events. An example of a synchronous event is the periodic sending of measurements performed by the IoT sensor node over the network. Asynchronous events are usually due either to the detection of variations of one or more monitored physical quantities or the receipt of a command from the network. According to the defined sleep modes and their power consumption and transitioning times, it is possible to determine the number of IoT nodes and the time intervals for which the devices are in each mode. The aim of this exercise is to minimize the dissipated energy by keeping the time delay constraints for performing each task. In [33], the researchers propose a power-aware methodology to reduce IoT node energy consumption by exploiting the sleep mode according to the prediction of asynchronous events. In particular, in the beginning of the process, the IoT node is in active mode until the asynchronous events are caught. According to this principle, a probability function of missing events is constructed. When the probability is lower than a threshold value, the IoT node is placed in sleep mode. By considering the proposed power-aware methodology, the researchers obtained a reduction of 50 % in the energy consumption of the IoT node, embedding the StrongARM processor. Another important issue for implementing a battery-powered IoT system is to appropriately size its harvesting system. According to that, an estimation of the power consumption of each IoT node has to be evaluated. The power consumption of a complex IoT system should consider that (i) several IoT nodes that have different hardware implementations can be part of the IoT system, (ii) each IoT node can work in several states, and (iii) the events for transitioning between the states can only be defined in terms of statistics. For example, in [17], the researchers propose the power consumption analysis of an IoT system for road safety with the aim of sizing a harvesting system that consists of photovoltaic panels. In the beginning, for each IoT node, the researchers identified several states. For each state, they defined the events for transitioning between them. Thereafter, they measured the power consumption of the devices in each state by means of a calibrated power measurement system based on an ammeter and a voltmeter. A power consumption simulator of the entire network was then developed according to the number of the IoT nodes considered and the number and type of road events affecting the power consumption of each node (e.g., vehicle-guardrail impact, crossing of the vehicle in the monitored road segment). According to the specific road statistics (e.g., the number of impacts in a year, the number of vehicles crossing the road segment in a day), the power consumption of each device and of the overall network is estimated. Thus, according to the peak power consumption and the average power consumption values, the battery and the photovoltaic system are sized. 5. LOCALIZATION OF MOBILE IoT NODES IoT systems are increasingly being used to implement location-based services (LBS) in several applications, including military, environment monitoring, home automation, etc. [35]. In these applications, the location information plays an important role when it is combined with the measurements of physical quantities related to space-distributed objects [36]. In this way, it is possible to monitor the variation of physical quantities in time and space. Due to the fact that there are billions of objects that must be monitored and managed in IoT systems, the location information is usually adopted for filtering their provided large amount of measurements and for organizing them in a database. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 90 In the case of non-mobile IoT systems, the position of each IoT node can be measured during the system installation and then provided together with the device measurements when they are sent via the Internet [15]. On the other hand, for mobile IoT systems, the position should be measured whenever measurements are sent by each IoT node. Global positioning system (GPS) could be the solution to all of the IoT applications for providing position measurements, but it does have the following disadvantages: (i) high hardware cost, (ii) high-power consumption, and (iii) lack of availability in indoor environments. Thus, a large proportion of the relevant research is focused on the development of positioning measurement systems that overcome the drawbacks of the GPS-based ones [37-43]. All the position measurement systems are based on the use of signal transmitters (e.g., Radio Frequency RF signals as well as optical and ultrasonic signals) and receivers. For example, in the case of GPS, a GPS receiver acquires at least four RF signals transmitted by four corresponding satellites. An RF signal is used for synchronizing the clock of the receiver. From the other three signals, the time-of-arrival (ToA) measurements are obtained, and by means of trilateration, the position of the receiver with respect to the satellites is estimated. As reported in [44], localization techniques can be classified as (i) connectivity-based methods, which use only connectivity information to locate the entire IoT system or (ii) distance or angle-based methods, which use distance or angle measurements to determine the location of the IoT node. Distance and angle-based methods can achieve a higher resolution than connectivity-based ones [44]. When at least three measurements of distance or angle between a receiver and the transmitters are provided, the adopted distance and angle-based methods for localizing the receiver with respect to the transmitters are [44] (see Figure 9) (i) triangulation, (ii) trilateration, and (iii) multilateration. Triangulation is a method by which it is possible to find the position of a receiver when the angles are measured by means of the angle of arrival (AoA) technique. The receiver measures its angles with respect to three transmitters. The measured angles form three lines along the corresponding directions of the three transmitters to the receiver. The intersection between the three lines defines the location of the receiver with respect to the transmitter reference location. The position measurement accuracy is strictly correlated to the angle accuracy. Trilateration allows for the measurement of the position of a receiver when three distance measurements between the receiver and three transmitters are provided. The position of the receiver is estimated as the intersection among three circles. The diameter of each circle is twice the distance measurement between the receiver and a transmitter and the circle center is in the transmitter position. This method can be used when the distance measurements exhibit a high accuracy [44]. Multilateration is based on the estimation of the receiver position by minimizing the error between more than three measured distances. In this case, the position measurement accuracy depends on the distance accuracy as well as on the number of distance measurements of the receiver with respect to several reference transmitters. This technique is the most commonly used in the case of IoT node localization because it can be implemented by using a low-accuracy distance measurement system embedded on the IoT node, but with a huge number of transmitters [44]. The distance measurements provided by the receiver are performed by considering the following signal characteristics [44]: (i) received signal strength indicator (RSSI), (ii) ToA, and (iii) time difference of arrival (TDoA). The first is based on power measurements (see Subsection 5.1), while the remaining two are based on time measurements (see Subsection 5.2). 5.1. Power-based position measurement systems Power-based position measurement systems consist of measuring the received signal strengths (RSSs) for obtaining the distance between the IoT node and the reference transmitters with known positions. RSS is defined as the voltage measured by a receiver’s RSSI circuit. Often, the term “RSS” is used interchangeably with “measured power.” Wireless sensors communicate with neighboring sensors so that the RSS of the RF signals can be measured by each receiver during normal data communication, without presenting additional bandwidth or energy requirements. If the transmitted power is known, the effective propagation loss can be calculated. Theoretical and empirical models are used to translate this loss into a distance estimate. In free space, signal power decays are proportional to d-2, where d is the distance between the transmitter and the receiver. In real cases, multipath signals and shadowing are the two main sources of environmental dependence in the measured RSS value. M power measurements Pr,i with i = 1,...,M provided by a receiver related to M transmitters can be modeled as follows [45]: 𝑃𝑟,𝑖 = 𝑃𝑡,𝑖 − 10𝛽 ∙ log10 ( 𝑑𝑟,𝑖 𝑑𝑡,𝑖 ), (3) where Pt,i is the transmitted power of the i-th transmitter at a reference distance dt,I; β is the path loss exponent (in free space it is 2); 𝑑𝑟,𝑖 = ‖𝒙𝑟 − 𝒙𝑡,𝑖 ‖2 is the distance between the receiver and the i-th transmitter; and 𝒙𝑟 = [𝑥𝑟 , 𝑦𝑟 ] 𝑇 and 𝒙𝑡,𝑖 = [𝑥𝑡,𝑖 , 𝑦𝑡,𝑖] 𝑇 are the receiver and transmitter positions, respectively. The multilateration method involves estimating the 𝒙𝑟 value according to the following minimization criterion: 𝒙𝑟 = argmin 𝒙𝑟 ∑ [𝑃𝑡,𝑖 − 10𝛽 ∙ log10 ( 𝑑𝑟,𝑖 𝑑𝑡,𝑖 )]𝑀𝑖=1 . (4) If the power of the signal transmitted by each transmitter is equal to P0 and is unknown, the previous minimization criterion can be applied, undertaking minimization according to 𝒙𝑟 and P0. Figure 9. Distance and angle-based methods for IoT node localization [44]. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 91 In [45], the researchers propose a novel semidefinite programming (SDP) approach for solving the abovementioned minimization criterion. They compare the results in terms of the root mean square error (RMSE) with maximum likelihood (ML) estimator, least-squares (LS), and weighted total LS (WTLS) approaches. The proposed SDP approach exhibits the lower RMSE (around 1 m) with respect to the LS and the WTLS. Furthermore, its performance is comparable with the ML estimator, but with less computational effort [45]. An example of the RSS-based localization method is proposed in [46]. In this paper, the researchers propose a trilateration-based localization method with a dynamic-circle- expanding mechanism (LoDCE) for indoor localization of an IoT node. The LoDCE method was implemented for the Octopus II mote equipped with a TI MSP430 processor and a CC2420 transceiver. Furthermore, each mote is equipped with a 2.4 GHz omnidirectional antenna. During the experiment, each IoT node estimates its location coordinates by measuring the RSSI values with respect to the reference nodes and sends them to a gateway. The researchers performed experimental tests according to three scenarios. In one of them, an IoT mobile node is moved in 10 known locations. By considering 10 reference nodes at each location, 50 position measurements were provided by each IoT mobile node. At each location, the standard deviation and the average of the 50 measurements were calculated. The obtained maximum discrepancy between the measured positions and the known ones is 1.49 m for a considered area of 36 m2. The maximum standard deviation is 0.28 m. 5.2. Time delay-based position measurement systems The time delay-based position measurement systems are classified as [47] (i) ToA-based methods or (ii) TDoA-based methods. In the case of ToA-based methods, the distance between the receiver and the transmitter is estimated from the time delay required by a signal to spread from the transmitter to the receiver and by knowing the propagation speed of the signal. By measuring three distances between the receiver and three transmitters, a trilateration localization method can be applied for obtaining the coordinates of the receiver [47]. In the case of TDoA-based methods, localization is based on the time difference between two different propagation signals, which spread from two different transmitters to the receiver [47]. When three propagation time delays are measured, the following system of equations can be written: { √(𝑥𝑟 − 𝑥1) 2 + (𝑦𝑟 − 𝑦1) 2 − √(𝑥𝑟 − 𝑥2) 2 + (𝑦𝑟 − 𝑦2) 2 = 𝑐(𝑡1 − 𝑡2) √(𝑥𝑟 − 𝑥1) 2 + (𝑦𝑟 − 𝑦1) 2 − √(𝑥𝑟 − 𝑥3) 2 + (𝑦𝑟 − 𝑦3) 2 = 𝑐(𝑡1 − 𝑡3) √(𝑥𝑟 − 𝑥2) 2 + (𝑦𝑟 − 𝑦2) 2 − √(𝑥𝑟 − 𝑥3) 2 + (𝑦𝑟 − 𝑦3) 2 = 𝑐(𝑡2 − 𝑡3) (5) where c represents the propagation speed of the signal; t1, t2, and t3 are the time of arrivals measured by the receiver respect to the three transmitted signals; [𝑥1, 𝑦1], [𝑥2, 𝑦2 ], and [𝑥3, 𝑦3] are the known transmitter positions; and [𝑥𝑟 , 𝑦𝑟 ] is the unknown receiver position. The solution to this system of equations [𝑥𝑟 , 𝑦𝑟 ] can be represented as the unique intersection point of three hyperbolic curves defined according to the ToA measurements and the known transmitter positions. In both cases (i.e., ToA and TDoA), each IoT node requires additional hardware to guarantee synchronization between the transmitter and the receiver; otherwise, a small timing error may result in a significant distance estimation error. For this reason, such methods exhibit a higher power consumption than the RSS-based ones. On the other hand, they can be adopted for measuring the position of an IoT node for a higher distance range than the RSS-based one. Thus, they are used in the case of IoT systems that adopt long-range communication protocols, such as long-range wide area network (LoRaWAN), the long- term evolution (LTE) standard, narrow-band IoT (NB-IoT), and so on [48]. TDoA-based methods have the following advantages over ToA-based methods [49]: (i) they do not require the measurement of the global time when the signals are transmitted, (ii) the clock bias error of the receiver is mitigated, and (iii) the time delays due to the atmospheric effects are reduced. On the other hand, the measurements provided by TDoA-based methods are subject to higher uncertainty than the ToA-based ones as a result of a time-subtraction operation [49]. An example of the implementation of a localization method based on TDoA for IoT applications is reported in [50]. The TDoA-based method was applied to a low-power LoRaWAN, where the current consumption of the receiver placed on the IoT node (i.e., 14.2 mA) was lower than the current absorption of a common GPS receiver (i.e., 50 mA). The IoT node consists of a LoRaWAN module embedded on a Waspmote board based on the Atmel ATmega1281 microcontroller. Four LoRaWAN gateways with known locations were placed in a surveyed area of around 10 km2. The IoT node measures the ToA of the signals transmitted by the gateways and sends them to the gateway via LoRaWAN. The gateway communicates to the server over the Internet the received ToAs, and then the IoT node localization algorithm is performed on the server side. The server performs non-iterative and iterative multilateration algorithms for estimating the position of the IoT node. In the paper, the researcher showed the results obtained by both algorithms by comparing them with the measurements obtained using a GPS receiver. In the case of the non-iterative algorithm, the maximum obtained discrepancy between the measured position and the GPS measurement was 206 m. In the case of the iterative algorithm, this maximum discrepancy was 127 m. 6. PRECISE SYNCHRONIZATION PROTOCOLS The data exchange layer of an IoT system is based on the intercommunication of a huge number of devices. This is challenging in terms of scalability, sustainability, and improving efficiency [51]. Figure 10. Classification of the IoT synchronization protocols [51]. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 92 A critical aspect that must be considered in the design of the data exchange layer, especially in the case of battery-powered and real-time IoT systems, is to assure low-latency [52] and high- energy efficiency. To this end, one major challenge is to ensure frame synchronization for avoiding collisions and for assuring deterministic latency. As reported in [51], a synchronization solution for an IoT system must comply with the following features: (i) network interoperability, i.e., the synchronization massages should be accessible to all the IoT nodes and for a wide range of radio transceiver technologies; (ii) efficiency, as the synchronization overhead has to be minimized as much as possible; and (iii) sustainability, as the synchronization has to guarantee low power consumption and low latency. As depicted in Figure 10, the synchronization protocols available in the relevant literature can be categorized as [51] (i) reference-based synchronization protocols, where one device provides a reference signal and all the other devices synchronize their own clocks based on the received event and (ii) distributed synchronization protocols, where all the devices cooperate with each othe by sharing timing information to reach a common time reference. An example of a reference-based synchronization protocol is the flooding time synchronization protocol (FTSP) [53]. In the FTSP, a master node periodically broadcasts messages for the time synchronization of the IoT nodes [53]. Each broadcasted message contains the master node’s timestamp, which is the estimated global time at the transmission of a given byte. This timestamp does not include the time that is required for communication channel access. The slave IoT node, receiving the message, obtains the corresponding local time from its local clock upon receipt of the message reception. The difference between the global and local time gives an estimation of the clock offset of the receiver with respect to the sender. By receiving several timestamps and by averaging the estimated differences, it is possible to achieve a one-hop synchronization accuracy of about 1.5 µs [53]. The virtual high-resolution time (VHT) protocol improves the accuracy and energy performance of the FTSP [54] by considering a combination of two clocks: (i) a low-frequency, low-power clock for keeping the devices synchronized and (ii) a high-frequency, high-power clock used for high-resolution timestamping. The low-frequency clock is kept synchronized according to the timestamps exchanged between the IoT nodes. On the other hand, the high-frequency clock is activated only when high-resolution timestamps are needed. In this way, it is possible to reduce the power consumption due to the exchange of the timestamps for the synchronization. As reported in [54], the mean synchronization accuracy is 0.125 µs when the high- frequency clock is used. An example of the distributed synchronization protocol is the reference broadcast synchronization (RBS) [55]. In the RBS, a broadcast reference signal is sent by a device. The reference signal does not contain timestamp information. When the IoT nodes receive the broadcast signal, they calculate their local timestamps and by exchanging these values, they evaluate the relative clock offsets and compensate for them. In [55], the researchers evaluate the performance of the RBS applied to the IEEE 802.11 and they obtained a synchronization accuracy in the order of 10 µs. The IEEE 1588 Precision Time Protocol (PTP) is a protocol standard for precise clock synchronization in local area networks (LANs) [57]. The PTP standard defines, for each communication, a master clock device, while the others are slave clocks synchronized to it. The master clock sends a synchronization message containing information about the clock and the transmission timestamp. The clock information contains the identification and accuracy of the master clock. If the master clock exhibits an accuracy that is acceptable for the slave, the slave sends a delay request message and stores its transmission time with a timestamp. When the master clock receives the message, it sends a delay response message containing the reception timestamp. The slave calculates the master-to-slave delay according to the timestamps. This delay is used for synchronizing the slave clock according to the master one. An implementation of this standard on an Excalibur chip with ARM9, a programmable logic device (PLD), and a medium access control (MAC)-less radio transceiver compatible with the IEEE 802.11b standard is presented in [57]. The researchers obtained a synchronization accuracy of 1.1 ns. A comparison of the performance of the abovementioned protocols is reported in Table 1. In all of these protocols, the deterministic latency of the network is estimated, and then the clocks of the devices are synchronized according to it. Thus, the protocol is designed to minimize the effect of non-deterministic latency in the network, which directly affects synchronization accuracy. According to [55] and [56], the sources of deterministic and non-deterministic latency in a network are: (i) the send time, the time spent at the sender constructing the message, (ii) the access time, the delay incurred in accessing the transmission channel, (iii) the propagation time, the time delay needed to transfer the message from the transmitter to the receiver, and (iv) the receiving time, the processing time required by the receiver to read the message from the channel and notify the host about it. Table 1. Performance comparison of the analyzed synchronization protocols. Synchronization Protocol Accuracy Advantages Disadvantages Flooding Time Synchronization Protocol (FTSP) 1.5 µs It requires only a single master synchronization clock. Low-energy performance. Virtual High-resolution Time (VHT) 0.125 µ High-energy performance. It requires two master synchronization clocks, one at a high frequency and one at a low frequency. Reference Broadcast Synchronization (RBS) 10 µs The synchronization procedure does not depend solely on a single master node. The nodes exchange their timestamps with each other for estimating clock errors. IEEE 1588 Precision Time Protocol (PTP) 1.1 ns High accuracy; The master node changes in each communication step. In each communication step, the master node must send the accuracy of its clock at all the slave nodes. ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 93 Usually, the propagation time is neglected in the clock offset estimation. On the other hand, the send and access times are dependent on the instantaneous load on the sender processing unit and on the state of the network, respectively. This makes them the most non-deterministic and difficult-to-estimate parameters. Thus, all the synchronization protocols act to minimize the effects of these two time delays. For this reason, as reported in [54], the protocols act at the MAC layer. An important figure of merit to evaluate the performance of a synchronization protocol is the time interval required to synchronize all the IoT nodes after a topology change. In [58] and [59], the researchers propose a method for minimizing the time interval required for a synchronization; thereafter, the non-synchronized devices perturb an already synchronized IoT network. The method was applied to ZigBee-based IoT nodes. By considering the repetition period for sending the synchronization messages among the IoT nodes of 10 s and a percentage of non-synchronized devices of 5 %, the reported experimental results regarding the time interval for the synchronization is 272 s. 7. CONCLUSION In this paper, measurement requirements in the design of an IoT system were analyzed in depth. According to the power supply capabilities of the components of an IoT system and the time delay constraints of the specific application, four IoT system typologies were identified. Furthermore, on the basis of the application requirements, design guidelines for an IoT system were summarized, and the measurement needs have been highlighted. Moreover, a review of the research contributions was given concerning three main measurement topics: (i) energy- aware data acquisition systems, (ii) localization of mobile IoT nodes, and (iii) precise synchronization protocols. REFERENCES [1] H. Aksu, L. Babun, M. Conti, G. Tolomei, A. S. Uluagac, Advertising in the IoT era: vision and challenges, IEEE Communication Magazine 56 (2018) 11, pp. 138 - 144. [2] P. Daponte, F. Lamonaca, F. Picariello, L. De Vito, G. Mazzilli, I. Tudosa, “A survey of measurement applications based on IoT”, Proc. of the 2018 Workshop on Metrology for Industry 4.0 and IoT, Apr. 16-18, 2018, Brescia, Italy, pp. 1-6. [3] G. Mois, S. Folea, T. Sanislav, Analysis of three IoT-based wireless sensors for environmental monitoring, IEEE Transactions on Instrumentation and Measurement 66(8) (2017) pp. 2056-2064. [4] M. Bassoli, V. Bianchi, I. De Munari, P. Ciampolini, An IoT approach for an AAL Wi-Fi-based monitoring system, IEEE Transactions on Instrumentation and Measurement 66(12) (2017) pp. 3200-3209. [5] P. A. Pegoraro, A. Meloni, L. Atzori, P. Castello, S. Sulis, PMU- based distribution system state estimation with adaptive accuracy exploiting local decision metrics and IoT paradigm, IEEE Transactions on Instrumentation and Measurement 66(4) (2017) pp. 704-714. [6] G. Mois, T. Sanislav, S. C. Folea, A cyber-physical system for environmental monitoring, IEEE Transactions on Instrumentation and Measurement 65(6) (2016) pp. 1463-1471. [7] L. Russell, R. Goubran, F. Kwamena, Posture detection using sounds and temperature: LMS-based approach to enable sensory substitution, IEEE Transactions on Instrumentation and Measurement 67(7) (2018) pp. 1543-1554. [8] C. Trigona, B. Andò, S. Baglio, R. La Rosa, G. Zoppi, Sensors for kinetic energy measurement operating on zero-current standby, IEEE Transactions on Instrumentation and Measurement 66(4) (2017) pp. 812-820. [9] J. M. Mora-Gutiérrez, C. J. Jiménez-Fernández, M. Valencia- Barrero, Multiradix trivium implementations for low-power IoT hardware, IEEE Transactions on Very Large-Scale Integration (VLSI) Systems 25(12), pp. 3401-3405. [10] R. Muñoz, R. Vilalta, N. Yoshikane, R. Casellas, R. Martinez, T. Tsuritani, I. Morita, Integration of IoT, transport SDN, and edge/cloud computing for dynamic distribution of IoT analytics and efficient use of network resources, Journal of Lightwave Technology 36(7) (2018) pp. 1420-1428. [11] I. Yaqoob, E. Ahmed, I. A. T. Hashem, A. I. A. Ahmed, A. Gani, M. Imran, M. Guizani, Internet of Things architecture: recent advances, taxonomy, requirements, and open challenges, IEEE Wireless Communications 24(3) (2017) pp. 10-16. [12] T. Addabbo, A. Fort, M. Mugnaini, E. Panzardi, A. Pozzebon, V. Vignoli, A city-scale IoT architecture for monumental structures monitoring, Measurement 131 (in press). [13] P. Sethi, S. R. Sarangi, Internet of Things: architectures, protocols, and applications, Journal of Electrical and Computer Engineering 2017 (2017), pp. 1-25. [14] R. I. S. Pereira, I. M. Dupont, P. C. M. Carvalho, S. C. S. Jucá, IoT embedded Linux system based on Raspberry Pi applied to real- time cloud monitoring of a decentralized photovoltaic plant, Measurement 114 (2017) pp. 286-297. [15] P. Daponte, L. De Vito, F. Picariello, S. Rapuano, I. Tudosa, Prototype design and experimental evaluation of wireless measurement nodes for road safety, Measurement 57 (2014), pp. 1-14. [16] P. Daponte, L. De Vito, F. Picariello, S. Rapuano, I. Tudosa, “Wireless sensor network for traffic safety”, Proc. of the IEEE Workshop on Environmental Energy and Structural Monitoring Systems (EESMS), Sept. 28, 2012, Perugia, Italy, pp. 42-49. [17] P. Daponte, L. De Vito, G. Mazzilli, F. Picariello, S. Rapuano, “Power consumption analysis of a Wireless Sensor Network for road safety”, Proc. of the 2016 IEEE International Instrumentation and Measurement Technology Conference, May 23-26, 2016, Taipei, Taiwan, pp. 1-6. [18] P. Daponte, L. De Vito, G. Mazzilli, S. Rapuano, I. Tudosa, “Network design and characterization of a wireless active guardrail system”, Proc. of the 2014 IEEE International Instrumentation and Measurement Technology Conference (I2MTC), May 12-15, 2014, Montevideo, Uruguay, pp. 1047-1052. [19] A. H. Alavi, P. Jiao, W. G. Buttlar, N. Lajnef, Internet of Things- enabled smart cities: state-of-the-art and future trends, Measurement 129 (2018) pp. 589-606. [20] D. Min, Z. Xiao, B. Sheng, G.Shiya, “Design and implementation of the multi-channel RS485 IoT gateway”, Proc. of the 2012 IEEE International Conference on Cyber Technology in Automation, Control and Intelligent Systems, May 27-31, 2012, Bangkok, Thailand, pp. 366-370. [21] J. Kim, Energy-efficient dynamic packet downloading for medical IoT platforms, IEEE Transactions on Industrial Informatics 11(6) (2015) pp. 1653-1659. [22] H. R. Taylor, Data acquisition for sensor systems, Springer, US, 1997, ISBN 978-1-4757-4905-2. [23] P. Daponte, L. De Vito, F. Picariello, S. Rapuano, I. Tudosa, “Compressed sensing technologies and challenges for aerospace and defense RF source localization” Proc. of the 5th IEEE International Workshop on Metrology for AeroSpace (MetroAeroSpace), Jun 20-22, 2018, Rome, Italy, pp. 634-639. [24] S. Li, L. D. Xu, X. Wang, Compressed sensing signal and data acquisition in wireless sensor networks and Internet of Things, IEEE Transactions on Industrial Informatics 9(4) (2013) pp. 2177-2186. [25] V. Natarajan, A. Vyas, “Power efficient compressive sensing for continuous monitoring of ECG and PPG in a wearable system”, Proc. of the 3rd IEEE World Forum on Internet of Things (WF- IoT), Dec. 12-14, 2016, Reston, V.A., U.S.A., pp. 336-341. [26] R. Du, L. Gkatzikis, C. Fischione, M. Xiao, Energy-efficient sensor activation for water distribution networks based on ACTA IMEKO | www.imeko.org December 2018 | Volume 7 | Number 4 | 94 compressive sensing, IEEE Journal on Selected Areas in Communications 33(12) (2015) pp. 2997-3010. [27] F. Picariello, S. Rapuano, U. Villano, A portable measurement system for power profiling of processing units, Measurement 54 (2014) pp. 191-200. [28] T. Hasegawa, Y. Yamamoto, H. Makiyama, H. Shinkawata, S. Kamohara, Y. Yamaguchi, “SOTB (Silicon on thin buried oxide): more than Moore technology for IoT and automotive”, Proc. of the 2017 IEEE International Conference on IC Design and Technology (ICICDT), May 23-25, 2017, Austin, T.X., U.S.A., pp. 1-4. [29] O. Weber, “FDSOI vs FinFET: differentiating device features for ultra-low power and IoT applications”, Proc. of the 2017 IEEE International Conference on IC Design and Technology (ICICDT), May 23-25, 2017, Austin, T.X., U.S.A., pp. 1-3. [30] J. Aditya, T. Nagateja, R. Vaddi, “Tunneling field effect transistors for energy efficient logic, sensor interface and 3D IC circuits for IoT platforms”, Proc. of the 2017 IEEE International Symposium on Nanoelectronic and Information Systems (iNIS), Dec. 18-20, 2017, Bhopal, India, pp. 90-92. [31] A. Prasad, P. Chawda, “Power management factors and techniques for IoT design devices”, Proc. of the 19th International Symposium on Quality Electronic Design (ISQED), Mar. 13-14, Santa Clara, C.A., U.S.A., pp. 364-369. [32] B. Martinez, M. Montón, I. Vilajosana, J. D. Prades, The power of models: modeling power consumption for IoT devices, IEEE Sensors Journal 15(10) (2015) pp. 5777-5789. [33] A. Sinha, A. Chandrakasan, Dynamic power management in wireless sensor networks, IEEE Design and Test of Computers 18(2) (2001) pp. 62-74. [34] M. Lueders, B. Eversmann, J. Gerber, K. Huber, R. Kuhn, M. Zwerg, D. Schmitt-Landsiedel, R. Brederlow, Architectural and circuit design techniques for power management of ultra-low- power MCU systems, IEEE Transactions on Very Large Scale Integration (VLSI) Systems 22(11) (2014) pp. 2287-2296. [35] R. C. Shit, S. Sharma, D. Puthal, A. Y. Zomaya, “Location of things (LoT): a review and taxonomy of sensors localization in IoT infrastructure, in IEEE Communications Surveys and Tutorials 20(3) (2018) pp. 2028-2061. [36] D. Macagnano, G. Destino, G. Abreu, “Indoor positioning: A key enabling technology for IoT applications”, Proc. of the 2014 IEEE World Forum on Internet of Things (WF-IoT), mar. 6-8, 2014, Seoul, South Korea, pp. 117-118. [37] M. Omer, G. Y. Tian, “Indoor distance estimation for passive UHF RFID tag based on RSSI and RCS”, Measurement 127 (2018) pp. 425-43. [38] R. Want, W. Wang, S. Chesnutt, Accurate indoor location for the IoT, Computer 51(8) (2018) pp. 66-70. [39] T. Jost, W. Wang, U. Fiebig, F. Pérez-Fontán, A wideband satellite-to-indoor channel model for navigation applications, IEEE Transactions on Antennas and Propagation 62(10) (2014) pp. 5307-5320. [40] Q. Song, S. Guo, X. Liu, Y. Yang, CSI amplitude fingerprinting- based NB-IoT indoor localization, IEEE Internet of Things Journal 5(3) (2018) pp. 1494-1504. [41] J. Zhang, G. Han, N. Sun, L. Shu, Path-loss-based fingerprint localization approach for location-based services in indoor environments, IEEE Access 5 (2017) pp. 13756-13769. [42] P. Daponte, L. De Vito, G. Mazzilli, F. Picariello, S. Rapuano, “Method for compensating the effect of disturbances on magnetometer measurements: experimental results”, Proc. of the 2017 IEEE International Instrumentation and Measurement Technology Conference (I2MTC), May 22-25, 2017, Turin, Italy, pp. 1-6. [43] P. Daponte, L. De Vito, F. Picariello, S. Rapuano, C. Sementa, “A method for real-time compensation of magnetometers embedded on smartphones”, Proc. of the 2016 IEEE International Instrumentation and Measurement Technology Conference Proceedings, May 23-26, 2016, Taipei, Taiwan, pp. 1-6. [44] M. Srbinovska, V. Dimcev, C. Gavrovski, Z. Kokolanski, Localization techniques in wireless sensor networks using measurement of received signal strength indicator, Electronics 15(1) (2011) pp. 67-71. [45] R. M. Vaghefi, M. R. Gholami, E. G. Strom, “RSS-based sensor localization with unknown transmit power”, Proc. of the 2011 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), May 22-27, 2011, Prague, Czech Republic, pp. 2480-2483. [46] J. Jiang, X. Y. Zheng, Y. F. Chen, C. H. Wang, P. T. Chen, C. L. Chuang, C. P. Chen, A distributed RSS-based localization using a dynamic circle expanding mechanism, IEEE Sensors Journal 13(10) (2013) pp. 3754-3766. [47] B. Liu, L. Cheng, H. Wu, Y. Chen, F. Wang, “Ubiquitous localization method on mobile robot in the Internet of Things”, Proc. of the 2012 International Conference on Modelling, Identification and Control, Jun. 24-26, 2012, Wuhan, Hubei, China, pp. 537-542. [48] J. A. del Peral-Rosado, J. A. López-Salcedo, G. Seco-Granados, “Impact of frequency-hopping NB-IoT positioning in 4G and future 5G networks”, Proc. of the 2017 IEEE International Conference on Communications Workshops (ICC Workshops), May 21-25, 2017, Paris, France, pp. 815-820. [49] D. H. Shin, T. K. Sung, Comparisons of error characteristics between TOA and TDOA positioning, IEEE Transactions on Aerospace and Electronic Systems 38(1) (2002) pp. 307-311. [50] B. C. Fargas, M. N. Petersen, “GPS-free geolocation using LoRa in low-power WANs”, Proc. of the 2017 Global Internet of Things Summit (GIoTS), Jun. 6-9, 2017, Geneva, Switzerland, pp. 1-6. [51] M. A. Alvarez, U. Spagnolini, “Distributed synchronization for massive IoT deployments”, Proc. of the 2017 IEEE Wireless Communications and Networking Conference Workshops (WCNCW), Mar. 19-22, 2017, San Francisco, U.S.A., pp. 1-6. [52] P. Daponte, D. Grimaldi, M. Marinov, “Real-time measurement and control of an industrial system over Internet: implementation of a prototype for educational purpose”, Proc. of the 18th IEEE Instrumentation and Measurement Technology Conference Vol.3, May 21-23, 2001, Budapest, Hungary, pp. 1976-1980. [53] M. Maróti, B. Kusy, G. Simon, Á. Lédeczi, “The flooding time synchronization protocol”, Proc. of the 2nd International Conference on Embedded Networked Sensor Systems, Nov. 3-5, 2004, Baltimore, M.D., U.S.A., pp. 39-49. [54] D. Resner, A. A. Fröhlich, L. F. Wanner, “Speculative precision time protocol: submicrosecond clock synchronization for the IoT”, Proc. of the 21st IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Sept. 6-9, 2016, Berlin, Germany, pp. 1-8. [55] J. Elson, L. Girod, D. Estrin, Fine-grained network time synchronization using reference broadcasts, Journal of Operating Systems Review 36 (2012) pp. 147-163. [56] L. De Vito, S. Rapuano, L. Tomaciello, One-way delay measurement: State of the art” IEEE Transactions on Instrumentation and Measurement 57(12) (2008) pp. 2742–2750. [57] J. Kannisto, T. Vanhatupa, M. Hannikainen, T. D. Hamalainen, “Software and hardware prototypes of the IEEE 1588 precision time protocol on wireless LAN”, Proc. of the 14th IEEE Workshop on Local and Metropolitan Area Networks, Sept. 18, 2005, Crete, Greece, pp. 1-6. [58] F. Lamonaca, D. L. Carnì, M. Riccio, D. Grimaldi, G. Andria, Preserving synchronization accuracy from the plug-in of non- synchronized nodes in a wireless sensor network, IEEE Transactions on Instrumentation and Measurement 66(5) (2017) pp. 1058-1066. [59] F. Lamonaca, D. Grimaldi, “Synchronization for hot-plugging node in wireless sensor network”, Proc. of the 2013 IEEE International Workshop on Measurements and Networking, Oct. 7-8, 2013, Naples, Italy, pp. 13-18.