BLE Beacons for Proximity-Based and Location-Based Services
Transcript of BLE Beacons for Proximity-Based and Location-Based Services
BLE Beacons for Proximity-Based and Location-Based
Services
by
Andrew Mackey
A Thesis
presented to
The University of Guelph
In partial fulfilment of requirements
for the degree of
Masters of Applied Science
in
Engineering
Guelph, Ontario, Canada
c© Andrew Mackey, July 2019
ABSTRACT
BLE BEACONS FOR PROXIMITY-BASED AND LOCATION-BASED
SERVICES
Andrew Mackey Advisors:
University of Guelph, 2019 Petros Spachos
Stefano Gregori
In recent years, there has been a rapid growth in what is called Internet of Things (IoT).
IoT can be described as the interconnectedness of all things, where we as people are able
to interact with our physical environment using wireless communications. One of the
core wireless technologies that has been a driving force in the growth of IoT is Bluetooth
Low Energy (BLE). This thesis focuses on proximity-based and location-based services
using BLE beacons and smartphone devices. Moreover, this thesis proposes that BLE
beacons are capable of providing proximity and location-based services, both indoors and
outdoors with a suitable level of precision and accuracy. Proximity and location using
BLE beacons are realized using a Received Signal Strength Indicator (RSSI) technique.
The results of numerous experiments provide sufficient evidence that BLE beacons are
a viable and highly scalable option for such services in the framework of IoT.
Dedicated to my parents. A caring mother who has always supported me and my
father, a true man who I always have and always will aspire to emulate. . .
iii
ACKNOWLEDGEMENTS
I’d like to thank my friends and family who supported me along the way. Moreover, I’d
like to give a deep thanks to my advisor Dr. Petros Spachos and co-advisor Dr. Stefano
Gregori for their guidance and expertise.
iv
Contents
Abstract ii
Acknowledgements iv
List of Figures viii
List of Tables ix
Abbreviations x
Symbols xi
1 Introduction 1
1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 IoT and Beacons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Research Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Organization of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Related Work 7
2.1 BLE Beacons and IoT Applications . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 User Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Context-Aware Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Proximity-Based Services . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Indoor Localization for LBS . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2.1 BLE Beacon Localization . . . . . . . . . . . . . . . . . . 12
2.3 RSSI Filtering Improvements . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 BLE Beacons Characterization 14
3.1 Beacon Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 BLE Beacon Hardware . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Protocol Implementations . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Additional Sensing Capabilities . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Beacon Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5 Security and Privacy Concerns . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5.1 Security Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.2 Privacy Concerns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
v
3.6 The RSSI Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Filtering Techniques 27
4.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 State Estimation Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.2 Gaussian Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.3 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.4 Non-Parametric Information Filter . . . . . . . . . . . . . . . . . . 32
4.2.5 Particle Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 Experiments 37
5.1 Performance Evaluation of Beacons for Indoor Proximity Estimation inSmart Buildings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.1 Setup & Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.3 Concluding statements . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2 Enhanced Indoor Location System with Beacons and Kalman Filters . . . 40
5.2.1 Setup & Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.3 Concluding Statements . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3 Energy Consumption and Proximity Accuracy of BLE Beacons for Inter-net of Things Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3.1 Setup & Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3.3 Concluding Statements . . . . . . . . . . . . . . . . . . . . . . . . 48
6 Smart City Applications 51
6.1 Smart Parking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.1.1 Proposed architecture . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.1.1.1 Cloud Server . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.1.1.2 Smartphone . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.1.1.3 BLE beacons . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.1.2 System implementation . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1.2.1 Server requirements & development . . . . . . . . . . . . 58
6.1.2.2 Mobile application . . . . . . . . . . . . . . . . . . . . . . 58
6.1.2.3 BLE beacons . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.1.3 Wireless communication . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.3.1 Beacons & Google’s Eddystone . . . . . . . . . . . . . . . 61
6.1.3.2 Cloud communication . . . . . . . . . . . . . . . . . . . . 61
6.1.4 Parking availability estimation . . . . . . . . . . . . . . . . . . . . 62
6.1.4.1 Particle filtering implementation . . . . . . . . . . . . . . 62
6.1.5 Experimental Procedure and Results . . . . . . . . . . . . . . . . . 65
6.1.5.1 Experimental Procedure . . . . . . . . . . . . . . . . . . . 65
6.1.5.2 Path Loss Model . . . . . . . . . . . . . . . . . . . . . . . 66
6.1.5.3 Distance Estimation . . . . . . . . . . . . . . . . . . . . . 68
6.1.5.4 Proximity Identification . . . . . . . . . . . . . . . . . . . 70
6.1.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
vi
6.2 Energy-Wise Bike-Share Asset Tracking . . . . . . . . . . . . . . . . . . . 76
6.2.1 Related Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.2 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.2.2.1 System Framework . . . . . . . . . . . . . . . . . . . . . . 78
6.2.2.2 Communication Infrastructure . . . . . . . . . . . . . . . 79
6.2.2.3 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.2.4 Power Generation . . . . . . . . . . . . . . . . . . . . . . 80
6.2.3 Experimental Procedure & Methodology . . . . . . . . . . . . . . . 81
6.2.3.1 Measuring Power Consumption . . . . . . . . . . . . . . . 81
6.2.4 Proximity Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2.5 Preliminary Results . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2.5.1 Power Consumption Results . . . . . . . . . . . . . . . . 83
6.2.5.2 Proximity Estimation Results . . . . . . . . . . . . . . . . 84
6.2.6 Discussion & Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2.6.1 Power Consumption Implications . . . . . . . . . . . . . . 84
6.2.6.2 Proximity Estimation Accuracy . . . . . . . . . . . . . . 86
6.3 Environmental Audio Collection . . . . . . . . . . . . . . . . . . . . . . . 86
6.3.1 Application Overview . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.3.2 Application User Interface . . . . . . . . . . . . . . . . . . . . . . . 88
6.3.3 Immediate Stakeholders and Potential Applications . . . . . . . . . 88
6.3.4 Concluding Statements and Future Directions . . . . . . . . . . . . 88
7 Conclusions 91
7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Bibliography 93
vii
List of Figures
1.1 IoT and Smart Cities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1 iBeacon Packet Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Monsoon Power Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Beacon Power Measurements . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Cyalkit-E02 Debug Board. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Trilateration: Setup Overview . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 The Basic Kalman Filter Model. . . . . . . . . . . . . . . . . . . . . . . . 29
5.1 Average RSSI value of the beacons under the employment of differentfiltering techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 Beacon location system: General topology. . . . . . . . . . . . . . . . . . . 41
5.3 Topology 1: 1× 1 m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4 Topology 2: 2× 2 m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.5 Topology 3: 6× 6 m. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.6 Room 1: Distance estimation. . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.7 Room 2: Distance estimation. . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.1 Smart Parking System Overview. . . . . . . . . . . . . . . . . . . . . . . . 54
6.2 Smart Parking System flowchart. . . . . . . . . . . . . . . . . . . . . . . . 57
6.3 Developed mobile application for the system. . . . . . . . . . . . . . . . . 59
6.4 Parking lot for experimentation. . . . . . . . . . . . . . . . . . . . . . . . 60
6.5 BLE beacons used for the smart parking system. . . . . . . . . . . . . . . 60
6.6 Server Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.7 Best curve fitting for RSSI values at distances from 0.2 to 4 meters (a) atthe indoor and (b) at the outdoor parking. . . . . . . . . . . . . . . . . . 66
6.8 Distance estimation at the two environments. . . . . . . . . . . . . . . . . 69
6.9 Cumulative probability error for distance estimation. . . . . . . . . . . . . 71
6.10 Proximity identification experiment layout. . . . . . . . . . . . . . . . . . 72
6.11 System Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.12 Proximity identification experiment layout. . . . . . . . . . . . . . . . . . 80
6.13 Dragino Shield and Arduino Node . . . . . . . . . . . . . . . . . . . . . . 82
6.14 BLE Beacon Power Consumption. . . . . . . . . . . . . . . . . . . . . . . 83
6.15 Bike-Share Path-loss Model . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.16 Bike-Share Proximity Estimations . . . . . . . . . . . . . . . . . . . . . . 85
6.17 Smart Cities: Audio Collection Framework. . . . . . . . . . . . . . . . . . 87
6.18 Smart Cities: Audio Collection App UI. . . . . . . . . . . . . . . . . . . . 90
viii
List of Tables
2.1 Wireless Technologies Utilized for Indoor Localization . . . . . . . . . . . 10
3.1 BLE Beacons Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1 Performance evaluation: Standard deviation in dBm. . . . . . . . . . . . . 40
5.2 1 by 1 m Fence - Mean Absolute Error (m) . . . . . . . . . . . . . . . . . 44
5.3 2 by 2 m Fence - Mean Absolute Error (m) . . . . . . . . . . . . . . . . . 44
5.4 6 by 6 m Fence - Mean Absolute Error (m) . . . . . . . . . . . . . . . . . 44
5.5 Room 1: Standard deviation in m. . . . . . . . . . . . . . . . . . . . . . . 46
5.6 Room 2: Standard deviation in m. . . . . . . . . . . . . . . . . . . . . . . 46
6.1 Experimental error based results for different number of particles at theindoor environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Smart Parking: Indoor Prediction Results. . . . . . . . . . . . . . . . . . . 73
6.3 Smart Parking: Outdoor Prediction Results. . . . . . . . . . . . . . . . . . 73
6.4 Bicycle Power Generator Comparison . . . . . . . . . . . . . . . . . . . . . 81
ix
Abbreviations
AoA Angle of Arrival
BLE Bluetooth Low Energy
CDF Cumulative Distribution Function
DFT Discrete Fourier Transform
FDM Frequency Division Multiplexing
FFT Fast Fourier Transform
GPS Global Positioning System
IoT Internet of Things
IPS Indoor Positioning System
LBS Location Based Services
LoRa Long Range
LoS Line of Sight
MAE Mean Absolute Error
MSE Mean Squared Error
PAN Personal Area Network
PDR Pedestrian Dead Reckoning
RSSI Received Signal Strength Indicator
SMA Simple Moving Average
TDM Time Division Multiplexing
ToA Time of Arrival
VLC Visible Light Communication
WSN Wireless Sensor Network
x
Symbols
d Distance m
K Kalman Gain unitless
ri RSSI Observation dBm
TXi Transmission Interval ms
TXp Transmission Power dBm
xi
Chapter 1
Introduction
Every day more computer-based devices are connected to the Internet. Most of these
devices have at least one sensing unit, creating opportunities for more direct integration
between the physical world and computer-based systems. This is the idea behind the
Internet of Things (IoT), a development of the Internet in which everyday objects have
network connectivity, allowing them to send and receive data. IoT is an umbrella term
for the advanced level of connectedness and growth of wireless sensor network (WSN)
applications. One area that is receiving a strong focus is the growth and development of
smart cities and smart buildings [1]. Smart cities incorporate a lot of different aspects.
This includes but is not limited to transportation, homes/buildings, smartphones, cloud
infrastructure, and environmental sensing (See Fig. 1.1). In this field of research,
increased level of connectivity allows users to interact with the physical environment
for improved quality of life enhancements. This includes easier access to information,
more intuitive and simple use of public services, and more personalized interactions
with everyday objects. Furthermore, cities are able to exploit vast amounts of data
collected as a result of wireless integration, encouraging infrastructure improvements
in transportation, resource utilization, and urban planning. As wireless technology
becomes cheaper, this becomes much easier to implement on a large scale.
Two of the most important elements in the IoT framework is Location-Based Services
(LBS) and Proximity-Based Services (PBS). LBS and PBS is necessary to provide mean-
ingful data and interaction to individuals in any environment, both indoor and outdoor.
1
Figure 1.1: IoT and Smart Cities.
These services can be implemented using wireless technologies which exploit the Re-
ceived Signal Strength Indicator (RSSI) technique. LBS can be concerned with two or
three dimensional positioning and path planning, while PBS is as simple as determining
proximity to a point of interest. Proximity detection is capable of supporting a lot of
useful applications. However, they are still very difficult to implement on a large scale.
1.1 Problem Definition
The increase in connectivity and desire for smarter buildings/cities requires scalable
and effective LBS and PBS, especially indoors [2]. These systems present a number of
challenges. In any wireless technology, the impact of Line of Sight (LOS) varies based
on technology and environmental dynamics. When implementing a localization system,
2
LOS is often paramount in the accuracy of the system. This is because physical ob-
structions have a very large impact on the power of the received signal, thus greatly
affecting RSSI observations. The most effected technology in this respect is Light Fi-
delity (Li-Fi), where RSSI cannot be observed if LOS is obstructed. Secondly, cost is
a critical concern, especially when trying to implement a localization system on a large
scale. Many electronic devices and supporting hardware such as routers, access-points,
and cameras, have a high unit cost. Thus, implementing location services in every room
of a building incurs a significant capital cost. Furthermore, the size and deployment
requirements impact the ease of scalability with regards to installation costs and modi-
fications to existing infrastructure. Using wireless technologies such as Wireless Fidelity
(Wi-Fi) and Li-Fi to implement localization systems often requires significant overhaul
to the existing infrastructure of any environment, and may be very difficult to install
in many cases. This is because every room requires the localization supporting hard-
ware. Hence, wiring and/or lighting infrastructure would have to be changed for every
room. Moreover, using Wi-Fi technology for such a system would likely experience a lot
of signal interference. Today, most indoor environments have a Wi-Fi network already
operating on the 2.4 GHz band. So, a Wi-Fi based solution would experience a lot of in-
terference, making RSSI and fingerprinting techniques very noisy. Another challenge to
consider when implementing localization solutions is the power consumption. Wireless
technologies like Wi-Fi, ZigBee, Bluetooth, and LoRa, all require a significant amount
of power. Wi-Fi being the worst of those five, utilizing over 200 mW per node to imple-
ment a localization system [3]. This adds to the operating cost of the system, as well as
potentially dictating the lifespan of critical nodes in the network if a continuous power
source is not available. Lastly, the dynamic characteristics and physical properties of
a given environment can drastically change the performance of a localization solution.
Dynamic characteristics regarding weather, people, and object motion may change the
aforementioned non-linearities, such as LOS, noise, and interference [4]. Even the phys-
ical size of the environment effects the RSSI observations [5]. Thus, this thesis explores
the use of Bluetooth Low Energy (BLE) beacons in order to realize a highly scalable,
power efficient, cost effective, and highly accurate localization, proximity-based systems.
3
1.2 IoT and Beacons
BLE beacons are a device exploding in popularity and research potential for IoT appli-
cations [6–8]. They are fully wireless devices that implement Bluetooth Special Interest
Group’s Bluetooth Low Energy technology. BLE was introduced in Bluetooth version
4.0. It operates on the 2.4 GHz band and maintains a range of approximately 50 - 75
m, close to that of standard Bluetooth profiles (100 m). The drawback is that BLE
sacrifices throughput for energy efficiency [9]. In order to achieve sub 1 mW power
consumption (in devices such as beacons), BLE technology had to reduce the achievable
data-throughput to a maximum of 1 MBps. This makes BLE suitable for devices that
do not transmit large amounts of data. This includes a lot of personal devices like wire-
less keyboards, smart-watches, and wireless headphones; home automation devices like
smart lighting and security, and entertainment devices like wireless speakers.
BLE beacons transmit fixed packets at regular intervals that identify the particular
beacon, in addition to possible telemetry data collected from additional sensors that
may have been included by the beacon manufacturer. BLE beacons are largely popular
for their small size, low cost, fully wireless form factor, and long battery life.
As a result, beacons have become a popular means of supporting Internet of Things
(IoT) services. Their small size provides a means of increased scalability because it has
a minimal impact on infrastructure. Their BLE functionality establishes simple inte-
gration with almost all of today’s smartphone devices, making them a highly versatile
device. BLE beacon deployment is projected to reach 400 million deployed devices glob-
ally by the year 2020 [10]. BLE beacons often employ the RSSI technique to implement
useful localization and proximity-based applications. Shopping and entertainment are
some of the first industries to adopt such systems. Industry giants such as Target and
Walmart have already begun implementing beacon-based LBS in select locations [11].
The core problem with this, however, is their susceptibility to noise and physical in-
terference. Changing temperatures can produce inaccuracies with observations due to
thermal noise. Additionally, with the increased number of wireless devices for every indi-
vidual, environmental interference and contention increases. BLE beacon transmissions
are sensitive to their environment, so as the physical characteristics of the environment
changes, the application performance can be significantly impacted.
4
1.3 Research Contributions
The work presented in this thesis defines a comprehensive analysis of BLE beacons for
the purposes of PBS and LBS applications in IoT. Specifically, the research pertains to
smart city and smart building applications. The development of such localization mod-
els, mathematical methods for performance improvements, and the results of numerous
published studies and experiments are reported in this thesis.
Moreover the key contributions are summarized below.
• The characterization of multiple BLE beacons with regards to power consumption
and RSSI-based proximity performance. The exploration and comparison between
two crucial beacon configuration parameters (transmission power and transmission
interval) and their effects on power consumption is detailed.
• The development, execution, and analysis of many localization and proximity ex-
periments using beacons and smartphones, across many different indoor and out-
door environments. Published results is presented and discussed.
• The development and implementation of state estimation filtering algorithms for
mobile application software. Kalman, Gaussian, Particle, and Non-parametric
information filters are utilized to improve RSSI-based proximity estimation per-
formance. Experimental results are discussed and compared to common smoothing
algorithms such as the simple moving average (SMA).
• Multiple RSSI datasets for multiple beacon devices have been recorded. This
provides other researchers with a substantial set of information and data for their
own research exploration.
• The design of three unique BLE beacon-based smart city applications, rooted in
RSSI-based localization. A smart parking system, energy-wise bike-share tracking
system, and environmental audio collection application is proposed.
1.4 Organization of the Thesis
The rest of this thesis is organized as follows; Chapter 2 discusses the related research sur-
rounding the roles of BLE beacons in IoT, PBS, and the breadth of wireless localization
5
technologies. Chapter 3 comprehensively characterizes eleven beacon devices available in
today’s market. The problem statement and filtering algorithms that support accuracy
improvements are examined in Chapter 4. Localization results for proximity estimation
is detailed in Chapter 5. Chapter 6 details three specific IoT applications that utilize
BLE beacons, rooted in localization. The Conclusion is in Chapter 7.
6
Chapter 2
Related Work
In this Chapter, beacon devices, their applications, and the research surrounding prox-
imity and location-based services using six wireless technologies are explored.
2.1 BLE Beacons and IoT Applications
BLE beacons are a very simple IoT device. They are small, low cost, transmitting devices
designed specifically to bring attention to their location through periodic broadcasts.
Their design aims to fill the gap with GPS, where GPS does not work indoors and in
extreme environments. Their operation is defined by Bluetooth Special Interest Group’s
Bluetooth Low Energy standard first introduced in Bluetooth 4.0 in 2010, also referred
to as Bluetooth Smart. They come in a variety of shapes, sizes, and configurations.
Their growing popularity has resulted in a plentiful market of beacon devices from many
manufacturers. Detail about eleven popular beacon devices is explored in Chapter 3.
Beacons were first adopted to implement basic location discovery and LBS. Such ap-
plications include room discovery, indoor navigation, asset tracking/identification, and
advertising. The marketplace value for LBS is estimated to reach 68.85 billion USD by
2023 [12]. Beacons are particularly useful in many of these scenarios due to their ease of
scalability, deployment, and integration with smartphone technology. Most, if not all,
current smartphone devices today are Bluetooth 4.0+ compatible and thus make it easy
to design and realize a multitude of beacon applications. The study presented in [13] fo-
cuses on the current use-cases of BLE beacons, as well as proposes a use for them in the
7
workplace. The current applications are occupancy detection, LBS, indoor localization,
and asset tracking. The workplace application is based on a mobile application called
BeaSmart, which provides contextualized user experiences for individuals in the work-
place. Initial features include navigation guidance, temperature control, personalized
notifications, and inventory assistance.
2.1.1 User Acceptance
User acceptance of LBS is a critical factor in the growth of IoT and continued research
into beacon-based location systems. A vast overview of the current technologies, tech-
niques, and services associated with IoT equipped smart buildings is provided in [1].
Tenant services, disaster management, marketplace applications, and user security are
explored in length to provide us with knowledge regarding the current problems and
potential solutions with regards to each topic. Experimental models such as [14], utilize
a simple Android application for room detection using incremental rule learning. The
decisions made by the application can be edited by the user of the application to improve
its effectiveness and accuracy. The experiment proves to be effective for room discov-
ery applications, and its general simplicity may aid in the acceptance of other iBeacon
indoor location systems.
Security is another critical factor is user acceptance of proximity and location-based
services. To enhance the security of beacon-based location systems, the detection of
physical attacks against beacon transmitters is proposed and explored in [15]. Hidden
Markov Models are used to be able to identify four common physical attack patterns;
broken, moving, switch and duplication. The solution provides a detection accuracy
of 85%. All detection algorithms are implemented on a server, eliminating the need to
update smartphones and reduce the power consumption of smartphone devices [15]. The
security concerns specifically regarding beacons are discussed further in Chapter 3.
8
2.2 Context-Aware Services
2.2.1 Proximity-Based Services
PBS is a simplified form of LBS in that they do not rely on two or three-dimensional
positioning, rather just the proximity of a person or object to a point of interest. Prox-
imity detection is critical because it is the foundation on which RSSI-based localization
schemes can be developed. Proximity services may support such services as targeted ad-
vertising, home automation, security, and more. BLE beacons were designed primarily
with proximity detection in mind. In [16], the authors explore the use of Apple iBeacons
and their role in Proximity-based Services (PBS). They stress that detection accuracy,
energy efficiency, cost, availability, and transmission range are all vital factors in pro-
ducing a good PBS solution. Beacons meet much of these constraints, however, they
suffer from signal interference and noise, just as any other wireless technology. So, the
authors implement a server-based Kalman filter to improve detection accuracy. Results
show a 32% improvement in proximity detection.
Another important factor to consider in PBS is security and privacy. The work in [17]
and [18] presents three security mechanisms for PBS; Service provider filtering, Hide &
Seek, and Hide & Crypt. Service provider filtering attempts to hide the exact location
of the asset/individual from the service provider by generalizing the location, the hide
& seek method expands on the service provider filtering by utilizing other users in the
network to share course location information in the case the service provider is not
capable. Lastly, the hide & crypt method was the most desirable, as it implements the
prior with more secure computation.
2.2.2 Indoor Localization for LBS
Smartphones and their wide range of integrated technologies facilitate a lot of the growth
in IoT, supporting multiple mechanisms for indoor localization, as discussed in [19]. Mul-
tiple techniques and technologies have been adapted to provide indoor location informa-
tion, all of which attempt to overcome the interference and dynamics of a complex indoor
environment. Such indoor localization models may be based on a visual/camera-based
system, as in [20, 21]. These models are capable of accurate indoor localization through
9
Wireless Technology Cost Availability Implementation Complexity Susceptibility to Interference Accuracy
Wi-Fi Moderate High Low High Moderate
Li-Fi High Low High High Moderate
BLE Low High Low Moderate Moderate
Zigbee High Moderate Low Moderate Moderate-High
RFID Low High Low Moderate Low
LoRa Moderate Low Moderate Low-Moderate Low
Table 2.1: Wireless Technologies Utilized for Indoor Localization
sophisticated feature recognition but require pre-processed data of the environment and
increased hardware costs.
In order to lower the cost and complexity of indoor localization systems, many wireless
technologies have been explored. A summary of the common technologies explored in
the literature can be seen in Table 2.1.
The work in [22] utilizes the fingerprinting approach to achieve accurate location. This,
however, suffers from more interference in the environment and consumes much more
energy than alternative solutions, such as BLE [23].
Li-Fi, or visible light communication (VLC), is another wireless communication mecha-
nism that can support localization. In [24], the authors conduct a survey on the methods
and accuracy of implementing VLC-based localization, both indoors and outdoors. For
an LED-based Indoor Positioning Systems (IPS), the process normally consists of three
phases: Signals are received from each transmitting anchor node, modulated using fre-
quency division multiplexing (FDM) or time division multiplexing (TDM) techniques in
order to differentiate between them. Next, only LOS paths are considered, as non-LOS
results in no information. Thus outlier nodes are removed. Lastly, the observed signals
are then turned into location estimates by exploiting characteristics like RSSI, time of
arrival (TOA), and angle of arrival (AOA). Using these methods, it was reported that
a positioning error of 14.8 cm was achieved, assuming good LOS. It should be noted
that TOA techniques may also apply to BLE beacon technology. However, beacons
were designed around the RSSI model and in order to implement TOA one would need
to synchronize the clocks of all beacon devices. This would add a significant level of
complexity to the system that may not be appropriate for beacons.
LoRa technology operates on the 915 MHz band in North America and benefits from
its extraordinary transmission range (∼ 10km) [25], [26]. However, LoRa technology
can exceed power consumption of 150 mW, which limits the lifespan of a LoRa-based
10
localization system significantly [27]. Its long transmission range may be viewed as an
asset but it makes the technology better suited for outdoor environments. Preliminary
research has shown that the localization error of LoRa can be in the order of 10’s of
meters, which may be suitable for outdoors, but entirely useless indoors [27], [28].
Zigbee technology was primarily developed for medical device applications, but can also
be utilized for home automation and LBS. It is based on the IEEE 802.15.4 standard.
The power requirements are greater than BLE but lesser than Wi-Fi, making it a con-
tender for implementing localization solutions [3]. In [29], the authors utilize Zigbee
technology in order to assist Wi-Fi fingerprinting localization. The Zigbee devices de-
tect Wi-Fi access points in order to save energy and develop accurate fingerprints for
the localization model. The experiments report sub-1 meter accuracy with an improve-
ment of 67% energy savings over traditional standalone Wi-Fi solutions. The research
presented in [30] reported a 3-dimensional Root Mean Squared Error (RMSE) under
1 meter in many scenarios. However, it is important to note that Zigbee hardware is
more expensive and has lower availability and market presence than BLE devices. It
also requires Zigbee compliant hardware to receive the signal, which smartphone devices
do not have.
Radio Frequency Identification (RFID) can span a large band of frequencies; from low-
frequency (125 kHz) to ultra-high-frequency (UHF 300 MHz - 3GHz). RFID tags can be
passive, where the electromagnetic field of the reader powers the device, or active, where
the RFID device has its own power source. The authors in [31] utilize active UHF RFID
tags to study indoor positioning and distance estimation. Results showed positioning
error greater than 3 meters.
Uncommon wireless technologies, such as ultrasound [32] have been used, where time
of flight techniques are combined with fingerprinting to achieve greater accuracy. The
benefit of ultrasound is that it avoids interference from overpopulated bandwidths, espe-
cially the 2.4 GHz channels that fall under the WLAN 802.11 band. Again, the hardware
cost and availability is a major concern.
11
2.2.2.1 BLE Beacon Localization
Beacon technology has grown in popularity and much more research has been developed
in using it for indoor localization and LBS [1, 33–35]. The fundamental operation of
these beacons is to realize indoor localization solutions.
The work in [36] demonstrates the development and testing of location fingerprinting
using BLE beacons. Where fingerprinting relies on a previously constructed radio map
of the deployment region. The work uses 19 beacons in a 600m2 environment. The
best results showed a positioning error under 2.6 m in a dense beacon network. In
[37], the authors utilize beacons to design a proximity detection system. They stress
the effects of interference between beacons in a dense network. Experimental results
show an achievable detection accuracy of 90% under the employment of their adaptive
scanning mechanism. The adaptive scanning accounts for changes in beacon density, so
as not to enforce a constant scan interval, ensuring observations are made during the
scan.
Some research combines other technologies with beacons in order to provide more accu-
rate positioning. The research presented in [38] uses inertial sensors with BLE beacons
in order to mitigate signal non-linearities and drift error. A Trusted K-Nearest Bayesian
Estimator is implemented to estimate position. This method first obtains the position
using the K-Nearest Neighbor method and then applies a fusion of the pedestrian dead-
reckoning approach and a Kalman filter. The positioning error was found to be under 1
meter.
The Pedestrian Dead Reckoning (PDR) approach to localization has been implemented
with BLE beacons [39]. The PDR approach is known to have inherent drift, and so, this
study uses Estimote beacons to calibrate and readjust dynamically. The PDR approach
finds user position by utilizing three essential variables; step detection, walking length,
and walking direction. This system employs the use of smartphone sensors (like the
gyroscope and accelerometer) to obtain this necessary variable information. Strategically
placed Estimote beacons are used as calibration zones to eliminate drift.
The work in [40] attempts to find the relation between beacon arrangement and po-
sitional accuracy in an indoor environment. Four arrangements: triangular, square,
pentagonal, and hexagonal are compared in their experiments. It is determined that the
12
particular shape has less to do with accuracy than the number of beacons in the arrange-
ment. They conclude that arrangements with more beacons (up to a peak threshold)
tend to improve location accuracy. IPS systems tend to be two dimensional. Expanding
to three dimensions using the three-ball positioning algorithm is what has been explored
in [41]. Their experiments are conducted in a 7m x 5m x 3m room and resulted in a
peak error of 1.2m.
All techniques may provide different levels of accuracy and will likely behave differently
depending on the environment. So, it is important to note the characteristics of each
tested environment when deciding on what technique to implement.
2.3 RSSI Filtering Improvements
BLE beacons are highly susceptible to noise and interference and do not provide con-
sistent signals for accurate indoor localization. To overcome the effects of interference
and dynamic changes to the physical environment, many methods devised around ad-
vanced filtering techniques have been adapted to beacon-based systems to improve the
accuracy obtained in using RSSI localization techniques. A lot of these techniques are
derived from Bayes theorem, and follow the Bayesian form, as described in [42]. The
most common of these filter implementations with beacon devices are the Kalman and
Gaussian filters as explored in [33, 35]. These filters provide a reasonably accurate state
estimation and can be adjusted for changes is environmental/ process noise. Other filters
such as the particle filter are used. Particle filters are highly accurate, but at the cost
of greater computational complexity, hence the need for a client-server based model, as
outlined in [43].
13
Chapter 3
BLE Beacons Characterization
In this Chapter, BLE beacons are described in detail. Their configuration parameters,
protocol implementations, power consumption, security concerns, and hardware are ex-
amined. Moreover, how they can be used to implement Location Based Services (LBS)
are reviewed.
3.1 Beacon Overview
BLE beacons, in particular, are devices that have received a lot of attention in recent
years. They are simple transmitting devices with the main goal of bringing attention to
their location. There are two main configurations common to all beacon devices.
1. Transmission power (TXp)
2. Transmission interval (TXi)
The transmission power is the strength of the transmission, often represented as decibels
with reference to 1 mW, i.e. dBm. The second configuration parameter is the trans-
mission interval. This is the period in which packets are broadcast, often expressed in
milliseconds.
Beacons are also very desirable for their small size, very low power consumption, and
especially low cost. The market has reacted, as such, there is a wide variety of BLE
14
beacon devices available from many vendors. Table 3.1 provides details on eleven popular
beacon devices available in 2019.
3.1.1 BLE Beacon Hardware
All beacons rely on some sort of BLE chipset in order function. The selection of such a
chipset can dictate important factors such as; cost, power consumption, configuration,
performance, on-chip memory, and size. As depicted in Table 3.1, some beacon ven-
dors like BlueCat and Texas Instruments have designed their own chipsets (BlueGiga,
CC2650). However, more commonly, beacon vendors choose to implement some version
of the nRF BLE chipset designed by Nordic Semiconductor. These chips are a complete
SoC (System on Chip), designed around an ARM Cortex M0 32-bit processor. The
Cortex M0 is a popular choice due to its small size and low power consumption.
The power source is the other critical internal component. The selection of battery type
and capacity has the greatest effect on the achievable lifespan of any BLE beacon device,
aside from using energy harvesting technology. Most beacons tend to operate at 3V (with
some exceptions), allowing for a lot of choice for battery selection. There are generally
two battery implementations, each with their own trade-offs. Coin cell batteries, such
as the CR2032 coin cell battery are very small in size, allowing the beacon device to
have very small dimensions, at the cost of reduced battery life. Whereas standard AA
batteries are used in some beacons to drastically improve battery life, at the cost of
far larger dimensions. A great example of this is the Gimbal Series 10 and Series 21
beacons. The two beacons are identical in terms of chipset, only differing in their battery
implementation and physical size. Other manufacturers try to implement some form of
compromise between size and battery life. For instance, the Kontakt beacon utilizes two
CR2477 coin cell batteries operating in parallel to double the capacity.
There is also a wide range of pricing. This is often attributed to differences in power
sources, software support, and additional sensors. For instance, the Cypress solar beacon
is $49 USD due to its light energy harvesting hardware, while the Gimbal series 10 is
$5 due to its lack of sensors and a small battery. All beacon devices differ slightly in
design, however, all provide the same core function. It is important to evaluate multiple
options before selecting one, depending on application requirements.
15
Table 3.1: BLE Beacons Overview16
Figure 3.1: iBeacon Packet Structure
3.2 Protocol Implementations
BLE beacons transmit small packets of information, the most critical piece of data often
being its universally unique identifier (UUID). Some vendors may choose to design and
implement their own protocol as Gimbal does. However, most beacon devices support
Apple’s iBeacon protocol [44] and Google’s Eddystone beacon protocol [45].
Google’s Eddystone was introduced in 2015. It defines 4 packet formats: UID, URL,
TLM, and EID. UID is for a static unique 10-byte identifier, URL is for transmitting
a compressed parsable URL, TLM is designed to transmit sensor data, and finally, the
EID packet is a time-varying identifier for added security. The iBeacon protocol is much
simpler. It was first introduced by Apple in 2013. It defines 5 fields (See Fig. 3.1):
a 9-byte Prefix/Header, a 16-byte UUID, a 2-byte major, a 2-byte minor value, and a
1-byte value that indicates the expected TX power at 1m. The major and minor values
allow for application developers to group and sub-group each beacon for better beacon
management and control. User devices that are BLE enabled and running either iOS
7.0+ or Android 4.3+ operating systems are capable of supporting iBeacon.
3.3 Additional Sensing Capabilities
BLE beacons often include a variety of additional low-power sensors for telemetry about
the environment. These often include but are not limited to:
• Temperature Sensor
• Humidity Sensor
• Barometer
• Luxometer
• Gyroscope
17
• Accelerometer
• Microphone
These sensors allow beacons to provide useful information about the environmental
conditions in which they are deployed. The sensors allow for many unique applications,
often rooted in localization. These sensors vary in power consumption and it is important
to manage the measurement frequency of all additional sensors for optimal battery life.
3.4 Beacon Power Consumption
Beacon power consumption is part of what makes them so popular. A critical char-
acteristic for beacon-based indoor location is the lifespan of the beacon nodes [46, 47].
BLE was developed specifically for lower power consumption than alternative wireless
technologies, such as Wi-Fi [23]. BLE beacon power consumption is primarily a function
of its two main configuration parameters, transmission power, and transmission interval.
Where the energy consumption is proportional to the transmission power and inversely
proportional to the transmission interval.
In order to grasp the effects of the configuration parameters on power consumption, 6
plots are given to depict the energy consumption for 6 beacon devices. The experiment
consists of measuring the average power consumption over 3 transmission power levels
(-20, -12, and 0 dBm) and 3 transmission intervals (100, 500, and 1000 ms). In order
to accurately measure the power consumption, a Monsoon Power Monitor [48] was used
(See Fig. 3.2). The Monsoon power monitor is capable of measuring and plotting power
consumption and current draw, among many other parameters. It does this in real time
at a sample rate of 5000 times/second. Each measurement is executed over a period of
2 minutes for each beacon in order to obtain an average with a high level of confidence.
Fig. 3.3 depicts the correlation between the critical beacon configuration parameters,
TXp and TXi, and power consumption. It is clear that all BLE beacon devices in
these experiments vary in power consumption under the same configuration parame-
ters. However, all follow the same trend. Power consumption is inversely proportional
to the transmission interval and proportional to transmission power. That is, as the
transmission power increases, so does the power consumption and as the time between
18
Figure 3.2: Monsoon Power Monitor.
transmissions increases, the power consumption decreases. All beacons tested peak at
approximately 1mW, under the worst case configuration scenarios. It should be noted
that the transmission interval has a much more significant impact on power consumption
than transmission power does.
The differences in power consumption are due to the differences in circuit design, chip
selection, and additional sensors integrated with the various beacons. The Gimbal Series
10 beacon is, in fact, the cheapest beacon of the lot and as a result, the engineering behind
power management is reflected in its results. The evolution of the Gimbal design can
be seen in the latest iteration, the Gimbal Series 22, where the power consumption has
been significantly reduced, up to ∼ 50% in some configurations. The Estimote beacon,
though much more expensive, has the most additional sensors, which results in larger
power consumption across all configurations.
Power consumption and battery capacity is a large factor when determining which bea-
cons to use in any given beacon-application. There must be well-defined requirements
that lead to an ideal selection and configuration in order to optimize performance and
network lifespan.
Some companies have tried to implement energy-harvesting techniques so that one does
not have to compromise or sacrifice BLE beacon lifespan. An example is the Cypress
solar beacon. The Cypress beacon is able to operate on any light source greater than
100 lux. It is small in size at only 25mm in diameter, and the included solar cell on
the beacon measures at 15mm x 15mm. The Cypress solar beacon includes two sensors:
temperature and humidity. The beacon is fairly configurable, though unlike many of the
19
(a) iBKS 102 Power Consump-tion.
(b) Estimote Power Consump-tion.
(c) Kontakt Power Consumption. (d) Gimbal Series 10 Power Con-sumption.
(e) Gimbal Series 21 Power Con-sumption.
(f) Gimbal Series 22 Power Con-sumption.
Figure 3.3: Beacon Power Measurements
battery-powered beacons that configure wirelessly, it must be configured via the debug
board, shown in Fig. 3.4.
An important insight when working with the Cypress beacon is that one field in particu-
lar, the TXi, cannot be configured. This is because an onboard power management chip
governs the transmission interval based on the available light energy. At most, it will
transmit every 3 seconds, given that the light source is greater than 1000 lux. Hence,
20
Figure 3.4: Cyalkit-E02 Debug Board.
this is a limitation when it comes to comparison with other beacons.
The TXp, however, is configurable and is capable of transmitting up to +3dBm. In
ideal indoor lighting conditions and a TXp configuration of -12dBm, the Cypress solar
beacon had an average power consumption of 0.13 mW. This is comparable to some of
the more power efficient beacon devices, such as the Gimbal Series 22 (See Fig. 3.3).
The average power consumption of any beacon device can be easily translated into a
calculable lifetime of the node. This is calculated as follows.
First, we require the load current. This can either be measured directly using the
Monsoon, or calculated as Iload = PV . Once this is determined, the lifetime in hours can
be calculated, as given in Eq. 3.1.
Lifetime (hours) =Battery Capacity(mAh)
Load Current(mA)∗ 0.70 (3.1)
Where 0.7 is a conservative gain factor used to account for external impacts like humidity
and temperature on battery life.
Overall, BLE beacons are proven to be considerably power efficient (< 1.2mW), with
small variations beacon to beacon. Compared to similar Wi-Fi based localization so-
lutions, BLE is approximately 180 times more power efficient, where average power
consumption of 216 mW has been reported [3].
3.5 Security and Privacy Concerns
The high deployment of beacons in many applications has also a number of security
issues and privacy concerns.
21
One of the most popular applications for beacons is indoor localization. To achieve high
accuracy of localization, users need to connect with beacons in the area through their
smartphone. Most of the beacons do not have security mechanisms, however, there are
ways to minimize the security and privacy threats.
3.5.1 Security Issues
There are several security issues regarding beacons. Some are more challenging to cope
with.
• Cracking: Beacons can be placed in many locations due to their small size.
Usually, many beacons are “hidden” in different spots to cover an area. One of
the most important attacks on beacons is the physical removal of a beacon. An
attacker can remove the beacon from a wall, open it up and have straight access
to the memory and all the stored information. Information like the UUID, which
can then be used for spoofing.
A security mechanism that can alleviate this problem is the real-time monitor-
ing of the beacon and the decrease of the information that is stored inside the
beacon memory. Crucial information, such as user passwords or user preferences
should not be stored locally in the beacon while a real-time system monitors all
the beacons all the time. If an interruption of the communication between the
control system and the beacon happens, an alert should be sent to the system
administrator.
Communication with the control system and the beacon may affect the lifespan of
the beacons dramatically. Therefore, there must be a balance between monitoring
frequency and energy management.
• Spoofing: Another important security issue with beacons is known as beacon
spoofing. This is a simple technique where the user can detect and clone a beacon.
Beacons do not come with advanced encryption mechanisms. Hence, most of
the time they broadcast their ID. Someone who wants to attack the beacon and
consequently, the users connected to this beacon, can use the same ID at the same
area and create a clone beacon. With the use of the clone beacon, the attacker
can communicate with the user and gain access to important information.
22
A technique to minimize the issue of beacon spoofing is to periodically change the
ID of the beacons. Beacons can be configured to create random IDs periodically,
hence, minimize spoofing. This approach, however, requires the user to accept a
new connection to the beacon with the new ID every time it changes.
• Piggybacking: Another important security issue is piggybacking. Piggybacking
is when an attacker listens to a beacon and captures the UUIDs, Major, and
Minor values and adds them to another application without consent. The attacker
can then clone the first application and capture crucial information from the user
without their permission.
• Hijacking: Beacons communicate without any encryption techniques. Hence, any
password or other important information that is sent to the beacon can be hijacked
by an eavesdropper. Advanced encryption mechanisms can be applied to alleviate
some of the security issues. However, this may adversely affect the lifespan of the
beacon.
3.5.2 Privacy Concerns
Privacy is important, especially when it comes to everyday object communication. The
following privacy concerns can be seen in BLE beacons.
• Static IP. Most BLE beacons have a static IP. This static IP is broadcast so every-
one in the transmission area can receive it. Hence, an attacker can mimic a trusted
beacon, by using the same trusted IP and have access to private information.
Many vendors have started research on dynamic IP assignment. This would require
extra energy that may have varying effects on the lifespan of the beacon.
• Risk of unlawful surveillance. Another important privacy concern comes from
unlawful surveillance. Most beacon applications are based on localization. Users
share their location with the beacons.
Any attack on the beacons can reveal behavioral patterns about the user. Hence
a user can be under surveillance without permission or her/his behavioral and
location patterns can be shared with unauthorized personnel.
23
• Risk of undesired advertisement. Beacons are also often used for advertise-
ment. For personalized/targeted advertisement, information about the user can
be shared with the beacon applications. This information can be used by third
parties for further undesired advertisement.
3.6 The RSSI Technique
RSSI localization is the process of converting the observed signal strength of wireless
nodes to an estimated distance/proximity or position. Signal transmissions are trans-
mitted at a particular power and over the course of its travel, decreases in power the
farther away you are from the node. This effect is known as path loss. Signals are
broadcast and their observed power decreases with distance.
Localization and proximity estimation solutions are difficult to scale and the distribution
of such systems need to be robust, precise, and fitting to all environments. Utilizing
RSSI techniques is difficult due to non-linearities in the system. These non-linearities
can be a result of LOS obstruction, signal interference, thermal noise, and dynamic
environmental conditions. These dynamic properties are the major governing factors in
the performance of RSSI-based estimation. As such, the wireless signals broadcast by
beacons follow the log-normal shadowing path loss model (See equation 3.2).
RSSI = −10n log10(d) + C (3.2)
where n is the signal propagation loss factor specific to the wireless medium, d is the
distance (in meters) between the beacon node and the receiver, and C is a constant that
accounts for system noise.
This equation can be rearranged in the form depicted in equation 3.3 in order to calculate
the proximity distance.
d = 10C−RSSI
10n (3.3)
24
Figure 3.5: Trilateration: Setup Overview
Thus, the closer you are, the stronger the signal and the closer the estimated proxim-
ity. The further away from the anchor node, the weaker the signal observation, and
subsequently, the further the proximity estimation.
This technique can be expanded to provide positioning, through a mathematical formu-
lation known as trilateration. Trilateration is a specific solution to the more general true
range multilateration concept using three Cartesian dimensions. It determines the po-
sition of a moving or stationary point using three separate estimated proximity ranges.
The general overview of the trilateration concept can be seen in Fig. 3.5.
In this scenario, three anchor beacons are required. Assuming we are only looking for
the 2-D (x,y) position, we can assume z is zero. Thus we can simplify the trilateration
formula, following similar formulation to [3].
r21 = x2 + y2 (3.4)
r22 = (x− u)2 + y2 (3.5)
25
r23 = (x− vx)2 + (y − vy)2 (3.6)
Where u is the x-position of the second anchor beacon, and vx and vy is the coordinates
of the third anchor beacon. Using reduction, the solution to x and y can be found which
satisfies all three equations, thus resulting in the final position. Rearranging, the final
position (x,y) is calculated as follows.
x =r21 − r22 + u2
2u(3.7)
y =r21 − r23 + v2x + v2y
2vy− vxvy∗ x (3.8)
26
Chapter 4
Filtering Techniques
This Chapter discusses the problems of using RSSI techniques for localization and prox-
imity estimation. Subsequently, five filtering techniques, aimed at mitigating these prob-
lems, are described.
4.1 Problem Statement
One of the critical problems inherent to RSSI techniques for proximity and distance
estimation is non-linearities in the environment affecting the observed RSSI. Dynamic
environments present changes in LOS to critical beacon devices. Without direct LOS,
the signal is severely obstructed, and so, the observed RSSI is far lower than it should
be. Furthermore, interference in the environment due to competing devices is a real
concern. BLE is a popular technology receiving rapid adoption, as such other BLE
beacon capable devices, such as smartphones may add additional BLE signals to the
environment, adding to the attenuation of the beacon signals. Beacon density also plays
a factor in the amount of interference in a given region. Lastly, it has been reported that
even the temperature and humidity affect the RSSI [4], being inversely proportional to
temperature and proportional to the humidity. This is because the temperature adds
to thermal noise and an increase in humidity adds to the absorption of the signal as it
propagates through the air. Each and every environment varies in terms of its physical
characteristics and signal noise/interference. Thus, a means to mitigate and reduce
27
these effects are necessary in order to implement accurate LBS using RSSI. As such,
mathematical filtering is often applied to the observed RSSI values.
4.2 State Estimation Filters
4.2.1 Smoothing
The most basic and most common of filtering algorithms that can be applied to RSSI
measurements is a simple moving average (SMA). This is the running average of the
last n measurements, where n is the pre-defined width of the SMA. It is given by the
following equation;
RSSISMA =
∑ni=1 rin
(4.1)
4.2.2 Gaussian Filter
The Gaussian filter is a smoothing filter that simplifies the non-parametric nature of
the RSSI Path-loss model by approximating the RSSI densities as a one-dimensional
Gaussian distribution, eliminating overshoot of approximations resulting form outliers.
The distribution function can also be referenced in [33] and is given as;
f(ri) =1√2πσ
e−(ri−µ)
2
2σ2 (4.2)
where the mean is given as µ = 1n
∑ni=1 ri
and the standard deviation is σ =√
1n
∑ni=1(ri − µ)2.
Using multi-peak Gaussian fitting, a sequence of measured RSSI valuesR = {r1, r2, ..., rn}
can be used to approximate the true RSSI at time k by taking the sum of normally dis-
tributed (Gaussian) values in the form;
RSSI(k) =
n∑i=1
aie−( ki−bi
ci)2
(4.3)
28
Where ai are the peak heights of the Gaussian distribution, bi are the peak positions, ci
is the full width at half max (FWHM) information.
4.2.3 Kalman Filter
The Kalman filter is a model-based rooted in the Bayesian form. It is a recursive stochas-
tic filter befitting of posterior state estimation Gaussian and linear-type systems. In the
case of RSSI measurements for localization, it can take on two forms; The first is for
one-dimensional/proximity estimation, the other for two-dimensional/position estima-
tion. For simplicity, the proximity form is given, following the work of [42], [33], and
[49].
The one-dimensional proximity estimation Kalman filter estimates a sequence of proximi-
ties over time, p(1), p(2), ..., p(k), given a sequence of noisy RSSI valuesR = {r(1), r(2), ..., r(k)}.
Where R is the time-set of RSSI observations, and p(k) is the proximity, dependent on
some sub-set of the previously obtained observations r(k) in the set R.
The estimated proximity p(k) is contingent on the RSSI observations. Thus, p(k|j) is
the estimated proximity at time k given the entire record of RSSI observations leading
up to and including R(j).
Figure 4.1: The Basic Kalman Filter Model.
There are two critical phases of the filter, prediction, and update (correction). First,
the filter makes a prediction at time k of the current state x and the system covariance
P based on the prior state. This is done before the next RSSI observation r(k) is
made. The second phase computes a gain value K based on the prior noise estimate
and then updates the posterior state and system noise estimations using the latest RSSI
observation and current gain value. A simplistic form of the filter computation can be
29
seen in Fig. 4.1. The general form of the algorithm assumes a linear-Gaussian model
of the form;
f(x(k)|x(k − 1)) = N(Fx(k − 1), Q) (4.4)
where the posterior state given the prior is a function of the linear transition matrix F
multiplied by the prior state estimation, as well as the system covariance estimate Q.
The proximity measurements can be either static or estimated while in motion. If static,
velocity is assumed to be zero. In the case of the system matrix F we can assume an
approximate walking pace of 1m/s. So, the system matrix F is the identity matrix
with discretization period 4 of 100ms/0.1s, set by the transmission interval of the BLE
beacons, and an approximated walking pace of 1m/s.
F =
1 4
0 1
This means that F can really be represented one-dimensionally and be represented as
F = 1, where each new iteration of the filter takes place every 4 = 0.1 seconds.
The important assumption is that the posterior density f(x(k)|R(k)) is Gaussian for all
k. The filter is calculated using the following equations.
Prediction:
The prediction stage transforms the density of the prior proximity observation at time
k − 1 into a prediction at the current time k.
x̂(k|k − 1) = Fx̂(k − 1|k − 1) (4.5)
System error and noise covariance prediction at time k:
P (k|k − 1) = FP (k − 1|k − 1)F T +Q (4.6)
30
where Q is the process noise covariance matrix. This component accounts for the distri-
bution of possible changes in state over time due to unknown environmental interference.
In the case of the static Kalman filter, Q is assumed to be zero or some constant value.
In the case of the dynamic Kalman filter, Q is dynamically recalculated every iteration.
This system is one dimensional, and thus the covariance matrix Q is just calculated as a
variance of a set of previously collected observations R(k) = {r(k), r(k−1), ..., r(k−n)}.
Q =
∑ni=1(r(k)− µ)2
n(4.7)
where n is a constant that defines the size of the set R and µ is the mean of the ob-
servations in the set. It is important to determine the optimal size of the set, so as to
balance computational load and performance.
Update (Correction):
The update step uses the closed-form solution of the standard Bayes filter. The posterior
density is calculated as f(x(k)|R(k)) = N(x̂)
Kalman gain:
K =P (k|k − 1)H
HP (k|k − 1)HT + Pr(4.8)
Where H is the constant observation matrix and Pr is the observation noise, optimized
and tuned for the environment (Often set between 2 and 4). This is a crucial tuning
parameter in the filter performance and has to be determined on an individual environ-
mental basis with experimentation.
State update at time k:
x̂(k|k) = x̂(k|k − 1) +K ∗ [r(k)−Hx̂(k|k − 1)] (4.9)
System error and noise covariance update at time k:
P (k|k) = [1−KH] ∗ P (k|k − 1)(1−KH)T +KPrKT (4.10)
31
The Kalman filter’s light-weight computation and tenability make it useful for proximity
estimation using RSSI in noisy environments. It is limited in the fact that it still
approximates the system to be Gaussian/linear when in reality it is non-linear. However,
it has proven effective in experimentation, as seen in [5], [49], and [33].
4.2.4 Non-Parametric Information Filter
The NI filter is a Bayesian-type filter. Its design is similar to that of the Kalman filter.
However, the NI filter does not make the same Linear/Gaussian approximation of the
RSSI distributions, rather it handles non-linear and non-Gaussian conditions. The NI
filter in this experiment is modeled after the filter found in [42].
First the prediction density f(x(k)|R(k − 1)) can be described as a Gaussian density,
similar to the Kalman filter.
Prediction:
x̂(k|k − 1) = Fx̂(k − 1|k − 1) (4.11)
P (k|k − 1) = FP (k − 1|k − 1)F T +Q (4.12)
More specifically, the NI filter computes the update stage directly using a joint kernel
density estimator (KDE). This combines the contributions of the KDE memoryless es-
timator with the prediction of the dynamic model. Whereas the Kalman filter predicts
the state estimation f(x(k− 1)|R(k− 1)) to be Gaussian, the NI filter approximates the
density with a Gaussian density.
The KDE used in the NI filter is a Gaussian approximation KDE, where the KDE
requires a set of training pairs {(xi, r̄i)|i = 1, ..., N}. Variable xi is the proximity and r̄i
is the average observation RSSI at that proximity, up to N training points. The training
points are previously defined by the 14 proximity points D.
The general form of the kernel density estimate can be given as;
f̂(r|p) =1
nσr
n∑t=1
K(r − r(k)
Σr) (4.13)
32
Where K() is a zero mean, non-negative kernel function.∑
r can be thought of as the
bin width of a histogram and acts as a smoothing parameter for the KDE. In the case
of this application model, the KDE is 1-dimensional.
For the path loss model, a Gaussian kernel is used, which can be given as;
K(ri) =1
(2π)d2 |Σ|
12
exp(−(r(k)− r̄i)T (r(k)− r̄i)2Σ
) (4.14)
Where the smoothing parameter∑
= 1, the dimension d = 1, and r̄i is the training
point (RSSI average) at proximity xi.
Given the set of RSSI observations {r(k)|k = 1, ..., N} at anchor point p, the Gaussian
kernel density estimate can now be given as;
f(x(k)|r(k)) ≈N∑i=1
ωi(r(k))K(xi) (4.15)
with the weights (ωi) calculated as;
ωi =K(ri)∑Ni=1K(ri)
(4.16)
The formulation given by equations 4.14, 4.15, and 4.16 determines the posterior distri-
bution using a Gaussian kernel estimate of a distributed set of RSSI points. This is the
defining difference between the NI filter and the Kalman filter.
The remaining portion of the spatial processing/observation step is to determine the
state estimate and observation noise based off of the weighting scheme determined from
the Gaussian KDE.
x̂r(k) =N∑i=1
ωi(r(k))xi (4.17)
Pr(k) =
N∑i=1
ωi(r(k))(Σr + (x̂r(k)− xi)(x̂r(k)− xi)T ) (4.18)
33
Once x̂r(k) and Pr(k) are computed, the posterior state density and process noise den-
sity can be updated.
Update (Correction):
x̂r = P (k|k)(P (k|k − 1)−1x̂(k|k − 1) + P−1r x̂r(k)) (4.19)
P (k|k)−1 = P (k|k − 1)−1 + P−1r (k) (4.20)
Note that the initial conditions of the posterior state and process noise densities are set
to zero.
4.2.5 Particle Filter
The particle filter is a non-linear, Bayesian filter often used in signal processing, and is
particularly useful for noisy observations. Unlike the Gaussian or Kalman filters, it does
not make the linear-Gaussian assumption. Hence, the particle filter is well suited, since
RSSI observations using beacons is a noisy non-linear problem.
The generic particle filter algorithm is executed in five steps:
1. Generate particles
2. Prediction
3. Update particle weights
4. Resample
5. Estimate
The particle filter estimates the current state by utilizing a sequence of measurement
observations from time k0 up to and including the current observation ki. The particle
filter follows the form similar to [43]. The measurement is represented by a state sequence
{xi, i ∈ N} given by:
xi = gi(xi−1|mi−1) (4.21)
34
where gi is a non-linear state function of the previous state xi−1 and {mi−1, i ∈ N} is
an independent, identically distributed process, representing the noise sequence.
The particle filter estimates the current state xi recursively by utilizing all measurement
observations ki up to and including time i. The computational load of each measurement
is given by:
ki = hi(xi|ni) (4.22)
where hi is a non-linear function of the current state yi and the independent measurement
noise sequence ni of the system.
Let {xj0:i, wji }Nsj=1 denote a set of random measurements to characterizes the posterior
probability density function (pdf) p(x0:i|k1:i), where {xj0:i, j = 0, ..., Ns} is the support
points set which has associated weights {wji , j = 1, ..., Ns}, and x0:i = {xn, n = 0, ..., i}
is the set of all states up to time i. The weights are all normalized at 1 and the posterior
density at i is approximately:
p(x0:i|k1:i) ≈Ns∑j=1
wji δ(x0:i − xj0:i) (4.23)
This is a discrete weighted approximation of the posterior probability. Although the
samples are chosen according to their significancy on the global density, we cannot
concentrate the samples adaptively on the high probability regions in order to obtain
variable resolution. The Particle filter takes advantage of Monte Carlo numerical inte-
gration methods to provide a recursive implementation of the Bayes filter. The weights
are chosen using importance sampling [50], and the weighted approximation density is:
p(x) ≈Ns∑i=1
wjδ(x− xj) (4.24)
where
w(xj) ∝π(xj)
q(xj)(4.25)
is the normalized weight of the jth particle.
The principle of the importance sampling is used to approximate the posterior distribu-
tion as [43]:
35
p(xi|k1:i) ≈Ns∑j=1
wji δ(xi − xji ) (4.26)
where the weights are:
wji ∝ wji−1
p(ki|xji )p(xji |x
ji−1)
q(xji |xji−1), ki
(4.27)
Hence, the SIS algorithm consists of recursive propagation of the weights, since each
measurement is received sequentially.
36
Chapter 5
Experiments
This Chapter aims to make clear and validate the achievable proximity estimation ac-
curacy of BLE beacons employing the RSSI technique. It will discuss and present each
set of results by first detailing the experimental setup and procedure. Subsequently, this
is followed by the necessary plots and tables, and finally a discussion on the results and
their implications.
5.1 Performance Evaluation of Beacons for Indoor Prox-
imity Estimation in Smart Buildings
This subsection details the experimental results published in the 2017 IEEE Global Sig-
nal Processing (GlobalSIP) conference, as found in “Performance Evaluation of Beacons
for Indoor Localization in Smart Buildings”[5].
5.1.1 Setup & Procedure
Beacon hardware from three popular manufacturers were used in the experiments: Esti-
mote [51], Kontakt [52], and Glimworm [53]. The measuring and calculating device was
a Google Nexus 5 running a simple Android application that utilizes the AltBeacon An-
droid library [54]. A measuring tape was used to provide accurate distance placements
in the experimental procedure.
37
The experiments were conducted in a single 9m x 11m room (lecture hall). Minimal
obstructions were in the room aside from tables and chairs. It is important to note that
no other BLE beacons aside from the one being tested were in the room at a given time
during experimentation to avoid interference.
The complete experiment consists of five iterations. The first iteration is to obtain the
raw RSSI values and resulting distance calculations without any form of smoothing and/
or filtering. The second iteration attempts to smooth the incoming RSSI values over a
twenty-second interval, eliminating the top and bottom 10% of values. Iterations three
through five measure the incoming RSSI signals and apply a simple Kalman filter of vary-
ing Kalman values (2, 2.5, and 3). Within each iteration, 14 measurements are taken.
The beacon remains still on a table, while the smartphone moves along the table at
the following set of distances: {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.5, 2.0, 2.5, 3.0}
meters. At each distance, the RSSI and corresponding distance is recorded. All mea-
surements are given 20 seconds to calibrate before recording.
5.1.2 Results
The results of the different beacons are shown in Fig. 5.1. In the case of all three
beacons, it can be seen that the accuracy of any given filter method tends to be closest
to the expected results within the first 1 - 1.5m. Distances greater than 1.5m show a
drastic reduction in accuracy to the expected result depicted by the red line. This is
likely a result of a weaker signal due to the increase in distance as well as the effects of
noise and interference in the environment. Among all the three beacons, the Kontakt
beacon Fig. 5.1b, under the aid of a filter, appears to perform the best at distances
greater than 1.5m. Note that the value V is a Kalman filter tuning parameter, also
referred to as the observation noise unique to the environment. This is described in
more detail in the definition of the Kalman filter as presented in Section 4.2.
The standard deviation of the average RSSI with filtering in comparison with the ex-
pected value is shown in Table 5.1. As expected, measurements obtained without any
form of filtering performed poorly. Furthermore, from these results, it can be seen that
smoothing the incoming RSSI values may not necessarily improve the accuracy, as the
standard deviation is higher in the case of Estimote and Kontakt. In addition, it can
be seen that for beacons with similar expected transmit power of -76dBm and -77dBm
38
Distance (m)0 0.5 1 1.5 2 2.5 3
Aver
age
RSS
I (db
m)
-100
-90
-80
-70
-60
-50
-40NoFilterSmoothedV=2V=2.5V=3Expected
(a) Estimote.
Distance (m)0 0.5 1 1.5 2 2.5 3
Aver
age
RSS
I (db
m)
-100
-90
-80
-70
-60
-50
-40NoFilterSmoothedV=2V=2.5V=3Expected
(b) Kontakt.
Distance (m)0 0.5 1 1.5 2 2.5 3
Aver
age
RSS
I (db
m)
-100
-90
-80
-70
-60
-50
-40NoFilterSmoothedV=2V=2.5V=3Expected
(c) Glimworm.
Figure 5.1: Average RSSI value of the beacons under the employment of differentfiltering techniques.
at one meter, for Estimote and Kontakt respectively, the accuracy is optimal under the
same Kalman filter with a Kalman value of 2. For that value, the average error in all
the distances for Estimote and Kontakt is 0.3 and 0.19 meters respectively.
Similarly, the results show that as the transmit power increases, so does the optimal
Kalman value. This can be seen in the case of the Glimworm beacon, where the expected
transmit power at 1m is -66dBm and the corresponding optimal Kalman value is 2.5.
For this value, the average error is 0.46. Also note that non-optimal Kalman values
result in poor filter performance, and subsequently, poor beacon accuracy.
In all experiments, it was clear that each beacon performed better with the addition of
39
Table 5.1: Performance evaluation: Standard deviation in dBm.
NoFilter Smoothed V=2 V=2.5 V=3
Estimote 6.54 7.18 4.22 5.22 4.47
Kontakt 5.79 7.09 3.76 4.25 6.46
Glimworm 5.65 5.46 4.91 3.41 5.17
a Kalman filter. From a purely accuracy based standpoint, the Glimworm beacon was
able to obtain the smallest standard deviation 5.1 with respect to the expected values.
This provides better confidence in the estimation, making it the ideal candidate of the
three for indoor proximity-based services. Note that different conditions, i.e. noise and
physical environment, may produce different results. It is under the conditions of these
experiments that the Glimworm performed adequately, but this may not be the case in
all scenarios.
5.1.3 Concluding statements
This was the first of many works that presented an experimental study of indoor prox-
imity estimation using BLE beacons. In this work, three popular beacons were tested
for their accuracy in a simple indoor environment. Further filtering was implemented
to improve the RSSI observations and thus, the beacon proximity accuracy. According
to the experimental results, filtering is necessary to improve performance. However, the
environment is also important for the selection of the proper filtering method. For the
experiments in this work, a Kalman filter seemed to improve the accuracy while also
proving to be easily implemented in a smartphone.
5.2 Enhanced Indoor Location System with Beacons and
Kalman Filters
This subsection details the experimental results published in the 2018 IEEE GlobalSIP
conference, as found in ”Enhanced Indoor Navigation System with Beacons and Kalman
Filters” [49].
40
Figure 5.2: Beacon location system: General topology.
5.2.1 Setup & Procedure
To examine the location performance of beacons, experiments were conducted. Three
different sized topologies were examined with four beacons and a supporting Android
application was developed. The general topology is a four beacon geo-fence and can be
seen in Fig. 5.2.
In this experiment, four Gimbal Series 21 beacons [55] were used along with a Google
Nexus 5 smartphone, running Android version 6.0.1 and having Bluetooth 4.0. Each
beacon was configured to transmit every second at a power of 0 dBm. An Android
application that utilizes the AltBeacon Android library is utilized to interact with the
BLE beacons and a measuring tape was used to provide accurate distance placements
during the experiments.
The four beacons were placed in three topologies so that they created a square perimeter
with the distance to their adjacent neighbors, being 1m, 2m, and 6m respectively. The
41
Figure 5.3: Topology 1: 1× 1 m.
smartphone was placed at four predefined spots, A, B, C, and D and communicated with
the beacons to find its location. Figure 5.2 depicts the topology used in this experiment.
The test environment was a computer laboratory room of size 7× 8 m at the University
of Guelph Richards building. There were tables, chairs, and computers that filled most
of the room.
5.2.2 Results
The experimental results for position C are shown in Fig. 5.3, Fig. 5.4 and Fig. 5.5
and the mean absolute error (MAE) is shown in Tables 5.2, 5.3, and 5.4.
According to experimental results, in the smallest topology, the accuracy is low, as shown
in Fig. 5.3. Most distance values show to be far outside of the beacon fence boundaries.
This is mainly due to the interference created by the four beacons. An interesting
insight is that although in previous research it has been reported that beacons accuracy
increases when the distance between the beacon and the device is between 1 to three
meters [43], this experiment shows that when more beacons are added in the area, the
accuracy decreases. This is primarily due to the signal interference each beacon incurs
from each other. Extrapolating from these results, it may only be feasible to implement
42
Figure 5.4: Topology 2: 2× 2 m.
Figure 5.5: Topology 3: 6× 6 m.
region identification or resource tracking in very small indoor environments using BLE
beacons.
In order to mitigate the out of bounds positioning error, we increase the distance between
43
Table 5.2: 1 by 1 m Fence - Mean Absolute Error (m)
Position A Position B Position C Position D Overall
No Filter 1.58 0.75 1.41 0.60 1.09
Static Kalman 0.19 0.01 0.27 0.31 0.78
Table 5.3: 2 by 2 m Fence - Mean Absolute Error (m)
Position A Position B Position C Position D Overall
No Filter 1.33 1.56 1.30 2.44 1.66
Static Kalman 0.37 0.22 0.35 0.45 0.35
Table 5.4: 6 by 6 m Fence - Mean Absolute Error (m)
Position A Position B Position C Position D Overall
No Filter 0.66 2.60 2.21 1.88 1.84
Static Kalman 2.09 2.22 0.33 0.18 1.21
the beacons, hence the three topologies. The second topology, shown in Fig. 5.4, has the
lowest average error overall. Filtering brought the distance values close to or within the
beacon fence boundaries. This clearly proves that there is a proportional relationship
between beacon separation and accuracy. Signal interference between beacons decreases
as the distance between the fixed beacon positions increases. This relationship likely has
a limit and should be explored in future research. The final topology shows very good
results for position C, as seen in Fig. 5.5. However, the overall average error is worse
due to obstacles in the environment. In the 6 × 6 m topology, unavoidable obstacles
such as desks and chairs eliminated the line of sight, hence the poor accuracy. In all
experiments, the beacons were placed on the floor. Increasing beacon elevation may
have avoided this issue.
It is clear that Kalman filter improves the system performance, as depicted in the overall
average error in Tables 5.2 - 5.4. The overall error is improved by 28.4%, 78.9%, and
34.2% for the 1m, 2m, and 6m topologies respectively. It is important to notice that
the filter is implemented on the developed Android application, hence the results are
obtained locally on the device, without the need for server communication. This allows
for a light-weight system that is easily adapted and scaled in multiple environments.
44
5.2.3 Concluding Statements
This work explored the feasibility of BLE beacon positioning systems by implementing
a simple four beacon geo-fencing positioning model. The model explores three separate
topologies of various sizes (1 × 1 m, 2 × 2 m, and 6 × 6 m). The indoor positioning
model is developed to be fully wireless and integrated with smartphones. In addition,
a lightweight, and fully mobile, static Kalman filter was developed to improve the posi-
tioning accuracy obtained in the model.
According to experimental results, the size and locality of the geo-fence play a role in
the attainable accuracy. The addition of a static Kalman filter can improve the position
accuracy up to 78.9% in the tested environment. More specifically, the experiments
showed a relationship between signal interference and co-beacon proximity. The closer
the beacons are to each other, the greater the effects of signal interference. Hence, this
system is best implemented in larger indoor environments.
5.3 Energy Consumption and Proximity Accuracy of BLE
Beacons for Internet of Things Applications
This subsection details the experimental results published in the 2018 IEEE Global In-
formation Infrastructure and Networking Symposium (GIIS), as found in “Energy Con-
sumption and Proximity Accuracy of BLE Beacons for Internet of Things Applications”
[56].
5.3.1 Setup & Procedure
The performance of beacons can be affected by the environment. To examine the per-
formance of each beacon and the filtering techniques, two rooms of different sizes were
selected for the accuracy experiments. Room 1 – a lab room of size 5.65 x 10.30 meters
and Room 2 – a meeting room of size 4.5 x 5.0 meters. The first room is a wireless
laboratory while the second was a smaller meeting room, with beacons being the only
BLE transmitting devices in the area during the experiments. These rooms were chosen
for their difference in size, physical layout, and noise characteristics. The RSSI data is
45
Table 5.5: Room 1: Standard deviation in m.
NoFilter KF-ST Gaussian
Estimote 0.84 0.27 0.40
Kontakt 0.60 0.28 0.41
Gimbal 0.76 0.33 0.68
Table 5.6: Room 2: Standard deviation in m.
NoFilter KF-ST Gaussian
Estimote 0.84 0.63 0.63
Kontakt 0.74 0.54 0.67
Gimbal 0.71 0.32 0.61
expected to vary between these environments, thus allowing us to compare and contrast
filter performance and distance estimation accuracy in different environments.
Each beacon is tested in the two rooms, the wireless laboratory (Room 1) and the
meeting room (Room 2) and over multiple set distances, to compare their accuracy
in a simple indoor PBS application. The rooms are selected based on their different
environmental characteristics. Each beacon undergoes three iterations of the experiment;
the first takes 12 RSSI measurements in its raw form, i.e. no additional filters, the
second takes the same 12 measurements under the employment of a static Kalman filter
(KF-ST), and the third makes use of a Gaussian filter. To measure the RSSI values,
the beacon is placed at a fixed point and the Google Nexus 5 is moved to the 12 set
distances; 0.25, 0.50, 0.75, 1.00, 1.25, 1.50, 1.75 2.00, 2.25, 2.50, 2.75, and 3.00 meters.
Similar to the energy consumption experiment, each beacon is set to have the same
transmission power of -12 dBm. Also consider that in this particular experiment, the
transmit interval is set to 300ms. The change in transmission interval is due to the fact
that if the beacons transmit only every 3 seconds, the Kalman and Gaussian filters have
little to no effect on the distance estimation because it cannot progress at a rate that
can accommodate for the dynamic changes in the noise and signal interference of the
environment.
5.3.2 Results
Figures 5.6 and 5.7 depict the distance measurement results of all 3 beacons in the two
test environments and Tables 5.5 and 5.6 detail the standard deviation of each beacon
from its expected distance values for both test environments. The translated distance
46
estimation is calculated as the best curve fit for the receiving device’s hardware. Take
into consideration that each BLE beacon has a calibrated RSSI value that is expected
to be seen at 1m. This value is used for distance calculations, and this parameter is sent
with every packet as per the iBeacon protocol [44].
It can be seen from the graphs and tables that the KF-ST and Gaussian filters result in a
significant improvement in accuracy over the raw data. The signal noise and competing
2.4GHz channels in both testing environments appeared to have a significant effect on
accuracy. The filtered results are much closer to the true value in the first environment
as compared to the second, likely due to interference caused by the closer proximity of
the beacons to a wireless router. Additional causes for the variation in results is likely
due to the difference in environmental layout, where beacon signal interference may
have a greater impact on each other in Room 2 versus Room 1. This may also explain
the underestimation at distances greater than 1.5 meters for the Estimote and Kontakt
beacons respectively. This effect is not seen with regards to the Gimbal beacon and
may be attributed to changes in signal noise in the environment at the time of testing.
Further analysis into the noise levels of interfering signals and their effects on beacon
performance could expand on this research. Without any filtering, the beacons achieved
a standard deviation no better than 0.6m from the expected proximity, as shown in Table
5.5. An improvement of over 50% was obtained in the case of the Estimote beacon, under
the influence of the Gaussian filter, and over 67% improvement in accuracy under the
influence of the KF-ST. Both filters are a viable means of improving accuracy, but the
KF-ST shows consistent superiority over the Gaussian. This is because the Kalman filter
is tuned for the particular environment in which it is used [5], while the Gaussian filter
relies only on the standard deviation, arithmetic mean, and the current measurement to
produce an estimation of the true distance.
Testing of each filter, given the deployment environment, is needed to make an appro-
priate decision on which filter to implement. The difference in environmental layout
and noise may cause one filter to perform better than the other. Even with noise and
contention in the test environment, it is important to note that the experiment was con-
ducted with direct Line Of Sight (LOS) and no physical environmental changes. These
factors will have a large effect on the accuracy of real-world implementations, even with
the assistance of the KF-ST or Gaussian filter.
47
5.3.3 Concluding Statements
It was shown that beacon devices can vary drastically in expected life and that scalable
and improved BLE based proximity detecting systems can be created with a combination
of parameter tuning and mobile software defined filtering algorithms. There are clear
trade-offs and trends that are observed when comparing the cost and features of each
beacon. The simpler devices with lower cost may behave sufficiently in terms of accuracy,
but fall short in terms of energy consumption, and the beacons with more sensors show
obvious increases in power consumption. If the application must be highly scalable
(i.e. large number of nodes), then beacons such as the Gimbal series 10 would optimize
the budget. For applications that require additional sensing and longer lifespan, more
expensive options such as the Estimote beacon may be the optimal choice.
48
(a) Estimote.
(b) Kontakt.
(c) Gimbal.
Figure 5.6: Room 1: Distance estimation.
49
(a) Estimote.
(b) Kontakt.
(c) Gimbal.
Figure 5.7: Room 2: Distance estimation.
50
Chapter 6
Smart City Applications
In this Chapter, three IoT applications based on BLE beacons are discussed in detail.
Each smart city application relies on LBS that utilize BLE beacons.
6.1 Smart Parking
Urban planning and smart cities are popular research fields, and the availability of wire-
less technology has been the major catalyst in smart city development. As populations
grow in numbers and density, urban organization and optimization is more important
than ever, especially in regards to congestion and space optimization. Specifically, vehi-
cle parking is an aspect of urban development that could vastly benefit from the support
of a smart and cost-efficient system.
Current parking infrastructures do not provide people with a central platform, nor do
they provide real-time parking availability. Poor parking infrastructure creates a large
list of problems for the city and its people. Drivers waste a significant amount of time
searching for available parking. This causes a lot of congestion on the road, poor uti-
lization of available parking, and can even contribute to added vehicle emissions [57].
Furthermore, when the spot is found, it may not be in the most convenient location for
the driver. Another problem is that parking space efficiency may be low due to people
not knowing of the availability. This is a result of people balking or passing by poten-
tial parking due to the impression that there is no availability. Finally, although some
parking spots offer a check-in/out system to pay based on how long the spot was used,
51
there is no universal parking system that offers the flexibility, security, and convenience
of an automated, web-based payment scheme such as the one proposed in this chapter.
Beacons can be exploited in order to implement a simple and intuitive parking system.
Beacons are used rather than utilizing alternative technologies such as Wi-Fi for three
key reasons; they are very cheap, they are small in size, and they can be placed on top of
any of the existing infrastructure with ease and without creating any interference. This
makes them a budget conscious and scalable solution that can be implemented easily in
a smart city application such as smart parking.
Here, a smart parking system based on BLE beacons is introduced. The system can
be accessed from the user’s smartphone. All parking lots that have registered with the
system would be able to provide real-time information about their available parking and
pricing. Each spot in a given lot would have a uniquely identifiable beacon. Through a
developed beacon-based Android application, users are able to locate the exact available
parking spaces nearest to them that meet their requirements. Beacons enable the guid-
ance capabilities of the system, by providing their real-time availability. Once parked,
the user is given a URL transmitted by the unique beacon of that spot. This is fa-
cilitated by Google’s Eddystone beacon protocol [45]. The Eddystone protocol is used
because it implements a specific packet type that stores an encoded URL. The closest
beacon that corresponds to their parking spot is detected using the smartphone applica-
tion. The user opens the URL displayed on their screen, delivered by the beacon and is
subsequently brought to a secure server to register their vehicle information and pay for
that spot. Once registered, a clock running at the server side of the application, keeps
track of the registration time and continuously calculates a rate until the user releases
occupancy and vacates from said spot.
The major contributions of this work are listed below:
• Particle filtering is used to improve parking spot identification accuracy. The filter
is calibrated, after a number of experiments, to meet the needs of the introduced
system.
• An Android application is designed for the proposed system. The application
collects the signals only from the beacons that are registered to the system. The
collected values are forwarded to a server for further processing.
52
• A server application is created as the backbone of the service, providing useful
information to the user regarding the parking availability in different areas and
provide payment instruction to the user. The application also maintains useful
analytics regarding the parking duration and can also charge the user based on
the usage of the parking spot. The user is guided to the charging website, au-
tomatically without the need to type in any information regarding the parking
spot.
• Through extensive experimentation in both indoor and outdoor environments, the
efficiency of the proposed system and the advantages of the usage of a particle
filtering is demonstrated.
The idea of a smart parking system has been examined in recent years. An application
growing in popularity is the PayByPhone mobile application [58]. The application works
by prompting the user to enter the unique parking location code advertised by the specific
parking space. The user then enters the amount of time they wish to park there and
is free to add/extend their time on their phone from anywhere, provided they have a
network connection. This application is now available in select countries and cities.
Another smart parking system is proposed in [59]. This work proposes an RFID based
parking system where all users carry an RFID tag that is detected by a central node
at each lot to be able to determine the number of vehicles in the lot. A cloud-based
network allows users to reserve parking spaces and calculates a least cost metric as a
function of distance and free spaces for the user to find optimal parking. In another
study [60], a smart parking system based on resource allocation and reservations is
proposed. Utilizing smartphones for smart parking systems is also explored in [61],
where Android smartphones are programmed to facilitate an automated parking system
that requires little human interaction. [62] also proposes a cloud-based smart parking
system rooted in IoT. The system is comprised of three layers, a WSN layer that utilizes
ZigBee technology, an IoT middleware layer, and a front-end user interface layer. The
ZigBee wireless nodes are placed so that there is a node under every vehicle in the lot,
using ferromagnetic sensors to detect their presence.
The system proposed aims to reduce the time spent finding a spot, relocating the vehicle,
simplifies payment infrastructure, as well as provides people with a flexible payment
service that only charges based on exact time used. Overall, such a system could greatly
53
Web Services
Figure 6.1: Smart Parking System Overview.
optimize the parking use in urban areas, increase competition between parking providers,
as well as provide people with a centralized and simple parking service. The novelty
of this particular system is its automated payment scheme and parking availability
estimation capabilities based on BLE beacon devices, facilitated by Google’s Eddystone
beacon protocol.
6.1.1 Proposed architecture
In this section, an overview of the smart parking system is introduced. This is followed
by a detailed description about each technology utilized, along with its functionality and
potential performance enhancements within the system environment.
54
The smart parking system relies on three main components, utilizing a combination of
different wireless communication technologies.
1. Cloud Server
2. Smartphones
3. BLE Beacons
A system overview is shown in Fig. 6.1.
6.1.1.1 Cloud Server
The backbone of the system is the remote server and the cloud infrastructure. A re-
mote server hosts all of the parking information, providing the application with parking
spot location, availability status, associated costs, payment services, and management
services. The web services provided by the remote server keep track of all parking in-
formation, its users, provide real-time status updates, handle payment, and provide the
registered parking providers with management services for its parking authority. All the
communication between the web services and the user is over the smartphone application
on the user’s smartphone.
55
6.1.1.2 Smartphone
The second critical component of the system relies on the use of a smartphone. There
are three features that the smartphone should be able to provide:
1. Network connectivity
2. User profile creation
3. BLE connectivity
Network connectivity is necessary for the user to go to the parking server that hosts the
payment and parking lot information. This includes the ability to locate nearby parking
spots and receive real-time availability status.
For the user profile, the application supports the ability to save vehicle and payment
information unique to the user. At the same time, the application keeps track of useful
statistics for the user, such as preferable parking spots, and provides a recommendation,
such as available parking spots close to events the user plan to attend.
The third necessary component is BLE connectivity. The majority of smartphones in
today’s market have the required hardware and capabilities to listen to and interact with
BLE devices, specifically BLE beacons. However, in case BLE is not available, the users
are able to enter the unique spot ID of each beacon.
6.1.1.3 BLE beacons
The third critical component of the proposed smart parking system is BLE beacon
devices. A beacon is placed at the side of each parking spot location, in a way that avoids
physical tampering. Each BLE beacon is configured to have a unique identifier, which
must be configured during deployment and provided to the remote server/database.
Using proximity estimation, the smartphone of any given user is able to detect the
beacon that is closest to it, giving users the ability to register their vehicle with the
corresponding parking spot.
A simple flow chart of the system can be seen in Fig. 6.2. It depicts the sequence
of events for a standard user. The user finds a parking region, finds a spot and parks,
56
Figure 6.2: Smart Parking System flowchart.
scans for the closest beacon corresponding to their spot, obtains the URL from the
beacon and registers for the spot via a secure web server. The necessary information
is stored/tracked for parking management. When the user returns to their vehicle, all
they have to do is unregister from the spot and payment is automatically processed.
57
6.1.2 System implementation
6.1.2.1 Server requirements & development
Servers are typically useful for remote access to databases or hosted services which
control access to said databases. The server manages all data relating to the parking
lot with an emphasis on security. This dedicated server must not be restricted by a
Wi-Fi network, meaning that the end user should have access when using mobile data.
Although one could argue a company parking lot should restrict the application to one
network, this may not always be the most convenient for the user.
At the same time, the server must be able to handle all errors gracefully. This includes
any time a user tries to take a spot already in use as well as somebody forgetting to
sign out of the spot. In terms of transaction handling, the server will collect the user’s
info and ensure that the credit card information is valid. If a transaction cannot be
made, the server notifies the user as soon as possible and the spot will be considered
illegally parked until the user is able to pay the fee or the spot is vacated. The server
is not responsible for handling illegally parked vehicles. It will only be able to alert the
appropriate people to the situation.
6.1.2.2 Mobile application
For the smart parking system, the application should be able to support cloud connec-
tivity, user profiling, payment services, and a simple user interface. In the introduced
system, the mobile application is developed in Android OS. Specifically, the application
is developed for a Google Nexus 5 running Android 6.0.1. The application is comprised
of five main activities:
1. Locating nearby parking
2. Profiling user and vehicle information
3. Setting up the payment information
4. Parking registration capabilities
5. Find my car capabilities
58
(a) Smart ParkingMenu Screen.
(b) Smart ParkingUser Info Screen.
(c) Smart Parking- Parking Spot Scan
Screen.
Figure 6.3: Developed mobile application for the system.
Three of the activities are shown in Fig. 6.3. A simple menu bar allows the user
to switch between activities, as seen in Fig. 6.3a. In Fig. 6.3b, it is shown what
a possible user/vehicle information screen would look like. The user can scan for the
beacon, and its associated spot, after hitting the radar floating action button as seen
in Fig. 6.3c. The payment information is another activity, where the user can set up
a payment method. The last activity is “Find my car”, in which the application shows
the user the path between the smartphone location and the last registered parking spot.
When discovering and registering for a specific spot, a simple graphic is displayed to the
user, as shown in Fig. 6.4a, that depicts the parking lot in Fig. 6.4b, and where the
X represents unavailable spots, while the check mark represents the spot registered to
your car, while the rest of the spots are available.
In addition to the application development and services, the smartphone should be
able to interact with beacons and access this information within the smart parking
application. Hence, the mobile application turns on the Bluetooth at the smartphone to
listen to nearby beacons. The application displays and utilizes only the nearest beacons
corresponding to the desired spot, which are registered within the smart parking system
and not any nearby BLE device.
59
(a) Smart Parking Availabil-ity Screen.
(b) Parking lot.
Figure 6.4: Parking lot for experimentation.
(a) Gimbal Series21.
(b) BLE beacon at the parking spot.
Figure 6.5: BLE beacons used for the smart parking system.
6.1.2.3 BLE beacons
Gimbal Series 21 beacons, shown in Fig. 6.5a, are used and deployed at the parking lot,
as shown in Fig. 6.5b. Series 21 operates on 4 AA batteries which make the battery
life superior to common button cell powered beacons. It has dimensions of 86 mm x 77
mm x 25 mm. It is configured to implement Google’s Eddystone protocol [45].
Series 21 was specifically chosen due to its wide availability, extended lifespan over other
beacon models, and simple configuration/management software. Beacon devices are
not able to receive any information from the user smartphone, they only periodically
transmit a unique ID. This drastically reduces the privacy concerns with users, likely
leading to wide user acceptance.
60
6.1.3 Wireless communication
The different components communicate wirelessly, between the smartphone and the BLE
beacons as well as the smartphone and the server.
6.1.3.1 Beacons & Google’s Eddystone
BLE beacons are capable of implementing their own transmission protocol, but, in the
case of the smart parking system, we implemented Google’s Eddystone beacon standard.
Google’s Eddystone protocol was introduced in 2015. It defines 4 frame types: UID,
URL, TLM, EID.
• UID packet transmits the unique identifiers. It can be used to identify a unique
region and parking spot. In reference to Fig. 6.4a, the UID contains data that
identifies the specific lot, section (A or B), and unique spaces (1 through 5).
• URL packet broadcasts a compressed URL that can be used by the receiving client.
• TLM packet allows for the transfer of any telemetry/sensor data.
• The EID frame which is a time-varying packet structure that provides added se-
curity [45].
Due to Eddystone’s pre-defined URL packet configuration, Eddystone is the best choice
for implementing the parking application.
To reduce interference among beacons and increase the lifespan of the proposed smart
parking system, the transmission power and interval should be set relatively low and
verified that the configuration is optimal after experimentation at each deployment en-
vironment.
6.1.3.2 Cloud communication
A remote server is used to simulate and manage many aspects of the system. This
cloud-based implementation is communicated with the client Android application using
a simple Transmission Control Protocol (TCP) connection over either LTE or Wi-Fi.
61
When a user has found a spot and corresponding Bluetooth beacon, they may check
the status of the spot by passing the beacon information back to the server to confirm
the availability and view the cost. Afterward, they may choose to register to that spot
by clicking on the URL packet that is given to them, which will link the user to the
parking space and automatically pass their profile and payment information to a secure
server. All time tracking relating to the total cost is calculated via the server to ensure
an accurate measurement. Once unregistered, the calculated cost is then charged to the
user via credit card.
A screen-shot of the server running is shown in Fig. 6.6. When the server script starts, a
list of available spots is displayed. An event in the system shows the type and an updated
list of spots which separates those available and unavailable. The list of occupied spots
has all the user information for each spot, making it easy for any lot manager to keep
track of users.
6.1.4 Parking availability estimation
When a car approaches an available parking spot, the smartphone starts receiving signals
and resulting RSSI values from the beacons around the parking spot. To improve the
accuracy of these signals, smoothing and particle filtering on the observed RSSI signals
are applied, as defined in Chapter 4.
6.1.4.1 Particle filtering implementation
The particle filter designed for this experiment is only concerned with one dimension,
hence the proximity distance measurements. Thus, the particles generated incorporate
only a single state, which is the distance in meters as a function of RSSI.
The parameters of the experiments are only concerned with measurements between 0
and 4 meters. So, the particles generated are random values between the intervals of 0
and 4. All particles are initialized to have equivalent weights (probabilities) 1/N , where
N is the number of particles. The prediction step is supposed to alter the particle state
by some form of control input. This would be equivalent to user movement towards and
away from a particular BLE beacon. Since the experiments are only concerned with
62
building a path loss model with static proximity measurements, the prediction step is
left out of the algorithm.
The next step is to update the weights corresponding to all of the particles. This is done
by computing how close each particle is to the current measurement value. Particles
which are closer to the measured value receive a larger weighting. The weight update is
computed as a 1-dimensional Gaussian fit that accounts for measurement error.
First the absolute difference each particle is to the current measurement computed and
squared:
xj = |pj − zi|2 (6.1)
where xj is the relative closeness the particle is to the measurement, with j ranging from
1 to N .
Then, a gain factor is computed based on a Gaussian distribution that updates the
effective weight of that particle:
kj = e
−0.5∗xjn2i (6.2)
weightsj = weightsj ∗ kj (6.3)
where kj is the calculated gain factor and it is a function of xj and the measurement
noise ni.
This will give larger weights to those values that are closer to the actual measurement.
Finally, the weights are all normalized about 1. A measurement error of 1.2 m was found
to be optimal for this environment, as determined by iterative trials of the particle filter.
After the weights are normalized, the probability density of the particle set is updated
by the newly calculated weights.
This is followed by resampling. The particle filter suffers from degeneracy phenomenon,
since after a few iterations of the algorithm, all the particles are assigned negligible
weights, except for one [63]. This effect can be reduced by the choice of importance
sampling function and resampling. During resampling, improbable or unfit particles are
discarded in favor of new, more probable particles. The multinomial resampling method,
described by Algorithm 1, is used. Resampling is not conducted in every iteration of the
63
Algorithm 1: Multinomial Resampling
Result: Updated particles and weights arrays1 if Neff < N/2 then2 Get cumulative sum array of particle weights3 Generate array (length of weights) of uniform random numbers between 0 and 14 Sort the cumulative sum by the random number array5 Find the indices of the weights that match6 Update the particles by replacing the unfit ones with new better fitting values7 Update the weights of the new particles to be once again equal
8 else9 Continue
particle filter loop. Only when the particle filter degenerates, i.e. the number of useful
particles falls below a threshold, is the resampling step executed. In order to determine
when to resample, the number of effective particles is calculated as the inverse sum of
squares of all the weights, shown below:
Neff =1∑
weigths2(6.4)
When this value falls below N ∗ β, where beta is a scaling factor between 0 and 1, then
the resampling procedure is executed.
Finally, the filter can estimate the new state by calculating a discrete weighted approx-
imation, i.e. the weighted mean by:
wmean =
∑weights ∗ particles∑
weights(6.5)
It can also give a confidence to the state estimation, calculating the weighted standard
deviation of all the particles:
wstd =
√∑ni=1weightsi ∗ (particlesi − µ)2
(N ′−1)N ′ ∗
∑ni=1weightsi
(6.6)
where µ is the mean of the weights and N ′ is the number of non-zero weights.
A β value of 0.5 was found to be optimal for this experiment, with the 1000 particles.
This number was determined through iterative trials, shown in the following section.
64
Figure 6.6: Server Screen.
6.1.5 Experimental Procedure and Results
In this section, the experimental procedure is presented followed by the description of
each experiment and a discussion on the results.
6.1.5.1 Experimental Procedure
In order to evaluate the performance of the introduced systems, three experiments were
conducted:
• Path loss model experiment, to build the path loss model for each of the envi-
ronments. The path loss experiment conducted before the other two experiments.
• Distance estimation experiment, to calculate the accuracy and the precision
of the BLE beacons in each environment.
• Proximity identification experiment, to examine the performance of the BLE
beacons in terms of proximity estimation when they are used in a smart parking
scenario.
All the experiments took place in two parking environments, one indoor and one outdoor.
Each beacon was placed at a base reference point, which was the central base of the
65
(a) Indoor environment. (b) Outdoor environment.
Figure 6.7: Best curve fitting for RSSI values at distances from 0.2 to 4 meters (a)at the indoor and (b) at the outdoor parking.
desired parking spot. The beacons are first configured to have a transmission power of 0
dBm and a transmission interval of 1 second for the purposes of the experiments. A lower
transmission power or transmission interval is directly proportional to the lifespan of the
device. The 0 dBm transmission power is set in order to achieve high accuracy, while
the transmission interval is decided after experimentation, in order to obtain enough
data points over time to perform the filtering.
6.1.5.2 Path Loss Model
In order to be able to implement a more accurate distance estimation and proximity
identification system, using RSSI techniques with BLE beacons and smartphones, a
path loss model was developed. One the path loss model is obtained, it can be used
to characterize efficiently the behavior of the RSSI at different distances in the specific
environment. Using a path loss model that reflects the characteristics of the environment
can improve the estimation accuracy of the system.
To obtain the path loss model for each environment, one BLE beacon was placed in a
fixed position and RSSI measurements were taken on a user device over a period of 5
minutes. During the experiment, people and other objects could move freely between
the beacon and the smartphone, creating a combination of Line Of Sight (LOS) and
Non-Line-Of-Sight (NLOS) measurements. This approach was followed to build a real-
istic path loss model. The distance between the BLE beacon and the smartphone was
20cm and it was increased after every interval by 20cm, up to and including 4m, for
66
ParticlesDistance (m)
0.5 1 1.5 2Error MSE σ Error MSE σ Error MSE σ Error MSE σ
200 0.304 0.092 0.075 0.531 0.282 0.111 0.363 0.132 0.115 0.685 0.470 0.098400 0.312 0.097 0.099 0.528 0.279 0.088 0.353 0.125 0.112 0.700 0.490 0.091600 0.287 0.082 0.095 0.528 0.278 0.089 0.699 0.489 0.1015 0.707 0.5 0.089800 0.309 0.096 0.088 0.540 0.292 0.090 0.361 0.130 0.106 0.702 0.493 0.0981000 0.278 0.077 0.082 0.516 0.266 0.086 0.337 0.113 0.122 0.684 0.469 0.0901200 0.298 0.089 0.096 0.526 0.277 0.094 0.357 0.128 0.112 0.702 0.493 0.0911400 0.31 0.096 0.1 0.534 0.285 0.097 0.346 0.120 0.098 0.697 0.486 0.0941600 0.287 0.082 0.094 0.520 0.271 0.087 0.344 0.118 0.109 0.702 0.493 0.0991800 0.282 0.08 0.099 0.528 0.279 0.093 0.354 0.125 0.098 0.708 0.501 0.0912000 0.292 0.086 0.0919 0.532 0.283 0.091 0.340 0.115 0.106 0.691 0.478 0.098
ParticlesDistance (m)
2.5 3 3.5 4Error MSE σ Error MSE σ Error MSE σ Error MSE σ
200 1.476 2.180 0.019 0.909 0.828 0.022 0.973 0.947 0.099 0.735 0.540 0.049400 1.478 2.185 0.021 0.943 0.89 0.041 0.994 0.989 0.084 0.614 0.377 0.054600 1.483 2.201 0.014 0.957 0.916 0.032 0.960 0.923 0.087 0.656 0.431 0.067800 1.473 2.170 0.020 0.952 0.907 0.041 0.992 0.985 0.097 0.770 0.593 0.0331000 1.481 2.194 0.016 0.959 0.921 0.035 0.972 0.946 0.098 0.622 0.387 0.0811200 1.481 2.195 0.017 0.952 0.907 0.043 0.988 0.976 0.114 0.803 0.645 0.0321400 1.480 2.191 0.019 0.957 0.916 0.043 0.981 0.963 0.089 0.640 0.410 0.0911600 1.478 2.186 0.015 0.951 0.906 0.041 0.990 0.980 0.095 0.689 0.475 0.0611800 1.482 2.196 0.018 0.960 0.923 0.040 0.980 0.961 0.096 0.797 0.635 0.0302000 1.484 2.204 0.015 0.964 0.929 0.037 0.967 0.935 0.102 0.763 0.582 0.038
Table 6.1: Experimental error based results for different number of particles at theindoor environment.
both environments. The average RSSI along with the standard deviation for each fixed
position is shown in Fig. 6.7.
The average RSSI value can be used to calculate the distance between the beacon and
the device, through the log-normal shadowing model [64].
Next, knowing this relationship, Matlab’s curve fitting function was used, to estimate a
curve for distance versus RSSI and to solve for the n and C variables.
The curve fit line for each environment is shown in Fig. 6.7. As a result, the path loss
factor n is calculated to be n = 2.424 with 95% confidence bound between (2.058, 2.79)
for the indoor environment, shown in Fig. 6.7a, and n = 2.049 with 95% confidence
bound between (1.581, 2.517) for the outdoor parking lot, shown in Fig. 6.7b. This
is expected, as the free space path loss exponent is known to be 2 [65]. Similarly, C
is calculated to be C = −65.24 with 95% confidence bound between (-66.74, -63.74)
67
and C = −88.78 with 95% confidence bound between (-90.7, -86.87), for the indoor and
outdoor environments, respectively.
In rearranging the path loss formula, we can estimate the distance using the equation
(As defined in Chapter 1):
d = 10C−RSSI
10 n (6.7)
Substituting values we get:
RSSIindoor = −10× 2.424× log10(d)− 65.24 (6.8)
d = 1065.24+RSSIindoor
−24.24 (6.9)
for the indoor environment, while:
RSSIoutdoor = −10× 2.049× log10(d)− 88.78 (6.10)
d = 1088.78+RSSIoutdoor
−20.49 (6.11)
for the outdoor environment.
The BLE beacon packet contains the suggested C parameter, equals to −62, which is the
factory-calibrated, read-only constant and indicates the expected RSSI at a distance of 1
meter from the beacon. With respect to the outdoor environment, this value is far from
the expected. This may be attributed to the more dynamic outdoor environment com-
pared to indoors. In any case, it is clear that calibration and path loss experimentation
is necessary before the system is deployed.
6.1.5.3 Distance Estimation
Once the path loss model was developed, the distance estimation experiment took place.
In this experiment, the smartphone is placed at 8 locations from the beacon; 0.5 cm, 1
m, 1.5 m, 2 m, 2.5 cm, 3 m, 3.5 m, and 4 m. In each location, the smartphone collected
68
(a) Indoor distance estimation. (b) Outdoor distance estimation.
Figure 6.8: Distance estimation at the two environments.
data for approximately 2 minutes, while the experiment was repeated three times in
each environment.
The main limitation of the particle filter relates to its computational complexity. To
find the optimal number of particles, we varied the number from 200 up to 2000, using
an increment of 200 particles. We did not increase the number of particles more, due
to smartphone energy and processing constraints. The error in meters, the MSE, and
the standard deviation are shown in Table 6.1. The optimum performance for the first
2 meters is obtained with 1000 particles, while after the 2 meters the error is too high.
For the outdoor environment, the results are similar, hence, 1000 particles were selected
as the optimal number.
The distance estimation results are shown in Fig. 6.8, with the indoor results in Fig.
6.8a and the outdoor in Fig. 6.8b. The solid line depicts the true distance while the
averaged and particle filtered measurements are shown as single points and stars with
error bars respectively.
It is clear that the distance estimation is more accurate within 2 meters of the beacon
than the distance estimations after 2 meters. Also, note that the error bars of the particle
filtered results are almost unnoticeable. This is due to the fact that the particle filter
employs a weighted standard deviation calculation rather than the traditional standard
deviation, so, extreme outliers have little influence on the final value and its confidence.
Overall, the particle filter only shows marginal improvement over the standard averaged
data. This is because it is reliant on relatively accurate measurements to be able to
69
converge to the true value. If most of the measurements at a particular distance are
wrong, the particle filter fails at estimating the true distance. However, it is better than
the use of raw data.
The cumulative error for each environment is shown in Fig. 6.9. For the indoor
environment, the error is less than 2.5 meters, for 95% of the time, when raw data are
used, while the usage of particle filter reduces the error to 1.5 meters, for 95% of the
time, as shown in Fig. 6.9a. Similarly, for the outdoor environment, the error with the
raw data is 2.8 meters for 95% of the time, while it drops to 2 meters, for 95% of the
time, when particle filter is used, shown in Fig. 6.9b. According to the experimental
results, the use of a particle filter can reduce the estimation error by almost 1 meter in
both environments.
The important insight to be gained from this experiment is that there may be reason-
able accuracy in locating a vehicle/spot via BLE beacon, with increasing accuracy and
confidence as one approaches the desired location. This is the base of the guidance
capabilities proposed in this system. This experiment also sets the conditions for the
following third experiment.
6.1.5.4 Proximity Identification
This experiment includes the use of three beacons and three associated parking spaces,
as shown in Fig. 6.10. Each parking space is given a unique beacon, named A, B,
and C. The smartphone collected RSSI values for approximately five minutes, always in
straight live with beacon B, but at different distances. The experiment was repeated
three times both indoor and outdoor under different conditions, such as the number of
cars/people around as well as weather conditions, for the outdoor experiment. The goal
of this experiment is to determine the maximum distance between the beacons as well
as the maximum distance between the beacon and the smartphone, in order for the user
to accurately register their vehicle to the desired parking space. This is a critical aspect
of the system functionality, since the driver should be able to register the car to the
correct parking spot.
Before testing this in an outdoor parking lot, the introduced system is first tested in-
doors in order to take advantage of the consistent test environment as well as verify
70
(a) CDF for indoor distance estimation.
(b) CDF for outdoor distance estimation.
Figure 6.9: Cumulative probability error for distance estimation.
71
(a) Indoor experiment layout.
(b) Parking lot experiment.
Figure 6.10: Proximity identification experiment layout.
experimental feasibility. The layout of the indoor experiment is shown in Fig. 6.10a.
All RSSI estimates from all the three beacons are recorded over a five minute period.
From this data, the average RSSI and particle filtered RSSI values are calculated. The
greater the RSSI, the closer the smartphone is to the beacon. Based on Pythagorean
theorem, the true distance from the smartphone to B will always be closer than to bea-
cons A and C. Hence, the desired result is to have a greater RSSI reading from beacon
B, and an equivalent but lower RSSI reading from beacons A and C. In this way, beacon
B and its associated spot is chosen, meaning the identification prediction is correct.
Following the results of the second experiment, we know that the beacon distance esti-
mation is only consistently accurate within the first 2 meters. As such, we expect correct
predictions within this distance. First, the smartphone is placed at five positions from
72
X(m) Y(m)Raw Data Particle Filter
A B C Accuracy (%) A B C Accuracy (%)
0.5 0 109 31 77.8 0 111 29 79.21 1 72 20 77.4 0 83 10 89.2
1.5 44 97 0 68.7 9 132 0 93.62 26 18 40 21.4 38 0 46 0
1
2.5 20 1 115 0.7 0 0 136 0
0.5 0 115 2 98.2 0 107 10 91.41 1 53 35 59.5 0 76 13 85.3
1.5 0 66 1 98.5 0 64 3 95.52 26 41 8 54.6 0 75 0 100
1.5
2.5 65 3 2 42.8 70 0 0 0
0.5 0 116 0 100 0 116 0 1001 0 79 5 94 0 84 0 100
1.5 0 48 70 40.6 0 118 0 1002 9 91 3 88.3 0 103 0 100
2
2.5 1 1 112 0.8 0 0 114 0
0.5 0 121 1 99.1 0 122 0 1001 41 30 24 31.5 1 94 0 98.9
1.5 2 123 0 98.4 0 125 0 1002 1 120 2 97.5 0 123 0 100
2.5
2.5 28 0 93 0 0 0 121 0
0.5 0 120 0 100 0 120 0 1001 28 77 5 70 28 82 0 74.5
1.5 0 88 35 71.5 0 123 0 1002 17 57 2 75 5 71 0 93.4
3
2.5 0 19 101 15.8 0 0 120 0
Table 6.2: Smart Parking: Indoor Prediction Results.
X(m) Y(m)Raw Data Particle Filter
A B C Accuracy (%) A B C Accuracy (%)
0.5 0 128 0 100 0 128 0 1001 0 126 0 100 0 126 0 100
1.5 2 146 17 88.4 0 165 0 1002 2 79 12 84.9 0 93 0 100
2.7
2.5 31 129 1 80.1 18 141 2 87.5
Table 6.3: Smart Parking: Outdoor Prediction Results.
BLE beacon B. These distances are described by Y , where Y = {0.5 m, 1.0 m, 1.5 m,
2.0 m, 2.5 m}. The distance among the three beacons is described by X, where X =
{1.0 m, 1.5 m, 2.0 m, 2.5 m, 3.0 m}. This is done in order to verify how robust and
consistent the system performs.
A summarized table of the prediction results, for the indoor experiment, is shown in
73
Table 6.2. In general, are the distance between the beacons increases, the accuracy of
the system increases as well. The further away nearby beacons are, the less interference
and fewer mistakes they can create to the proposed system. Comparing the raw data
and the particle filter data, the particle filter improves system performance. There are
only two instances, when the distance between the beacons is 1.5 meters, that the raw
data provide higher accuracy than the filtered data, however, the accuracy of the filtered
data is also high. Another interesting insight is that when the accuracy of the raw data
is really poor, the particle filter has no accuracy at all. This is expected based on the
way particle filters work.
Within the same distance between the beacons, as the smartphone is moving further
away from the beacon up to 2 meters, the accuracy is great. After the 2 meters, the
performance is bad, as it was expected from the previous experiment. When the smart-
phone is too close to the beacon, within 0.5 meters or 1.5 meters away, which is an
acceptable distance for the proposed system, the performance of the system is excellent.
Overall, when the distance between the beacons in greater or equal to 2 meters and the
particle filter is used, the system has almost perfect accuracy no matter how close the
user is from the beacon.
The results for the outdoor experiment are shown in Table 6.3. Unlike the indoor
experiments, there is only one value for beacon separation, X = 2.7 m, since the parking
spaces have a pre-defined width, and the beacons are placed in the middle of each parking
spot. Since the distance between the nearby beacons is high, both approaches have high
accuracy. In comparison, particle filtered data provide better accuracy for the parking
system. For up to two meters distance between the smartphone and the beacon, the
accuracy of the system is perfect.
It is interesting to mention that, in both environments, when the accuracy of the system
is perfect, mean that the system is accurate even after the first few seconds, approx-
imately 10 seconds, the user stays in the parking spot. That implies, that it is not
necessary for the user to stay for five minutes to get the correct estimation. The five
minutes bound was selected only for experimentation purposes. However, for the particle
filter to work, a few samples are necessary.
74
6.1.6 Discussion
The first experiment is a necessary component of designing the smart parking system.
Every environment is different and the measured RSSI of the beacons will change dras-
tically between them, hence, a path loss model should be designed before deploying the
system in a given environment. This helps in the appropriate beacon configuration in
order to obtain optimal distance estimation. As more path loss models are built, we can
learn more about system performance and make better tweaks to model parameters,
especially the particle filter.
In the distance measurement experiments, it was shown that the most accurate mea-
surements are within the first 2 meters, with increasing accuracy the closer the user gets
to them.
A key aspect of the system is being able to push the correct unique URL, via Eddystone
protocol, to the user. The URL brings the user to a secure web server to pay/register
for their unique parking spot. For this to be successful, the user must remain in their
parking spot and should be within 2 meters of the beacon that is associated with their
spot, as shown in the third experiment.
Finally, the placement of the beacon is critical. It should be placed at the back-center of
the spot, but it may also be suitable to place the beacon in the middle of the spot, under
the ground. All experiments proved that this was successful in this particular test envi-
ronment. Assuming a good path loss model is developed for alternative environments,
similar results should be expected.
This system was able to exploit BLE beacon technology in order to optimize urban
parking infrastructure. This was done by building an RSSI path loss model for the
desired parking region, and then implementing the RSSI-based distance estimation on
the smartphone in order to provide guidance to the user. Accuracy improvements were
made with the implementation of a particle filter. The application is also integrated with
cloud-based management services. According to the experimental results, the system
has sufficient accuracy in terms of parking estimation availability.
75
6.2 Energy-Wise Bike-Share Asset Tracking
There is an increased focus on environmental sustainability in all aspects of life, es-
pecially with respect to transportation and technology as it pertains to carbon/ fuel
emissions and overall energy consumption. A push towards better public transportation
infrastructure limits the number of individual vehicles on the road but still often requires
the consumption of fossil fuels, whether it be a train, subway car, or bus. New technolog-
ical advancements have begun to bring electric cars to the average consumer, which cuts
down drastically on carbon emissions. However, the batteries that are used to power
any electric vehicle are still harmful to the environment. The research in [66] reports
that in 2018, 28.2% of greenhouse gas (GHG) emissions were from the electricity sector,
and that electric vehicles in 2017 cause a minimum of 67.12 gCO2eq/km up to 149.21
gCO2eq/km of GHG emissions. A 2018 study [67], finds that electric vehicles have a
mean life cycle GHG emission of 316 gCO2eq/km. Even with vast improvements, this
has a significant negative impact on the environment, and falls short of current climate
policies, such as ClimPol [68].
Besides walking, biking remains to be one of the best transportation alternatives that
impose extremely little environmental impact. Bicycles may not be appropriate for par-
ticularly long travel distances but are extremely advantageous in urban environments.
This advantage has been realized in the private sector, where public bike-sharing vendors
capitalize on providing easily accessible bike transportation to environmentally consci-
entious people who live in dense populations.
These vendors, such as Bike Share Toronto [69], are required to keep track of and
maintain their bicycle assets in order to remain operational. Hence, this work proposes
an energy-wise tracking system that utilizes the combination of Bluetooth Low Energy
(BLE) beacon and Long Range (LoRa) technologies to provide real-time asset tracking
and inventory management for bike-sharing providers.
BLE beacons are chosen over other alternatives such as RFID tags because BLE trans-
missions can be detected within a few meters proximity, up to approximately 50 meters
depending on the line of sight (LOS). Beacons are also very cheap and can be scaled
76
easily. LoRa is a low power wireless technology designed for longer range communica-
tion. It achieves ranges up to 10km by transmitting over the unlicensed 915MHz band
(or 816MHz if in Europe) [70].
The proposed tracking system requires that each bicycle asset is assigned a BLE bea-
con device with a UUID, which is then capable of transmitting this information to a
base station at any designated bike-sharing drop-off/pick-up location. The base station
can identify nearby assets and estimate their respective proximity’s using RSSI. The
base stations implement LoRa wireless technology and are capable of transmitting asset
information between them as well as to a final server for off-site management.
Most BLE beacon devices operate using batteries, often coin cell. So, in pursuance of
preserving the minimal environmental impact of bicycle transportation, a battery-less
model is proposed. In order to realize a battery-less implementation, a small portion of
the power produced from the bicycle user is extracted from the moving bicycle wheel
using a simple dynamo-type dc motor. There is sufficient research proving that these
devices can power many low-power devices, such as LED lights for added rider safety.
The research in [71] reports that they provide a consistent power level of 3W at 6V,
which is far greater than what BLE beacons require for operation.
6.2.1 Related Research
Bike-sharing is growing all over the world, and so, research that promotes further im-
provement grows along with it. There is a number of works with regards to bike-share
models optimization, energy consumption, and smart management. In [72], the authors
present a system that better identifies which electric bicycles have enough charge to ac-
commodate the user’s route by estimating energy expenditure along the desired course.
They achieve this by utilizing a mobile platform backed by cloud services. The research
presented in [73] proposes a two-level clustering algorithm to forecast the number of rents
or returns to each station cluster in order to re-balance the distribution of bicycle assets
at each station. The prediction model showed superiority over other common prediction
models like K-Nearest Neighbors (KNN), validating the model with data from the bike-
sharing system in New York City. The works of [74] are similarly motivated, in that
they develop a model to better allocate bike fleets and maximize the time between re-
allocations. They do this by presenting two mathematical programming models. In [75],
77
a clustering algorithm based on common flow is proposed in order to better allocate bike
resources at particular stations based on usage/route flow. Preliminary analysis shows
some level of effectiveness in the model. Finally, a proposal for a microcontroller and
BLE-based system for detecting bike theft and providing localization capabilities for a
public bike-share system can be found in [76]. Here, a hub-type dynamo generator is
proposed for energy harvesting. However, there are no tests indicating the location or
power extraction feasibility, demonstrating that there is a need for further development.
While a lot of research has been conducted in predictive models and smart management
systems, little research seems to present itself with regards to a simple means of bicycle
asset tracking, especially with an emphasis on energy conservation and sustainability.
With regards to this gap, this work proposes a sustainable and battery-less localization
model for bike-sharing asset tracking in urban environments. This is a continuation and
expansion on previous work of ours [56]. This work proposes a specific application based
on similar research and incorporates new wireless technologies, fusing BLE and LoRa
wireless networking.
6.2.2 System Architecture
This section describes the communication technologies and hardware used in the pro-
posed implementation of the bike-share tracking system. Specifically, the unique BLE
beacons assigned to each bicycle, the power generation module and the LoRa transceiver
base stations are described in terms of their function, power requirements, wireless tech-
nology standards, and cost.
6.2.2.1 System Framework
The overall system framework is shown in Fig. 6.11. Bicycle users may travel as they
please, while a portion of their pedaling power is utilized to power the BLE beacons
which broadcast their UUIDs. When approaching any LoRa base station, the UUID of
the bicycle will be read and recorded by the base station in order to keep a real-time
inventory of the system asset’s location. Using RSSI techniques the base station has an
approximate estimation of the proximity of the bike to the base station. Lastly, each
base station may participate in node hopping, transmitting information between each
78
Figure 6.11: System Framework
other using LoRa, in order to pass critical asset information to the network for inventory
and asset localization purposes.
6.2.2.2 Communication Infrastructure
BLE beacons are assigned to each unique bicycle asset, using the standard iBeacon
protocol to broadcast their UUIDs to nearby base station receivers. In order to maintain
inventory across base stations of a bike-share tracking system over a large region, an
alternative technology also needs to be employed on top of the BLE positioning. Hence,
LoRa technology.
LoRa (Long Range) is an unrestricted wireless technology that operates at various fre-
quencies depending on the region: 868 MHz for Europe and 915 MHz for North America
[70]. Regardless of region, the main advantage of using sub-gigahertz frequencies is the
long transmission range. LoRa is capable of reaching distances of approximately 10
km [26]. This characteristic makes LoRa-type base stations ideal receivers for the pro-
posed bike-share tracking system so that multiple stations in an urban region are able to
communicate with each other. The disadvantage of LoRa is that determining the true
79
(a) Dragino Shield v1.3 [79]. (b) Gimbal Series 10 Beacon [55].
Figure 6.12: Proximity identification experiment layout.
location using RSSI techniques produces poor results when compared to alternatives like
Bluetooth, hence the use of BLE beacons.
6.2.2.3 Hardware
The following experiments utilize the Gimbal series 10 beacon, shown in Fig. 6.12b,
chosen for its very low cost, $5 USD, and very small form factor (40mm x 28mm x
5.5mm) [55].
LoRa transceivers are less common than BLE beacons and require more power, however,
the long transmission distance makes them ideal for communication between bike storage
stations in an urban region. It is also critical for the base station to be compatible with
BLE reception in order to track which bicycle assets are stored at any given time. In
this case, a Bluno Uno Bluetooth 4.0 microcontroller [77] and Dragino LoRa Shield [78]
are chosen, shown in Fig. 6.12a. Both modules have a small form factor and integrate
with each other.
6.2.2.4 Power Generation
The energy-wise characteristic of the proposed tracking system is that the beacons are
battery-less and rely solely on green energy generated from the bicycle in use. There are
a number of options that convert the rotational energy of a bicycle’s tire into electrical
80
Table 6.4: Bicycle Power Generator Comparison
Alternator Dynamo-Bottle Dynamo-Hub
Advantages Very high output power
Simple installationAttach to any BicycleLow cost>300g [80]
No slippageBetter power outputthan bottle type
DisadvantagesLarge/Heavy>4kg [81]Large resistance/load
Tire wearSlip if wet
Heavier and more expensivethan bottle-type>800g [82]Non-universal installation
energy. The two main categories are dynamo type motors, which use commutator plates,
and alternators. [71] does an in-depth analysis of the power generation capabilities of
such devices. The authors report a power generation of up to 300W with the use of
an alternator, assuming a high level of physical fitness. However, alternators are large,
heavy, and vastly increase the load on the bicycle operator. The dynamo type devices
still generate approximately 3W at 6V, have little to no noticeable impact on user effort,
and are much more compact and lighter in weight. There are two sub-categories of such
devices. There are bottle-type dynamo generators that use the friction of the tire to
spin the armature of the DC motor, and hub-based motors which have the DC motor
built into the hub of the wheel, thus generating energy directly from the rotation of the
wheel. The advantages and disadvantages of all designs are further detailed in Table
6.4.
6.2.3 Experimental Procedure & Methodology
In order to validate the functionality and support feasibility of the proposed system,
preliminary power and proximity accuracy measurements had to be taken. Here, the
power requirements of BLE beacons and LoRa transceivers are measured. Furthermore,
the estimated proximity using RSSI techniques and BLE beacons are conducted.
6.2.3.1 Measuring Power Consumption
In order to verify that the dynamo motors can consistently power the BLE beacons, a
Monsoon power monitor [48] was used to measure the power consumption of four BLE
beacon devices available on today’s market. Specifically, a Gimbal series 10 [55], Kontakt
[52], Estimote [51], and BlueCat beacon [83]. Each was configured with a transmission
81
Figure 6.13: Dragino Shield and Arduino Node
power of -12 dBm and a transmission interval of 3 seconds. -12 dBm was chosen due to
the fact that the beacons only need to transmit short distances (i.e. only need to be seen
when close to a base station). The power consumption was monitored for 3 minutes,
and the average value recorded.
The Dragino LoRa shield acts as a transmitter and receiver and has to transmit over
greater distances. The Dragino shield was set up along with the Arduino (see Fig. 6.13)
and set to have a transmission power of 20 dBm and a transmission interval of every 3
seconds, similar to the BLE beacons. It should be noted that the LoRa base stations
are assumed to have a wired power source and do not require any batteries to operate.
6.2.4 Proximity Estimation
First, a path-loss model was created that models the environment in which the beacons
are deployed. The path-loss model delineates the non-linear and non-parametric nature
of RSSI signals in a dynamic environment. The path-loss model and subsequent distance
estimations were carried out in an outdoor parking lot at the University of Guelph in
order to simulate an outdoor environment in which a bicycle station may be located. In
this experiment, the proposed Gimbal beacons are used. The beacon retains the same
configurations set for the power experiments. All RSSI data was collected using a Google
Nexus 5 smartphone running Android 6.0.1.
82
Figure 6.14: BLE Beacon Power Consumption.
The path-loss model is built by constructing a set of RSSI measurements at 20 distinct
distances d = {0.2, 0.4, 0.6, 0.8, 1.0, ..., 2.0m}.
6.2.5 Preliminary Results
6.2.5.1 Power Consumption Results
Fig. 6.14 depicts the power consumption of four popular beacon devices. All beacons
have an average power consumption under 0.4mW, which is 7500 times less than what the
bicycle dynamo motors are capable of producing. This leaves ample room for mechanical
and electrical energy losses within the system and allows the beacons to operate under
low rider effort. The Gimbal beacon has the highest power consumption of 0.38mW,
which is likely a result of simple circuit design and leakage that is associated with the
very low cost. Next was the BlueCat at 0.31mW, the Estimote at 0.21mW, and the
Kontakt beacon at 0.07mW. All beacon devices vary in circuit design, power source,
and additional sensing capabilities. Hence the variation in power consumption.
The Dragino LoRa shield/Arduino combination required significantly more power than
the BLE beacons at 92.37mW. It should also be noted that this still falls under the
threshold for available power produced by the dynamo generator.
83
Figure 6.15: Bike-Share Path-loss Model
6.2.5.2 Proximity Estimation Results
Fig. 6.15 depicts the RSSI values at each distance and the best curve fit line that models
the environment. The best curve fit line applies the function defined by equation 1 to
the RSSI data set collected for that particular environment. It finds the optimal n
and C values to best fit this function to the data-set. Here, the propagation path-
loss factor n was found to be 2.049, and the system noise C to be -88.78 dBm. With
this information the distance estimation experiments could be conducted, the results of
which are depicted in Fig. 6.16. The solid line depicts the expected distance, while
each proximity measurement and its deviation are shown with circles and error bars.
The best accuracy is achieved when the BLE transmitter is within a 2m proximity of
the receiving node. In this particular experiment, the error consistently lies within 2m
at any point for all measurements in the data-set, which falls directly in line with the
results found in similar literature, like [56].
6.2.6 Discussion & Analysis
6.2.6.1 Power Consumption Implications
The power consumption results indicate that BLE beacons are perfectly suited for an
energy-wise application that does not need to rely on battery power and can instead be
powered by alternative methods. In particular, bicycle power generation is a feasible
84
Figure 6.16: Bike-Share Proximity Estimations
solution. It should also be noted that due to the extremely low power requirements of
BLE beacons and the available power generation of simple dynamo generators, other
devices can be powered simultaneously, such as LED lights for rider safety.
The Gimbal series 10 beacon, although the highest power consumer, is likely the best
option of the four beacons due to its low cost, making it cost effective for large scale
applications.
It was also confirmed that the Dragino LoRa transceivers require less than the available
power generation of the dynamo motor. However, the Dragino shields are larger in size
and thus, harder to conceal. Furthermore, they are more expensive than Gimbal BLE
beacons. In addition, more complex weather-proofing measures would also need to be
implemented in order to ensure long term operation of the device in varying conditions.
Lastly, LoRa transceivers are known to produce proximity estimation with greater error
than BLE at close proximities [3].
Alternative energy harvesting techniques, such as solar and wireless power transfer are
potential extensions for future work. Solar power is a proven and viable power source
for BLE beacon technology, as used in the Cypress solar beacon and studied in [84] and
[85].
85
6.2.6.2 Proximity Estimation Accuracy
The proximity accuracy of the BLE beacons was consistently estimated to be within 2
meters of the true value. This is sufficient for the application context of this system,
where the base stations only need an approximate location of each unique bicycle asset in
order to maintain a robust real-time inventory. Further steps could be taken to improve
the proximity accuracy, such as implementing a particle filter to better eliminate outliers
produce better estimation performance.
Additional data filtering techniques, such as a particle filter for improved proximity
accuracy will also be considered for future work. Overall, the system proved to be feasible
and operates with little environmental impact, even at large scale implementations.
6.3 Environmental Audio Collection
There is a lot of potential for various Smart City applications, particularly in urban
regions. One problem that many urban regions face is acoustic noise pollution. Many
wireless devices do not have the necessary battery life to support long term observations
with no maintenance. Hence, the potential use of beacons. Aside from pure localization
and tracking-based applications, additional sensors integrated into each beacon can be
exploited for unique means. In particular, the microphone is a very useful sensor that
is also included in the TI SensorTag [86].
6.3.1 Application Overview
The proposed application utilizes the SensorTag microphone in order to collect audio
data for processing. Specifically, the audio level and dominant frequency is calculated
and transmitted to a receiver, which then forwards this data, along with positioning
information to a central cloud server. This data can be utilized to create a heat-map of
a regions audio levels, with minor classification of sound, without intruding on peoples
privacy. Such data can be utilized for home realty, to get an understanding of a neigh-
borhood’s average noise levels, for noise pollution isolation sought out by municipalities,
and much more.
86
Figure 6.17: Smart Cities: Audio Collection Framework.
The overall system framework can be seen in Fig. 6.17. Each beacon is assigned a loca-
tion (latitude and longitude), it transmits this location data along with the audio level
and dominant frequency. The audio level is calculated by calibrating the microphone
with a decibel meter. A number of points are taken at various audio levels and a calibra-
tion curve is made that translates the analog voltage magnitude into a decibel reading.
The dominant frequency is calculated by computing the fast Fourier transform (FFT).
The FFT computes the discrete Fourier transform (DFT) of a sequence. This converts
the signal in the time domain to the frequency domain. The DFT is defined as per
Eqn. 6.12. In order to get sufficient frequency granularity, a 2048 point FFT is taken.
Then the maximum magnitude across all frequency bins is found and its corresponding
frequency is returned.
Xk =
N−1∑n=0
xne−2πkn/N (6.12)
Where xn is a complex number in the time domain and N is the sample/FFT size.
Once the wireless BLE receiver records a packet with all the necessary information, it
is pushed to the cloud server and stored in a database. From here, a mobile application
designed for Android devices is able to connect with the server and create a useful user
interface (UI) with the data. The main screen of the developed application can be seen
in Fig. 6.18.
87
6.3.2 Application User Interface
The application screen provides many useful features. First, the user is able to see a heat
map of the audio levels local to their current location. Circles are drawn at each recorded
location. The circles increase in opacity the higher the decibel level. The application
provides a simple classification of the audio with respect to dominant frequency. If
the recorded dominant frequency is below the threshold, the circle is red, above the
threshold it is blue. This distinguishes to what the human ear may perceive as low or
high-frequency sounds. Furthermore, the user is able to move a slider to choose which
audio levels are presented to them, giving the user control over what audio levels they
are interested in seeing on the map. Same goes for audio classification, high, low, or all
frequencies. Lastly, the user is able to navigate the map by pinching to zoom, scrolling
with their fingers to pan, or enter in a specific location into the latitude and longitude
fields provided.
6.3.3 Immediate Stakeholders and Potential Applications
Aside from noise pollution isolation, there are a number of stakeholders that could
benefit from such a system. Landlords and building managers can utilize this system
on a small scale in order to isolate potential noise problems on their property. If the
level of privacy is reduced and audio information is sent to the server for further signal
processing, classification models can be implemented. This opens up the breadth of
possible applications. For example, emergency services may be able to isolate car crashes
and shootings as they happen, improving the response time of emergency workers.
6.3.4 Concluding Statements and Future Directions
Audio sensing applications are a new field of study that has benefited vastly from low
power sensing devices and wireless technologies. Beacons are just one of the possible
devices that can help realize such audio collection systems. As security mechanisms
improve and user acceptance increases, the number of useful applications may increase.
Advanced classification models can be applied to audio data to provide more useful
information. This information has the potential to help emergency services in most
88
environments. Future work should look at classification improvements, power consump-
tion improvements, and perhaps most importantly, privacy and security enhancements.
Without the assurance of high security, public perception may prevent such applications
from being implemented.
89
Figure 6.18: Smart Cities: Audio Collection App UI.
90
Chapter 7
Conclusions
This thesis introduced BLE beacon proximity and location-based services using RSSI.
Eleven beacons were characterized. The power consumption and localization accuracy
were investigated. Multiple published studies were presented in order to validate the fea-
sibility and effectiveness of using beacons for location-based IoT applications. Three spe-
cific applications were also introduced; Smart Parking, Energy-Wise Bike-Share Track-
ing, and Localized Environmental Audio Collection. The proposed systems described in
these applications are also published in various IEEE proceedings.
BLE beacons are a cheap and scalable means of providing indoor positioning, resource/as-
set tracking, and location discovery. It was shown that beacon devices can vary drasti-
cally in expected life and that scalable and improved BLE based positioning systems can
be created with a combination of parameter tuning and mobile software defined filtering
algorithms.
Under the employment of additional filters, such as the SMA, Gaussian, Kalman, parti-
cle, and NI filters presented in this work, it appears to be a feasible and effective solution
in many indoor environments. Multiple experiments were conducted in terms of energy
efficiency and proximity accuracy for multiple popular BLE beacon devices.
BLE beacons are proving to be very versatile devices, with a growing number of available
devices on the market. They are rooted in localization and proximity-based application
services. This work in this thesis consistently demonstrates localization and proximity
accuracy within 2 meters, beating GPS. Beacons also have the advantage of being utilized
indoors and can be highly scalable due to their small size and low cost. Their low power
91
consumption, sub-1mW, also means that a deployed network lifetime can last months,
even years.
The future of BLE beacons is promising. The addition of various sensors means that the
possible applications are virtually limitless. However, more work should be conducted
regarding RSSI accuracy enhancements in especially noisy environments. Additionally,
security and privacy concerns should be addressed and clearly communicated to the
public in order to promote accelerated user acceptance.
7.1 Future Work
Future work will involve the implementation of machine learning estimation techniques,
such as K-NN, and comparing the results to those presented in this thesis. The effects of
beacon interference should also be investigated further. Future research should look at
changing the altitude/elevation of beacon placement and observing the effects it has on
the accuracy in various positioning systems. A variety of other beacon devices should
also be tested in an attempt to develop a more complete model and characterization
of BLE beacon devices available on the market. Lastly, future work could include ex-
tending the capabilities of the proximity and location systems presented to implement
orientation estimation using sensor fusion, exploiting the many sensors included in to-
day’s smartphones.
92
Bibliography
[1] F. Zafari, I. Papapanagiotou, and K. Christidis. Microlocation for internet-of-
things-equipped smart buildings. IEEE Internet of Things Journal, 3(1):96–112,
Feb. 2016. ISSN 2327-4662. doi: 10.1109/JIOT.2015.2442956.
[2] P. Spachos, I. Papapanagiotou, and K. N. Plataniotis. Microlocation for smart
buildings in the era of the internet of things: A survey of technologies, techniques,
and approaches. IEEE Signal Processing Magazine, 35(5):140–152, Sept. 2018. ISSN
1053-5888. doi: 10.1109/MSP.2018.2846804.
[3] S. Sadowski and P. Spachos. Rssi-based indoor localization with the internet of
things. IEEE Access, 6:30149–30161, 2018. ISSN 2169-3536. doi: 10.1109/ACCESS.
2018.2843325.
[4] Amir Guidara, Ghofrane Fersi, Faouzi Derbel, and Maher Ben Jemaa. Impacts
of temperature and humidity variations on rssi in indoor wireless sensor net-
works. Procedia Computer Science, 126:1072 – 1081, 2018. ISSN 1877-0509. doi:
https://doi.org/10.1016/j.procs.2018.08.044. URL http://www.sciencedirect.
com/science/article/pii/S187705091831322X. Knowledge-Based and Intelli-
gent Information & Engineering Systems: Proceedings of the 22nd International
Conference, KES-2018, Belgrade, Serbia.
[5] A. Mackey and P. Spachos. Performance evaluation of beacons for indoor localiza-
tion in smart buildings. In 2017 IEEE Global Conference on Signal and Information
Processing (GlobalSIP), Nov. 2017.
[6] K. H. Chang. Bluetooth: a viable solution for iot? [industry perspectives]. IEEE
Wireless Communications, 21(6):6–7, December 2014. ISSN 1536-1284. doi: 10.
1109/MWC.2014.7000963.
93
[7] S. Alletto, R. Cucchiara, G. Del Fiore, L. Mainetti, V. Mighali, L. Patrono, and
G. Serra. An indoor location-aware system for an iot-based smart museum. IEEE
Internet of Things Journal, 3(2):244–253, April 2016. ISSN 2327-4662. doi: 10.
1109/JIOT.2015.2506258.
[8] A. F. Harris III, V. Khanna, G. Tuncay, R. Want, and R. Kravets. Bluetooth low
energy in dense iot environments. IEEE Communications Magazine, 54(12):30–36,
December 2016. ISSN 0163-6804. doi: 10.1109/MCOM.2016.1600546CM.
[9] C. Gomez, I. Demirkol, and J. Paradells. Modeling the maximum throughput of
bluetooth low energy in an error-prone link. IEEE Communications Letters, 15(11):
1187–1189, Nov. 2011. ISSN 1089-7798. doi: 10.1109/LCOMM.2011.092011.111314.
[10] Veronique Rhys Evans. Beacons on track to hit 400m deployed by 2020 reports
unacast, 26, January 2016. URL http://www.businesswire.com/news/home/
20160126005779/en/Beacons-Track-Hit-400M-Deployed-2020-Reports.
[11] Sarah Parez. Target launches beacon test in 50 stores, will expand nation-
wide later this year, Aug 5 2015. URL https://techcrunch.com/2015/08/05/
target-launches-beacon-test-in-50-stores-with-expanded-rollout-later-this-year.
[12] Markets and Markets. Location-based services (lbs) and real-time location systems
(rtls) market by location type (indoor and outdoor), software (geocoding and re-
verse geocoding, location and predictive analytics), hardware, service, vertical, and
region - global forecast to 2023, 2019. URL https://www.marketsandmarkets.
com/Market-Reports/location-based-service-market-96994431.html.
[13] A. Akinsiku and D. Jadav. Beasmart: A beacon enabled smarter workplace. In
NOMS 2016 - 2016 IEEE/IFIP Network Operations and Management Symposium,
pages 1269–1272, April 2016. doi: 10.1109/NOMS.2016.7503001.
[14] S. Bobek, O. Grodzki, and G. J. Nalepa. Indoor microlocation with ble beacons
and incremental rule learning. In 2015 IEEE 2nd International Conference on
Cybernetics (CYBCONF), pages 91–96, June 2015. doi: 10.1109/CYBConf.2015.
7175912.
94
[15] Chenhao Liu, Peng Zhao, Kaigui Bian, Tong Zhao, and Yan Wei. The detection
of physical attacks against ibeacon transmitters. In 2016 IEEE/ACM 24th Inter-
national Symposium on Quality of Service (IWQoS), pages 1–10, June 2016. doi:
10.1109/IWQoS.2016.7590453.
[16] F. Zafari, I. Papapanagiotou, M. Devetsikiotis, and T. J. Hacker. Enhancing
the accuracy of ibeacons for indoor proximity-based services. In 2017 IEEE In-
ternational Conference on Communications (ICC), pages 1–7, May 2017. doi:
10.1109/ICC.2017.7996508.
[17] S. Mascetti, C. Bettini, D. Freni, X. S. Wang, and S. Jajodia. Privacy-aware
proximity based services. In 2009 Tenth International Conference on Mobile Data
Management: Systems, Services and Middleware, pages 31–40, May 2009. doi:
10.1109/MDM.2009.14.
[18] D. Freni. Privacy-preserving techniques for proximity based lbs. In 2009 Tenth In-
ternational Conference on Mobile Data Management: Systems, Services and Mid-
dleware, pages 387–388, May 2009. doi: 10.1109/MDM.2009.68.
[19] Fadi Al-Turjman. 5g-enabled devices and smart-spaces in social-iot: An overview.
Future Generation Computer Systems, 2017. ISSN 0167-739X. doi: https:
//doi.org/10.1016/j.future.2017.11.035. URL http://www.sciencedirect.com/
science/article/pii/S0167739X17311962.
[20] T. Wu, L. K. Chen, and Y. Hong. A vision-based indoor positioning method with
high accuracy and efficiency based on self-optimized-ordered visual vocabulary. In
2016 IEEE/ION Position, Location and Navigation Symposium (PLANS), pages
48–56, April 2016. doi: 10.1109/PLANS.2016.7479682.
[21] J. Kim and H. Jun. Vision-based location positioning using augmented reality for
indoor navigation. IEEE Transactions on Consumer Electronics, 54(3):954–962,
August 2008. ISSN 0098-3063. doi: 10.1109/TCE.2008.4637573.
[22] K. Kaemarungsi and P. Krishnamurthy. Properties of indoor received signal
strength for wlan location fingerprinting. In The First Annual International Con-
ference on Mobile and Ubiquitous Systems: Networking and Services, 2004. MO-
BIQUITOUS 2004., pages 14–23, Aug 2004. doi: 10.1109/MOBIQ.2004.1331706.
95
[23] G. D. Putra, A. R. Pratama, A. Lazovik, and M. Aiello. Comparison of energy con-
sumption in wi-fi and bluetooth communication in a smart building. In 2017 IEEE
7th Annual Computing and Communication Workshop and Conference (CCWC),
pages 1–6, Jan 2017. doi: 10.1109/CCWC.2017.7868425.
[24] Y. Zhuang, L. Hua, L. Qi, J. Yang, P. Cao, Y. Cao, Y. Wu, J. Thompson, and
H. Haas. A survey of positioning systems using visible led lights. IEEE Commu-
nications Surveys Tutorials, 20(3):1963–1988, thirdquarter 2018. ISSN 1553-877X.
doi: 10.1109/COMST.2018.2806558.
[25] J. Sanchez-Gomez, R. Sanchez-Iborra, and A. Skarmeta. Transmission technologies
comparison for iot communications in smart-cities. In GLOBECOM 2017 - 2017
IEEE Global Communications Conference, pages 1–6, Dec 2017. doi: 10.1109/
GLOCOM.2017.8254530.
[26] Ramon Sanchez-Iborra, Jesus Sanchez-Gomez, Juan Ballesta-Vias, Maria-Dolores
Cano, and Antonio F. Skarmeta. Performance evaluation of lora considering scenario
conditions. Sensors, 18(3), 2018. ISSN 1424-8220. doi: 10.3390/s18030772. URL
http://www.mdpi.com/1424-8220/18/3/772.
[27] A. Mackey and P. Spachos. Lora-based localization system for emergency services
in gps-less environments. In IEEE International Conference on Computer Commu-
nications (INFOCOM ) 2019, May 2019.
[28] K. Lam, C. Cheung, and W. Lee. Lora-based localization systems for noisy outdoor
environment. In 2017 IEEE 13th International Conference on Wireless and Mobile
Computing, Networking and Communications (WiMob), pages 278–284, Oct 2017.
doi: 10.1109/WiMOB.2017.8115843.
[29] J. Niu, B. Wang, L. Shu, T. Q. Duong, and Y. Chen. Zil: An energy-efficient indoor
localization system using zigbee radio to detect wifi fingerprints. IEEE Journal on
Selected Areas in Communications, 33(7):1431–1442, July 2015. ISSN 0733-8716.
doi: 10.1109/JSAC.2015.2430171.
[30] M. H. Habaebi, R. O. Khamis, A. Zyoud, and M. R. Islam. Rss based localization
techniques for zigbee wireless sensor network. In 2014 International Conference on
Computer and Communication Engineering, pages 72–75, Sep. 2014. doi: 10.1109/
ICCCE.2014.32.
96
[31] E. Hatem, B. El-Hassan, J. Laheurte, S. Abou-Chakra, E. Colin, and C. Marechal.
Study the estimated distance error in indoor localization using uhf-rfid. In 2018
IEEE Middle East and North Africa Communications Conference (MENACOMM),
pages 1–5, April 2018. doi: 10.1109/MENACOMM.2018.8371026.
[32] B. Ben-Moshe, A. Dvir, H. Levi, and P. Shamil. Indoor positioning using time
of flight fingerprinting of ultrasonic signals. In 2013 International Conference on
Indoor Positioning and Indoor Navigation (IPIN), pages 1–6, Oct 2013.
[33] Kaibi Zhang, Yangchuan Zhang, and Subo Wan. Research of rssi indoor ranging
algorithm based on gaussian - kalman linear filtering. In 2016 IEEE Advanced In-
formation Management, Communicates, Electronic and Automation Control Con-
ference (IMCEC), pages 1628–1632, Oct. 2016. doi: 10.1109/IMCEC.2016.7867493.
[34] M. Kaczmarek, J. Ruminski, and A. Bujnowski. Accuracy analysis of the rssi ble
sensortag signal for indoor localization purposes. In 2016 Federated Conference
on Computer Science and Information Systems (FedCSIS), pages 1413–1416, Sept.
2016.
[35] A. Ozer and E. John. Improving the accuracy of bluetooth low energy indoor posi-
tioning system using kalman filtering. In 2016 International Conference on Compu-
tational Science and Computational Intelligence (CSCI), pages 180–185, Dec. 2016.
doi: 10.1109/CSCI.2016.0041.
[36] R. Faragher and R. Harle. Location fingerprinting with bluetooth low energy bea-
cons. IEEE Journal on Selected Areas in Communications, 33(11):2418–2428, Nov
2015. ISSN 0733-8716. doi: 10.1109/JSAC.2015.2430281.
[37] P. C. Ng, J. She, and S. Park. High resolution beacon-based proximity detection
for dense deployment. IEEE Transactions on Mobile Computing, 17(6):1369–1382,
June 2018. ISSN 1536-1233. doi: 10.1109/TMC.2017.2759734.
[38] R. K. Yadav, B. Bhattarai, H. Gang, and J. Pyun. Trusted k nearest bayesian
estimation for indoor positioning system. IEEE Access, 7:51484–51498, 2019. ISSN
2169-3536. doi: 10.1109/ACCESS.2019.2910314.
[39] Z. Chen, Q. Zhu, H. Jiang, and Y. C. Soh. Indoor localization using smartphone
sensors and ibeacons. In 2015 IEEE 10th Conference on Industrial Electronics
97
and Applications (ICIEA), pages 1723–1728, June 2015. doi: 10.1109/ICIEA.2015.
7334389.
[40] M. S. Aman, H. Jiang, C. Quint, K. Yelamarthi, and A. Abdelgawad. Reliability
evaluation of ibeacon for micro-localization. In 2016 IEEE 7th Annual Ubiquitous
Computing, Electronics Mobile Communication Conference (UEMCON), pages 1–5,
Oct. 2016. doi: 10.1109/UEMCON.2016.7777904.
[41] L. Yang, Q. Wang, and G. Wang. Positioning in an indoor environment based on
ibeacons. In 2016 IEEE International Conference on Information and Automation
(ICIA), pages 894–899, Aug. 2016. doi: 10.1109/ICInfA.2016.7831945.
[42] Azadeh Kushki, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos.
WLAN Positioning Systems: Principles and Applications in Location-Based Ser-
vices. Cambridge University Press, New York, NY, USA, 2012. ISBN 0521191858,
9780521191852.
[43] F. Zafari and I. Papapanagiotou. Enhancing ibeacon based micro-location with par-
ticle filtering. In 2015 IEEE Global Communications Conference (GLOBECOM),
pages 1–7, Dec. 2015. doi: 10.1109/GLOCOM.2015.7417504.
[44] Apple. Getting started with ibeacon, June 2 2014. URL https://developer.
apple.com/ibeacon/Getting-Started-with-iBeacon.pdf.
[45] Google. Google eddystone format, July 5 2017. URL https://developers.
google.com/beacons/eddystone.
[46] M. Collotta and G. Pau. A novel energy management approach for smart homes
using bluetooth low energy. IEEE Journal on Selected Areas in Communications,
33(12):2988–2996, Dec 2015. ISSN 0733-8716. doi: 10.1109/JSAC.2015.2481203.
[47] . Morin, M. Maman, R. Guizzetti, and A. Duda. Comparison of the device lifetime
in wireless networks for the internet of things. IEEE Access, 5:7097–7114, 2017.
ISSN 2169-3536. doi: 10.1109/ACCESS.2017.2688279.
[48] Monsoon solutions. URL https://www.msoon.com/LabEquipment/
PowerMonitor/.
[49] A. Mackey, P. Spachos, and K. N. Plataniotis. Enhanced indoor navigation
system with beacons and kalman filters. In 2018 IEEE Global Conference on
98
Signal and Information Processing (GlobalSIP), pages 947–950, Nov 2018. doi:
10.1109/GlobalSIP.2018.8646581.
[50] Niclas Bergman. Recursive bayesian estimation: Navigation and tracking applica-
tions. Technical report, 1999.
[51] Estimote. URL https://estimote.com/.
[52] Kontakt. URL https://kontakt.io/.
[53] Glimworm. URL https://glimwormbeacons.com/.
[54] David G. Young. Altbeacon, 2016. URL https://github.com/AltBeacon/
android-beacon-library.
[55] Gimbal. URL https://store.gimbal.com/products/s22.
[56] A. Mackey and P. Spachos. Energy consumption and proximity accuracy of ble
beacons for internet of things applications. In Global Information Infrastructure
and Networking Symposium (GIIS) 2018, Oct 2018.
[57] C. Tsiaras, L. Hobi, F. Hofstetter, S. Liniger, and B. Stiller. parkitsmart: Min-
imization of cruising for parking. In 2015 24th International Conference on
Computer Communication and Networks (ICCCN), pages 1–8, Aug 2015. doi:
10.1109/ICCCN.2015.7288448.
[58] Volkswagen Financial Services AG. Paybyphone, July 18 2018. URL https://www.
paybyphone.com/.
[59] T. N. Pham, M. Tsai, D. B. Nguyen, C. Dow, and D. Deng. A cloud-based smart-
parking system based on internet-of-things technologies. IEEE Access, 3:1581–1591,
2015. ISSN 2169-3536. doi: 10.1109/ACCESS.2015.2477299.
[60] Y. Geng and C. G. Cassandras. New smart parking system based on resource allo-
cation and reservations. IEEE Transactions on Intelligent Transportation Systems,
14(3):1129–1139, Sept 2013. ISSN 1524-9050. doi: 10.1109/TITS.2013.2252428.
[61] D. J. Bonde, R. S. Shende, A. S. Kedari, K. S. Gaikwad, and A. U. Bhokre. Au-
tomated car parking system commanded by android application. In 2014 Interna-
tional Conference on Computer Communication and Informatics, pages 1–4, Jan
2014. doi: 10.1109/ICCCI.2014.6921729.
99
[62] Z. Suryady, G. R. Sinniah, S. Haseeb, M. T. Siddique, and M. F. M. Ezani. Rapid
development of smart parking system with cloud-based platforms. In The 5th In-
ternational Conference on Information and Communication Technology for The
Muslim World (ICT4M), pages 1–6, Nov 2014. doi: 10.1109/ICT4M.2014.7020616.
[63] Arnaud Doucet, Simon Godsill, and Christophe Andrieu. On sequential monte
carlo sampling methods for bayesian filtering. Statistics and Computing, 10(3):
197–208, Jul 2000. ISSN 1573-1375. doi: 10.1023/A:1008935410038. URL https:
//doi.org/10.1023/A:1008935410038.
[64] P. Kumar, L. Reddy, and S. Varma. Distance measurement and error estimation
scheme for rssi based localization in wireless sensor networks. In 2009 Fifth Inter-
national Conference on Wireless Communication and Sensor Networks (WCSN),
pages 1–4, Dec 2009. doi: 10.1109/WCSN.2009.5434802.
[65] J. Miranda, R. Abrishambaf, T. Gomes, P. Gonalves, J. Cabral, A. Tavares, and
J. Monteiro. Path loss exponent analysis in wireless sensor networks: Experimental
evaluation. In 2013 11th IEEE International Conference on Industrial Informatics
(INDIN), pages 54–58, July 2013. doi: 10.1109/INDIN.2013.6622857.
[66] Hyunhong Choi, Jungwoo Shin, and JongRoul Woo. Effect of electricity genera-
tion mix on battery electric vehicle adoption and its environmental impact. En-
ergy Policy, 121:13 – 24, 2018. ISSN 0301-4215. doi: https://doi.org/10.1016/
j.enpol.2018.06.013. URL http://www.sciencedirect.com/science/article/
pii/S0301421518304014.
[67] Brian Cox, Christopher L Mutel, Christian Bauer, Angelica Mendoza Beltran, and
Detlef P. van Vuuren. Uncertain environmental footprint of current and future
battery electric vehicles. Environmental Science & Technology, 52(8):4989–4995,
2018. doi: 10.1021/acs.est.8b00261. URL https://doi.org/10.1021/acs.est.
8b00261. PMID: 29570287.
[68] Erika von Schneidemesser. Institute for advanced sustainability studies e.v. - climate
change and air pollution, January 30 2019. URL https://climpol.iass-potsdam.
de/.
[69] Bike Share Toronto. Bike share toronto, experience toronto in a whole new way,
January 30 2019. URL https://bikesharetoronto.com/.
100
[70] J. Sanchez-Gomez, R. Sanchez-Iborra, and A. Skarmeta. Transmission technologies
comparison for iot communications in smart-cities. In GLOBECOM 2017 - 2017
IEEE Global Communications Conference, pages 1–6, Dec 2017. doi: 10.1109/
GLOCOM.2017.8254530.
[71] Rajesh Kannan Megalingam, Pranav Sreedharan Veliyara, Raghavendra Prabhu,
and Rocky Katoch. Pedal power generation. volume 7, 01 2012.
[72] R. Gonzalez, L. Fajardo, and D. Florez. A prototype to manage the share of
assisted bicycles on bogota as a creative form of public transportation. In 2018 ICAI
Workshops (ICAIW), pages 1–6, Nov 2018. doi: 10.1109/ICAIW.2018.8555003.
[73] W. Jia, Y. Tan, and J. Li. Hierarchical prediction based on two-level affinity propa-
gation clustering for bike-sharing system. IEEE Access, 6:45875–45885, 2018. ISSN
2169-3536. doi: 10.1109/ACCESS.2018.2865658.
[74] Q. Chen, M. Liu, and X. Liu. Bike fleet allocation models for repositioning in bike-
sharing systems. IEEE Intelligent Transportation Systems Magazine, 10(1):19–29,
Spring 2018. ISSN 1939-1390. doi: 10.1109/MITS.2017.2776129.
[75] L. Liu, D. Gong, B. Guan, and J. Xiao. Cf-cluster: Clustering bike station based
on common flows. In 2017 IEEE 15th Intl Conf on Dependable, Autonomic and
Secure Computing, 15th Intl Conf on Pervasive Intelligence and Computing, 3rd Intl
Conf on Big Data Intelligence and Computing and Cyber Science and Technology
Congress(DASC/PiCom/DataCom/CyberSciTech), pages 356–361, Nov 2017. doi:
10.1109/DASC-PICom-DataCom-CyberSciTec.2017.75.
[76] K. Chun, Z. Chen, and C. Sun. Iot solution for public bicycle system. In 2016 IEEE
International Conference on Consumer Electronics-Taiwan (ICCE-TW), pages 1–2,
May 2016. doi: 10.1109/ICCE-TW.2016.7520911.
[77] Bluno - an arduino bluetooth 4.0 (ble) board, . URL https://www.dfrobot.com/
product-1044.html.
[78] Dragino Technology Co. Lora shield for arduino, 2019. URL http://www.dragino.
com/products/module/item/102-lora-shield.html.
[79] RobotShop inc. Lora/gps long range transceiver shield 915 mhz
(north america), 2018. URL https://www.robotshop.com/ca/en/
101
lora-gps-long-range-transceiver-shield-915-mhz-north-america.html?
gclid=EAIaIQobChMI9Nivm4X03wIVdx-tBh1jmQ9yEAQYAiABEgL1wvD_BwE.
[80] Dynamo generator 12v 6w. bike light part, bicycle lightpart, lowrider ,
beach cruiser, stretch bike, bmx, track, fixie. URL https://www.amazon.
ca/Generator-bicycle-lightpart-lowrider-cruiser/dp/B00H3RDVKO/ref=
sr_1_5?crid=3IZ59T2WBE8E9&keywords=bicycle+dynamo+generator&qid=
1551211024&s=gateway&sprefix=bicycle+dyna%2Caps%2C159&sr=8-5.
[81] Acdelco 334-2114 professional alternator, remanufactured. URL https://www.
amazon.ca/ACDelco-334-2114-Professional-Alternator-Remanufactured/
dp/B000C9NN5S/ref=sr_1_2?keywords=alternator&qid=1551211300&s=
gateway&sr=8-2.
[82] Sram i-light dynamo 730 3w front hub, 32h qr, black. URL https:
//www.amazon.ca/SRAM-I-Light-Dynamo-730-Front/dp/B008OEAPHM/ref=
sr_1_1?hvadid=208381992892&hvdev=c&hvlocphy=9001013&hvnetw=g&hvpos=
1t1&hvqmt=e&hvrand=10440830801063780022&hvtargid=kwd-298581562969&
keywords=dynamo+hub&qid=1551210729&s=gateway&sr=8-1&tag=googcana-20.
[83] Bluecat, . URL https://www.bluecats.com/.
[84] Petros Spachos and Andrew Mackey. Energy efficiency and accuracy of solar pow-
ered ble beacons. Computer Communications, 119:94 – 100, 2018. ISSN 0140-
3664. doi: https://doi.org/10.1016/j.comcom.2017.12.007. URL http://www.
sciencedirect.com/science/article/pii/S0140366417309891.
[85] Kang Eun Jeon, T. Tong, and J. She. Preliminary design for sustainable ble
beacons powered by solar panels. In 2016 IEEE Conference on Computer Com-
munications Workshops (INFOCOM WKSHPS), pages 103–109, April 2016. doi:
10.1109/INFCOMW.2016.7562054.
[86] Texas Instruments. Simplelink bluetooth low energy/multi-standard sensortag,
2019. URL http://www.ti.com/tool/cc2650stk.
102