2.2 Experiment 2: WIFI IPS
Set-Up Wifi
Hierbij fungeert het IoT toestel afwisselend tussen Station (STA) Mode en Soft Access Point (AP) Mode[1] . In station mode zoekt het IoT toestel naar Wifi netwerken en geeft het een lijst van detecteerbare netwerken en de RSSI tot elk netwerk, in access point mode fungeert het IoT toestel als Wifi server (Figuur 1 en Figuur 2).
[1] In-depth: Create A Simple ESP32 Web Server In Arduino IDE
Afstand berekening
De signaalsterkte (RSSI) kan gerelateerd worden aan de afstand tussen de STA en AP.
De RSSI heeft een log relatie met de afstand tussen station en access point)
RSSĪ =A−10nlog(d).
Waarbij A de RSSI is op 1 m afstand.
Als experiment werden 3 ESP32 + 1 ESP8266 geprogrammeerd, allemaal alternerend tussen STA en AP mode. Daarna werd de afstand tussen de toestellen stapsgewijs verhoogd (Tabel 1 en Figuur 3).
Data transfer
Wanneer de IoT sensoren via Wifi met de Hub connecteren kunnen ze de resultaten van de scan samen met de temperatuurmetingen doorsturen naar de cloud. In tegenstelling tot een BLE beacon dat zijn gegevens broadcast, scant een Wifi IoT device zijn omgeving en haalt de gegevens binnen welke daarna verder doorgestuurd kunnen worden. In een traditioneel wifi netwerk moet elk station contact kunnen leggen met het internet access point. In een Wifi mesh netwerk is het voldoende dat een station connectie kan leggen met één van de nodes die reeds in het Wifi mesh zijn opgenomen.
Wifi-Mesh
Afhankelijk van de dempingsfactor van het witloof en de bakken bestaat de kans dat niet alle IoT device direct contact kunnen leggen met het internet access point. Een oplossing hiervoor kan zijn om met een Wifi-mesh te werken. In een wifi mesh heeft elk station maar één upstream connectie. Maar kan meerdere down stream connecties hebben (Figuur 5). De specificaties die de vorming van een netwerk bepalen moeten geprogrammeerd worden.
Een manier is om te werken met de RSSI. Stel dat alle sations op hetzelfde moment opstarten; Het station met de beste RSSI wordt de “Root Node”. Daarna worden alle stations die connecties kunnen maken met de Root node “intermediate parent nodes”, stations die geen connectie kunnen maken met de root node, maar wel met een reeds geconnecteerde intermediate parent node worden 2de orde intermediate parent nodes, het laagste niveau stations worden de ‘leaf nodes’.
Resultaat van een Wifi mesh is dat het volledige netwerk één SSID en PWD heeft en alle gegevens van alle nodes met elkaar gedeeld worden. IoT metingen die gebeuren met een sensor in het Wifi-Mesh zijn beschikbaar op alle nodes en kunnen eender waar uitgelezen worden. Het koppelen en afkoppelen van een IoT toestel op de mesh wordt ook bij alle nodes geregistreerd.
Indoor positioning
In een traditioneel netwerk kunnen verschillende Acces points op de wanden en plafond geplaatst worden op vaste plaatsen. Op basis van de RSSI kan een sensor grofweg zijn positie trilatereren wanneer hij 3 wifi access points kan zien. Door het gebruik van deze methode zijn er drie vaste punten nodig om een indoor positie te bepalen [1]. Hierbij kan een nauwkeurigheid van 1-3 meter bereikt worden.
Wanneer een IoT sensor geen 3 Access points kan detecteren, kan de positie moeilijker bepaald worden. Bij het gebruiken van een Wifi Mesh kunnen alle sensoren data doorsturen naar de Router en een deel van de sensoren kan zijn positie bepalen door trilatereren op basis van vaste meetpunten. Het ander gedeelte van de sensoren kan ook trilatereren maar op basis van niet-vaste meetpunten met geschatte posities. Wat de nauwkeurigheid niet ten goede komt.
[1] Indoor Object Localization Based on IPS: Wi-Fi Trilateration for Smartphones
Figuren en tabellen
Figuur 1 Voorbeeld van 2 ESP toestellen die alterneren tussen Access point (AP: 1 seconde) en Station (STA: 5 seconden) mode. Met het moment van detectie, Volgnummer van het netwerk in de scan, naam van het wifi netwerk, RSSI met het netwerk

Figuur 2 Schematische voorstelling ESP32 Access Point en Station (In-depth: Create A Simple ESP32 Web Server In Arduino IDE )

Tabel 1 Proefopzet 3 ESP boards op verschillende afstanden (in meter) en gemiddelde RSSI resultaat.
Station (STA) - access point (AP) | afstand(m) | Gemiddelde RSSI (+-10 metingen) |
2-1 | 0,17 | -41,92 |
2-3 | 0,6 | -57,22 |
3-1 | 0,55 | -48 |
3-2 | 0,6 | -66,33 |
1-2 | 0,17 | -52,66 |
1-3 | 0,55 | -59,85 |
3-2 | 10 | -82,5 |
3-1 | 27 | -91,875 |
3-2 | 10 | -69 |

Figuur 3 Grafiek met de verhouding tussen de afstand tussen ESP toestellen binnenhuis/buitenhuis geplaatst en de respectievelijke RSSI.

Figuur 4 Traditioneel Wifi netwerk Page not Found - ESP32 - — ESP-IDF Programming Guide latest documentation

Figuur 5A: Wifi Mesh netwerk Page not Found - ESP32 - — ESP-IDF Programming Guide latest documentation

Figuur 5B Schematisch Wifi mesh netwerk (Page not Found - ESP32 - — ESP-IDF Programming Guide latest documentation )

Figuur 6 Voorbeeld Wifi mesh met 4 ESP devices geprogrammeerd met PainlessMesh (ESP-MESH with ESP32 and ESP8266: Getting Started | Random Nerd Tutorials ). Het huidige device ziet 3 andere. Eerste lijn = connectie van een nieuwe node in de mesh. Daarna melding van nieuwe connectie, 8 lijnen communicatie van 2 andere nodes, daarna 4 lijnen waarbij de offset van de interne klikken van de ESP devices worden gemeten.

Figuur 7 Aankoppelen van 3 DS18B20 temperatuur sensoren aan 3 van de 4 ESP toestellen. "Sensor 1" is de temperatuur meting op huidig toestel, null = temperatuur meting voor ESP toestel zonder DS18B20, en 23.06 en 26.62 zijn de temperatuurmeting van DS18B20 aangekoppeld aan ESP toestellen.