@ MichelJasmin, would you share some BASIC code ? I still working on a LoRa 868MHz (RN2483) portable signal strength indication.

The ESP8266 gives the RSSI (Received signal strength indication) when you ask it to list all access points near by.

For the ones who wants to know how to triangulate, here it is:

Disclaimer: it's an approximate triangulation and the signal strength depends where is the source inside the home which impact the results.

To understantd how I did it, see the triangulation as vectors with differents signal strengths. Each one "pulling" with it's own strength.

All of the triangulation computing is done with some queries in the database. This saves A LOT of code.

The RSSI (Received signal strength indication) is an attenuation given in negative dB: -90db is less than -60dB and so on. To simplify things I work with positive numbers as a kind of signal strength:

Strength = (100 + RSSI)

Why 100? Because the RSSI given by the ESP never goes below -99dB.

Some simple math now. For a given Access Point (AP) I do a sum of all the measured signal strength: let's call it [RSSI_Sum]

Then for each sample (Strength @ coordinate) I compute a strength ratio (the vector "Strength"):

[email protected] =

[email protected] / [RSSI_Sum]

[email protected] =

[email protected] / [RSSI_Sum]

...

[email protected]_n =

[email protected]_n / [RSSI_Sum]

Then I triangulate (ok, approximate a triangulation) the lat/long by doing a sum of... I don't know how to explain it in english...

for each GPS coordinate I do apply the SignalRatio of that coordinate then sum them all:

Latitude = Sum( Lat_n * [SignalRatio_n] )

Longitude = Sum( Long_n * [SignalRatio_n] )

It's a really rough triangulation because the planet is kind of round (Google "Mercator projection") but it's kind of OK for a few meters.

Finally a build a HTML file with some generated JavaScript for the Google Maps API. Kind of ugly but for a one time project it's OK.

If anyone want to know how I parsed the NMEA sentenses from the GPS let me know!