Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

The expression Internet of Things [1, 2] is wider than a single concept or technology. It is rather a new paradigm that involves a wide set of technologies, applications, and visions. Also, complete agreement on the definition is missing, as it changes with relation to the point of view. It can focus on the virtual identity of the smart objects and their capabilities to interact intelligently with other objects, humans, and environments or on the seamless integration between different kinds of objects and networks toward a service-oriented architecture of the future Internet. The evolution of computing and networking technologies is drawing a new scenario where the devices that compose the network no longer have homogeneous characteristics, functionalities, and communication means but, by interacting together, they are able to perform a wide array of tasks. This new generic type of device, also called “smart objects,” can be identified in any device able to process information, interact with the surrounding environment, and with other devices. Smart objects’ context awareness is a key enabler in this scenario: the ability of objects to acquire information on the surrounding environment process and manage collected data in an intelligent manner will lead the way to multiple brand new applications. The context may refer to a wide variety of physical parameters and more complex phenomena, such as temperature, humidity, presence, position, speed, or remote events.

This work focuses on localization as a smart object service. Localization may be absolute (identified on a global scale) or relative (identified in the frame of a given environment). Knowledge of the object’s position, especially when combined with other information collected through sensors and shared through the connection with other smart objects, allows to develop systems capable of responding to changes in environmental conditions by applying rules or adaptive algorithms. In a service-based Internet of Things architecture, localization could be viewed as one of the automatically discoverable services provided by a peripheral network.

2 ZigBee WSN

Sensor networks represent a new stage in the development of infrastructure able to process external stimuli in order to describe, with increasing accuracy, the world around us. The advancement of technology has brought the first simple point-to-point structures to become real networks that connect different kind of devices, through paths which may vary depending on the workload and the status of the nodes of the network. The data collected by smart objects scattered into the environment can be transmitted to a central unit, with more hardware resources, that has the task of producing the set of commands that will be sent and executed from various actuators. This approach allows to integrate in the decision process the data coming from other possibly interrelated networks. Alternatively, these environmental data can be sent to subsets of devices, which through a process of aggregation, have expressed an interest in that particular type of information. In this way, it creates a true distributed intelligence that allows the individual device to make a choice dependent solely on the information received and not dictated by an external decision-making process. In this context, the ZigBee [3, 4] is a protocol for communications wireless, based on IEEE 802.15.4 [5], infrastructure that provides a reliable and robust exchange of information between devices equipped with any kind of sensors. Thanks to these characteristics the ZigBee WSN are integrated in the Internet of Things scenario, becoming an enabling factor.

3 Localization via a ZigBee WSN

Network infrastructures created by a ZigBee WSN can be also used to determine the position of nodes [68]. Among the various techniques for estimating the position of a node, measuring the power of the signal received (RSSI) is one of the most suitable, thanks to its implementation simplicity and to the limited hardware resources required [9, 10]. In particular in this work, studies and tests have been conducted using the kit CC2431DK of Texas Instruments that implements a trilateration algorithm in its Location Engine. The theoretical analysis of the system showed that the performance of the location algorithm [11, 12] is influenced by several factors such as the shape and dimensions of environment, objects, number of people present in the room, position of the device to locate (Blind Node), the location of reference nodes and their density in addition to the typical parameters of the routine. The formula that links the key variables for the calculation of the position is as follows

$$\mathrm{RSSI} = -(10\ {n\log }_{10}d + A),$$

where the parameter A is the absolute value of average power in dBm received at a reference distance of 1 m and the parameter n describes the decrease of the power varying with the distance d between transmitter node and receiver node. The parameter A can be measured with the desired accuracy before installing the nodes through a series of measures that considers the imperfect isotropic antennas. The parameter n cannot be calculated in advance and must be pre-set according to the experience of those who create the network.

3.1 Field Test Campaign

