Carles Gomez
email: carlesgo@entel.upc.edu.

Stefano Chessa

Anthony Fleury

George Roussos

Davy Preuveneers

Internet of Things for Enabling Smart Environments: a Technology-Centric Perspective

Keywords: IoT, smart home, smart health, smart cities, smart factories

The Internet of Things (IoT) is a computing paradigm whereby everyday life objects are augmented with computational and wireless communication capabilities, typically through the incorporation of resource-constrained devices including sensors and actuators, which enable their connection to the Internet. The IoT is seen as the key ingredient for the development of smart environments. Nevertheless, the current IoT ecosystem offers many alternative communication solutions with diverse performance characteristics. This situation presents a major challenge to identifying the most suitable IoT communication solution(s) for a particular smart environment. In this paper we consider the distinct requirements of key smart environments, namely the smart home, smart health, smart cities and smart factories, and relate them to current IoT communication solutions. Specifically, we describe the core characteristics of these smart environments and then proceed to provide a comprehensive survey of relevant IoT communication technologies and architectures. We conclude with our reflections on the crucial features of IoT solutions in this setting and a discussion of challenges that remain open for research.

Introduction

The Internet of Things (IoT) is a computing and communications paradigm whereby everyday life objects are connected to the Internet. Such connectivity, supported by the incorporation of resourceconstrained devices including sensors and actuators, enables intelligent systems that obtain information from the physical world, process such information, and may perform actions on the physical world accordingly. Benefits of the IoT comprise efficient resource management, enhanced productivity, and increased quality-of-life for human populations [START_REF] Gomez | From 6LoWPAN to 6Lo: Expanding the Universe of IPv6-Supported Technologies for the Internet of Things[END_REF]. The IoT is therefore a fundamental enabler of smart environments [START_REF] Cook | How smart are our environments? An updated look at the state of the art[END_REF], such as smart homes, smart health, smart cities and smart factories, among others. Indeed, the trend towards smart-x promises a revolution for most kinds of human-related activities.

Advances in many technical areas are making the IoT and smart environments possible, including multiple communication solutions for IoT devices, which we categorize into two main families: i) Radio Frequency Identification (RFID), intended mainly for object and device identification, and ii) generalpurpose Constrained-Node Network (CNN) technologies and architectures. The numerous and highly heterogeneous solutions available provide different features and performance trade-offs, a fact that makes identifying the most suitable IoT communication technologies and solutions for a particular smart en-vironment challenging. While all smart environments collect, process and act upon information, different specific smart environments do so at different scales. Moreover, different vertical domains (e.g. smart home/health/city/factory) come with diverse requirements, and hence technology choices, which also influences the tactics of how and where data is processed and how to act upon the information within a specific context. Furthermore, different types of smart environments evolve at a different pace: Some vertical domains can evaluate and adopt new technologies much faster (e.g. smart home and smart health), while in others (e.g. smart factories and smart cities) changes cannot be adopted expediently due to the fact that such environments must deal with legacy systems. This requirement further complicates the choice of communication technologies and solution availability for particular smart environments.

In this paper, we identify emerging trends in IoT communication and compare different IoT technologies and solutions. We then collect lessons learnt from specific vertical domains to elicit best practices that are reusable across families of smart environments. In Section 2, we describe the main characteristics and services of smart home, smart health, smart cities, and smart factories. In Sections 3-5, we survey a wide range of IoT communication technologies and architectures, including RFID (Section 3), CNN technologies (Section 4) and CNN architectures (Section 5). In Section 6, we discuss crucial features of IoT solutions for supporting the highlighted smart environments, and we elaborate on the main remaining challenges. Finally, Section 7 concludes with a summary of the main insights of this work.

Smart environments

This Section provides an overview of the main features and services in key smart environments, including the smart home, smart health, smart cities and smart factories. These four vertical domains are chosen because of their distinct characteristics in size and complexity, such as personal-vs business-oriented, single-user vs many users, different "smartness" objectives, etc. Although clearly other types of smart environments exist, we focus on the aforementioned four domains as representative use cases.

Smart home

Homes are environments particularly suitable to host smart technologies for three main reasons: (i) modern homes already contain a large number of technological devices, even if not always interconnected or interoperable; (ii) they are controlled environments and their owners can (at least in principle) provide the suitable investments for the deployment of technological solutions and provide to their maintenance, and (iii) they can provide to the inhabitants a large number of useful services and applications.

Services of smart homes vary widely. We broadly classify them as assistive services and management services (Fig. 1). Assistive services in smart homes aim at providing direct support to the users in their interests [START_REF] Reiterer | User-centric universal multimedia access in home networks[END_REF] and in their daily actions and activities that take place in the home [START_REF] Callaghan | Thematic issue: Smart Homes[END_REF]. For example, if watching television or listening to music are particular user interests, the smart home can assist by scheduling sources of noise caused by machine automation (such as the activation of the washing machine) at different hours, or by setting appropriately the lights and the multimedia devices configuration, according to the users' preferences. Assistive services may also be tailored to some special needs of the user, especially when the user is an elder or a disabled or just sick, like ambient assisted living [START_REF] O'donoghue | Thematic issue: Home-based Health and Wellness Measurement and Monitoring[END_REF] or e-health [START_REF] Cesta | User needs and preferences on AAL systems that support older adults and their carers[END_REF] services.

Further, management services are those that address specific functionalities of the smart home. Examples of such services can be those concerning the security and safety of inhabitants (for example the anti-intrusion alarms or the detection of gas leaks) [START_REF] Gill | A zigbeebased home automation system[END_REF] or those concerning energy efficiency of the home [START_REF] Monacchi | An open solution to provide personalized feedback for building energy management[END_REF], such as those that control ventilation and solar panels for the energy production and those that control the appliances and lights to reduce energy consumption while satisfying the inhabitants' needs.

Although individually different, smart home services are usually developed at the application level of context-aware systems, which, in turn, are built on top of common mechanisms and functions. In fact, at the foundation of such systems are home automation mechanisms, which provide the ability to monitor/control the building blocks of a home like windows, doors, electrical system, air conditioning system, energy production subsystem, alarm, appliances and so forth.

Furthermore, most advanced services also need information about the inhabitants that can be obtained by a combination of environmental and wearable sensors, possibly those embedded in the users' personal devices such as smartphones for example. Such additional sensors are necessary to obtain a detailed context about the users that is crucial to make the smart home an intelligent environment at the service of the user. Examples of such information are the user position (by means of a localization system), the user physical condition (by means of wearable sensors) or the user activities (by means of combined wearable and environmental sensors).

However, this information, which is often highlevel, cannot be obtained by a direct observation of raw data coming from sensors. Instead, it must be processed by suitable data fusion algorithms, usually based on signal processing, machine learning and/or data analysis algorithms.

From the perspective of the information and communication technology (ICT), support for the full range of these mechanisms and services requires the development of a complete and complex IoT infrastructure. Such infrastructure must span the full range from the sensor/state data acquisition, storage and fusion to the data presentation and control of the actuation mechanisms present in the home, and should also include the appropriate support for deployment, commissioning and maintenance.

