Skip to main content

Get position based on wifi APs and radiocells.org or Mozilla location database.

Project description

Locates the current wifi-enabled computer using nearby access points and https://radiocells.org/geolocation or https://wiki.mozilla.org/CloudServices/Location/FAQ or both.

Project home: https://github.com/ways/wifindme

Takes over from https://github.com/ways/locate-radiocells with the added benefit of Mozilla Location Services.


Installation

$ pip install wifindme

Usage

Must run as root to get access to scanning on Linux.

Example use:

import wifindme
accuracy, latlng = wifindme.locate(device='wlan0')

Example script included in examples/, (prints out accuracy in meters, and coordinates):

$ sudo ./wifindme.py wlan0
30 (59.12345, 10.12345)

Compatibility

Python 2 and 3. Only tested on Linux (Ubuntu, Fedora, Arch).

Development info

example query sent to radiocells.org:

curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"wifiAccessPoints":[{"macAddress":"24-DE-C6-A8-C9-64","signalStrength":-57}]}' https://radiocells.org/backend/geolocate

Example response:

{"source": "wifis", "measurements": 14, "location": {"lat": 59.12345, "lng": 10.12345}, "accuracy": 30}

or on fail:

{'resultType': 'error', 'results': {'source': 'none', 'measurements': 0, 'location': {'lat': 0.0, 'lng': 0.0}, 'accuracy': 9999}, 'error': {'message': 'Empty request', 'code': 400, 'errors': [{'message': None, 'reason': 'parseError', 'domain': 'global'}]}}

TODO

  • Notify https://wiki.mozilla.org/CloudServices/Location/Software
  • Support fetching location from both at the same time.
  • Googles API is compatible, so can add that as well.
  • Check with Mozilla if this can be packaged with test API key.
  • Correct radiocells “accuracy”. They always give 30m…

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for wifindme, version 0.3.0
Filename, size File type Python version Upload date Hashes
Filename, size wifindme-0.3.0-py2.py3-none-any.whl (9.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size wifindme-0.3.0.tar.gz (5.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page