Defining a minimal BLE stack - A Bluetooth Low Energy implementation in Rust
Loading...
Download
Date
Authors
Type
Examensarbete för masterexamen
Master Thesis
Master Thesis
Model builders
Journal Title
Journal ISSN
Volume Title
Publisher
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”.
Description
Keywords
Data- och informationsvetenskap, Computer and Information Science