Employing contemporary standards and technologies, basic functionalities for sensing, state acquisition and control can already be achieved with relative ease. In particular, at the level of home automation, several standards [START_REF] Gomez | Wireless home automation networks: A survey of architectures and technologies[END_REF] already provide adequate support, which include accessing state or sensor information and binding this information to the control/actuation mechanisms. Similarly, both ZigBee [START_REF] Furfari | A service-oriented zigbee gateway for smart environments[END_REF] and Bluetooth [START_REF] Ferro | Bluetooth and Wi-Fi wireless protocols: a survey and a comparison[END_REF] support the integration of wearable devices and, at an upper layer, M2M standards [START_REF] Al-Fuqaha | Internet of things: A survey on enabling technologies, protocols, and applications[END_REF] including but not limited to MQTT and CoAP, provide the mechanisms necessary to integrate the smart home in cloud services over the Internet. On the other hand, the development of services and applications in smart homes reflecting use cases and business plans of rich application scenarios is usually supported by specialized platforms for example, see subsection 2.2.3 for AAL [START_REF] Fagerberg | Platforms for AAL applications[END_REF].

Another aspect of IoT that has been confined so far to research, concerns the adaptation and personalization of services offered by smart homes. Adaptation and personalization consider the ability of a smart home to automatically tailor its services to the individual user's needs. This is often achieved by building on generic services designed for a specific group of users such as children or the elderly, and then by adapting the behavior of the service to the habits of the user. This implies the ability to detect habits as well as to discover deviations from these habits while at the same time, to automatically reconfigure the business logic of the service or application. Such mechanisms usually require a strong convergence among sensors and activity recognition, anomaly detection and cognitive capabilities, especially in those cases in which at least part of these capabilities are integrated within the sensors themselves. Significant preliminary experiences with this approach which is often referred to as the Internet of Intelligent Things [START_REF] Amato | Robotic ubiquitous cognitive ecology for smart homes[END_REF], has been obtained by EU projects RUBI-CON [START_REF] Kurz | The opportunity framework and data processing ecosystem for opportunistic activity and context recognition[END_REF] and OPPORTUNITY [START_REF] Bacciu | On the Need of Machine Learning as a Service for the Internet of Things[END_REF].

Smart health

Over the last twenty years, due to significant reductions to the cost of sensors and improvements in both signal processing techniques and integration/quality of signal, applications of smart environments and Internet of Things to health have expanded rapidly. This Section relates some of the work in this domain with an overview description of enabling technologies.

General description of solutions

Enabling technologies and their application to healthcare are presented under the common scheme described in Fig. 2. A set of sensors, integrated to the environment of the person and/or worn by him/her will acquire some data continuously or periodically and process them, to be able to firstly give some information or some feedback to the person and secondly inform the medical staff, the family or some other authorized persons of the status. These devices can be used for medical monitoring in specific contexts for instance after surgery, or to enable the person to live longer, in better health and independently for instance in applications for the elderly or for people with disabilities [START_REF] Islam | The internet of things for health care: a comprehensive survey[END_REF].

Distress situation detection

Continuous monitoring of a person using physiological data or even using contextual/activity data, can provide information on the physical condition of the person and the ability to raise alerts in case of distress or other hazardous situations.

One key example due to its importance in developed countries, is detecting fall for elderly people living independent. In France for instance it is one of the most frequent causes of emergency calls and of medical intervention for the elderly at home. Solutions must be found to analyze it, detect it better and know which kind of persons have to be sent (medical or normal citizen) to help the person. Fall is a highly studied subject in the last years and one of the main uses of IoT and smart environments for health-related applications [START_REF] Khan | Review of fall detection techniques: A data availability perspective[END_REF][START_REF] Noury | Fall detectionprinciples and methods[END_REF].

One of the most common ways to detect fall is using inertial sensors that are worn by the person. With the wider availability and the power offered by smartphones in recent years, it has become possible to use their Inertial Motion Unit to detect falls. For example, [START_REF] Kerdegari | A pervasive neural network based fall detection system on smart phone[END_REF] that fuses the different sensors of the smartphone (IMU, GPS, etc.) to try to understand the context of the alert raised by the motion sensorsbased algorithm and reduce false positives. Another way to achieve this is to add external sensors to the IMU, such as PIR sensors in the home, and fuse them with the IMU to check the activity of the person in the next minutes after the detection of the event [START_REF] Gjoreski | Contextbased fall detection and activity recognition using inertial and location sensors[END_REF]. In the last years, video cameras [START_REF] Prati | Sensors, Vision and Networks: from video surveillance to activity recognition and health monitoring[END_REF] have been more and more used in this context. Depth cameras can give more information and analyze more easily the moving vs. background objects [START_REF] Dubois | Measuring frailty and detecting falls for elderly home care using depth camera[END_REF]. They can be used to analyze the scene, detect the activities and this abnormal scenario of fall. Concerning 2D cameras, [START_REF] Debard | Camera-based fall detection using real-world versus simulated data: How far are we from the solution?[END_REF] gives the state-of-the-art of the subject and tries to analyze the pertinence of the different results and the real advances that have been made versus what remains to overcome. Finally, other kinds of solutions exist and for instance [START_REF] Liu | An automatic in-home fall detection system using Doppler radar signatures[END_REF] presents a solution that is based on radar sensors that are integrated to the home. Fall remains a very difficult (considering all the kinds of falls that exist) and challenging.

Another kind of situation that could be detected is heart conditions and for instance atrial fibrillation [START_REF] Lee | Atrial fibrillation detection using an iPhone 4S[END_REF]. It can be detected using the camera of a smartphone or even now with a smartwatch. This detection concerns one of the most common heart problems in the world and is a subject of research nowadays by means of using phones and watches. Situations such as relapse in depression can also be detected and analyzed [START_REF] Aziz | An integrative ambient agent model for unipolar depression relapse prevention[END_REF]. Such system can permit to act as soon as possible to prevent the state of the person to escalate.

Ambient Assisted Living

As presented in the previous Section, smart homes are a huge challenge in the last years and have been a hot topic of research. Indeed, data from ambient assisted living can also be used to infer the behavior of the person and detect changes in it to find signs of a degradation of the health of the person as soon as possible. There are multiple challenges in this case including the correct segmentation of data in uncontrolled trials [START_REF] Steen | Modeling individual healthy behavior using home automation sensor data: Results from a field trial[END_REF], an important multimodality using very different kind of data [START_REF] Velik | A brain-inspired multimodal data mining approach for human activity recognition in elderly homes[END_REF], how to adapt the models to the person that we have to monitor [START_REF] Chua | A supervised learning approach for behaviour recognition in smart homes[END_REF], the problem to infer behavior or high-level data from the activities that are recognized [START_REF] Chua | A supervised learning approach for behaviour recognition in smart homes[END_REF] or the efficiency and capacities of different kind of recognitions [START_REF] Chahuara | On-line human activity recognition from audio and home automation sensors: Comparison of sequential and nonsequential models in realistic Smart Homes 1[END_REF]. This activity recognition is then crucial in applications related to health in smart homes as it will be the basis to infer the well-being of the person and to link the results to well-known and use scales in geriatrics such as ADLs. The challenges are very difficult as the first problem is that it is very difficult to separate the activities that are performed, and secondly the realization of the activities not only depends on the person that does it but also on the environment in which it is done. That leads to very complex models to construct and to evaluate.

From these detections and recognition, applications are then two-fold. The first kind is to evaluate the status of the person that is monitored in the home for a certain kind of problem, such as cognitive im-pairment [START_REF] Akl | Clustering home activity distributions for automatic detection of mild cognitive impairment in older adults 1[END_REF]. This evaluation allows to show the evolution of the problem of the person to determine when he/she is not any more able to live independently. The second kind of application is to help people performing these activities taking into account the specificity of their disease/impairment [START_REF] Jean-Baptiste | Intelligent prompting system to assist stroke survivors[END_REF]. It can improve their conditions of living at home and their experiences.

