- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Solved! Go to solution.
- Labels:
-
Dashboard API
-
Scanning API
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hey Nolan,
Client doesn't want to track density but signal strength to monitor coverage and network health.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This might be something that could be useful:
https://7signal.com/products/what-is-wireless-network-monitoring/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
