Two of our devices (The Yabby WiFi and The Falcon) feature WiFi Sniffing modules to track assets inside warehouses, factories, garages, basements, and other buildings where even the best GPS just doesn’t work
How does WiFi Positioning work?
The WiFi Sniffing module on these devices scans for all WiFi access points in the vicinity. The device does not actually connect to the WiFi networks, it simply explores which networks (access points) are available around it, and measures signal intensity. We also send the Cell ID of the tower that the device is connected to assist in the position algorithm.
This information is then used to triangulate a position.
When the MAC addresses of the networks get uploaded to Google, they compare them to their database of MAC addresses that are picked up by phones and other google devices with GPS modules, and reply with the GPS positioning based on the signal strength of the known networks from the DM device
Google GeoLocation API
The accuracy of WiFi Positioning is impressive, especially in urban areas with a lot of WiFi access points. Expect accuracy between 10m to 40m in most locations.
Choosing the right WiFi points
- Stands for "Service Set Identifier." An SSID is a unique ID that consists of 32 characters and is used for naming wireless networks
- MAC Address
- a MAC Address is a unique identifying number on a network interface module
- Unicast transmission is a type of communication where data is sent from one origin to one destination point to point.
- Multicast is where a piece of information is sent from one or more points to a set of other points
- Organizational Unique Identifier. This is the first 24 bits of a MAC address for a network-connected device, which indicate the specific vendor for that device
Here are the filters that are applied to the wifi scans:
- The SSID must not be blank (i.e the network cannot be hidden). This is because of point 2.
- The SSID must not be a mobile hotspot. As such networks are filtering if the following are in any part of the SSID:
- The MAC address must be globally unique, not locally administered as globally unique ones are more likely to return a position
- The MAC address must be unicast, multicast gets rid of the OUI (ie the manufacturer specific identifier), which means the mac address may not be unique
- The MAC address must not be reserved i.e, it must not be of the format: 00:00:XX:XX:XX:XX or FF:FF:FF:FF:FF:FF
Our devices only send the X highest signal strength networks, with X being configurable. As such, the devices filter the networks to ensure they only send ones with the highest chance of returning an accurate position. The defaults for OEM are below.
Increasing this value does not typically yield and appreciable improvement in positioning accuracy - only more data will be used as more MAC addresses are sent to the server - so it is best left on defaults for most applications.
Integration with 3rd Party Platforms
Determining the position via Wi-Fi is slightly more complicated than a typical GPS device. A GPS device will send its Lat/Long directly in the device payload in Field 0.
Wi-Fi data is sent in Field 25, and is simply the list of MAC addresses.
The server must then send this list via API Call to Google's Geolocation API - which will then return a Lat/Long, to then be used to show the location in a tracking platform.