Prevention/assistance to healthcare

The final goal of all the solutions of smart sensors and environments for health is to help prevent or assist the person that has to face a specific condition. Dependence is one of the huge cost in our healthcare systems and if it can be improved, it would reduce this part. A lot of work focuses on that considering different kinds of assistance. For people with a disability for instance, [START_REF] Igual | Personalizable smartphone-based system adapted to assist dependent people[END_REF] proposes a system that will combine a web-app to allow the caregiver to give instruction to the environment and a smartphone to help the person in daily living. Such development has required expertise to design it as efficiently as possible so that it can be useful to the person. It generally includes co-conception with users.

One of the major concerns in health is monitoring and/or improving the condition of persons with chronic diseases or recurrent disorders. For instance, some smart devices and applications can help managing chronic diseases such as diabetes [START_REF] Kafalı | Commodity 12: A smart e-health environment for diabetes management[END_REF]. The goal of such applications, that relies generally on measurement devices and/or on smartphones and other connected devices is to help the person to manage the effect of the disease and control it or control the observance of medication. Solutions can also be integrated in objects daily used such as the bed [START_REF] Walsh | Non-contact undermattress sleep monitoring[END_REF]. In this application, the goal is to analyze the sleep conditions in order to detect and/or quantify changes in it and thus detect disorders. To this end, sensors and strain gauge are integrated to the bed. The long-term evolution of the uses of the person is important and relevant to the improvement or degradation of living conditions of the person. Other data can be acquired, such as heart rate, to be able to monitor in long terms the evolution of this data, and possibly in the future to raise alarms such as described before in the distress situations detection [START_REF] Rosales | Heart rate monitoring using hydraulic bed sensor ballistocardiogram[END_REF].

To conclude this Section, one of the important applications is the monitoring of and help offered to elderly people. In all developed countries, population is ageing fast due to improvements in medicine, and another fact is that the family is spreading all over countries and ageing people generally are lonelier than in the past. In addition to the works that monitor activities of daily living of the person, monitoring some characteristics of the living conditions of the person could be important. For instance, in [START_REF] Baldewijns | Automated in-home gait transfer time analysis using video cameras[END_REF] and [START_REF] Pogorelc | Home-based health monitoring of the elderly through gait recognition[END_REF], gait or time of transfers are measured along time, and their evolution is characterized. This evolution is another point of evaluating possible entrance in dependency. As a prevention, some works [START_REF] Bleser | A personalized exercise trainer for the elderly[END_REF][START_REF] Fleury | Evaluation of a Smartphonebased audio-biofeedback system for improving balance in older adults-A pilot study[END_REF] propose to train the person with some specific exercises (link to posture, transfers or movements) to prevent fall or give benefit to the person.

Finally, in case of dependence, robots can be of help for the person to allow measurement and monitoring, and more importantly, to create a presence for the person and bring help in case of specific needs [START_REF] Pavón-Pulido | A service robot for monitoring elderly people in the context of ambient assisted living[END_REF].

As seen in this Section, health applications are numerous and go from distress situation detection to long-term monitoring in smart environments. Such monitoring can be included in larger architectures. In the future, we could think that it can be included in smart city architectures. Smart cities are the subject of the next Section.

Smart city

Smart cities are one of the richest and most complex scenarios for smart environment (if not already the most complex) [START_REF] Streitz | Beyond 'smart-only' cities: redefining the 'smart-everything' paradigm[END_REF][START_REF] Streitz | Grand Challenges for Ambient Intelligence and Implications for Design Contexts and Smart Societies[END_REF]. It crosses several domains including the environment, economy, mobility, energy, planning, governance among others (see Fig. 3) presenting a large number of associated challenges and involving multiple actors such as city administrators, operators, service providers and citizens, with possibly competing objectives.

It is thus clear that smart cities are not just a technological challenge, but they are the place in which the challenges to the technology are the most diverse and heterogeneous, and the technological solutions must confront themselves against many interests and needs. From an ICT perspective, its technologies are often transversal to all domains and challenges, and they address a number of scenarios of smart cities spanning from e-tourism [START_REF] Tripathy | iTour: The Future of Smart Tourism: An IoT Framework for the Independent Mobility of Tourists in Smart Cities[END_REF], e-culture [START_REF] Bernardino | The legacy of European Capitals of Culture to the "smartness" of cities: The case of Guimarães 2012[END_REF], egovernment [START_REF] Lv | Government affairs service platform for smart city[END_REF], smart energy [START_REF] Masera | Smart (Electricity) Grids for Smart Cities: Assessing Roles and Societal Impacts[END_REF], smart mobility [START_REF] Zawieska | Smart city as a tool for sustainable mobility and transport decarbonisation[END_REF], e-health/wellbeing [START_REF] Cook | Using Smart City Technology to Make Healthcare Smarter[END_REF], just to mention a few.

The heterogeneity of technical problems and of available technologies [START_REF] Silva | Towards sustainable smart cities: A review of trends, architectures, components, and open challenges in smart cities[END_REF], united to political issues [START_REF] Krivỳ | Towards a critique of cybernetic urbanism: The smart city and the society of control[END_REF], are barriers that may delay the development of smart cities. It is thus no surprise that the interoperability of technological solutions and standards are of utmost importance, especially in the field of the Internet of Things, which is widely recognized as a key technological enabler of smart cities [START_REF] Zanella | Internet of things for smart cities[END_REF]. Most recent trends, under this respect, are the introduction of novel participatory sensing paradigms that involve the citizens themselves in the (expensive) task of sensing data from the cities, by means mobile applications for personal smartphones [START_REF] Castro-Jul | Collaboratively assessing urban alerts in ad hoc participatory sensing[END_REF].

In addition to reducing or indeed avoiding the costs due to the deployment and maintenance of capillary sensory apparatus in the city, such paradigms have also the great advantage of empowering users in the development of smart cities. However, the relative youth of these approaches makes them even farther from a standardization, and many different experimental platforms have been tested in several smart cities [START_REF] Cardone | The participact mobile crowd sensing living lab: The testbed for smart cities[END_REF][START_REF] Hu | Vita: A crowdsensing-oriented mobile cyber-physical system[END_REF][START_REF] Laurila | The mobile data challenge: Big data for mobile computing research[END_REF]. Furthermore, recent approaches to participatory sensing are also experiencing novel forms of network organization based on emerging edge computing [START_REF] Bellavista | Human-Enabled Edge Computing: Exploiting the Crowd as a Dynamic Extension of Mobile Edge Computing[END_REF].

Smart factory and Industry 4.0