A field test campaign was performed with the objective of verifying the performance or the original Texas Instruments’ localization algorithm. Field trials have been run in two different environments with different characteristics, used as “models” for application in real sites. The two environments have been chosen inside the CATTID building (Sapienza Campus). The first is the RFID Lab room, which has been considered as the worst-case scenario because of the presence of several wireless 802.11 networks, infrastructures for localization through the same router, some RFID readers and NFC devices. Interference on the same band used by the nodes is active at all times and with varying intensity. The second area considered is the “study room” available to students. That room can be a model for an office in which metal objects and computers create multiple paths and destructive interference. The Location Engine requires at least three references to estimate the position, but tests were initially performed by placing four Reference Nodes along the perimeter of the rooms, 2 m above the floor, trying to create a regular area and placing the Blind Node in a central position in the so created area.

As a preliminary operation, we calculated the value of the A parameter measuring the power received at a distance of 1 m through the software pre-installed on a node of the kit. The power measurement was done on all nodes, changing angular orientation in steps of 45°. After that process we chose the mean value of all measurements, corresponding to − 40 dBm. Since it is related to a physic characteristic of the antenna, the A parameter could be considered constant in all the subsequent tests.

The first test was performed with the estimated value for A, and varying the parameter n over all the 32 possible values. The coordinates estimated were compared with the known position of the Blind Node. Results obtained show that, for low values of the n parameter, the error is so high that the node is located outside the area of interest. The error tends to decrease in the neighborhood of n = 19, and then rise again for higher values (Figs. 1 and 2).

Fig. 1
figure 1_15figure 1_15

Localization error varying n parameter with four Reference Nodes inside the RFID Lab

Fig. 2
figure 2_15figure 2_15

Localization error varyng n parameter with four Reference Nodes inside the “study room”

The test was then repeated by increasing progressively from 4 to 6 the number of references, in order to estimate the importance of the number of inputs to the Location Engine (Figs. 3 and 4).

Fig. 3
figure 3_15figure 3_15

Localization Error varying n parameter and number of Reference Nodes in the RFID Lab room

Fig. 4
figure 4_15figure 4_15

Localization Error varying n Parameter and number of Reference Nodes in the “study room”

Results showed that increasing the number of Reference Nodes does not improve localization accuracy although, in few cases, it can rise the localization error.

3.2 Optimization of the Localization Algorithm

After the test campaign, that has shown the importance of the n parameter to achieve better localization results, the focus of research turned to find an automatic procedure for identifying the value that optimizes precision.

The existing routines have been integrated with an automatic procedure to estimate the value to be given to the exponent that describes the decay of power with distance. In this way, the attenuation model can rely on data that represent more accurately the characteristics of the signal propagation in that particular environment, since it is not inferred by who created the network, but from an unbiased field testing. The test results also showed that, in the same environment, adjacent rooms had different values for the n parameter. This behavior led us to organize reference nodes into groups that match a room area and that share the same n parameter. The original algorithm requires an initial phase of configuration to set the coordinates of the Reference Nodes. In this phase, some additional steps have been introduced to allow a network to provide the best configuration to a mobile Blind Node operating within it. The process designed and implemented includes the following steps:

  1. 1.

    Setting the coordinates for each Reference Node

  2. 2.

    Division of the references in groups

  3. 3.

    Estimation of the parameter n via a Blind Test

The first point is identical to the procedure followed to setup the software supplied with the kit CC2431DK. The second point aims at dividing the references into groups that identify different rooms. Through the functionality provided by the ZigBee protocol is possible to group a variable number of network addresses in a single 16-bit address: Using this feature to represent a room, you can ensure that the Reference Nodes can provide to the Blind Node the best n parameter value for that environment. In the third step, a Blind Node is placed inside the room, receives its own coordinates, and starts the auto-configuration procedure. The Blind Node repeatedly performs the location procedure, iterating on all possible values of the n parameter, and calculates the position error respect to the coordinates given above. The value of the n parameter that brings better accuracy is sent to the closest reference that transmits it to all nodes that are part of the group. The whole procedure takes about 10 s. Once the configuration phase of the network is ended, each room has its own identification number and any reference knows the value of the n parameter that better represents the propagation characteristics of the environment in a given time.

