---
# System prepended metadata

title: 'Gerätestandort, Hardware & Datenübertragung'

---

# Gerätestandort, Hardware & Datenübertragung

## Gerätestandort bestimmen:

* Einfacher Ansatz: RSS (Received Signal Strength) basierte Methoden
    * Trilateration / Multilateration
    * _Problem_: 3+ Access Points nötig
<br><br>
* _Paper_: "Decimeter-Level Localiztation with a Single WiFi Access Point
    * Link: https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-vasisht.pdf
    * Einige gute Ideen
<br><br>
* _Paper_: "RSS Indoor Localization Based on a Single Access Point"
    * Link: https://www.researchgate.net/publication/335438081_RSS_Indoor_Localization_Based_on_a_Single_Access_Point
    * __Idee__: Anstatt mehrere Router für Multilateration zu nutzen, wird ein einzelner Access Point mit mehreren (gerichteten) Antennen ausgestattet, sodass dadurch Daten aus verschiedenen Richtungen aufgezeichnet werden können. In Kombination mit der Signalstärke kann somit relativ genau ein Standort ermittelt werden.
    * Die Kombination aus linear und kreisförmig ausgerichteten Antennen erhöht die Genauigkeit und verringert Fehler gegenüber ausschließlich linear ausgerichteten Antennen.
    * Möglicher Ansatz einer vorherigen Arbeit: 
        * Bevor Messungen durchgeführt werden, wird der zu überwachende Bereich einmalig in rechteckige _Zellen_ eingeteilt. Anschließend werden solange Testdaten für jede einzelne Zelle gesammelt, sodass mithilfe eines Machine-Learning-Algorithmus' relativ genaue Messungen durchgeführt werden können.
        * Vorteil: Sehr genau
        * Nachteil: Sehr aufwändig
    * Ansatz in diesem Paper:
        * Verwendung eines einzelnen Access Points mit mehreren Antennen, die jeweils als eigene Transmitter fungieren
        * Die Antennen werden genau kalibriert (Ausrichtung / Winkel and Verschiebung / Versatz)
        * Die RSS-Werte von den verschiedenen Antennen können dann zur Erstellung einer Multi-Layer Radiomap kombiniert werden
        * Bedingung an die Hardware:
            * WLAN-Treiber des APs müssen _Radiotap_ unterstützen, ein Standard für 802.11 frame Injektion und Empfang
            * Somit können zusätzliche Information über 802.11 Pakete extrahiert werden, wie eine Antennen-ID sowie die RF-Signalstärke
        * Problem: _Multipath-Effect_
            * Es kann passieren, dass mehrere Antennen (selbst wenn diese gar nicht direkt auf ein mobiles Endgerät gerichtet sind), dasselbe Endgerät erfassen. Dies kann z.B. dann passieren, wenn das WLAN-Signal an Wänden in Innenräumen reflektiert und somit an einer anderen Antenne ebenfalls eintrifft.
            * Beispiel aus dem Paper:
            <img src="Multipath-Effect.png" alt="Example for Multipath effect"/>
            * Aber: Dadurch, dass der Weg vom aufgezeichneten Gerät bis zum AP dadurch größer wird, ist dies in den meisten Fällen unproblematisch und das Problem führt nur zu geringen Abweichungen.
    * Evaluation:
        * getestet mit verschiedenen Machine-Learning-Algorithmen
        * recht genaue Ergebnisse, nur geringe Abweichungen (vernachlässigbar)
<br><br>    
* Warum reicht nicht ein Access Point mit einer Antenne?
    * Bei linearer Antenne:
        * es kann nur auf einer Geraden aufgezeichnet werden, somit muss sich das Endgerät quasi exakt auf der Linie der Antenne befinden, sodass diese Antennenart in einem dreidimensionalen oder gar zweidimensionalen Raum nicht ausreicht
    * Bei kreisförmiger Antenne:
        * Hiermit kann zwar im zweidimensionalen Raum alles erfasst werden, allerdings lässt sich aus den Daten, die eine einzelne kreisförmige Antenne aufzeichnet nicht erkennen, aus welcher Richtung eine Aufzeichnung stammt. Lediglich die Entfernung des Endgerätes vom Access Point kann mithilfe der Signalstärke berechnet werden.
    * Also: Kombination mehrerer Access Points oder zumindest mehrerer Antennen in einem einzelnen Access Point notwendig
    * Ein Ansatz ist auch, die Reflektionen von beispielsweise Wänden zu nutzen und damit Multilateration durchzuführen