Industry 4.0 is an emerging business paradigm that is reaping the benefits of enabling technologies driving intelligent systems and environments [START_REF] Preuveneers | The intelligent industry of the future: A survey on emerging trends, research challenges and opportunities in Industry 4.0[END_REF]. While acquiring, processing and acting upon various kinds of relevant context information is common in application areas such as smart homes and offices, smart automated manufacturing systems can benefit from these capabilities as well. For example, smart manufacturing systems can make well-informed decisions to adapt and optimize their production processes at runtime or adapt to a customer's personal preferences without any delay on the production process. The proliferation of smart enabling technologies has sparked a digital transformation in the manufacturing world. This paradigm shift is often referred to as the 4th Generation Industrial Revolution (Industry 4.0) [START_REF] Gilchrist | Industry 4.0: the industrial internet of things[END_REF][START_REF] Lee | A cyber-physical systems architecture for industry 4.0-based manufacturing systems[END_REF] or the Factory of the Future (FoF) [START_REF] Karnouskos | A SOA-based architecture for empowering future collaborative cloud-based industrial automation[END_REF]. It envisions smart factories where the Internet of Things (IoT) and Cyber-Physical Systems (CPS)enabled manufacturing [START_REF] Monostori | Cyber-physical systems in manufacturing[END_REF] provide the foundations for creating smart products through smart processes and procedures. Large factories connect hundreds -if not thousands -of sensors and devices, not only within the plant, but also with other factories and the outside world. Smart products will plan, control and optimize their own production process with minimal human intervention by harnessing ongoing developments in sensor technology, machine-to-machine communication [START_REF] Verma | Machine-to-Machine (M2M) communications: A survey[END_REF], big data analytics [START_REF] O'donovan | Big data in manufacturing: a systematic mapping study[END_REF] and machine learning [START_REF] Perez | Machine learning for a dynamic manufacturing environment[END_REF][START_REF] Priore | A comparison of machine-learning algorithms for dynamic scheduling of flexible manufacturing systems[END_REF]. The purpose of this digital transformation is to enhance the transparency of the production process across the organizational boundaries of the manufacturing enterprise.

Enhanced access to data from the Industrial IoT (IIoT) [START_REF] Gilchrist | Industry 4.0: the industrial internet of things[END_REF] will support business applications on any device, any time, from any location. In turn, the dataintensive nature of smart production systems will enable timely, accurate and detailed log trails resulting in a real-time augmented view on many systems and activities in a way that was not previously possible. A consequence is that the production floor has become an inherently complex intelligent environment, as the digital and physical worlds are heavily intertwined.

Indeed, interconnected systems will be linked to cloud services for remote monitoring and data analytics to optimize production plans, enable proactive maintenance, and respond quicker to continuously changing customer requirements. The factory of the future will leverage data-accessing and dataprocessing services available on the internet to support data-intensive business processes and timecritical applications, as depicted above in Fig. 5. With networked production as a key feature of Industry 4.0, people, machines and business processes will interact with one another to enable personalized products through flexible, resource-efficient and cost-effective manufacturing.

Radio Frequency Identification

As it can be concluded from the previous Section, IoT communication solutions constitute a fundamental enabler of smart environments. This Section focuses on RFID, which is a family of solutions mainly intended to provide device identification. A traditional RFID system consists of two elements namely a reader or interrogator which typically controls communication with several tags, low-cost devices that can be easily embedded into a variety of physical artefacts and assets. Contrary to other lowpower wireless communication systems, RFID is an asymmetric system in that in most cases the interrogator not only controls all communication with the tags but also provides the energy source for the tags through the emission of its radio frequency signal [START_REF] Roussos | Networked RFID: systems, software and services[END_REF][START_REF] Sarma | Radio frequency identification and the electronic product code[END_REF]. This distinctive architecture enables the development of systems where a relatively small number of expensive components are combined with a very-large number of low-cost tags to optimize the overall cost of the system. For example, a metropolitan transit ticketing system such as the Oyster card in London or the Suica card in Tokyo, incorporate reade.rs in the thousands with millions of tags embedded in tickets and mobile devices.

The use of RFID in the IoT context introduces two additional elements that are necessary to enable large-scale open infrastructures: (i) universally unique identification (UUID) schemes that allow each entity connected to the IoT to be unambiguously identified through an alphanumeric handle, and (ii) networked services that allow the mapping of a handle to entity-related information and supporting meta-data.

RFID technologies

RFID is the umbrella term in common use which covers a variety of distinct technologies using a wide range of frequencies, communication protocols, and device types. Moreover, RFID technologies have been standardized under many different organizations including international such as ISO, ITU and IEC as well as national such as DIN (Germany), JIS (Japan) and SINIAV (Brazil). The confusing landscape of RFID is further complicated by the common use of commercial brand names such as Mifare and RAIN RFID as alternatives to the difficult to use alphanumeric standard names.

To provide some structure and help navigate the range of RFID technologies a common approach is to refer to different technologies using the names of the corresponding frequency band as summarized in Table 1. Furthermore, often RFID technologies are characterized with reference to their tag chip technology, which also defines their communication characteristics, as summarized in Table 2.

Despite the great variety of RFID technologies and flavors on offer, the vast majority of applications developed in the context of the IoT reviewed in Section 2 above typically employ one of the three most common types summarized in Table 3 below. This table provides summary information that can be used to select the particular flavors that meet the requirements of a particular IoT application matching specific characteristics such as the number of co-located tags that must be supported (depending on the ability of the technology in terms of reading speed and its ability to avoid collisions), security provisions, tag capacity, range, tag packaging and form as well as the ability to easily integrate readers in bespoke system designs.

Identifier schemes

As noted earlier, for the development of open IoT systems, which typically incorporate a variety of stakeholders and must support scalable operation, RFID must support a common way to interpret identifiers retrieved from tags [START_REF] Sarma | Radio frequency identification and the electronic product code[END_REF]. Moreover, standard identifier schemes are already in widespread use for a variety of material objects, locations and even digital artifacts so demanding that RFID within the IoT starts from a clean slate would not be feasible either from a financial or an organizational point of view. Electronic Product Codes (EPC) developed by SG-1 and EPCglobal, Object Identifiers (OID) according to the ISO/ITU standard, Ubiquitous IDs (uID) in wide use in Japan as well as a variety of other schemes commonly employed in RFID and barcode encodings, often in an industry-specific manner, are in current common use for the identification of billions of already tagged objects.

Although it is not possible to cover each one of these schemes in detail in this paper, we note that all schemes follow a similar pattern to structure their codes. Specifically, each code starts with a prefix which identifies the particular type of code that fol-lows, for example within the EPC system, the prefix of 00110000 identifies the remainder of the codes as a Serialized Global Trade Item Number of length 96 bits (SGTIN-96). The remainder of the code is then typically organized in a hierarchical manner to enable code allocation delegation across regions or organizations. In the case of SGTIN-96 codes for example, the code will include the company prefix identifying the manufacturer of the particular product, the item reference identifying the product type and finally a serial number that is unique to the particular product item. Similar structures exist for OID (specified under Section 9834-8:2009 of ISO/IEC) and uID although of course identifier space management and regulation are carried out through their respective organizational custodians.

Identifier resolution systems

Notwithstanding the specific choice of identifier use, any IoT system that incorporates RFID-tagged entities must provide an automated way to discover information associated with a particular identifier as well as control access to this information in a manner that ensures secure operation and privacy protection.

In the content of IoT RFID, this system capability is referred to as the Identifier Resolution Service(s).

Many of the current proposals for IRSs provide specifications for scheme-specific services: for example, EPCglobal [START_REF] Kürschner | Discovery service design in the epcglobal network[END_REF] provides resolution services that cater only for EPC codes issued within their ecosystems. Ongoing work by ISO/IEC JTC 1/SC 6/WG 9 and ITU-T Q12/SG17 has developed an OID resolver specification known as X.oid-res or the SG17 ORS (OID Resolution Service). In contrast to that work, IoT applications require an open and inclusive approach. For example, the extensive experience and experimentation in this area conducted within the Internet Engineering Task Force (IETF) and specifically the work carried out on the HIP (RFC 5201) and LISP (RFC 6115) protocols and on scalable Internet-scale resolution systems [START_REF] Gomez | From 6LoWPAN to 6Lo: Expanding the Universe of IPv6-Supported Technologies for the Internet of Things[END_REF] offers valuable lessons on how to enable IoT-scale IRS that can cater to all types of RFID irrespective of the specific UUID scheme employed. At the time of writing, there is no commonly accepted standard but certain developments point the way towards a usable solution [START_REF] Roussos | Scalable id/locator resolution for the iot[END_REF].

