# 03-22 BLE Systems Research, Project Management
# Project Management
Gestern habe ich 2 Trello Boards eingerichtet. Diese sind von meinem Blog in der Navbar unter "Project Management" zu finden. Mit diesen Teile ich das Projekt in kleinere Schritte und ordne meine Aufgaben. Grundsätzlich sehe ich 5 "Microservices":
- ESP32 BLE Server Nodes: müssen BLE beacon frames aussenden und stets erreichbar sein
- ESP32 BLE Client Nodes: müssen Verbindung zu BLE Server verwalten und
HTTP POSTDatenstream an REST API - REST API Layer: Soll CRUD Operationen für Messdaten ausführen,
HTTP GETberechnete Positionstupel,HTTP GETMessdaten - Data processing Layer: Kalman Filtering, Hampel Filtering, Position Trilaterieren
- Data Persistence Layer: Datenbank für die Speicherung von Messdaten.
Ich sehe somit sehr viel Arbeit auf mich zukommen. Das ganze Thema ist für mich Neuland, die Programmiersprachen und Technologien auch. Mein Presentation Layer werde ich also sehr schlicht lassen (nur REST API), denn ich werde wohl kaum Zeit für mehr haben.
# Bluetooth Low Energy
Zudem habe ich weitere 3 Berichte gelesen und Notizen gemacht. Diesmal wollte ich mich spezifisch über Bluetooth Low Energy basierte RSSI Lokalisierungsalgorithmen informieren. Grundsätzlich finde ich dieser Lösungsansatz am besten, da WiFi und Bluetooth nicht besonders genau sind und sehr viel Strom verbrauchen. Andere Arten von RSSI Lokalisierung schliesse ich aus Kostengründen aus (RFID, Ultraschall) oder weil sie nicht sehr gut dokumentiert sind (VLC). Ich bin überzeugt, dass BLE als kostenfreundliche und robuste RSSI Quelle meinen Bedürfnissen entsprechen wird.
Ich habe einen weiteren Bericht über RSSI Lokalisierung im Allgemeinen gelesen. Sonst habe ich mich heute mehrheitlich mit den Tücken von BLE Lokalisierung auseinandergesetzt. Meine Erkenntnisse sind hier zu finden. Das wichtigste in Kürze scheint zu sein, dass RSSI Triangulation nur die halbe Miete ist. Die Distanz kann man schnell in einen (X/Y) Tupel verwandeln. Dabei geht man aber davon aus, dass die Distanzen korrekt sind. Die Distanz muss man aber irgendwie von RSSI Messdaten herleiten.
Die Signalstärke ist eine Funktion der variablen Distanz zwischen dem Sender und Empfänger. Das Modell, das dieses Verhältnis beschreibt ist das Path Loss Model (PLM) oder log-distance path loss propagation model. Dabei gibt es drei Sachen, welche laut diesem Bericht die Genauigkeit dieser beeinflussen:
- Multipath progagation and small scale fading: Wenn Signale von Oberflächen reflektiert werden und dann mit richtigen Signalen interferieren
- Shadowing due to blocking objects: Objekte im Weg können die Signalstärke manipulieren. Wasser absorbiert Wellen dieser Frequenz.
- Orientation of the transmitter: Die Ausrichtung der Antenne im Chip beeinflusst die Signalstärke stark. Dazu gibt es im PLM den path loss exponent, welcher jeweils von der Umwelt abhängt und eigentlich durch Kalibrierung bestimmt werden muss.
Diese Überlegungen sind von der Einrichtung und räumlichen Anordnung der Nodes abhängig. Sie verbessern die Reinheit der Daten. Trotz allem gibt es zwangsmässig Schwankungen in den RSSI Daten, welche man weiter reinigen muss. Dafür benutzt man Kalman Filter und Regressionsmodelle, um die Kurve abzuflachen.
Das Fazit ist, dass die Verwandlung von RSSI zu einer Position sehr schwierig ist. Diese Überlegungen werden sicherlich auch in meinen Vertrag fliessen.
# Projektthema
Ich habe mir überlegt, was ein geeignetes Thema wäre für diese Maturaarbeit. Schliesslich muss meine Problemlösung auch ein Problem haben. Aus bereits genannten Gründen möchte ich ein statisches Objekt haben, welches man häufig verliert. Eigentlich ist aber ein Rucksack voll blöd, weil man diese immer am gleichen Ort im Haus hinlegt. Ich finde Sonnenbrillen eigentlich viel passender, weil ich sie immer suchen muss wenn ich sie brauche. Ich glaube, dass ich für den Vertrag mal die Frage des Projektthemas offen lasse. Einen besseren Namen als "Objektfinder" ist mir auch noch nicht eingefallen.
# Probleme
Ich weiss nicht, welche Technologien ich benutzen werde und befürchte, dass ich sehr viele Sachen neu lernen muss. Ich bin durchaus bereit und willig, neue Sachen zu lernen. Jedoch soll man nicht die zeitlichen Einschränkungen des Projekts nicht kleinreden. Momentan sind in diesem Bereich sehr viele Fragen offen. Ich sehe, dass mein Projekt in der jetzigen Form sehr gross ist und möchte abklären, was Herr Süsstrunk dazu meint.
# Lösungen
Ich werde mich im Internet erkundigen, wie es mit den Technologien aussieht und mich dann weiter informieren. Ich hoffe auch, dass Herr Süsstrunk mich diesbezüglich beraten kann. Den Zeitdruck habe ich bereits in vorherigen Artikeln angesprochen. Ich denke aber, dass ich definitiv vor dem Eintreffen der ESP32 fertig sein möchte mit dem Papierkram. Dann kann ich direkt mit der Arbeit loslegen. Sollten die ESP32 aufgrund des Coronavirus sehr spät ankommen, kann ich auch an den anderen Subthemen des Projektes arbeiten (Server, Data Persistence, Processing). Ich halte mich bewusst bei der Systemarchitektur an stark orthogonale Microservices, welche möglichst wenig von einander abhängen.
# Weiteres Vorgehen
- Ausführen des Vertrages (ist in /project-management/documents zu finden)
- Recherche über Programmiersprachen und Architektur