cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Use Dashboard and Location API to display wifi users based on rssi signals

SOLVED
Here to help

Use Dashboard and Location API to display wifi users based on rssi signals

Hi guys,

 

It's still January so I wish you all the best for 2019!

 

We have been asked to work on a dashboard that would display wifi users based on their rssi signals on a floor plan. The client wants to monitor the quality of service with red/orange/green colour of each of his site.

 

I guess we need to use both dashboard and location API to do that but is it feasible? Has it already been done somewhere?

 

Thanks for your help!

Best,

Boundless

Noel-Edouard Chenu
1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Kind of a big deal

Re: Use Dashboard and Location API to display wifi users based on rssi signals

I've given this some consideration - and I don't think this will achieve that you are thinking.  RSSI will not give you an indication of "quality of service".

 

For example, a client might reduce their power right down to conserve battery but still have a good quality connection.  If you based some kind of output on RSSI you would mistakenly show this using as having a poor quality of service.

 

You really need to use the wireless health API in some way.

https://dashboard.meraki.com/api_docs#wireless-health

 

Perhaps you could use the scanning API to get the client location, and then you this API to get a break down of latency measurements.

https://dashboard.meraki.com/api_docs#aggregated-latency-info-for-a-given-client-on-this-network

6 REPLIES 6
Kind of a big deal

Re: Use Dashboard and Location API to display wifi users based on rssi signals

Does the 'Wireless>Location Heatmap' do anything for you?


Nolan Herring | nolanwifi.com
TwitterLinkedIn
Here to help

Re: Use Dashboard and Location API to display wifi users based on rssi signals

Hey Nolan,

 

Client doesn't want to track density but signal strength to monitor coverage and network health.

Noel-Edouard Chenu
Kind of a big deal

Re: Use Dashboard and Location API to display wifi users based on rssi signals

Hmm..we'll that might be a request more than what Meraki offers in-house. Unless there is some way to utilize the Scanning-API etc., which I"m not familiar with.

This might be something that could be useful:
https://7signal.com/products/what-is-wireless-network-monitoring/

Nolan Herring | nolanwifi.com
TwitterLinkedIn
Kind of a big deal

Re: Use Dashboard and Location API to display wifi users based on rssi signals

I played around with something very similar to what you're asking not too long ago. Using the Meraki Scanning API and a modified version of cmxreceiver-python that @DexterLaBora created I was able to use geojson.io to plot client devices on a map.

 

The cmxreceiver geojson example it doesn't quite convert to geojson format correctly (and it doesn't overwrite the key correctly) so I had to modify that to output the correct syntax. You can compare what I did with the original script (it's the mongoDB version of the script):

 

def save_data(data):
    # print("---- RECEIVING CMX DATA ----")
    # CHANGE ME - send 'data' to a database or storage system
    # pprint(data, indent=1)

    data["secret"] = "hidden"
    data["geoJSON"] = {"type": "FeatureCollection", "features": []}

    for i in data["data"]["observations"]:

        if i["location"] is None:
            print(i["clientMac"] + " is NONE location... Skipping!")
            continue

        lat = i["location"]["lat"]
        lng = i["location"]["lng"]
        clientmac = i["clientMac"]

        data["geoJSON"]["features"].append({
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [lng, lat]
            },
            "properties": {
                "name": clientmac
            }
        })

For my script I just copied a single AP report to the clipboard, and then exited the script (not shown). I then had to manually paste that geojason formatted output into geojson.io to plot the client devices. 

 

Like I said, this was just a PoC 😉

 

For your ask specifically, the RSSI data for each client is included in the scanning API report from an AP, so you have that available in whatever solution you end up building. I discarded it in my code, but you'll want to add that (probably into the "properties" field of the geojson).

 

Good luck!

Highlighted
Kind of a big deal

Re: Use Dashboard and Location API to display wifi users based on rssi signals

I've given this some consideration - and I don't think this will achieve that you are thinking.  RSSI will not give you an indication of "quality of service".

 

For example, a client might reduce their power right down to conserve battery but still have a good quality connection.  If you based some kind of output on RSSI you would mistakenly show this using as having a poor quality of service.

 

You really need to use the wireless health API in some way.

https://dashboard.meraki.com/api_docs#wireless-health

 

Perhaps you could use the scanning API to get the client location, and then you this API to get a break down of latency measurements.

https://dashboard.meraki.com/api_docs#aggregated-latency-info-for-a-given-client-on-this-network

Here to help

Re: Use Dashboard and Location API to display wifi users based on rssi signals

Thanks Philip.

 

We will gather info from Syslog, SNMP traps, the dashboard API and the wireless health API. Not sure we won't have to dig into the CMX one.

 

If we get a go from the customer, I'll share our work.

 

Thank you all for your help!

Noel-Edouard Chenu
Welcome to the Meraki Community!
To start contributing, simply sign in with your Cisco account. If you don't yet have a Cisco account, you can sign up.