Today, Internet of Things (IoT) has spread to many everyday situations. The smart
devices constituting IoT can be everything from your smartwatch, to components of
your car or nodes collecting environmental data in a building. It is not uncommon
for these devices to be powered using limited sources, such as batteries. This means
that they have to be conserved with their energy.
One way for these devices to communicate is via Bluetooth Low Energy (BLE),
a wireless protocol specifically designed to consume less energy than the classic
Bluetooth protocol.
In this master’s thesis, we aim to find the minimal BLE stack required for a
device to advertise its existence and for it to enter a connection with another device
and keep that connection alive. To check whether our definition holds we present a
design and implementation of it in Tock, an operating system for embedded devices.
As Tock is written in the programming language Rust, so is also our implementation.
The evaluation of the implementation includes two parts. The first part is a
validation of the behaviour of a device running our code. We perform different tests,
each focusing on a particular behaviour that is required from the device. Next, we
conduct performance tests to measure the reliability, power consumption and timing
of the device.
Our evaluation shows that the implementation fulfils the requirements, even
though the performance tests reveal that it is not optimised. As the implementation
is a mirror of the design, which in turn is a possible description of the definition of
the minimal stack, we conclude that our definition states precisely what is required
to fulfil the goal of “establish and keep a connection”.

Skapa referens, olika format (klipp och klistra)

BibTeX @mastersthesis{Lindskogen2018,author={Lindskogen, Johan and Mäkelä, Francine},title={Defining a minimal BLE stack - A Bluetooth Low Energy implementation in Rust},abstract={Today, Internet of Things (IoT) has spread to many everyday situations. The smart
devices constituting IoT can be everything from your smartwatch, to components of
your car or nodes collecting environmental data in a building. It is not uncommon
for these devices to be powered using limited sources, such as batteries. This means
that they have to be conserved with their energy.
One way for these devices to communicate is via Bluetooth Low Energy (BLE),
a wireless protocol specifically designed to consume less energy than the classic
Bluetooth protocol.
In this master’s thesis, we aim to find the minimal BLE stack required for a
device to advertise its existence and for it to enter a connection with another device
and keep that connection alive. To check whether our definition holds we present a
design and implementation of it in Tock, an operating system for embedded devices.
As Tock is written in the programming language Rust, so is also our implementation.
The evaluation of the implementation includes two parts. The first part is a
validation of the behaviour of a device running our code. We perform different tests,
each focusing on a particular behaviour that is required from the device. Next, we
conduct performance tests to measure the reliability, power consumption and timing
of the device.
Our evaluation shows that the implementation fulfils the requirements, even
though the performance tests reveal that it is not optimised. As the implementation
is a mirror of the design, which in turn is a possible description of the definition of
the minimal stack, we conclude that our definition states precisely what is required
to fulfil the goal of “establish and keep a connection”.},publisher={Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola},place={Göteborg},year={2018},keywords={BLE, Bluetooth low energy, IoT, Rust, Tock, Embedded systems },note={72},}

RefWorks RT GenericSR ElectronicID 256040A1 Lindskogen, JohanA1 Mäkelä, FrancineT1 Defining a minimal BLE stack - A Bluetooth Low Energy implementation in RustYR 2018AB Today, Internet of Things (IoT) has spread to many everyday situations. The smart
devices constituting IoT can be everything from your smartwatch, to components of
your car or nodes collecting environmental data in a building. It is not uncommon
for these devices to be powered using limited sources, such as batteries. This means
that they have to be conserved with their energy.
One way for these devices to communicate is via Bluetooth Low Energy (BLE),
a wireless protocol specifically designed to consume less energy than the classic
Bluetooth protocol.
In this master’s thesis, we aim to find the minimal BLE stack required for a
device to advertise its existence and for it to enter a connection with another device
and keep that connection alive. To check whether our definition holds we present a
design and implementation of it in Tock, an operating system for embedded devices.
As Tock is written in the programming language Rust, so is also our implementation.
The evaluation of the implementation includes two parts. The first part is a
validation of the behaviour of a device running our code. We perform different tests,
each focusing on a particular behaviour that is required from the device. Next, we
conduct performance tests to measure the reliability, power consumption and timing
of the device.
Our evaluation shows that the implementation fulfils the requirements, even
though the performance tests reveal that it is not optimised. As the implementation
is a mirror of the design, which in turn is a possible description of the definition of
the minimal stack, we conclude that our definition states precisely what is required
to fulfil the goal of “establish and keep a connection”.PB Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola,PB Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola,LA engLK http://publications.lib.chalmers.se/records/fulltext/256040/256040.pdfOL 30