Wi-Fi tracking, but serverless
This application tracks the location of the F1 Starter Kit without adding any extra sensors or peripherals. So-called WiFi sniffing is a great way of localizing assets as it – other than GPS – works indoors, and doesn’t require long and time-consuming satellite scans.
How it works:
-
Scan. The F1 wakes up at preconfigurable time intervals, currently set to 15 minutes, and scans for nearby Wi-Fi access points. It keeps up to 6 strongest BSSIDs and drops randomized addresses (such as phone hotspots).
To avoid sending data while the device hasn’t moved, it compares the BSSIDs with those of the last message sent. A new message is sent only when at least 50% of them have changed. If nothing changes, the device still sends an uplink every 6 hours.
-
Send. It connects over cellular and sends the list of BSSIDs and RSSIs (signal strengths) to TagoIO in a UDP message. Once an ACK is received, the module goes to sleep.
-
Resolve. In TagoIO, each received data message triggers a script, which sends the BSSIDs and RSSIs to the Google Geolocation API.
-
Store. Google returns the latitude, longitude and accuracy radius. The script writes these back to TagoIO, where they are stored.
-
Show. A TagoIO dashboard shows the device’s location on a map, including its accuracy.
Link to documentation: github.com/laurensslats/f1-wifi-tracker
Preview of dashboard:
