Using Wi-Fi RAW data
Using Wi-Fi scan allows you to fix a position also in the most challenging environments where GNSS signals is obstructed or it has multiple reflection. In such cases, fixing the position with GNSS might take several tens of seconds, thus consuming a significant amount of energy, with the risk of not being able to fix a position anyway,
Wi-Fi location is based on the fingerprinting technology and requires to submit to CloudLocate service the following information for each visible access point:
BSSID: it's the identifier of the AP, made up of 6 octets without any separator (for example "9112684715b4")
SignalStrength: it's the received signal level. It might be reported in different ways according to the module vendor. The API requires a negative value (dBm).
Channel: it's the WiFi channel used by the AP
For privacy reason, you shall send a minimum of 2 access points.
Using u-blox NINA-W15 series module
To obtain the list of Wi-Fi access points using a u-blox NINA-W15x Wi-Fi module, all you need to do is to send an AT command to the module that returns the required number of access points and their relevant information. The command is given as following:
AT+UWSCAN
The response from the scan is returned as following:
+UWSCAN:<bssid>,<op_mode>,<ssid>,<channel>,<rssi>,<authentication_suites>,<unicast_ciphers>,<group_ciphers>
From the given response, relevant information can be extracted and passed in to the Wi-Fi measurement section of CloudLocate. For example, AT command gives a response as:
AT+UWSCAN
+UWSCAN:a1b2c3d4e6f7,1,"staffWifi",1,-87,28,14,2
+UWSCAN:a8b9c6f2d3e8,1,"guestWifi",6,-57,18,8,8
OK
The given response can be mapped to CloudLocate payload without any conversion
{
"WiFiMeasurements":[
{
"BSSID":"a1b2c3d4e6f7",
"SignalStrength":-87,
"Channel":1
},
{
"BSSID":"a8b9c6f2d3e8",
"SignalStrength":-57,
"Channel":6
}
]
}
Using u-blox NORA-W36 series
As for u-blox NINA-W15x series, also for NORA-W36 series you need an AT command to get the list of Wi-Fi Access Points visible by the device.
AT+UWSSC=<scan_mode>
where scan mode can be Active (0) or Passive (1)
The output is in the format
+UWSSC:<bssid>,<op_mode>,<ssid>,<channel>,<rssi>,<authentication_suites>,<unicast_ciphers>,<group_ciphers>
and here below an example of a real output with 5 access points
+UWSSC:802AA8035ADE,"ubx",1,-50,18,8,8
+UWSSC:E063DAB75709,"QuickOffice Hyresgast",1,-81,18,8,8
+UWSSC:70F35A51FC61,"cb-test-me-enterprise",1,-84,18,8,8
+UWSSC:244BFE2E8258,"ae-sho_2G",1,-87,18,8,8
+UWSSC:70F35A51FC64,"cb-jenkins-open",1,-82,0,255,255
and the corresponding JSON payload
{
"RequestId": "82cb34c9-88c9",
"WiFiMeasurements": [
{
"BSSID": "802AA8035ADE",
"SignalStrength": -50,
"Channel": 1
},
{
"BSSID": "E063DAB75709",
"SignalStrength": -81,
"Channel": 1
},
{
"BSSID": "70F35A51FC61",
"SignalStrength": -84,
"Channel": 1
},
{
"BSSID": "244BFE2E8258",
"SignalStrength": -87,
"Channel": 1
},
{
"BSSID": "70F35A51FC64",
"SignalStrength": -82,
"Channel": 1
}
]
}
You can find further details about the output in the AT command manual
Using third party Wi-Fi modems
If you are using a modem not belonging to u-blox portfolio, feel free to contact the support so that we can help you. Aa first step we suggest you to look at the modem interface specification/technical documentation to see how you can perform a network scan and retrieve the required parameter.
In this section
Still need help?
CloudLocate getting started guide
If you need more help or have any questions, please send an email to services-support@u-blox.com