<br><br>
* Ein _lustiger_ Ansatz:
    * Drohne mit Access Point durchgehend Gebiet überfliegen lassen
        * Je näher die Drohne am Endgerät ist, desto stärker das Signal
        * Es entsteht ein zweidimensionales Bild, da die Drohne aktuelle Signalstärke mit Signalstärke von letzter Position vergleichen kann
    * Genauso könnte man einen Roboter durch den Supermarkt laufen lassen, den Access Point über eine Schiene an der Decke eines Bereichs im Kreis laufen lassen oder einen Einkaufswagen in einem Supermarkt mit einem AP ausstatten, sodass dieser durch die Kunden durchgehend bewegt wird
    * Allerdings sind diese Ansätze kostenaufwändig und vermutlich weniger genau


---


## Hardware:

* __Anforderungen__:
    * günstig
    * physisch klein
    * dennoch möglichst genau und effizient
    * Antennen (für Standorterfassung wichtig):
        * entweder mehrere Antennen in verschiedene Richtungen ausgerichtet 
        * oder mehrere Access Points an verschiedenen Stellen im Raum, die die Daten dann an eine zentrale Einheit übermitteln

<br><br>
* __Komponenten (Übersicht)__:
    | Komponenten-Typ | Komponenten-Name | Preis    | Link                           |
    | :---            | :---             |     ---: | :---                           |
    | Prozessor       | Raspberry Pi 4   | 59,96€   | https://de.elv.com/raspberry-pi-4-model-b-2gb-ram-250569?gclid=CjwKCAiAhreNBhAYEiwAFGGKPFWemDfkAiktbRm6G_vUXpqqoW8y8heBVJFu1ZVqhjvFi5qMh5UbehoCOA0QAvD_BwE |
    | Router-Gehäuse  | Geekworm Gehäuse | 13,59€   | https://www.amazon.de/Geekworm-Raspberry-Aluminum-Passive-Dissaption/dp/B07ZVJDRF3/ref=sr_1_3?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=raspberry+pi+4+geh%C3%A4use&qid=1639052135&sr=8-3 |
    | WIFI-AP         | ESP 8266         |  6,99€   | https://www.amazon.de/AZDelivery-NodeMCU-ESP8266-ESP-12E-Development/dp/B06Y1ZPNMS/ref=asc_df_B06Y1ZPNMS/?tag=&linkCode=df0&hvadid=310638483583&hvpos=&hvnetw=g&hvrand=1759455048080728353&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9044708&hvtargid=pla-378483937875&th=1&ref=&adgrpid=63367893073 |

* __Komponenten (detailliert)__:
    * __Prozessor__: Raspberry Pi 4
        * 2GB RAM
        * WLAN-Standards 802.11 b/g/n/ac --> Kann sogar 5G
        * Ethernet-Anschluss (gut für Übertragung zu Server)
        * 8,5cm groß (optimal für einen kleinen Access Point)
        * Problem: Nur eine externe Antenne möglich, also Standortbestimmung problematisch
        * Alternative: Raspberry Pi 02W --> 16€
            * weniger performant
            * weniger modular
            * kein USB
            * weniger RAM
    * __Router-Gehäuse__: Geekworm Raspberry Pi 4 Gehäuse
        * gute Kühlung laut Hersteller
        * kompakte Größe
        * schlichtes schwarzes Design, schön unauffällig
    * __WIFI-AP__: ESP 8266
        * können mehrere ESPs im Raum verteilt werden
        * lassen sich sehr simpel über WLAN mit dem Router verbinden
        * Aufgabe: Mitschneiden des WLAN-Verkehrs
        * Sehr günstig

    * __esp s3 wroom 32__
        * Antennenanschluss
        * USB bei gutem Dev-Board
        * https://www.google.com/search?q=esp+s3+wroom+32&tbm=shop
        * https://www.reichelt.de/entwicklungsboard-esp32-s2-wroom-esp32s2saola1m-p311736.html?PROVID=2788
    
    * __esp32-cam usb__


---


## Multilateration: Wie kommunizieren die Access Points untereinander?:

#### An Online Squential Extreme Learning Machine Approch to WiFi Based Indoor Positioning
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/zou2014online.pdf
Überwachte Zone 580 Quadratmeter, viel KI  
* Verwendung von 8 D-Link DIR-605L Wifi Cloud Routern als APs
* Ein Samsung Galaxy, welches via App die WiFi RSS fingerprints einsammelt  
    * Das Einsammeln passiert einmal jede Sekunde
    * Die Evaluation läuft auf dem Handy
