mirror of
https://github.com/FreifunkFranken/fff-monitoring.git
synced 2024-06-17 04:44:25 +02:00
add wifi -> location api example
This commit is contained in:
parent
d89396516c
commit
41a89baa0c
43
contrib/geolocate.py
Executable file
43
contrib/geolocate.py
Executable file
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import requests
|
||||
import subprocess
|
||||
|
||||
# doku: https://developers.google.com/maps/documentation/geolocation/intro#wifi_access_point_object
|
||||
|
||||
"""
|
||||
r = requests.post("https://www.googleapis.com/geolocation/v1/geolocate", params={"key": "AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM"}, json={
|
||||
"wifiAccessPoints": [
|
||||
{
|
||||
"macAddress": "10-fe-ed-af-43-44",
|
||||
"signalStrength": 100
|
||||
},
|
||||
{
|
||||
"macAddress": "02-ca-ff-ee-ba-be",
|
||||
"signalStrength": 100
|
||||
}
|
||||
]
|
||||
})
|
||||
print(r.text)
|
||||
"""
|
||||
|
||||
networks = []
|
||||
|
||||
o = subprocess.check_output(["iwlist", "wlan0", "scanning"])
|
||||
ls = o.decode("UTF-8").split(" Cell")
|
||||
for wifi in ls[1:]:
|
||||
for field in wifi.split("\n"):
|
||||
if "Address:" in field:
|
||||
mac = field.split("Address: ")[1]
|
||||
elif "Signal level=" in field:
|
||||
signal_strength = field.split("Signal level=")[1].split(" dBm")[0]
|
||||
print("%s -> %s" % (mac, signal_strength))
|
||||
networks.append({"macAddress": mac, "signalStrength": signal_strength})
|
||||
|
||||
r = requests.post("https://www.googleapis.com/geolocation/v1/geolocate",
|
||||
params={"key": "AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM"},
|
||||
json={"wifiAccessPoints": networks}
|
||||
)
|
||||
|
||||
print({"wifiAccessPoints": networks})
|
||||
print(r.text)
|
Loading…
Reference in New Issue
Block a user