Developing a BLE Beacon-Based Location System Using Location Fingerprint Positioning for Smart Home Power Management

In recent years, smart homes have begun to use various sensors to detect the location of users indoors. However, such sensors may not be stable, resulting in high detection error rates. Thus, how to improve indoor positioning accuracy has become an important topic. This study explored Bluetooth Low Energy (BLE) Beacon indoor positioning for smart home power management. A novel system framework using BLE Beacon was proposed to detect the user location, and to perform power management in the home through a mobile device application. Since the BLE Beacon may produce a multipath effect, this study used the positioning algorithm and hardware configuration to reduce the error rate. Location fingerprint positioning algorithm and filter modification were used to establish a positioning method for facilitating deployment, and to reduce the required computing resources. The experiments included an observation of the Received Signal Strength Indicators (RSSI) and selecting filters and a discussion of the relationship between the characteristics of the BLE Beacon signal accuracy and the number of the BLE Beacons deployed in the observation space. The BLE Beacon multilateration positioning was combined with the In-Snergy intelligent energy management system for smart home power management. The contribution of this study is to allow users to enjoy smart home services based on their location within the home using a mobile device application.


Introduction
In recent years, information and communication technology has rapidly advanced.In order to achieve a more convenient living environment, people have begun to install intelligent appliances that are able to transmit information in their homes, resulting in the Internet of Things (IoT) [1][2][3].With the maturity of cloud computing and IoT technology, smart homes have become an important future trend [4].The smart home is an applied case of the concept of IoT to control appliances in the home via Wireless Sensor Networks (WSNs) anytime and anywhere, and cloud computing allows users to make home appliances more intelligent to obtain convenient services [4,5].In order to detect the position of an individual, satellites were used to provide Global Positioning System (GPS) positioning.However, as the scope of people's activities is no longer limited to the unshielded surface on the earth, GPS cannot provide accurate positioning services if people stay indoors, or move within a building.Thus, how to detect the location of people in indoor spaces has become an important research topic.Because GPS positioning is inappropriate for use in indoor environments, the demand for indoor positioning has arisen.Available indoor positioning technologies [6] include, for example, ultrasonic, infrared ray, Wi-Fi, Radio Frequency Identification Device (RFID), Ultra-Wideband (UWB), and Bluetooth; BLE (Bluetooth low energy) Beacon has micro-positioning and seamless integration.Its features, such as mode, power saving, and low cost, will be an applied technology worth exploring for indoor positioning [6][7][8].
However, BLE Beacon technology has not been popularized for indoor positioning, because its frequency is based on a 2.4 gigahertz (GHz) radio band, which is prone to multipath effects and causes errors in positioning [1,6,[8][9][10][11][12][13].In addition, the traditional smart home deploys various sensors, and the detection may be inaccurate when sensing.For example, an infrared sensor is used to identify a user's position while the user stays in indoors.However, if the sensor does not detect the movement of the human body for a long time, it performs an automatic configuration process, such as turning off the home appliance power, or locking the door, which may be troublesome.The innovation and popularization of mobile devices have allowed people to obtain useful messages and more conveniently perform business operations in a very short time.Mobile devices are almost indispensable auxiliary tools in daily life.Therefore, in response to the design of the emerging smart home application, the Bluetooth function built into mobile devices and BLE Beacon can be used for multilateration positioning, and through various standards of the positioning algorithms [6], for example, the Received Signal Strength Indicator (RSSI), Channel State Information (CSI), fingerprinting/scene analysis, Angle of Arrival (AoA), Time of Arrival (ToA), Time Difference of Arrival (TDoA), Return Time of Flight (RToF), and Phase of Arrival (PoA) of the received signal, can enhance the indoor positioning accuracy.Then, according to the positioning, the user can remotely manually control any smart home appliance in the room.In addition to manual remote control, the smart home application automatically turns on the power of smart home devices in a room when a person enters that room, and when the person leaves the room, after a given time, the application automatically turns off the appliances in order to reduce power consumption.
This study explores BLE Beacon indoor positioning, and proposes a novel system framework using BLE Beacon to detect the user location, and for smart home power management, via a mobile device application [14,15].Location fingerprint positioning algorithm and filter modification were used to establish a positioning method for deployment and to reduce the required computing resources.The proposed system includes the BLE Beacon positioning system, smart home management server, knowledge repository, mobile device application, smart home gateway, and cloud smart socket for remote control.A user's location was estimated using the BLE Beacon-based positioning system combined with the smart home management server in order to provide a user-friendly and adaptable smart home appliance power control function via the smart home gateway and cloud smart socket.Users can use a mobile device application (App) to manually or automatically control appliance power at any time, from anywhere.The system operation data was stored in a knowledge repository.Therefore, the contribution of this work is to use BLE Beacon multilateration positioning to perform smart home power management for a user-oriented smart home.IoT technology solves the problems encountered in daily life so that users can enjoy the appropriate smart home services.
The remainder of this paper is organized as follows.The related works are introduced in Section 2. Section 3 presents the novel system framework using BLE Beacon to detect the user location and conduct power management in the home through a mobile device application.The experiments follow in Section 4. Section 5 presents evaluations and discussions.Finally, Section 6 offers conclusions.

Related Work
This section introduces relevant knowledge and literature for this research, including Beacon, the triangulation method, the Received Signal Strength Indication (RSSI) method, the position fingerprint positioning method, comparisons of indoor positioning technologies, and the In-Snergy intelligent green energy management system.

Beacon
Bluetooth Low Energy (BLE) Beacon is a low-power, low-cost signal transmitter that can be detected by nearby Bluetooth 4.0 devices [5].It is compatible with a smartphone or mobile device, and can be used to execute commands within the sensing range of a BLE Beacon site [16,17].In connection state, a BLE Beacon frequency changes pseudo-randomly among 40 channels.In advertisement state, it hops in a fixed sequence of three dedicated channels (37, 38 and 39, each with 2 megahertz bandwidth) covering the 2.4 GHz frequency band coexisting with Wi-Fi and other radio frequency (RF) signals [12,18,19].The BLE Beacon indoor positioning is used to estimate distances using the transmitted signal strength.The BLE Beacon's indoor positioning function accuracy is improved using the multilateration positioning method [6][7][8].A mobile device with built-in Bluetooth function is used to receive multiple BLE Beacon signals.The RSSI of multiple BLE Beacons is used to identify the user area, and then, the positioning algorithm is used to estimate their location [9,13].In this work, the BLE Beacon used in the experiments was the B402X-USbeacon produced by THLight [20], as shown in Figure 1a,b.The Bluetooth protocol of the B402X-USbeacon is Bluetooth 4.0 Low Energy; the sensitivity is −93 decibel-milliwatts (dBm); and the antenna is a chip-type, which has a maximum sensing distance of more than 60 m.

Beacon
Bluetooth Low Energy (BLE) Beacon is a low-power, low-cost signal transmitter that can be detected by nearby Bluetooth 4.0 devices [5].It is compatible with a smartphone or mobile device, and can be used to execute commands within the sensing range of a BLE Beacon site [16,17].In connection state, a BLE Beacon frequency changes pseudo-randomly among 40 channels.In advertisement state, it hops in a fixed sequence of three dedicated channels (37, 38 and 39, each with 2 megahertz bandwidth) covering the 2.4 GHz frequency band coexisting with Wi-Fi and other radio frequency (RF) signals [12,18,19].The BLE Beacon indoor positioning is used to estimate distances using the transmitted signal strength.The BLE Beacon's indoor positioning function accuracy is improved using the multilateration positioning method [6][7][8].A mobile device with built-in Bluetooth function is used to receive multiple BLE Beacon signals.The RSSI of multiple BLE Beacons is used to identify the user area, and then, the positioning algorithm is used to estimate their location [9,13].In this work, the BLE Beacon used in the experiments was the B402X-USbeacon produced by THLight [20], as shown in Figure 1a

Triangulation Geometrical Method
The triangulation geometrical method is currently the most commonly used positioning algorithm [11,18,21].Unlike the trilateration method by measurement of distances, the triangulation geometrical method requires more than three sensors to perform the positioning action, and the positioning is performed by measuring the intensity of the received signal, or the transmission time of the signal [12], as shown in Figure 2. As far as the positioning algorithm is concerned, the triangulation geometrical method is a relatively simple and straightforward positioning method, which is not only fast, but also simple and easy to construct.If there is no interference, the triangulation geometrical method has excellent accuracy.

Triangulation Geometrical Method
The triangulation geometrical method is currently the most commonly used positioning algorithm [11,18,21].Unlike the trilateration method by measurement of distances, the triangulation geometrical method requires more than three sensors to perform the positioning action, and the positioning is performed by measuring the intensity of the received signal, or the transmission time of the signal [12], as shown in Figure 2. As far as the positioning algorithm is concerned, the triangulation geometrical method is a relatively simple and straightforward positioning method, which is not only fast, but also simple and easy to construct.If there is no interference, the triangulation geometrical method has excellent accuracy.

Beacon
Bluetooth Low Energy (BLE) Beacon is a low-power, low-cost signal transmitter that can be detected by nearby Bluetooth 4.0 devices [5].It is compatible with a smartphone or mobile device, and can be used to execute commands within the sensing range of a BLE Beacon site [16,17].In connection state, a BLE Beacon frequency changes pseudo-randomly among 40 channels.In advertisement state, it hops in a fixed sequence of three dedicated channels (37, 38 and 39, each with 2 megahertz bandwidth) covering the 2.4 GHz frequency band coexisting with Wi-Fi and other radio frequency (RF) signals [12,18,19].The BLE Beacon indoor positioning is used to estimate distances using the transmitted signal strength.The BLE Beacon's indoor positioning function accuracy is improved using the multilateration positioning method [6][7][8].A mobile device with built-in Bluetooth function is used to receive multiple BLE Beacon signals.The RSSI of multiple BLE Beacons is used to identify the user area, and then, the positioning algorithm is used to estimate their location [9,13].In this work, the BLE Beacon used in the experiments was the B402X-USbeacon produced by THLight [20], as shown in Figure 1a

Triangulation Geometrical Method
The triangulation geometrical method is currently the most commonly used positioning algorithm [11,18,21].Unlike the trilateration method by measurement of distances, the triangulation geometrical method requires more than three sensors to perform the positioning action, and the positioning is performed by measuring the intensity of the received signal, or the transmission time of the signal [12], as shown in Figure 2. As far as the positioning algorithm is concerned, the triangulation geometrical method is a relatively simple and straightforward positioning method, which is not only fast, but also simple and easy to construct.If there is no interference, the triangulation geometrical method has excellent accuracy.However, indoor positioning environmental complexity has a significant impact on the positioning result.Therefore, the triangulation geometrical method may not be reliable.Its received signal strength could be affected by propagation diffraction, reflection, or scattering [12].Considering the BLE Beacon as the deployed sensor, the beacon signal is based on a 2.4 GHz radio band, which is easily influenced by external objects.That is, it will be affected by multipath effect attenuation and shadowing effect.The effect is that the estimation results do not intersect at one point, but fall within an area, as shown in Figure 3, thus causing poor positioning accuracy.By ignoring the physical properties of signal propagation, the position fingerprinting algorithm localizes a target position based on a previously designed radio map [12].Therefore, this study used the Received Signal Strength Indicator (RSSI) with the position fingerprinting algorithm to improve the accuracy of the positioning estimation.
Energies 2018, 11, x 4 of 18 However, indoor positioning environmental complexity has a significant impact on the positioning result.Therefore, the triangulation geometrical method may not be reliable.Its received signal strength could be affected by propagation diffraction, reflection, or scattering [12].Considering the BLE Beacon as the deployed sensor, the beacon signal is based on a 2.4 GHz radio band, which is easily influenced by external objects.That is, it will be affected by multipath effect attenuation and shadowing effect.The effect is that the estimation results do not intersect at one point, but fall within an area, as shown in Figure 3, thus causing poor positioning accuracy.By ignoring the physical properties of signal propagation, the position fingerprinting algorithm localizes a target position based on a previously designed radio map [12].Therefore, this study used the Received Signal Strength Indicator (RSSI) with the position fingerprinting algorithm to improve the accuracy of the positioning estimation.

Received Signal Strength Indicator (RSSI)
Based on the wireless sensor network infrastructure, the position systems use the Received Signal Strength (RSS) between the fixed anchor device and the observed device to estimate the relative location of an object [12].The principle of RSS is based on the relationship between the intensity of the radio signal and the attenuation of the distance to estimate the distance between the transmitter and the receiver [10].The distance is estimated by Equations ( 1) and (2) [12], where n indicates the path loss exponent depending on the propagation environment,  is the RSS value at a reference distance (usually 1 m) from the receiver, and d is the radio signal transmission distance.The greater the distance between the transmitter and the receiver, the lower the RSS value will be.The RSS can be used as an indicator, referred to as the Received Signal Strength Indicator (RSSI), measured in decibel-milliwatts (dBm) or milliwatts (mW) [6]: Since the BLE Beacon RSSI signal strength decreases exponentially, and the BLE Beacon power also affects the signal strength, TX power (Transmission power) is used to estimate the distance [1,6].TX power is the signal strength value detected at a distance of one meter, and is a key parameter in indoor positioning.The TX power of each BLE Beacon is slightly different.If users want to accurately estimate the distance, the TX power of the BLE Beacon must be measured first to improve the positioning accuracy.Even if users use RSSI for indoor positioning, it may not yield the desired results, because the indoor environment is quite complicated, contains a lot of interference, and a multipath effect is generated, which may cause the signal strength to be a non-ideal attenuation [17].
In the system development of this work, a filter was used to remove noise, and hardware configuration was used to correct the signal to improve positioning accuracy.

Received Signal Strength Indicator (RSSI)
Based on the wireless sensor network infrastructure, the position systems use the Received Signal Strength (RSS) between the fixed anchor device and the observed device to estimate the relative location of an object [12].The principle of RSS is based on the relationship between the intensity of the radio signal and the attenuation of the distance to estimate the distance between the transmitter and the receiver [10].The distance is estimated by Equations ( 1) and (2) [12], where n indicates the path loss exponent depending on the propagation environment, d 0 is the RSS value at a reference distance (usually 1 m) from the receiver, and d is the radio signal transmission distance.The greater the distance between the transmitter and the receiver, the lower the RSS value will be.The RSS can be used as an indicator, referred to as the Received Signal Strength Indicator (RSSI), measured in decibel-milliwatts (dBm) or milliwatts (mW) [6]: Since the BLE Beacon RSSI signal strength decreases exponentially, and the BLE Beacon power also affects the signal strength, TX power (Transmission power) is used to estimate the distance [1,6].TX power is the signal strength value detected at a distance of one meter, and is a key parameter in indoor positioning.The TX power of each BLE Beacon is slightly different.If users want to accurately estimate the distance, the TX power of the BLE Beacon must be measured first to improve the positioning accuracy.Even if users use RSSI for indoor positioning, it may not yield the desired results, because the indoor environment is quite complicated, contains a lot of interference, and a multipath effect is generated, which may cause the signal strength to be a non-ideal attenuation [17].In the system development of this work, a filter was used to remove noise, and hardware configuration was used to correct the signal to improve positioning accuracy.

Location Fingerprint Positioning Algorithm
The location fingerprint positioning algorithm is based on the signal strength vector received at different locations to establish the corresponding location fingerprint database [5].According to the actually collected signal strength and the signal data stored in the database, the positioning method is realized using algorithms [9,18].The position fingerprinting method can reduce the influence of the multipath effect to a certain extent, and enhance the anti-interference ability.The location fingerprint positioning process is generally implemented in two phases, namely the sampling phase and the positioning phase [12,18].In order to carry out indoor positioning, it is necessary to have a design map of the actual location.The purpose of the sampling phase is to establish a location fingerprint database, and to design a reasonable sampling distribution map according to the positioning environment.The location fingerprint database collects and records the information of all sampling points in the positioning area, and the strength of all BLE Beacon signals in the point.The position of the collection point is recorded based on the triangulation method.Data in the database can help improve positioning accuracy.In the positioning phase, the BLE Beacon signal is received by the mobile device's Bluetooth function, and then, the matching algorithm is used to search the location fingerprint database for the data matching the measurement point and to estimate the actual location of the user.
In this research, the positioning process was carried out in a manner similar to that of the location fingerprint positioning algorithm.The positioning method was divided into two phases.In the first phase, the sampling action was performed.The maximum and minimum RSSI values of each BLE Beacon were collected in an area A and stored in the database for example, BLE Beacon x, y and z, as shown in Figure 4.This saves the data storage space effectively, and reduced the time of offline sampling.The proposed positioning method cannot accurately specify a clear range, thus, a filter method was used to process the RSSI signal and filter out some of the larger error signal impurities to make the positioning more accurate.

Location Fingerprint Positioning Algorithm
The location fingerprint positioning algorithm is based on the signal strength vector received at different locations to establish the corresponding location fingerprint database [5].According to the actually collected signal strength and the signal data stored in the database, the positioning method is realized using algorithms [9,18].The position fingerprinting method can reduce the influence of the multipath effect to a certain extent, and enhance the anti-interference ability.The location fingerprint positioning process is generally implemented in two phases, namely the sampling phase and the positioning phase [12,18].In order to carry out indoor positioning, it is necessary to have a design map of the actual location.The purpose of the sampling phase is to establish a location fingerprint database, and to design a reasonable sampling distribution map according to the positioning environment.The location fingerprint database collects and records the information of all sampling points in the positioning area, and the strength of all BLE Beacon signals in the point.The position of the collection point is recorded based on the triangulation method.Data in the database can help improve positioning accuracy.In the positioning phase, the BLE Beacon signal is received by the mobile device's Bluetooth function, and then, the matching algorithm is used to search the location fingerprint database for the data matching the measurement point and to estimate the actual location of the user.
In this research, the positioning process was carried out in a manner similar to that of the location fingerprint positioning algorithm.The positioning method was divided into two phases.In the first phase, the sampling action was performed.The maximum and minimum RSSI values of each BLE Beacon were collected in an area A and stored in the database for example, BLE Beacon x, y and z, as shown in Figure 4.This saves the data storage space effectively, and reduced the time of offline sampling.The proposed positioning method cannot accurately specify a clear range, thus, a filter method was used to process the RSSI signal and filter out some of the larger error signal impurities to make the positioning more accurate.

A Comparison of the Radio Frequency (RF-Based) Indoor Positioning Technologies
Various standards of the positioning technologies [6,[22][23][24], for example, the Received Signal Strength Indicator (RSSI), Channel State Information (CSI), fingerprinting/scene analysis, Angle of Arrival (AoA), Time of Arrival (ToA), Time Difference of Arrival (TDoA), Return Time of Flight (RToF), and Phase of Arrival (PoA) of the received signal, have been proposed to enhance the indoor positioning accuracy.We adapted from [6,25,26] to summarize the signal properties, as shown in Table 1.Moreover, a comparison of the radio frequency (RF-based) indoor positioning technologies, for example, Bluetooth, Ultra-wideband (UWB), Wireless Sensor Network (WSN), Wireless Local Area Network (WLAN), Radio Frequency Identification (RFID), and Near Field Communication

A Comparison of the Radio Frequency (RF-Based) Indoor Positioning Technologies
Various standards of the positioning technologies [6,[22][23][24], for example, the Received Signal Strength Indicator (RSSI), Channel State Information (CSI), fingerprinting/scene analysis, Angle of Arrival (AoA), Time of Arrival (ToA), Time Difference of Arrival (TDoA), Return Time of Flight (RToF), and Phase of Arrival (PoA) of the received signal, have been proposed to enhance the indoor positioning accuracy.We adapted from [6,25,26] to summarize the signal properties, as shown in Table 1.Moreover, a comparison of the radio frequency (RF-based) indoor positioning technologies, for example, Bluetooth, Ultra-wideband (UWB), Wireless Sensor Network (WSN), Wireless Local Area Network (WLAN), Radio Frequency Identification (RFID), and Near Field Communication (NFC), were adapted from [6,26,27], as shown in Table 2.The NFC technology seemed to be a good solution for indoor positioning solution, however, it does not support real-time positioning.Bluetooth technology can deploy more Bluetooth devices to improve the low accuracy problem.According to Tables 1  and 2, this work used the BLE Beason-based indoor positioning technology, which carries out the fingerprinting algorithms and was a reasonable solution for real-time smart home power management.

In-Snergy Smart Green Management System
The In-Snergy Smart Green Management System and Hardware Kit [25] allow users to monitor the instantaneous power consumption of appliances in their homes, and provide detailed power analysis and statistics.Users can instantly access the power usage status, remotely control home appliances and ensure the safe use of electricity from their mobile devices to achieve a smart, energy-saving, safe home environment.In energy management, the system not only receives relevant information from the cloud smart socket, but can also be used as a general wireless Access Point (AP) at the same time, which can reduce the overhead of wireless AP.Cloud smart sockets have 110 V or 220 V voltages, which can be used by most appliances in the home.In addition, all sockets are certified by safety standards, and have lightning protection, anti-surge, and overload protection to ensure the safe use of electricity.In practice, a mobile device can connect to the cloud smart socket via Wi-Fi, so that the user can perform remote control.This study designs a mobile device application to connect to a cloud smart socket, allowing users to remotely control devices from anywhere in the home.
This study used the Green Energy Wireless Gateway AP and the "iCE-RP-15" product type of Cloud Smart Socket of the In-Snergy Smart Green Management System's Hardware Kit [25] to establish and deploy the proposed system.The Green Energy Wireless Gateway AP and iCE-RP-15 Cloud Smart Socket are shown in Figure 5a,b.The Green Energy Wireless Gateway AP supports Ethernet Wide Area Network (EWAN) and High-Speed Downlink Packet Access (HSDPA)/High-Speed Uplink Packet Access (HSUPA) connection, high-speed 802.11n wireless transmission, with a maximum data transmission speed of 300 Million bits per second (Mbps), Wi-Fi Protected Access (WPA)/WPA2, and Wi-Fi Protected Setup (WPS) and two Universal Serial Bus (USB) 2.0 ports to support a 3rd-Generation (3G) network.The iCE-RP-15 Cloud Smart Sockets are available as 110 V voltages single sockets, with a rated current of 15 A Alternating Current (AC), a frequency of 50-60 hertz (Hz), and an accuracy of ±1.0%, which is the Zigbee wireless transmission communication interface.They are 13 cm wide, 5.2 cm high and 3.6 cm deep.

The Proposed System Framework for Smart Home Power Management
This section introduces the BLE beacon-based location system using location fingerprint positioning for smart home power management, including the BLE Beacon positioning system, smart home management server, knowledge repository, mobile device application, and In-Snergy intelligent management system for remote control.The algorithm Beacon-based Smart Home Power Management (SHPM) is illustrated in Algorithm 1.The proposed system framework workflow [14,15] included five steps.
At the first step, BLE Beacons were installed at some fixed positions to establish a coordinate system.The sampling distribution map of BLE Beacons was established and stored in the knowledge repository.BLE Beacons broadcasted signals to the Android-based mobile device's application (App).In the second step, the Android-based mobile device's App received the signals, transmitted the RSSI values of BLE Beacons and its own location data to the smart home management server, and gave related control instructions.In the third step, the smart home management server analyzed these data and instructions by signal intensity attenuation positioning, triangle positioning, and location fingerprint positing algorithm, estimated the mobile device's location, and determined which appliance was being chosen.Then, the server sent the data and instructions via the App to the home gateway.These data and instructions contain the information of the appliances that need to be controlled and the information of the specific cloud smart socket.In the fourth step, the smart home gateway analyzed the instructions, confirmed the appliance number and sent the instructions to the specific appliance.Finally, the chosen appliance operated under the mobile device App control instructions.The control instruction was divided into active service and passive service.Active services were smart appliances that did not require users to turn on/off.In other words, the smart appliance triggered by the control instructions automatically turned on/off in the room.Passive services were appliances that needed to be turned on/off by users, such as fans, TVs, desk lamps, airconditioners, etc.The power consumption cost was calculated by a smart home management server and shown in a mobile application (App).

Algorithm 1:
The pseudocode of beacon-based smart home power management algorithm.

The Proposed System Framework for Smart Home Power Management
This section introduces the BLE beacon-based location system using location fingerprint positioning for smart home power management, including the BLE Beacon positioning system, smart home management server, knowledge repository, mobile device application, and In-Snergy intelligent management system for remote control.The algorithm Beacon-based Smart Home Power Management (SHPM) is illustrated in Algorithm 1.The proposed system framework workflow [14,15] included five steps.
At the first step, BLE Beacons were installed at some fixed positions to establish a coordinate system.The sampling distribution map of BLE Beacons was established and stored in the knowledge repository.BLE Beacons broadcasted signals to the Android-based mobile device's application (App).In the second step, the Android-based mobile device's App received the signals, transmitted the RSSI values of BLE Beacons and its own location data to the smart home management server, and gave related control instructions.In the third step, the smart home management server analyzed these data and instructions by signal intensity attenuation positioning, triangle positioning, and location fingerprint positing algorithm, estimated the mobile device's location, and determined which appliance was being chosen.Then, the server sent the data and instructions via the App to the home gateway.These data and instructions contain the information of the appliances that need to be controlled and the information of the specific cloud smart socket.In the fourth step, the smart home gateway analyzed the instructions, confirmed the appliance number and sent the instructions to the specific appliance.Finally, the chosen appliance operated under the mobile device App control instructions.The control instruction was divided into active service and passive service.Active services were smart appliances that did not require users to turn on/off.In other words, the smart appliance triggered by the control instructions automatically turned on/off in the room.Passive services were appliances that needed to be turned on/off by users, such as fans, TVs, desk lamps, air-conditioners, etc.The power consumption cost was calculated by a smart home management server and shown in a mobile application (App).

Algorithm 1:
The pseudocode of beacon-based smart home power management algorithm.
Algorithm: Beacon-basedSHPM(Beacon-based Smart Home Power Management).The BLE beacon-based location system using location fingerprint positioning for smart home power management.Input: A mobile device location mdLoc, the BLE beacons bleBeacons, a sampling distribution map sdMap Output: The final cost finalCost of smart home power consumption.Method: • Initialize the parameters: C, activeCost, passiveCost, finalCost /* Determine a mobile device location C by the positioning method proposed in Section 4*/ • C positioning (mdLoc, bleBeacons, sdMap); if C is positioning in a specific space • { /* Pre-configuration smart appliances in the space turn on/off automatically, and the power consumption is returned by the cloud smart sockets via the smart home gateway, the cost is calculated by a smart home management server */ • activeCost = (smart appliances power consumption unit cost); /* Manual appliances in the space turn on/off by the user mobile application, the power consumption is returned by the cloud smart sockets via the smart home gateway, the cost is calculated by a smart home management server */ • passiveCost = (manual appliances power consumption unit cost); appliances in the space turn on/off by the user mobile application remotely via Internet, the power consumption is returned by the cloud smart sockets via the smart home gateway, the cost is calculated by a smart home management server */ • passiveCost = (manual appliances power consumption unit cost); Return finalCost; /* Final cost of power consumption is shown in the mobile application.*/

Positioning Algorithm Based on Location Fingerprinting
This section introduces the positioning algorithm based on location fingerprinting.Referring to Wang et al. [17] formalizing the Weighted K-Nearest Neighbors (WKNN) positioning method, this study developed the proposed positioning algorithm for this work.Figure 6 illustrates the case of location p positioning by three BLE Beacons in the area A, which the location is sampling by the maximum and minimum RSSI values.
Based on Equations ( 1) and ( 2) mentioned in Section 2.3, let R p denote the RSSI data collected at a testing location p over a period of time, shown as Equation (3): where rssi p ij is the RSSI value received at a testing location p from the jth BLE Beacon at the ith sampling time, 1 ≤ i ≤ m, 1 ≤ j ≤ n, m is the number of sampling times, and n is the number of BLE beacons.The RSSI values in the ith row of R p were collected from the different Beacons concurrently.The RSSI values in the jth column of R p are received from the same Beacon at different times.The α p j is the mean vector (using mean filter mentioned in Section 5.1) of the jth column of R p , shown as Equation (4): The Positioning environment contains some factors, i.e., obstacles or interference signals, producing noise.The noise data collected at a testing location p over a period time are represented as Equations ( 5) and (6) shows the mean vector of noise at a testing location p: In the same way, the RSSI data collected at a reference location q over a period time are represented as Equations ( 7) and ( 8) shows the mean vector at a reference location q: R q = α q 1 . . .α The noise data collected at a reference location q over a period time are represented as Equations ( 9) and (10) shows the mean vector of noise at a reference location q: Thus, the Euclidean distance d q is estimated between the testing location p and the reference location q, shown as Equation ( 11): The final location is estimated by Equation ( 12): where C q is the coordinate of the qth reference location among K reference locations, and ε is a number used to avoid division by zero.Based on Equations ( 1) and ( 2) mentioned in Section 2.3, let Rp denote the RSSI data collected at a testing location p over a period of time, shown as Equation ( 3): where  is the RSSI value received at a testing location p from the jth BLE Beacon at the ith sampling time, 1 The Positioning environment contains some factors, i.e., obstacles or interference signals, producing noise.The noise data collected at a testing location p over a period time are represented as Equations ( 5) and ( 6) shows the mean vector of noise at a testing location p: In the same way, the RSSI data collected at a reference location q over a period time are represented as Equations ( 7) and ( 8) shows the mean vector at a reference location q: The noise data collected at a reference location q over a period time are represented as Equations ( 9) and (10) shows the mean vector of noise at a reference location q:

Experiments
This section describes the RSSI characteristics of the BLE Beacon, and the experiments on BLE Beacon multilateration positioning conducted in this study.In BLE specification [27], the Generic ATTribute protocol (GATT) was defined to operate on the upper layers of the BLE stack.In order to monitor the RSSI of the BLE Beacon, this study developed a mobile device application (App) using Google Android public Application Programming Interface (API) Bluetooth GATT [26], as shown in Figure 7a.The App can directly observe the packet sent by the BLE Beacon, and read the BLE Beacon identification and physical address, and receive it within 1 s.The relevant information included the signal strength, average signal strength, TX power value, and the derived distance.Figure 7b shows that the application adds a room action in order to enforce the location fingerprint positioning sampling, collect the maximum and minimum RSSI values of the BLE Beacon within the location range, and store data in the repository, as shown in Figure 7c.Thus, using the room information and the instant receipt of the BLE Beacon signal, the smart home management system has the ability to determine the user location.
Energies 2018, 11, x 10 of 18 Thus, the Euclidean distance  is estimated between the testing location p and the reference location q, shown as Equation ( 11): The final location is estimated by Equation ( 12): where  is the coordinate of the qth reference location among K reference locations, and  is a number used to avoid division by zero.

Experiments
This section describes the RSSI characteristics of the BLE Beacon, and the experiments on BLE Beacon multilateration positioning conducted in this study.In BLE specification [27], the Generic ATTribute protocol (GATT) was defined to operate on the upper layers of the BLE stack.In order to monitor the RSSI of the BLE Beacon, this study developed a mobile device application (App) using Google Android public Application Programming Interface (API) Bluetooth GATT [26], as shown in Figure 7a.The App can directly observe the packet sent by the BLE Beacon, and read the BLE Beacon identification and physical address, and receive it within 1 s.The relevant information included the signal strength, average signal strength, TX power value, and the derived distance.Figure 7b shows that the application adds a room action in order to enforce the location fingerprint positioning sampling, collect the maximum and minimum RSSI values of the BLE Beacon within the location range, and store data in the repository, as shown in Figure 7c.Thus, using the room information and the instant receipt of the BLE Beacon signal, the smart home management system has the ability to determine the user location.The smart home management system carried out a series of tasks to analyze the characteristics and positioning methods of BLE Beacon.It then used the positioning algorithm to estimate the location of the room and transmit the data and control instructions via Web Application Programming Interface (WebAPI) to the smart home gateway.Finally, the chosen appliance operated under the mobile device App control instructions.It was expected to find the best deployment for the BLE Beacon in a smart home, and use the positioning algorithms to reduce the error rate.The analysis tasks included the observation of RSSI signals and selection of the filters, exploring the characteristics of BLE Beacon, and single space and multiple spaces positioning.

Observation of RSSI Signals and Selection of Filters
The purpose of using the filter is to handle the error rate.Since the multipath effect problem of BLE Beacon highlights the importance of the filter [18], this study explored the difference between the mean filter and the median filter.Table 3 shows the dataset of a testing location's RSSI signal received by a B402X-USBeacon at different distances from 1 to 5 m on a flat surface, i.e., on a floor, within one second.The B402X-USBeacon can receive 3 to 6 signal packets in one second.The notation "1" marks the maximum signal value, and the notation "2" indicates the minimum signal value.The drift of the signal is significant.In a practical environment, a perfect linear correlation between distance and RSSI did not exist due to various influence factors, e.g., obstacles or walls of the building.We refer to the method proposed by Wang et al. [17] to design the mean filter for this study.The method in [17] used the standard deviation correction to normalize the RSSI deviation value of different the measurements for every sampling experiment.Therefore, this study used the mean filter to execute the experiments.In Section 5.1, each experimental location of a BLE Beacon was defined as the reference location, which was used in the proposed positioning algorithm mentioned in Section 4. In addition, the measured maximum, minimum, and mean of BLE Beacon signal values were used for location positioning.
Table 3. Received a testing location's B402X-USBeacon signal data from distances ranging from 1 to 5 m on a floor.
Test avoid a wavy signal to prevent the influence of positioning.In addition, it is recommended that the BLE Beacon is deployed in the corner of the area.direction C is more suitable for positioning.Based on the experimental results, when deploying the BLE Beacon, it must avoid a wavy signal to prevent the influence of positioning.In addition, it is recommended that the BLE Beacon is deployed in the corner of the area.direction C is more suitable for positioning.Based on the experimental results, when deploying the BLE Beacon, it must avoid a wavy signal to prevent the influence of positioning.In addition, it is recommended that the BLE Beacon is deployed in the corner of the area.direction C is more suitable for positioning.Based on the experimental results, when deploying the BLE Beacon, it must avoid a wavy signal to prevent the influence of positioning.In addition, it is recommended that the BLE Beacon is deployed in the corner of the area.direction C is more suitable for positioning.Based on the experimental results, when deploying the BLE Beacon, it must avoid a wavy signal to prevent the influence of positioning.In addition, it is recommended that the BLE Beacon is deployed in the corner of the area.

Single Space Positioning Experiment
The single space positioning experiment required several BLE Beacons deployed in a space of 1.5 m × 1.5 m to coordinate an experimental space.According to the experimental results in Section 5.2, it was inferred that placing the BLE Beacons on the door frame and the roof beam could avoid interference.Figure 12 shows the single space positioning experiment results, including single BLE Beacon and multiple BLE Beacons deployment.The positioning by a single BLE Beacon was not a good solution, and the range of error rate was large.Deploying two BLE Beacons reduced the positioning error rate.It is recommended to coordinate a rectangular space, for example, the area shown in Figure 12, by deploying more than three BLE Beacons.In addition, from the experiment results, it was found that in the case of a short distance, the rate of change of the signal strength of BLE Beacon was much higher than in a case of a large distance.

Single Space Positioning Experiment
The single space positioning experiment required several BLE Beacons deployed in a space of 1.5 m × 1.5 m to coordinate an experimental space.According to the experimental results in Section 5.2, it was inferred that placing the BLE Beacons on the door frame and the roof beam could avoid interference.Figure 12 shows the single space positioning experiment results, including single BLE Beacon and multiple BLE Beacons deployment.The positioning by a single BLE Beacon was not a good solution, and the range of error rate was large.Deploying two BLE Beacons reduced the positioning error rate.It is recommended to coordinate a rectangular space, for example, the area shown in Figure 12, by deploying more than three BLE Beacons.In addition, from the experiment results, it was found that in the case of a short distance, the rate of change of the signal strength of BLE Beacon was much higher than in a case of a large distance.

Multiple Space Positioning Experiment
According to the experimental results in Section 5.3, this study performed a multiple space positioning experiment, using three BLE Beacons to coordinate four spaces, which are shown in Figure 13.The measured maximum and minimum RSSIs of BLE Beacon 1, 2, and 3, are shown in Table 4, which coordinate Room 1, Room 2, Room 3, and Bathroom 1.  Single space positioning experiments from one BLE Beacon to multiple BLE Beacons deployment.

Multiple Space Positioning Experiment
According to the experimental results in Section 5.3, this study performed a multiple space positioning experiment, using three BLE Beacons to coordinate four spaces, which are shown in Figure 13.The measured maximum and minimum RSSIs of BLE Beacon 1, 2, and 3, are shown in Table 4, which coordinate Room 1, Room 2, Room 3, and Bathroom 1.

Single Space Positioning Experiment
The single space positioning experiment required several BLE Beacons deployed in a space of 1.5 m × 1.5 m to coordinate an experimental space.According to the experimental results in Section 5.2, it was inferred that placing the BLE Beacons on the door frame and the roof beam could avoid interference.Figure 12 shows the single space positioning experiment results, including single BLE Beacon and multiple BLE Beacons deployment.The positioning by a single BLE Beacon was not a good solution, and the range of error rate was large.Deploying two BLE Beacons reduced the positioning error rate.It is recommended to coordinate a rectangular space, for example, the area shown in Figure 12, by deploying more than three BLE Beacons.In addition, from the experiment results, it was found that in the case of a short distance, the rate of change of the signal strength of BLE Beacon was much higher than in a case of a large distance.

Multiple Space Positioning Experiment
According to the experimental results in Section 5.3, this study performed a multiple space positioning experiment, using three BLE Beacons to coordinate four spaces, which are shown in Figure 13.The measured maximum and minimum RSSIs of BLE Beacon 1, 2, and 3, are shown in Table 4, which coordinate Room 1, Room 2, Room 3, and Bathroom 1.If the program does not specify the response format, the default response format is JSON.Before executing the In-Snergy API, authentication was carried out by an HTTP request header or HTTP request parameter.Then, the API provided user, gateway, device, and scheduling functions for the implementation of the smart home power management system.This work used PHP (Hypertext Preprocessor) combined with In-Snergy WebAPI to implement the proposed system in order to communicate with the In-Snergy smart green energy management system.In addition, a mobile device application (App) is developed on an Android platform to allow users to manage the appliance power in a smart home.Users customized and deployed the appliances in the App, as shown in Figure 14a,b.By integrating the App and the BLE Beacon positioning system with the In-Snergy Smart Green Energy Management System, the App provides the function of controlling appliances via smart home gateway and cloud smart socket.After the user was positioned via the BLE Beacon, the In-Snergy Smart Green Management System remotely controlled the state of operation of the appliances.power consumption cost was estimated by Equation ( 13): Power Consumption Cost = ∑ (Active Service Cost + Passive Service Cost), (13) where the active service cost was to multiply the smart appliances power consumption by unit cost and the passive service cost was to multiply the manual appliances power consumption by the unit cost.
In the mobile application (App), users could click on the appliance icon to view the details currently used, as shown in Figure 15a.The App could calculate the current power usage of appliances.Passive services were appliances that needed to be turned on/off by users, such as fans, TVs, desk lamps, and air-conditioners.Power consumption cost was also shown on the mobile application.Figure 15b demonstrates an experiment on a fan in a smart home power management system.Users could also set a threshold for a predetermined power consumption period.Once the threshold was approached or exceeded, a warning was issued to remind the user that the current power consumption will reach the budget, and that the appliance will be turned off.The proposed system provided the user with a context-aware smart home power management interface.
Energies 2018, 11, x 15 of 18 executing the In-Snergy API, authentication was carried out by an HTTP request header or HTTP request parameter.Then, the API provided user, gateway, device, and scheduling functions for the implementation of the smart home power management system.This work used PHP (Hypertext Preprocessor) combined with In-Snergy WebAPI to implement the proposed system in order to communicate with the In-Snergy smart green energy management system.In addition, a mobile device application (App) is developed on an Android platform to allow users to manage the appliance power in a smart home.Users customized and deployed the appliances in the App, as shown in Figure 14a,b.By integrating the App and the BLE Beacon positioning system with the In-Snergy Smart Green Energy Management System, the App provides the function of controlling appliances via smart home gateway and cloud smart socket.After the user was positioned via the BLE Beacon, the In-Snergy Smart Green Management System remotely controlled the state of operation of the appliances.The power consumption cost was estimated by Equation ( 13): where the active service cost was to multiply the smart appliances power consumption by unit cost and the passive service cost was to multiply the manual appliances power consumption by the unit cost.
In the mobile application (App), users could click on the appliance icon to view the details currently used, as shown in Figure 15a.The App could calculate the current power usage of appliances.Passive services were appliances that needed to be turned on/off by users, such as fans, TVs, desk lamps, and air-conditioners.Power consumption cost was also shown on the mobile application.Figure 15b demonstrates an experiment on a fan in a smart home power management system.Users could also set a threshold for a predetermined power consumption period.Once the threshold was approached or exceeded, a warning was issued to remind the user that the current power consumption will reach the budget, and that the appliance will be turned off.The proposed system provided the user with a context-aware smart home power management interface.

Discussion and Evaluation
BLE Beacon technology has become very popular in recent years [8].Chen et al. [7] observed that BLE beacons had already been deployed in the retail industry, showing the proximity of items on customers' phones, and thus, creating a more engaging shopping experience.In smart life environments, Nath et al. [3] proposed a voice-based location detection system that can be integrated into a smart home environment.The system is suitable for large-scale application, where a user may need to keep track of multiple patients.The contribution is to reduce the learning curve burden for new technologies on family and caregivers.Liu et al. [5] designed an indoor control system to achieve equipment remote control using low-energy Bluetooth (BLE) beacon and IoT technology.The smart

Discussion and Evaluation
BLE Beacon technology has become very popular in recent years [8].Chen et al. [7] observed that BLE beacons had already been deployed in the retail industry, showing the proximity of items on customers' phones, and thus, creating a more engaging shopping experience.In smart life environments, Nath et al. [3] proposed a voice-based location detection system that can be integrated into a smart home environment.The system is suitable for large-scale application, where a user may need to keep track of multiple patients.The contribution is to reduce the learning curve burden for new technologies on family and caregivers.Liu et al. [5] designed an indoor control system to achieve equipment remote control using low-energy Bluetooth (BLE) beacon and IoT technology.The smart home control system was implemented by hardware, and precision and stability tests were conducted, which proved the practicability and good user experience of this solution.Xiong et al. [28] implemented a distinctive system based on indoor location and attitude estimation.They proposed the indoor location algorithm combining image pattern recognition with fingerprint matching.Users could choose the appliances they wanted, and controlled them by touching the screen of the mobile device while the mobile device was pointed at the appliance.Zafari and Papapanagiotou [29] used the iBeacon protocol and iBeacon BLE sensors for micro-location.They leveraged a control theoretic approach by particle filtering to increase the tracking accuracy in an indoor environment.Moreover, Zafari et al. [30] designed an iBeacon based accurate proximity and indoor localization system.Kriz et al. [31] implemented a distributed system for collecting radio fingerprints by mobile devices with the Android operating system.They presented a way to improve the accuracy of the radio-based indoor stationary localization originally based on Wi-Fi signals.
This study explored the BLE Beacon for indoor positioning.Through a series of experiments, the characteristics of the chip-type BLE Beacon and the rules for deploying Beacon were obtained.In addition, it was found that the mobile device cannot receive the BLE Beacon signal when the Wi-Fi access point was turned on.However, the mobile device must not experience interference when using Wi-Fi to access the Internet.The recommendation is not to open Wi-Fi sharing when using BLE Beacon positioning.According to the experiment results, it was found that the use of the positioning method for indoor positioning is feasible; however, this is based on the deployment of sufficient BLE Beacons.Additionally, the experimental results showed that a single BLE Beacon can be deployed in a unit space to maintain the most basic positioning accuracy.As more BLE Beacons are deployed, the accuracy of the spatial positioning will improve.The positioning method using the maximum and minimum values can reduce the space and sampling time, but still produce overlap areas.Although this problem can be solved by using more BLE Beacons and changing the deployment method, it will incur additional costs, and thus, may not be a good solution.The authors think that an approach using machine learning and composite positioning could be applied to achieve the best benefit.We made a comprehensive comparison of the proposed technique with the most recent techniques in the literature to clearly demonstrate the effectiveness of our proposed system, as shown in Table 6.Table 6.A comprehensive comparison of the proposed technique with the most recent techniques (adapted from [3,5,7,[28][29][30][31]).

Conclusions
This study proposed a novel system for the detection of a user in an indoor environment using a mobile device and BLE Beacon multilateration positioning.An Application (App) was developed to allow a user to manage the appliance power in a smart home.However, the challenges accompanied by this work's experiments, a perfect linear correlation between distance and RSSI, arose due to various influence factors, e.g., obstacles or walls of the building.How to decrease the degree of influence is a critical challenge.Moreover, radio frequency (RF-based) positioning technology has common problems, such as being susceptible to interference, because certain electronic devices, storms, and even organic matter can disrupt or distort radio signals.The range (coverage) and the signal of radio waves are limited.When a radio frequency signal passes through the air and other media in an indoor environment, it exhibits certain behavioral or propagating effects such as absorption, reflection, scattering, refraction, interference, multipath, and attenuation.RSSI signal also has these physical characteristics and may, therefore, not be suitable for all human living environments; it requires researchers to explore more indoor positioning techniques to compose a hybrid technology to cope with more complex environments for indoor positioning.This study used the positioning algorithm and hardware configuration to reduce the error rate.Location fingerprint positioning algorithm and filter modification were used to establish a positioning method for facilitating deployment, and to reduce the required computing resources.The proposed system gave users a smart home experience, making home life more comfortable and convenient.Based on the BLE Beacon positioning, the user location was analyzed to get the corresponding power management service.In addition, the system allowed the user to realize the power usage in the home, and to achieve optimal power saving.The contribution of this was is to make the home smarter, and its applied field is not limited to smart homes.The proposed system can be applied to various environments, such as shopping malls, exhibition halls, amusement parks, facilities, etc., to achieve the benefits of reducing cost.Future work can improve the system challenges towards integrating artificial intelligence or machine learning with positioning to achieve the best benefits.The coverage map of the heterogeneous network is another interesting research topic for enhancing the positioning accuracy in this work.

Figure 2 .
Figure 2. Principle of the triangulation geometrical method.

Figure 2 .
Figure 2. Principle of the triangulation geometrical method.Figure 2. Principle of the triangulation geometrical method.

Figure 2 .
Figure 2. Principle of the triangulation geometrical method.Figure 2. Principle of the triangulation geometrical method.

Figure 3 .
Figure 3. Triangulation geometrical method produces errors due to multipath effects.

Figure 3 .
Figure 3. Triangulation geometrical method produces errors due to multipath effects.

Figure 4 .
Figure 4.The maximum and minimum Received Signal Strength Indicators (RSSIs) of Bluetooth Low Energy (BLE) Beacon x, y, and z.

Figure 4 .
Figure 4.The maximum and minimum Received Signal Strength Indicators (RSSIs) of Bluetooth Low Energy (BLE) Beacon x, y, and z.
m is the number of sampling times, and n is the number of BLE beacons.The RSSI values in the ith row of Rp were collected from the different Beacons concurrently.The RSSI values in the jth column of Rp are received from the same Beacon at different times.The  is the mean vector (using mean filter mentioned in Section 5.1) of the jth column of Rp, shown as Equation (4):

Figure 7 .
Figure 7.A mobile device application (App) is designed to monitor the RSSI of the BLE Beacon: (a) Scan Beacon; (b) Add an indoor room; (c) Indoor positioning.

Figure 9 .
Figure 9. BLE Beacon features: measuring signal by direction A.

Figure 10 .
Figure 10.BLE Beacon features: measuring signal by direction B.

Figure 11 .
Figure 11.BLE Beacon features: measuring signal by direction C.

Figure 9 .
Figure 9. BLE Beacon features: measuring signal by direction A.

Figure 10 .
Figure 10.BLE Beacon features: measuring signal by direction B.

Figure 11 .
Figure 11.BLE Beacon features: measuring signal by direction C.

Figure 9 .
Figure 9. BLE Beacon features: measuring signal by direction A.

Figure 9 .
Figure 9. BLE Beacon features: measuring signal by direction A.

Figure 10 .
Figure 10.BLE Beacon features: measuring signal by direction B.

Figure 11 .
Figure 11.BLE Beacon features: measuring signal by direction C.

Figure 10 .
Figure 10.BLE Beacon features: measuring signal by direction B.

Figure 9 .
Figure 9. BLE Beacon features: measuring signal by direction A.

Figure 10 .
Figure 10.BLE Beacon features: measuring signal by direction B.

Figure 11 .
Figure 11.BLE Beacon features: measuring signal by direction C.Figure 11.BLE Beacon features: measuring signal by direction C.

Figure 11 .
Figure 11.BLE Beacon features: measuring signal by direction C.Figure 11.BLE Beacon features: measuring signal by direction C.

Figure 12 .
Figure 12.Single space positioning experiments from one BLE Beacon to multiple BLE Beacons deployment.

Figure 13 .
Figure 13.The experiment: using three BLE Beacons to coordinate four spaces.

Figure 12 .
Figure 12.Single space positioning experiments from one BLE Beacon to multiple BLE Beacons deployment.

Figure 12 .
Figure 12.Single space positioning experiments from one BLE Beacon to multiple BLE Beacons deployment.

Figure 13 .
Figure 13.The experiment: using three BLE Beacons to coordinate four spaces.Figure 13.The experiment: using three BLE Beacons to coordinate four spaces.

Figure 13 .
Figure 13.The experiment: using three BLE Beacons to coordinate four spaces.Figure 13.The experiment: using three BLE Beacons to coordinate four spaces.

Figure 15 .
Figure 15.User can click on the appliance icon to view the details: (a) The details of fan1; (b) The fan1 appliance.

Figure 15 .
Figure 15.User can click on the appliance icon to view the details: (a) The details of fan1; (b) The fan1 appliance.