* Zwei Phasen online und offline Phasen (TODO: was genau passiert hier?)
* Kalibrierung des Systems über fünf Tage


#### Smartphone-Based Indoor Localization with Bluetooth Low Energy Beacons
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/zhuang2016smartphone.pdf
* BLE beacons an Wänden, auf circa 1,5m Höhe
    * Basiert auf Texas Instruments BLE Chip CC2549
* 10 Hz sample rate, -16 dBm transmit power
* Locations der Beactons mit Laser und Bauplan bestimmt
    * Genauigkeit: 1m
* Chip broadcasted channel information und RSS values für jeden advertisement channel
* Kalibrierung wurde durch Stoppen der Zeit (an bestimmten Referenzpunkten) beim Laufen durch den Gang (mit Handy) vorgenommen
* Ein Beacon alle 9m wäre gut (20 im Test)
    * Wurde auch mit 18m (8 im Test) getestet, ist aber viel unpräzieser



#### Phaser: Enabling Phased Array Signal Processing on Commodity WiFi Access Points

https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/gjengset2014phaser.pdf
* Hardware design:
    * mehrere NICs &#8594; Routing eines Antennensignals auf mehrere NIC-Radio-Channels
        * Vorteil: Erlaubt einem Radio Channel jeder NIC, ein Signal zu empfangen, von dem eindeutig gesagt werden kann, dass es gleich ist
        * Nachteil: Ein Antennensignal, welches sonst für räumliches Multiplexing verwendet werden könnte, geht verloren / wird geopfert

#### Indoor Localization Using Improved RSS-Based Lateration Methods (2009)  
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/yang2009indoor.pdf  
Hat Hardware Infos, aber halt von 2009...  




## Spannende Paper ohne Hardware Infos:
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/zhu2013rssi.pdf  

---
"It can be seen that BLTE is a more accurate location technology than WiFi, even when AP placement is identical. [...] In summary, we expect that BTLE is likely to become the dominant indoor location technology of choice for smartphones in the coming years."  
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/zhao2014does.pdf  

---
Erklärung in `3. Problem statement` welche Daten während offline-phase gesammelt werden  
Während online-phase hört der Empfänger allen APs in der Area zu und sammelt Daten  
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/yiu2017wireless.pdf


## Gedanken
#### Scanrate WiFi
Hat WiFi wirklich nur eine Scan-Rate von 1Hz bei typischen Smartphones?  
BTLE ist schneller (Scan Rate 10Hz)  
https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/zhao2014does.pdf

---


## Multilateration: Wie synchronisieren wir die Access Points?:

#### Phaser: Enabling Phased Array Signal Processing on Commodity WiFi Access Points

https://git.cs.uni-bonn.de/ma-swierzy-2021/literature/-/blob/master/gjengset2014phaser.pdf

* Synchronisierungsalgorithmus (zusammengefasst)
    1. CSI von jeder NIC erhalten
    2. Messwerte der gemeinsamen Antenne isolieren
    3. Es wird willkürlich aber konsistent für alle Pakete eine NIC als primäre Netzwerkkarte ausgewählt
    4. Nun wird eine Transformation von der CSI der sekundären NIC gesucht, sodass die von der geteilten Antenne aufgezeichneten Messwerte bei der primären und sekundären NIC übereinstimmen


---

## Senden der Daten:

__Ideen__:
* Ethernet (Raspberry Pi 4 hat Anschluss)
    * Vorteile: Sichere Übertragung, stabile Verbindung, WLAN-Verkehr wird nicht unnötig überladen
    * Nachteile: Aufwändig in der Implementierung, nicht mobil, teuer
* Senden über WLAN, aber über gesonderte Frequenzen (Empfangen beispielsweise 2,4GHz und Senden mit 5GHz)
    * Vorteile: Günsitg, da WLAN so oder so integriert ist (Raspberry Pi 4 hat bspw. 5GHz-WLAN onboard), einfache Implementierung
    * Nachteile: 5GHz hat geringe Reichweite
* Bluetooth
    * Vorteile: Standard, einfache Implementierung, onboard implementiert (bei Raspberry Pi 4)
    * Nachteile: Selbe Frequenzen wie WLAN --> WLAN-Verkehr überlastet, sehr geringe Reichweite
* LORAWAN (Low Range Wide Area Network)
    * Vorteile: sehr große Reichweite, mit Adapter implementierbar
    * Nachteile: Adapter kostet Geld (Preis allerdings vernachlässigbar), Bandweite sehr schlecht