CNN communication technologies

While RFID systems mainly aim at communicating the identification of a given object, CNNs serve more general purposes regarding interaction with the physical world. CNN devices are often tiny computers provided with sensing and/or acting capabilities, which however may exhibit computational constraints such as RAM in the order of ~10 kB or an 8-/16-bit processor, as well as energy constraints since many such devices will run on a limited energy source (e.g. a coin cell battery).

This Section introduces the main wireless or wired communication technologies used in the CNN space. Many such technologies typically provide only Physical layer (PHY) and Medium Access Control layer (MAC) functionality, although some of them are defined as part of a larger protocol stack. As shown in this Section, a wide range of CNN technologies is available. However, each technology may have specific characteristics and may be better suited for a limited set of environments and scenarios.

The set of technologies presented in this Section comprises IEEE 802. [START_REF] Callaghan | Thematic issue: Smart Homes[END_REF] [START_REF] Watteyne | Using IEEE[END_REF]. In fact, TSCH is also used in standard protocol stacks on top of IEEE 802.15.4 for industrial environments such as ISA 100.11a and WirelessHART.

BLE

BLE was released in 2010 as a low-energy variant of classic Bluetooth [START_REF] Gomez | Overview and evaluation of bluetooth low energy: An emerging lowpower wireless technology[END_REF]. Since BLE can partially reuse Bluetooth hardware, a device that supports classic Bluetooth can also support BLE for low additional cost. Therefore, BLE can leverage its widespread presence in smartphones, which can be used to collect data from or send commands to surrounding sensors and actuators. The smartphone can also be used as a gateway for interaction between sensors, actuators, and the Internet. In addition, BLE has become dominant in the areas of wearables, tablets, and other consumer electronics devices [START_REF] Aguilar | Opportunistic sensor data collection with bluetooth low energy[END_REF].

ITU-T G.9959 (Z-Wave)

ITU-T G.9959 is an open standard that specifies the lower layers of the Z-Wave technology. Z-Wave is a wireless protocol stack that was born as a proprietary technology, which has been specifically designed for home automation [START_REF] Gomez | Wireless home automation networks: A survey of architectures and technologies[END_REF].

DECT-ULE

DECT-ULE is a low-energy variant of DECT, which is the main technology used for voice and data communication for indoor cordless telephony [START_REF] Watteyne | Using IEEE[END_REF]. Use of DECT-ULE has been proposed in order to enable communication between a gateway and sensors or actuators in the home, by exploiting the strong presence of DECT equipment.

NFC

NFC is a wireless technology that provides very short range (e.g. ~10 cm). This feature offers intrinsic security properties, since it minimizes opportunities for unauthorized devices to capture transmitted data. NFC allows different communication modes, such as card emulation (e.g. for payment applications), reader mode, and peer-to-peer communication [START_REF] Hong | Transmission of IPv6 packets over near field communication[END_REF].

IEEE 802.11

IEEE 802.11 is a massively successful Wireless Local Area Network (WLAN) family of standards, often referred to as Wi-Fi. While its design includes power-saving mechanisms, it has not been a clear choice for energy-constrained devices, given its implementation complexity and overall power consumption. In order to fill the gap of IEEE 802.11 for sensor/actuator applications, IEEE 802.11ah has been recently designed for low energy consumption, lower bit rate and increased range, enabling sensor data collection application areas such as smart grid [START_REF] Baños-Gonzalez | IEEE 802.11 ah: A technology to face the IoT challenge[END_REF].

LoRaWAN

LoRaWAN is an unlicensed band wireless technology that belongs in the emerging Low Power Wide Area Network (LPWAN) category. LoRaWAN uses LoRa technology at the physical layer, and it allows an increased communication range up to the order of 10s of kms. Based on a star topology, whereby a gateway collects data from up to hundreds of thousands of devices such as sensors, it offers a low infrastructure cost, at the expense of severe message rate and bit rate limitations [START_REF] Farrell | LPWAN Overview[END_REF].

Sigfox

Sigfox is another flagship LPWAN wireless technology, therefore it offers long range and low infrastructure coverage for a massive amount of devices, at the expense of very reduced bit and message rates. This technology operates in unlicensed frequency bands, and it is managed by the company that is also called Sigfox. Like other LPWAN technologies, it is based on the star topology, and a communication range in the order of 10s of kms is achievable [START_REF] Farrell | LPWAN Overview[END_REF].

NB-IoT

Narrowband IoT (NB-IoT) is another emerging technology that is often considered to be in the LPWAN category [START_REF] Wang | A primer on 3GPP narrowband Internet of Things[END_REF]. NB-IoT has been defined in the Release 13 specification by 3GPP, it is based on licensed spectrum, and it also offers support of a large number of devices per single base station, at low bit rates.

PLC

Power Line Communication (PLC) defines a family of technologies that leverage power grid infrastructure as a means for communication. While PLC is based on using a wired medium, it is subject to interference, therefore it is subject to impairments similar to those of wireless media. There exist low bit rate PLC variants such as IEEE 1901.2 or ITU-T G.9903, which are often used in smart home or related applications such as smart grid [START_REF] Hou | Transmission of IPv6 Packets over PLC Networks[END_REF].

MS/TP

Master Slave / Token Passing (MS/TP) is a wired technology that belongs to the BACnet family of standards for building automation. Devices that use MS/TP are typically grid-powered. While the described features do not pose the same degree of limitations as other technologies overviewed in this Section, devices that use MS/TP are constrained, and the physical layer, based on RS-485 specification, offers low bit rates [START_REF] Martocci | Transmission of IPv6 over Master-Slave/Token-Passing (MS/TP) Networks[END_REF].

CNN protocol architectures

The previous Section provided an overview of the main communications technologies used in IoT applications. This Section presents the main protocol architectures, i.e. complete sets of communication protocols, from the PHY to the application layer in the IoT space. We first focus on IP-based architectures, and then we overview non-IP-based stacks.

IP-based architectures

In order to obtain the maximum benefit from sensors and actuators, they need to be connected to the Internet, which allows the highest degree of flexibility (i.e. making it possible to communicate with these devices remotely) and interoperability (i.e. Internet connectivity maximizes the number of devices that one device can talk to).

Running IP can be considered the most suitable method for many constrained devices to achieve Internet connectivity. IP is an open protocol, it was designed for interoperability, and it simplifies application development, since applications run on wellknown services on top of IP, regardless of the underlying technology [START_REF] Gomez | From 6LoWPAN to 6Lo: Expanding the Universe of IPv6-Supported Technologies for the Internet of Things[END_REF].

