initial commit without secrets :>
This commit is contained in:
140
code.py
Executable file
140
code.py
Executable file
@ -0,0 +1,140 @@
|
||||
print("\nchaos minimap!")
|
||||
import os
|
||||
import wifi
|
||||
import adafruit_connection_manager
|
||||
import adafruit_requests
|
||||
import json
|
||||
import time
|
||||
import board
|
||||
import busio
|
||||
import displayio
|
||||
import terminalio
|
||||
from adafruit_display_text import label
|
||||
|
||||
# Import the SSD1306 module.
|
||||
import adafruit_ssd1306
|
||||
|
||||
from secrets import hauk_endpoint,hauk_session,hauk_slug,hauk_name
|
||||
|
||||
# Create the I2C interface.
|
||||
i2c = busio.I2C(board.D7, board.D8)
|
||||
|
||||
# Create the SSD1306 OLED class.
|
||||
# The first two parameters are the pixel width and pixel height. Change these
|
||||
# to the right size for your display!
|
||||
display = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)
|
||||
|
||||
pool = adafruit_connection_manager.get_radio_socketpool(wifi.radio)
|
||||
ssl_context = adafruit_connection_manager.get_radio_ssl_context(wifi.radio)
|
||||
requests = adafruit_requests.Session(pool, ssl_context)
|
||||
|
||||
locavg = []
|
||||
def location_avg():
|
||||
global locavg
|
||||
if len(locavg) > 10:
|
||||
locavg = locavg[1:]
|
||||
lavg = list(zip(*locavg))
|
||||
print(lavg[0], lavg[1])
|
||||
lavg = (sum(lavg[0])/len(lavg[0]), sum(lavg[1])/len(lavg[1]))
|
||||
return lavg
|
||||
|
||||
def update_location():
|
||||
global locavg
|
||||
print('scanning',)
|
||||
wifi.radio.stop_scanning_networks()
|
||||
time.sleep(2)
|
||||
ns = wifi.radio.start_scanning_networks()
|
||||
wifi_peers = []
|
||||
for n in ns:
|
||||
#print(n.ssid, n.bssid.hex(':'), n.rssi, n.channel)
|
||||
wifi_peers.append({"bssid": n.bssid.hex(':'), "ssid": n.ssid, "rssi": n.rssi})
|
||||
|
||||
#print(wifi_peers)
|
||||
wifi.radio.stop_scanning_networks()
|
||||
print('loc request')
|
||||
|
||||
data = json.dumps(wifi_peers)
|
||||
print(data)
|
||||
lat,lon=0,0
|
||||
with requests.post(f"{hauk_endpoint}/location", data=data) as response:
|
||||
#print(response.text)
|
||||
j = response.json()
|
||||
if 'triangulation' in j:
|
||||
print(j['triangulation'])
|
||||
lat = j['triangulation']['Position']['Lat']
|
||||
lon = j['triangulation']['Position']['Lon']
|
||||
else:
|
||||
print('no location received')
|
||||
|
||||
locavg.append((lat,lon))
|
||||
lavg = location_avg()
|
||||
print(lavg)
|
||||
form_data={"sid":hauk_session, "lat":lavg[0],"lon":lavg[1], "time":0.0, "pwd":""}
|
||||
print(form_data)
|
||||
with requests.post("{hauk_endpoint}/api/post.php", data=form_data) as r:
|
||||
print('post.php', r.text)
|
||||
|
||||
import math
|
||||
|
||||
def haversine(coord1, coord2):
|
||||
"""
|
||||
Calculate the great-circle distance between two points on the Earth
|
||||
specified in decimal degrees (latitude and longitude).
|
||||
|
||||
Parameters:
|
||||
coord1 (tuple): (latitude, longitude) for point 1
|
||||
coord2 (tuple): (latitude, longitude) for point 2
|
||||
|
||||
Returns:
|
||||
float: distance in kilometers between the two points
|
||||
"""
|
||||
|
||||
# Convert latitude and longitude from degrees to radians
|
||||
lat1, lon1 = map(math.radians, coord1)
|
||||
lat2, lon2 = map(math.radians, coord2)
|
||||
|
||||
# Haversine formula
|
||||
dlon = lon2 - lon1
|
||||
dlat = lat2 - lat1
|
||||
a = math.sin(dlat / 2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2)**2
|
||||
c = 2 * math.asin(math.sqrt(a))
|
||||
|
||||
# Radius of Earth in kilometers (mean radius)
|
||||
r = 6371.0
|
||||
|
||||
return c * r
|
||||
|
||||
def update_display():
|
||||
display.fill(0)
|
||||
display.text("freeside minimap!", 0, 0, 1)
|
||||
l = {}
|
||||
with requests.get(f"{hauk_endpoint}/api/fetch.php?id={hauk_slug}&since=0") as r:
|
||||
#print('fetch.php', r.text)
|
||||
l = r.json()
|
||||
|
||||
print(l)
|
||||
|
||||
d = location_avg()
|
||||
for (name,val), i in zip(l['points'].items(), range(len(l['points']))):
|
||||
if len(val) > 0:
|
||||
distance = haversine(d, (val[0][0],val[0][1]))
|
||||
else:
|
||||
distance = float('inf')
|
||||
print(name, "is", distance)
|
||||
display.text(f"{name}: {distance}", 0, 10*(i+1), 1)
|
||||
display.show()
|
||||
|
||||
display.fill(0)
|
||||
display.text("freeside minimap!", 0, 0, 1)
|
||||
display.show()
|
||||
|
||||
def code_update():
|
||||
|
||||
|
||||
while True:
|
||||
try:
|
||||
update_location()
|
||||
update_display()
|
||||
except Exception as e:
|
||||
raise e
|
||||
|
||||
BIN
font5x8.bin
Executable file
BIN
font5x8.bin
Executable file
Binary file not shown.
0
lib/adafruit_bus_device/__init__.py
Executable file
0
lib/adafruit_bus_device/__init__.py
Executable file
BIN
lib/adafruit_bus_device/i2c_device.mpy
Executable file
BIN
lib/adafruit_bus_device/i2c_device.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_bus_device/spi_device.mpy
Executable file
BIN
lib/adafruit_bus_device/spi_device.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_color_terminal.mpy
Executable file
BIN
lib/adafruit_color_terminal.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_connection_manager.mpy
Executable file
BIN
lib/adafruit_connection_manager.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_analogclock.mpy
Executable file
BIN
lib/adafruit_display_analogclock.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_emoji_text.mpy
Executable file
BIN
lib/adafruit_display_emoji_text.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_notification/__init__.mpy
Executable file
BIN
lib/adafruit_display_notification/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_notification/apple.mpy
Executable file
BIN
lib/adafruit_display_notification/apple.mpy
Executable file
Binary file not shown.
0
lib/adafruit_display_shapes/__init__.py
Executable file
0
lib/adafruit_display_shapes/__init__.py
Executable file
BIN
lib/adafruit_display_shapes/arc.mpy
Executable file
BIN
lib/adafruit_display_shapes/arc.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/circle.mpy
Executable file
BIN
lib/adafruit_display_shapes/circle.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/filled_polygon.mpy
Executable file
BIN
lib/adafruit_display_shapes/filled_polygon.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/line.mpy
Executable file
BIN
lib/adafruit_display_shapes/line.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/multisparkline.mpy
Executable file
BIN
lib/adafruit_display_shapes/multisparkline.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/polygon.mpy
Executable file
BIN
lib/adafruit_display_shapes/polygon.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/rect.mpy
Executable file
BIN
lib/adafruit_display_shapes/rect.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/roundrect.mpy
Executable file
BIN
lib/adafruit_display_shapes/roundrect.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/sparkline.mpy
Executable file
BIN
lib/adafruit_display_shapes/sparkline.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_shapes/triangle.mpy
Executable file
BIN
lib/adafruit_display_shapes/triangle.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/__init__.mpy
Executable file
BIN
lib/adafruit_display_text/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/bitmap_label.mpy
Executable file
BIN
lib/adafruit_display_text/bitmap_label.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/label.mpy
Executable file
BIN
lib/adafruit_display_text/label.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/outlined_label.mpy
Executable file
BIN
lib/adafruit_display_text/outlined_label.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/scrolling_label.mpy
Executable file
BIN
lib/adafruit_display_text/scrolling_label.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_display_text/text_box.mpy
Executable file
BIN
lib/adafruit_display_text/text_box.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_flipclock/__init__.mpy
Executable file
BIN
lib/adafruit_displayio_flipclock/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_flipclock/flip_clock.mpy
Executable file
BIN
lib/adafruit_displayio_flipclock/flip_clock.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_flipclock/flip_digit.mpy
Executable file
BIN
lib/adafruit_displayio_flipclock/flip_digit.mpy
Executable file
Binary file not shown.
0
lib/adafruit_displayio_layout/__init__.py
Executable file
0
lib/adafruit_displayio_layout/__init__.py
Executable file
BIN
lib/adafruit_displayio_layout/layouts/__init__.mpy
Executable file
BIN
lib/adafruit_displayio_layout/layouts/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/layouts/grid_layout.mpy
Executable file
BIN
lib/adafruit_displayio_layout/layouts/grid_layout.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/layouts/linear_layout.mpy
Executable file
BIN
lib/adafruit_displayio_layout/layouts/linear_layout.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/layouts/page_layout.mpy
Executable file
BIN
lib/adafruit_displayio_layout/layouts/page_layout.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/layouts/tab_layout.mpy
Executable file
BIN
lib/adafruit_displayio_layout/layouts/tab_layout.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/__init__.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/cartesian.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/cartesian.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/control.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/control.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/easing.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/easing.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/flip_input.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/flip_input.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/icon_animated.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/icon_animated.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/icon_widget.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/icon_widget.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/switch_round.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/switch_round.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_displayio_layout/widgets/widget.mpy
Executable file
BIN
lib/adafruit_displayio_layout/widgets/widget.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_fakerequests.mpy
Executable file
BIN
lib/adafruit_fakerequests.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_framebuf.mpy
Executable file
BIN
lib/adafruit_framebuf.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/__init__.mpy
Executable file
BIN
lib/adafruit_hashlib/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_md5.mpy
Executable file
BIN
lib/adafruit_hashlib/_md5.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_sha1.mpy
Executable file
BIN
lib/adafruit_hashlib/_sha1.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_sha224.mpy
Executable file
BIN
lib/adafruit_hashlib/_sha224.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_sha256.mpy
Executable file
BIN
lib/adafruit_hashlib/_sha256.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_sha384.mpy
Executable file
BIN
lib/adafruit_hashlib/_sha384.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_hashlib/_sha512.mpy
Executable file
BIN
lib/adafruit_hashlib/_sha512.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/__init__.mpy
Executable file
BIN
lib/adafruit_httpserver/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/authentication.mpy
Executable file
BIN
lib/adafruit_httpserver/authentication.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/exceptions.mpy
Executable file
BIN
lib/adafruit_httpserver/exceptions.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/headers.mpy
Executable file
BIN
lib/adafruit_httpserver/headers.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/interfaces.mpy
Executable file
BIN
lib/adafruit_httpserver/interfaces.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/methods.mpy
Executable file
BIN
lib/adafruit_httpserver/methods.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/mime_types.mpy
Executable file
BIN
lib/adafruit_httpserver/mime_types.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/request.mpy
Executable file
BIN
lib/adafruit_httpserver/request.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/response.mpy
Executable file
BIN
lib/adafruit_httpserver/response.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/route.mpy
Executable file
BIN
lib/adafruit_httpserver/route.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/server.mpy
Executable file
BIN
lib/adafruit_httpserver/server.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_httpserver/status.mpy
Executable file
BIN
lib/adafruit_httpserver/status.mpy
Executable file
Binary file not shown.
0
lib/adafruit_io/__init__.py
Executable file
0
lib/adafruit_io/__init__.py
Executable file
BIN
lib/adafruit_io/adafruit_io.mpy
Executable file
BIN
lib/adafruit_io/adafruit_io.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_io/adafruit_io_errors.mpy
Executable file
BIN
lib/adafruit_io/adafruit_io_errors.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_itertools/__init__.mpy
Executable file
BIN
lib/adafruit_itertools/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_itertools/adafruit_itertools_extras.mpy
Executable file
BIN
lib/adafruit_itertools/adafruit_itertools_extras.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_json_stream.mpy
Executable file
BIN
lib/adafruit_json_stream.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_jwt.mpy
Executable file
BIN
lib/adafruit_jwt.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/__init__.mpy
Executable file
BIN
lib/adafruit_led_animation/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/__init__.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/__init__.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/blink.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/blink.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/chase.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/chase.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/colorcycle.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/colorcycle.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/comet.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/comet.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/customcolorchase.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/customcolorchase.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/grid_rain.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/grid_rain.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/multicolor_comet.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/multicolor_comet.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/pacman.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/pacman.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/pulse.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/pulse.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/rainbow.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/rainbow.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/rainbowchase.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/rainbowchase.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/rainbowcomet.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/rainbowcomet.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/rainbowsparkle.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/rainbowsparkle.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/solid.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/solid.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/sparkle.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/sparkle.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/sparklepulse.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/sparklepulse.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/animation/volume.mpy
Executable file
BIN
lib/adafruit_led_animation/animation/volume.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/color.mpy
Executable file
BIN
lib/adafruit_led_animation/color.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/grid.mpy
Executable file
BIN
lib/adafruit_led_animation/grid.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/group.mpy
Executable file
BIN
lib/adafruit_led_animation/group.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/helper.mpy
Executable file
BIN
lib/adafruit_led_animation/helper.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/pulse_generator.mpy
Executable file
BIN
lib/adafruit_led_animation/pulse_generator.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/sequence.mpy
Executable file
BIN
lib/adafruit_led_animation/sequence.mpy
Executable file
Binary file not shown.
BIN
lib/adafruit_led_animation/timedsequence.mpy
Executable file
BIN
lib/adafruit_led_animation/timedsequence.mpy
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user