During the normal operation of the network, the Blind Node holds in a variable the ID of the room where it was located the last time. If it enters in a new environment, the identity of which does not coincide with the one stored in the memory, the Blind Node requires the n parameter to be used via an appropriate message. The reference that receives the request responds with the Blind Node Reference Node Configuration Response cluster that contains the value of the n parameter.

To avoid obsolescence of the n parameter due to changes in the environment (for instance a group of people enters the room), the Blind Node could be left in the initial known position, repeating the estimation procedure at a given interval of time, or when asked from an input coming from another device in the network which is able to detect changes that could affect location accuracy.

The described procedure was performed in the same environments described in the previous paragraph. The n parameter calculated was in 80% of cases corresponding to the one that showed the best location accuracy during the previous test campaign (Figs. 5 and 6).

Fig. 5
figure 5_15figure 5_15

Value of n parameter calculated from the automated procedure for the RFID Lab room. The gray area indicates the values of n that gave the best locating accuracy in the field test

Fig. 6
figure 6_15figure 6_15

Value of n parameter calculated from the automated procedure for the “study room.” The gray area indicates the values of n that gave the best locating accuracy in the field test

4 Related Works

Localization is an important field of study and many works have been done on localization for ZigBee motes. Many of these works use RSSI-based localization algorithm for its simplicity and for the small amount of hardware resources required.

In [13], the authors investigate a cooperative algorithm that uses the signal received both from the reference nodes and from the unknown nodes (the equivalent of blind nodes in this work). This algorithm infers the position of the blind nodes using a two-step RSSI-based algorithm:

  1. An initial region, where the node is expected to be, is calculated as the intersection of restricted distances from beacon (reference nodes in this work)

  2. In a second step, an iterative procedure is applied to refine the location measuring signal strength between the so located nodes

However, this approach needs that a number of blind nodes are in direct communication range in order to provide the refinement of the initial – coarse – region. Basing the refinement method on the unknown nodes does not necessarily provide an independent method and, moreover, propagates the initial uncertainty on position. Last but not least, this scheme is likely to be time consuming and thus is not suited for moving objects as they vary their configuration between the two steps.

Another approach is the Adaptive Weighted Centroid Location [14]. It uses both RSSI and the Link Quality Indicator (LQI), an index provided from the IEEE 802.15.4 standard that represents the characterization of the strength and/or the quality of a received packet and that should be an integer ranging from 0 to 255. Reference nodes send their position to the blind nodes that uses LQI to evaluate their position and a weight to ensure a most precise localization. In this method, LQI values are reduced by a pre-calculated ratio which is determined through experimental tests in order to mitigate errors. Even if this algorithm offers better performances than previous Weighted Centroid [15] localization, it still does not provide a good accuracy and needs to be configured for ever application scenario.

It is widely recognized that Ultra Wide Band technology is technically the best foreseeable solution for localization [16] in the mid-term. Ultra Wide Band devices have, by definition [17], relative bandwidths larger than 20% or absolute bandwidths of more than 500 MHz and use pulses of very short duration broadly spread in the frequency domain. As described in [18], thanks to the high time resolution, UWB offers centimeter precision using time-based location estimation schemes.

UWB was conceived for short range, high data rate applications. Low rate WPANs have tighter power consumption requirements and thus are better suited for creating an autonomous and reliable network infrastructure for the peripheral part of the Internet of Things. A view of the current scenario, including power consumption and bitrate can be found in [19].

5 Conclusion

According to the obtained results, the localization algorithm can be improved if properly configured, shaping as precisely as possible the environment in which the signals propagate. The proposed procedure for automatically calculating the parameter that describes the power decay according to the distance in a given environment, improves location accuracy. The organization of the references nodes in groups representing different environments and the ability to assign to each of them a specific value makes the system more flexible and, therefore, it allows achieving greater accuracy than the original procedure. The achieved precision, even if lower than that of other localization techniques such as Ultra Wide Band, should be considered enough for providing localization as an added value service in a WPAN-based IoT scenario.