The least constrained devices (e.g. class 2 or greater [START_REF] Bormann | Terminology for Constrained-Node Networks[END_REF]) are considered to be able to run a traditional IP-based protocol stack (e.g. using HTTP, TCP, and IP, on top of common network interfaces, see Fig. 6left, especially when such devices are grid-powered.

However, the most constrained devices, and/or those that are energy-constrained, cannot afford the more traditional protocol stack, due to lack of sufficient computational power and energy availability. For this reason, the IETF engaged in 2005 in a decade-long process to define adaptations, optimizations and new protocols for a first version of an IPv6-based lightweight protocol stack for constrained devices. IPv6 was assumed at the core of the stack, since IPv4 faces the problem of address exhaustion, and also because IPv6 is provided with tools for device selfconfiguration. The lightweight, IoT-specific protocol stack (see Fig. 6-right) comprises an adaptation layer below IPv6 [START_REF] Shelby | 6LoWPAN: The wireless embedded Internet[END_REF], the IPv6 Routing Protocol for Lowpower and lossy networks (RPL) [78], and the Constrained Application Protocol (CoAP) [START_REF] Shelby | The constrained application protocol (CoAP)[END_REF].

IPv6 over Low power WPAN (6LoWPAN) is an adaptation layer that was designed in order to support IPv6 over IEEE 802.15.4 networks. Among others, 6LoWPAN provides IPv6 (and UDP) header compression, packet fragmentation and reassembly (given the short IEEE 802.15.4 frame size), and an adaptation of the IPv6 Neighbor Discovery protocol for energy-constrained devices [START_REF] Shelby | 6LoWPAN: The wireless embedded Internet[END_REF].

The 6LoWPAN work has been extended to several other technologies. For example, as of the writing, the IETF effort called 6Lo has adapted 6LoWPAN for interfaces such as BLE, DECT-ULE, ITU-T G.9959, MS/TP, and NFC [START_REF] Aguilar | Opportunistic sensor data collection with bluetooth low energy[END_REF]. On the other hand, the effort called IPv6 over Time Slotted Channel Hopping (6TiSCH) has enabled IPv6 support over IEEE 802.15.4e TSCH mode [START_REF] Watteyne | Using IEEE[END_REF]. Finally, the IETF has recently targeted IPv6 support over LPWAN technologies, such as Sigfox, LoRaWAN and NB-IoT [START_REF] Minaburo | LPWAN Static Context Header Compression (SCHC) and fragmentation for IPv6 and UDP[END_REF]. While this effort also provides header compression and fragmentation, the extremely severe communication constraints in some of the considered technologies, requires this adaptation layer to go significantly beyond 6LoWPAN-style adaptation.

At the network layer, for networks that follow a multihop topology (e.g. the mesh topology), a routing protocol is needed. RPL was designed for sensor data collection applications. In fact, RPL is optimized when all nodes in a network need to report data to a single destination, by minimizing routing table memory requirements and message overhead. However, RPL is not optimal for any-to-any operation and requires additional mechanisms in such case [START_REF] Clausen | A critical evaluation of the IPv6 routing protocol for low power and lossy networks (RPL)[END_REF]. Finally, at the application layer, CoAP was designed to follow the Representational State Transfer (REST) principles, which are also used in the World Wide Web (WWW) [START_REF] Bormann | CoAP: An application protocol for billions of tiny internet nodes[END_REF]. CoAP can be viewed as a lightweight cousin of HTTP, as it allows the manipulation of resources identified by Uniform Resource Identifiers (URIs), and messages are self-contained, albeit with a lightweight binary header, and based (by default) on UDP.

Non-IP-based architectures

There exist also complete protocol architectures for sensor and/or actuator devices that are not based on IP. For example, ZigBee defined its own upper layer functionality on top of IEEE 802.15.4. BLE and Z-Wave are other non-IP-based complete protocol stacks. Internet connectivity for non-IP-based protocol stacks can be achieved by means of Protocol Translation Gateways (PTGs), which pose management issues and limit application development. Nevertheless, ZigBee, BLE and Z-Wave also support protocol stack variants that are based on IP.

Discussion

In this paper, we discussed selected smart environments of key relevance to research in Section 2; and, reviewed alternative IoT communication solutions fundamental to enabling such smart environments in Sections 3-5. In this Section, we reflect on different aspects of how smart environments are supported by underlying IoT communication solutions.

In the first part of this Section, we identify and reflect on crucial features of IoT solutions and then proceed to discuss the main challenges for the applications of these IoT solutions in smart environments.

IoT solutions features and smart environments

The following features of IoT solutions used in the selected smart environments are discussed first, specifically the type of sensors used, CNN topology, technology capabilities, and computing approach (see Table 5).

Type of sensors

A smart environment will typically be instrumented with dedicated sensors that measure physical parameters of interest. Such sensors may be statically located at points of interest within the target environment for example a home, a factory, a city, specific locations on or in the human body and so forth. However, the popularity of the smartphone as the main user device generates opportunities to exploit the information captured by smartphone sensors, even if these sensors have not been designed for the specific use case. However, this paradigm involves several challenges (detailed in Section 6.2).

In the smart factory, smartphones are not typically used to enrich the sensing capabilities of the environment, since dedicated systems focus on the parameters of interest while providing the robustness, reliability and deterministic behavior highly required in this context. On the other hand, smart homes may leverage presence of the smartphone (and the user) as an additional input to that offered by dedicated sensors deployed in the home.

In a smart manufacturing environment, analog and digital sensors are commonly used to monitor the status of Industry 4.0 automation applications, for predictive maintenance, or to diagnose production processes under the toughest operating conditions. That is why sensors must meet higher quality standards compared to sensors deployed in less harsh conditions such smart home environments. These sensors may need to be more resistant to dust, moisture, chemicals, vibrations, shocks or high temperatures in order to prevent them from failing or their performance from degradation.

CNN topology

In many smart environments, the CNN used follows a mesh network topology which is more complex than alternatives such as the star topology. In fact, a bespoke routing solution typically based on use of a dynamic routing protocol, is needed in this setting. Despite this requirement, the mesh topology is attractive because it offers two significant ad-vantages. First, it allows overcoming the network range limitations of a star topology, especially when link range is reduced for example to just a few tens of meters. Secondly, it offers path diversity thus avoiding the single-point of failure issue of a star topology, which relies on the availability of a central device. This may help coping with link quality issues in wireless systems (e.g. due to multipath propagation, interference, etc.) or in noisy wired systems (e.g. PLC). Both smart homes and smart factories typically use mesh networks for wireless sensor systems. In smart cities, while IEEE 802.15.4 mesh networks have been deployed in some experiments, LPWAN technologies have recently gained high momentum. LPWAN technologies follow the star topology, and offer a high link range, therefore they allow city-wide coverage of devices such as sensors at a low infrastructure cost.

Technologies

Smart homes benefit from a larger variety of available technologies among all smart environments considered. Some of these technologies have been designed specifically for smart home scenarios (e.g. ITU-T G.9959) or leverage infrastructure typically available at a home (e.g. PLC and DECT-ULE). Nevertheless, general purpose technologies such as IEEE 802.15.4, Bluetooth LE or Wi-Fi are also commonly used in smart homes.

At the other end of the spectrum, CNN technologies used in smart factories are typically based on IEEE 802.15.4e TSCH, which appears to be dominant in this setting.

Smart cities employ both general-purpose CNN technologies (e.g. IEEE 802.15.4), technologies not specifically developed for CNNs (e.g. 4G or Wi-Fi), and moreover, have recently leveraged the emerging LPWAN technologies, such as LoRaWAN, Sigfox or NB-IoT.

Finally, smart health application scenarios benefit from the technologies used in the physical environment where smart health applications are carried out. Note that many smart health applications are homecentric, therefore leveraging smart home technologies. In other cases, smart health users exploit the connectivity means provided by the smartphone.

Computing approach

IoT applications require services and support for storing, managing and processing the data collected from devices such as sensors. There exist different trends in this regard, where Cloud computing and Fog computing appear to be the most relevant approaches. The former leverages remote platforms available via the Internet, whereas in the latter, processing and storage is carried out locally, near the IoT device. Fog computing is suitable when low latency is required, and/or as a scalable solution when the number of devices is very high.

In smart homes, Cloud computing is the main paradigm for collected data processing and storage, generally intended for smart home monitoring and noncritical control operations. In this type of applications, Cloud computing is suitable, since latency requirements are not strict. On the other hand, real-time interactions are also common in smart homes, often involving humans in the loop: for example, a user turns on a lightbulb by pressing a button on a remote control. In such case, direct interaction between the communicating devices is a good fit, and neither cloud nor Fog computing are strictly needed.

In smart cities, a combination of cloud and Fog computing provides a suitable approach. The latter allows low latency, while providing support for handling the data collected by the potentially high number of IoT devices in a city.

In smart factories, the production network connects a wide variety of sensors and actuators, for example, to monitor a variety of machine-health parameters, and to stream data via a gateway to business intelligence and administration systems within the smart factory -such as Enterprise Resource Planning (ERP) applications and Manufacturing Execution Systems (MES) -to manage the entire lifecycle of the product. To support these smart manufacturing application cases, data is frequently processed in real-time in a distributed manner on top of a fog (or real-time edge) computing analytics architecture for efficiency reasons. Indeed, with latency requirements in the range of milliseconds, timely data processing is key for industrial control and manufacturing applications. Rather than executing all data processing jobs in the cloud, by offloading to the fog layer i.e. closer to the production floor, a smart manufacturing company can minimize latency and operational expense. Cloud computing also has its place as well in Industry 4.0. The production network may provide connectivity and share data across the internet to cloud services of other manufacturing enterprises and suppliers. The objective of this increased transparency is a seamless integration with supply chain and logistic networks and a more streamlined automated production environment.

Challenges

The following challenges for IoT solutions in smart environments are considered: interoperability and standardization, adaptation and personalization, and entity identification and virtualization.

Interoperability and standardization

The concept of IoT is strongly driven by the development of standards (either de facto or de jure) that address all layers from the physical to the application layer. Their majority have direct application in smart environments (see Section 4) and are still in continuous evolution. For example, in the context of smart factories, the networked production in Industry 4.0 requires interoperability between different machines. To address this concern, the OPC Unified Architecture (OPC UA) provides a secure, scalable and open platform for reliable machine-to-machine communication. OPC UA employs standard transport protocols and encodings to ensure connectivity between, for example, embedded controllers and highend enterprise service environments [START_REF] Henssen | Interoperability between OPC UA and AutomationML[END_REF]. It offers configuration capabilities for alarms and event notifications, and from a security perspective, it provides authentication capabilities for users, clients and servers to manage the integrity of their communication. Many industrial control and automation applications and production networks are typically time sensitive. To ensure a precise time distribution across manufacturing systems, many networks are adopting the IEEE Time Sensitive Networking (TSN) unified standard for this purpose [START_REF] Kehrer | A comparison of fault-tolerance concepts for IEEE 802.1 Time Sensitive Networks (TSN)[END_REF]. In other contexts, such as smart homes, smart health or smart cities, the standardization process is often not as advanced as for the smart industry but still present and rich. However, while, on the one hand, the presence of standards certifies the maturity of the technology, on the other hand the large number of standards and the fact that they have often significant overlaps certifies that the area is lively and that the market is fastdeveloping and still looking for an equilibrium. From the point of view of the users, the richness of the offer in terms of solutions based on standards is certainly positive and it limits potential vendor locks-in, however, the fact that standards are often not easily interoperable may lead to standard locks-in. In a context of a fast-developing market in which standards may become easily obsolete, standards lock-in could be problematic and limiting for the further market development. For this reason, the interoperability of different IoT standards (for example by the definition of suitable gateways) may become, in perspective, a critical aspect.

Adaptation and personalization

A growing trend towards personalization, both in leisure and professional smart environments, triggers greater demands of transparency and interoperability. Sensor and actuator networks that operated well in isolation will face new connectivity and adaptation challenges for opening up IoT networks to different stakeholders, computing paradigms (mobile, fog, cloud), and technologies that will drive the personalization.

An important challenge is how to adapt the way the algorithms use the data processed to give the best possible experience to the user of the solution or to someone that will take information from the processing. In the previous Sections we showed that despite considerable effort being devoted to this problem several challenges remain to make sensors and actuators work together in ambient environments. Two features are important for new technologies to be accepted and used long-term: they have to provide useful and verified information and be relatively simple to install, understand and maintain.

In the examples that have been cited as applications above, smart environments (smart homes, smart city, smart manufactories) or smart health, these two points are crucial for the technology not to be abandoned. For well-being or health, devices are reputed to be abandoned quickly [START_REF] Clawson | No longer wearing: investigating the abandonment of personal health-tracking technologies on craigslist[END_REF] as people are at the beginning motivated by the information that is brought, but this information is insufficient to motivate the use for a long time. For instance, if an activity tracking device is not able to detect the amount of activity that you do because the threshold defining it does not fit your use, it will have no use (for instance, an incorrect threshold for walk detection on the combination IMU/changes of heartrate in fitness applications). That is why such a device will "learn" in the first few days how the person behaves. Another example is for distress. The goal of several researches on that topic is for instance to build systems that will be able to monitor the activity of an elderly person at home to detect changes in his behavior and infer some possible health-related problems that should need warning the family or the medical staff or to detect distress situations such as fall. Analyzing the activity to detect changes of behavior (for instance in repartition of walk/stand/sit/lie down) needs having learnt the ones of the person in a first place, but also to be able to detect what is a change. For instance, for devices measuring heart rate and activity, does an episode of fever, that will increase the heart rate, have to be considered as relevant for the adaptation of the thresholds of detections of anomalies in the values? Incremental learning algorithms can allow to create models that will evolve with time, but an important question is when to adapt the model and when to warn? This very important question is the basis of all that kind of distress/health monitoring because we must not launch too much alarm, but we also must absolutely not miss an event.

The second important property is their relative simplicity to use, install and maintain a new technology. Installation and maintenance is primarily a technological and design problem. But for the easiness of use, the algorithms embedded will have a role to play. An important topic that we can discuss to ease user experience is the adaptation of the environment behavior to the user, so that it will not disturb his way of living. Some research projects are going through this problem (e.g. [START_REF] Karami | Using feedback in adaptive and user-dependent one-step decision making[END_REF][START_REF] Karami | User in the Loop: Adaptive Smart Homes Exploiting User Feedback-State of the Art and Future Directions[END_REF][START_REF] Rashidi | Keeping the resident in the loop: Adapting the smart home to the user[END_REF]), are on-going and are in their early stages. The idea is to use system traces and what are called implicit and explicit feedbacks from the user to adapt continuously the behavior of the system. These feedbacks are either a comment that the user does to the system saying that he does not like the action that has been done or are actions of the user that are in contradiction with the behavior of the system. Analyzing the way a person lives within the smart environment to detect such discrepancies in the data is still very costly but important for the experience of the user and the usability of the systems. If we want smart environments and ambient assisted living be more and more used and disseminated, these systems have to be simple and adapted to the person, not the contrary.

Entity identification and virtualization

IoT technologies bring together a variety of distinct elements and functionalities to construct integrated systems of increasing complexity consisting of numerous interacting complements. Entity identification is a core ingredient for managing this complexity and ensuring that assembly and commissioning of fully functional systems is successful as well as ensure trustworthy operating in the context of flexible and dynamic operations. In turn, this suggests the need for IoT universal identification as well as for supporting services to resolve entity codes and relate them to associated meta-data. Note that IoT entities may incorporate widely heterogenous types including physical objects, manufactured artefacts and devices, locations, humans and other living animals and plants, as well as the built environment and locations. Although attempts have been made to use communication identifiers for this purpose, there are many reasons that suggest that this is not a general solution including their typically limited scope with a specific communications context, multihoming and surrogacy relationships between entities and their communication interfaces as well as the well understood need for separation of entity identifier and IoT location attachment point.

Furthermore, entity identifiers offer a core ingredient for the development of effective ways to validate trust relationships between IoT entities and systems and control access to sensitive resources. Last but not least, entity identification is a core requirement towards object virtualization on the IoT which is considered a key development towards interoperability due its ability to track and synchronize across physical and digital resources.

Conclusions

Wireless networking is a core ingredient in a variety of IoT-enabled smart systems including homes, digital healthcare, smart factories and cities. Yet, choosing the right technology that best meets the requirements of a specific system can be a challenging task for the system architect due to the large diversity of options. In this paper, we have explored the advantages and limitations of different options with a view to provide guidance for the designer of smart systems in making an effective and efficient choice that best matches the goals of their work.

In conducting this survey, we recognise that low power wireless networking is in a state of flux as a consequence of the rapid development of innovative IoT solutions, which stretch the limits of current technologies. To this end, in this paper we have also explored areas of current and future development that investigate ways in which current technological limitations can be addressed. In particular, we have identified key research questions relating to interoperability and standardisation, adaptation and personalisation and entity virtualization that are expected to extend the functionality of current smart environments.

As a final reflection, we position our work against the other contributions in this thematic issue. We note that the exchange of data allowed by IoT technologies and systems is a starting point for creating smart environments powered by artificial and ambient intelligence [START_REF] Gams | Artificial Intelligence and Ambient Intelligence[END_REF]. The process of building smart environments may also leverage the inputs from other systems, such as computer vision ones [START_REF] Prati | Sensors, Vision and Networks: from video surveillance to activity recognition and health monitoring[END_REF]. This whole process requires considering the human aspect, since the human is in fact, either directly or indirectly, the main subject of smart environments [START_REF] Chin | The Internet of Things: Reflections on the Past, Present and Future from a User Centered and Smart Environments Perspective[END_REF]. However, designing smart environments involves grand societal challenges, from both technical and social points of view, that will require the efforts of the community in upcoming years [START_REF] Streitz | Grand Challenges for Ambient Intelligence and Implications for Design Contexts and Smart Societies[END_REF].

Fig. 1 .

 1 Fig. 1. Main components in smart home systems.

Fig. 2 .

 2 Fig. 2. General description of IoT or smart environments for health.

Fig. 3 .

 3 Fig. 3. A subset of the most relevant domains in the smart city.

Fig. 4 .

 4 Fig. 4. The 4 industrial revolutions leading to the Smart Factory of the Future and Cyber-physical Production Systems

Fig. 5 .

 5 Fig. 5. Networked production and manufacturing

Fig. 6 .

 6 Fig. 6. IP-based protocol architectures, including typical application layer and transport layer protocols: classic architecture (left) and IoT-specific architecture (right). RPL is only used for multihop topology IoT networks

Table 1 .

 1 RFID technologies by Frequency Band

Table 2 .

 2 RFID technologies by Chip Type

				Chip Type	Description
				Passive	Tag power source: RF energy transmitted by
	RFID Name	Band	Frequencies in Use		reader/integrator
	LF	Low Frequency	125 kHz RFID		Communication: by modulation of the read-
		(125-134.2 kHz)	134 kHz RFID		er/integrator signal
	HF	High Frequency	13.56 MHz RFID	Semi-Passive	Tag power source: battery
		(13.553-13.567 MHz)			Communication: by modulation of the read-
	UHF	Ultra-High Frequency	433 MHz RFID		er/integrator signal
		(433 MHz and	UHF RFID (includ-	Active	Tag power source: battery
		858-960 MHz)	ing ETSI RFID at		Communication: active transmission
			865-868 and FCC	Sensor Tag	Simple sensor integrated in the tag (tempera-
			RFID at 902-928)		ture, pressure or humidity)
	Microwave	Microwave	2.4 GHz RFID		Tag power source: battery or RF harvesting
		(2.4-2.454 GHz	5.8 GHz RFID		Communication: passive or active transmission
		5.725-5.875 GHz)		Chipless	No chip but uses time-domain reflectometry
					(e.g. surface acoustic waves)

Table 3 .

 3 Main flavors of RFID technologies used in IoT Systems

	Technology	Brand Name	Typical	Range	Bit rate and	Typical Applications	Organization
			Frequency		Tag Density		Responsible
	ISO 14443	NXP Mifare	13.56 MHz	Short	Low	Personal identification	ISO/IEC
		Sony FeLiCa				Payments and ticketing
						Access control and security
	ISO 18000-63	EPC Gen2	858-960 MHz	Long	High	Asset tracking	ISO/IEC/EPCglobal
		RAIN RFID	(depending			Logistics
			on region)			Retail/Consumer applications
	ISO 18000-7	N/A	433 MHz	Very	High or	Real-time Location Tracking	ISO/IEC/ETSI
	EN 300 220-2007			Long	Very High	Industrial/Hardened

Table 4 .

 4 Main features of IoT technologies

	Technology	Medium	Frequency Band	Range	Bit rate	Network topology	Responsible organization
			(MHz)	(m)	(kbit/s)
	IEEE 802.15.4	Wireless	868/915/2400	< 10 2	20/40/250	Star and mesh	IEEE
	BLE	Wireless	2400	< 10 2	1000	Star and mesh	Bluetooth SIG
	ITU-T G.9959	Wireless	868/915	~ 10 2	9.6/40/100	Mesh	ITU-T
	DECT-ULE	Wireless	1900	< 3•10 2	1152	Star	ETSI
	NFC	Wireless	13.56	< 2•10 -1	106/212/424	Point-to-point	NFC Forum
	IEEE 802.11ah	Wireless	< 1000	< 10 3	150-7800	Star	IEEE
	LoRaWAN	Wireless	433/868/915	> 10 5	0.25-50	Star	LoRaWAN Alliance
	Sigfox	Wireless	868/902	> 10 5	0.1-0.6	Star	Sigfox
	NB-IoT	Wireless	Several (licensed)	> 10 5	60/30 (uplink/down.)	Star	3GPP
	PLC	Wired	< 0.5	> 10 3	500 (IEEE 1901.2)	Mesh	IEEE, ITU-T
		Wired	Baseband	< 10 3	115.2	Multidrop bus	ANSI/ASHRAE

Table 5 .

 5 Main features of IoT solutions in smart environments

	Smart environment	Type of sensors	CNN topology	Technologies	Computing approach
	Smart home	Dedicated	Mesh and Star	IEEE 802.15.4	Cloud
				Bluetooth LE
				Wi-Fi
				ITU-T G.9959
				DECT-ULE
				PLC
		Smartphone	N/A	Wi-Fi
	Smart city	Dedicated	Star	LoRaWAN	Cloud and Fog
				Sigfox
				NB-IoT
		Dedicated	Mesh	IEEE 802.15.4
		Smartphone	N/A	4G, Wi-Fi
	Smart factory	Dedicated	Mesh	IEEE 802.15.4 TSCH	Fog

Acknowledgments

Carles Gomez was funded in part by the European Regional Development Fund (ERDF) and the Spanish Government through project TEC2016-79988-P, AEI/FEDER, UE. Davy Preuveneers was supported by the H2020 project EXCELL (http://excellproject.eu/). This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant No. 691829.