adding asteroid code and assets
This commit is contained in:
parent
c16e76efa1
commit
a38cbfb13d
5 changed files with 27834 additions and 0 deletions
27564
Asteroid_Tracker/Arial-14.bdf
Normal file
27564
Asteroid_Tracker/Arial-14.bdf
Normal file
File diff suppressed because it is too large
Load diff
BIN
Asteroid_Tracker/asteroid.bmp
Normal file
BIN
Asteroid_Tracker/asteroid.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
161
Asteroid_Tracker/code.py
Normal file
161
Asteroid_Tracker/code.py
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
# SPDX-FileCopyrightText: 2025 Liz Clark for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
import os
|
||||
import time
|
||||
import ssl
|
||||
import board
|
||||
import wifi
|
||||
import socketpool
|
||||
import microcontroller
|
||||
import displayio
|
||||
from adafruit_display_text.bitmap_label import Label
|
||||
from adafruit_bitmap_font import bitmap_font
|
||||
import adafruit_imageload
|
||||
from fourwire import FourWire
|
||||
import adafruit_requests
|
||||
from adafruit_gc9a01a import GC9A01A
|
||||
from adafruit_ticks import ticks_ms, ticks_add, ticks_diff
|
||||
|
||||
cad_url = ("https://ssd-api.jpl.nasa.gov/cad.api?"
|
||||
"des=2024%20YR4&body=ALL&"
|
||||
"date-min=2030-01-01&date-max=2060-01-01")
|
||||
sentry_url = "https://ssd-api.jpl.nasa.gov/sentry.api?des=2024%20YR4"
|
||||
# connect to wifi
|
||||
try:
|
||||
wifi.radio.connect(os.getenv('CIRCUITPY_WIFI_SSID'), os.getenv('CIRCUITPY_WIFI_PASSWORD'))
|
||||
except TypeError:
|
||||
print("Could not find WiFi info. Check your settings.toml file!")
|
||||
raise
|
||||
context = ssl.create_default_context()
|
||||
with open("/ssd-api-jpl-nasa-gov-chain.pem", "rb") as certfile:
|
||||
context.load_verify_locations(cadata=certfile.read())
|
||||
|
||||
pool = socketpool.SocketPool(wifi.radio)
|
||||
requests = adafruit_requests.Session(pool, context)
|
||||
|
||||
spi = board.SPI()
|
||||
tft_cs = board.TX
|
||||
tft_dc = board.RX
|
||||
tft_reset = None
|
||||
|
||||
displayio.release_displays()
|
||||
|
||||
display_bus = FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=tft_reset)
|
||||
display = GC9A01A(display_bus, width=240, height=240, auto_refresh=False)
|
||||
|
||||
main_group = displayio.Group()
|
||||
display.root_group = main_group
|
||||
|
||||
bitmap_bg, palette_bg = adafruit_imageload.load("/earth_bg.bmp",
|
||||
bitmap=displayio.Bitmap,
|
||||
palette=displayio.Palette)
|
||||
|
||||
grid_bg = displayio.TileGrid(bitmap_bg, pixel_shader=palette_bg)
|
||||
main_group.append(grid_bg)
|
||||
|
||||
font = bitmap_font.load_font('/Arial-14.bdf')
|
||||
name_area = Label(font, text="2024 YR4", color=0xFFFFFF, background_color=0x000000)
|
||||
name_area.anchored_position = (display.width / 2, 0)
|
||||
name_area.anchor_point = (0.5, 0.0)
|
||||
|
||||
date_area = Label(font, text="2032-12-22", color=0xFFFFFF, background_color=0x000000)
|
||||
date_area.anchored_position = (display.width / 2, name_area.height+10)
|
||||
date_area.anchor_point = (0.5, 0.0)
|
||||
|
||||
moon_area = Label(font, text="Moon: ", color=0xFFFFFF, background_color=0x000000)
|
||||
moon_area.anchored_position = (display.width / 2, name_area.height+10 + date_area.height+5)
|
||||
moon_area.anchor_point = (0.5, 0.0)
|
||||
|
||||
earth_area = Label(font, text="Earth: ", color=0xFFFFFF, background_color=0x000000)
|
||||
earth_area.anchored_position = (display.width / 2, name_area.height+10 +
|
||||
moon_area.height+5 +
|
||||
date_area.height + 5)
|
||||
earth_area.anchor_point = (0.5, 0.0)
|
||||
|
||||
impact_area = Label(font, text="Earth Impact: 0.0000%", color=0xFFFFFF, background_color=0x000000)
|
||||
impact_area.anchored_position = (display.width / 2, name_area.height+10 +
|
||||
moon_area.height+5 +
|
||||
earth_area.height + 5 +
|
||||
date_area.height + 5)
|
||||
impact_area.anchor_point = (0.5, 0.0)
|
||||
main_group.append(impact_area)
|
||||
main_group.append(earth_area)
|
||||
main_group.append(moon_area)
|
||||
main_group.append(date_area)
|
||||
main_group.append(name_area)
|
||||
|
||||
bit_asteroid, pal_asteroid = adafruit_imageload.load("/asteroid.bmp",
|
||||
bitmap=displayio.Bitmap,
|
||||
palette=displayio.Palette)
|
||||
|
||||
asteroid = displayio.TileGrid(bit_asteroid, pixel_shader=pal_asteroid,
|
||||
x = 25, y=100)
|
||||
pal_asteroid.make_transparent(0)
|
||||
main_group.append(asteroid)
|
||||
|
||||
def diagonal_travel(bitmap_object, start_x=-59, start_y=-59, end_x=240, end_y=240, delay=0.01):
|
||||
# Set initial position
|
||||
bitmap_object.x = start_x
|
||||
bitmap_object.y = start_y
|
||||
|
||||
# Calculate total movement distance
|
||||
distance_x = end_x - start_x
|
||||
distance_y = end_y - start_y
|
||||
|
||||
# Calculate number of steps (use the larger distance)
|
||||
steps = max(abs(distance_x), abs(distance_y)) // 1
|
||||
|
||||
# Calculate step size for each axis to maintain diagonal movement
|
||||
step_x = distance_x / steps
|
||||
step_y = distance_y / steps
|
||||
|
||||
# Animate the movement
|
||||
for i in range(steps + 1):
|
||||
# Update position
|
||||
bitmap_object.x = int(start_x + (step_x * i))
|
||||
bitmap_object.y = int(start_y + (step_y * i))
|
||||
display.refresh()
|
||||
# Pause to control animation speed
|
||||
time.sleep(delay)
|
||||
|
||||
def au_to_miles(au):
|
||||
# 1 AU = 92,955,807 miles
|
||||
miles_per_au = 92955807
|
||||
|
||||
return au * miles_per_au
|
||||
|
||||
timer_clock = ticks_ms()
|
||||
timer = 3600 * 1000
|
||||
first_run = True
|
||||
|
||||
while True:
|
||||
try:
|
||||
if first_run or ticks_diff(ticks_ms(), timer_clock) >= timer:
|
||||
sentry_response = requests.get(sentry_url)
|
||||
sentry_json = sentry_response.json()
|
||||
impact = sentry_json['summary']['ip']
|
||||
sentry_response.close()
|
||||
overall_ip = float(impact) * 100
|
||||
cad_response = requests.get(cad_url)
|
||||
cad_json = cad_response.json()
|
||||
earth_distance = au_to_miles(float(cad_json['data'][0][4]))
|
||||
earth_area.text = f"{cad_json['data'][0][10]}: {int(earth_distance)} mi"
|
||||
moon_distance = au_to_miles(float(cad_json['data'][1][4]))
|
||||
moon_area.text = f"{cad_json['data'][1][10]}: {int(moon_distance)} mi"
|
||||
date = cad_json['data'][0][3]
|
||||
date = date.split()
|
||||
date_area.text = f"{date[0]}"
|
||||
cad_response.close()
|
||||
impact_area.text = f"Earth Impact: {overall_ip:.4f}%"
|
||||
display.refresh()
|
||||
timer_clock = ticks_add(timer_clock, timer)
|
||||
diagonal_travel(asteroid, start_x=-45, start_y=300, end_x=300, end_y=-45)
|
||||
time.sleep(0.1)
|
||||
# pylint: disable=broad-except
|
||||
except Exception as e:
|
||||
print("Error:\n", str(e))
|
||||
print("Resetting microcontroller in 10 seconds")
|
||||
time.sleep(10)
|
||||
microcontroller.reset()
|
||||
BIN
Asteroid_Tracker/earth_bg.bmp
Normal file
BIN
Asteroid_Tracker/earth_bg.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
109
Asteroid_Tracker/ssd-api-jpl-nasa-gov-chain.pem
Normal file
109
Asteroid_Tracker/ssd-api-jpl-nasa-gov-chain.pem
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIHRjCCBS6gAwIBAgIQV82HcwAIb4tFlHpCQCtGuzANBgkqhkiG9w0BAQsFADBR
|
||||
MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQD
|
||||
DB9FbnRydXN0IE9WIFRMUyBJc3N1aW5nIFJTQSBDQSAxMB4XDTI1MDIwNTE0MDkw
|
||||
MloXDTI2MDMwMzE0MTg1OFoweDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlm
|
||||
b3JuaWExETAPBgNVBAcMCFBhc2FkZW5hMSIwIAYDVQQKDBlKZXQgUHJvcHVsc2lv
|
||||
biBMYWJvcmF0b3J5MR0wGwYDVQQDDBRzc2QtYXBpLmpwbC5uYXNhLmdvdjCCASIw
|
||||
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKXzsG9/H8CQzmmu1vwdM1RYrziS
|
||||
8dzCuw2fqOJXfvOEB+jbZZGIPDvUXCqug0Gb+Z5MsbAdwxT8RsKRuWl/xgRZWr/Y
|
||||
mtafmEIf3QeKy3/Hu2uUS1GQjTkfmY/3cj6szXJDF4YAC3lngFVWftmGrXhA1Dmm
|
||||
WqApxguIf2XPjetKjcX1TMdC5XyQ/lsy/vJTX+S8G9HRk+OhO45kAf8AvVeCWCOa
|
||||
XQ7jpEVBd610RGgD972XNazhoYtL2QKBm6GrSkx1rW/7aiPU0QLbkCoTJIno1yHn
|
||||
nlYKVYWn0V1uG2vcuChhebX6WOHp7U6KAcaKVbTvaTxv8whi+t4gjcJRbgECAwEA
|
||||
AaOCAvEwggLtMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUaA1FyjXC55ob8LOE
|
||||
3dXafwuJwREwaAYIKwYBBQUHAQEEXDBaMDYGCCsGAQUFBzAChipodHRwOi8vY2Vy
|
||||
dC5zc2wuY29tL0VudHJ1c3QtT1ZUTFMtSS1SMS5jZXIwIAYIKwYBBQUHMAGGFGh0
|
||||
dHA6Ly9vY3Nwcy5zc2wuY29tMB8GA1UdEQQYMBaCFHNzZC1hcGkuanBsLm5hc2Eu
|
||||
Z292MCMGA1UdIAQcMBowCAYGZ4EMAQICMA4GDCsGAQQBgqkwAQMBAjAdBgNVHSUE
|
||||
FjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDov
|
||||
L2NybHMuc3NsLmNvbS9FbnRydXN0LU9WVExTLUktUjEuY3JsMB0GA1UdDgQWBBQ9
|
||||
28d7XB5zNhW4Z/FiFGVefv8TpDAOBgNVHQ8BAf8EBAMCBaAwggF/BgorBgEEAdZ5
|
||||
AgQCBIIBbwSCAWsBaQB3AJaXZL9VWJet90OHaDcIQnfp8DrV9qTzNm5GpD8PyqnG
|
||||
AAABlNZ6jp0AAAQDAEgwRgIhAM/xkbmguT7NTj3lc6p/F3Um9y7fDhYjzHhWvyDc
|
||||
HIaQAiEAmRCNTCoJAOFtiXFseiUANEn16Wr3rW5cAUiAJ3mQPewAdwDLOPcViXyE
|
||||
oURfW8Hd+8lu8ppZzUcKaQWFsMsUwxRY5wAAAZTWeo6SAAAEAwBIMEYCIQCExfjt
|
||||
QsfbwEpS8cI3YNcXOAW3fMiAh6vOW2wD88iruwIhALfInWVFlobCtQYXLtXq2iqe
|
||||
HO083hp/cD0oDIChPD9SAHUAZBHEbKQS7KeJHKICLgC8q08oB9QeNSer6v7VA8l9
|
||||
zfAAAAGU1nqOzgAABAMARjBEAiBTSQczvVZCJ41l+JiC9n8fOkuYNf8jQ1uG5rKy
|
||||
M/g6IwIgK7YZziGBfBHHKYR8e+IyitJktRevFehnGPEwbMNOO1wwDQYJKoZIhvcN
|
||||
AQELBQADggIBAGCVD/1ROYGTKPhFeDUFiPjW7JKagsmldnWdtYQ7ran5Ozd8Hkju
|
||||
XaEi/sDed8wHv1Bf8lesHd3dz2KlaefLVBknntOMSC7fxr7cvkHHgJyJbWtrOESF
|
||||
JTuy13CdbIHZTxSRtVErCqumUC4omAOfffoGEMlcKvLlIK1NtZTibPsmeUVceMjI
|
||||
1iZ6OeAOQfZHwlHk49r1zN2D41/5NOT6hpg1bP+rwp/ZhRpT0cB0Q+PBF/GeRCJp
|
||||
fyLWng/yfILPl2EZoo2RJ0FbdM7VhxGK9359CbKpIPDrZAqagTafEvzRoL9afBAo
|
||||
n/fht0RCmHiz56vmYo4a742Hwr1Hgempgx+UBlTluf7UGEJ3ju9JEgM/wY+Zc9wm
|
||||
HyBcQjzPFcDMGGJo/cQwPNYOI06LePpvGiWLe/8WvW+MSPk19JEQj4uOf02Yowzj
|
||||
1LXFvSzTase6AjrjiOPd57rgmwUKju+/ouX5qyOBbB4dKJ1Q7pOvb2wR+yF/2Mro
|
||||
YJS73WJVK64mk6aletwcL0uy+vZiZlesBWIiERPR915NiDEeEYSXYtmwu0XhiS8b
|
||||
jxpMbXIEuhRtA3c8WeqKCbuSnQs+8SMaYpHZ3QgwCreBWl25J5J4nPtW3tPgINkG
|
||||
gKDVZyGsOJE4t/sQs7zoQAf4rX7eY+U4w+6CIE7XAkACI7Mug6kXOJZJ
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGVjCCBD6gAwIBAgIQb+Y+3l/BwDr7bXqFvToVbTANBgkqhkiG9w0BAQsFADBO
|
||||
MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD
|
||||
DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTI0MDgyMjE3NTMzOFoX
|
||||
DTI3MDgyMjE3NTMzN1owUTELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw
|
||||
b3JhdGlvbjEoMCYGA1UEAwwfRW50cnVzdCBPViBUTFMgSXNzdWluZyBSU0EgQ0Eg
|
||||
MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKCL+NvDMIL3efFuNaQc
|
||||
aYwzFpZQd/B6gkTd0s+Cu5jFu3Iw5qxis7xsRQWf739+ohRm42PYEiH7IjErxQAw
|
||||
+jbLstW7HP7UaTDoYSN/IZ5mG0wHF/QLlAyXsGz9hNPPE31CN8xfA4JFH8jaQftN
|
||||
QJJnRgWKFys3LK/U2YWbOkx4M50XHFsEDkAuwkt11vEzveJkglfd2O9srAhMsz21
|
||||
YciZed5VQRncdFbY0hh/hbs9n9eRkmg/ItDOmvKbWiljXP7Pigl9mMJWfnqEJaUd
|
||||
tt4FzpiizghGgTwGytDAUH7GxtiLdf3F/Vs5UhRUdEQEnm5Y1OVdjLb3CZpTc3vw
|
||||
XViwO/jG7b64Ancehrrpagbj8yVXGk4Vh8Rj4nf99whmGGP+z9+9T5DXaWTF2xt9
|
||||
PCbviJaIotT3XO7J2VGZyxnV85us4WVY7/vpCQgUEajsglaFW53UCD3uzuBUR3lW
|
||||
YDWZvd7wiPg5wWhA6DXL//MKVQ0dvUJ03AI+zxUvYCDyhBPOEx9ojRgF7HOvq+wG
|
||||
EvX6kV34e5ZLaeR0Wr8iaUq8Wl9oPB0vxuZdJMT4ewNHjLB6IFJY4cszBQBPmxMx
|
||||
jnRkaDb7B/dlS/I2sjTyxB/n+CwbHbuiwkKqVVQpbYws7cmrkUjLQklqFO1xJrVI
|
||||
Me3bAHHqOZeMfUYCo5gxrPCLAgMBAAGjggErMIIBJzASBgNVHRMBAf8ECDAGAQH/
|
||||
AgEAMB8GA1UdIwQYMBaAFPsuN+7jhHonLs0ZNbEzfP/UREK5MEwGCCsGAQUFBwEB
|
||||
BEAwPjA8BggrBgEFBQcwAoYwaHR0cDovL2NlcnQuc3NsLmNvbS9TU0xjb20tVExT
|
||||
LVJvb3QtMjAyMi1SU0EuY2VyMBEGA1UdIAQKMAgwBgYEVR0gADAdBgNVHSUEFjAU
|
||||
BggrBgEFBQcDAgYIKwYBBQUHAwEwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny
|
||||
bHMuc3NsLmNvbS9TU0xjb20tVExTLVJvb3QtMjAyMi1SU0EuY3JsMB0GA1UdDgQW
|
||||
BBRoDUXKNcLnmhvws4Td1dp/C4nBETAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcN
|
||||
AQELBQADggIBABNdeusuCgNkxuATfOU8MHWeX7BYQA77yRx/fdV5rEMOdIRMRH/J
|
||||
Ar7qQ+RH9SY4tqAwkfsKBNhgqZnjzeYOMmOVRTlOQpKJwMwZbX5M1IvuF45EF5BO
|
||||
dwRBIMAqSxLzFV4CAS1LUEptuA6SGMC6thY4TdQoHN1YR5A/tFmPj9ASDxlqE7Wc
|
||||
7ZkeL1R8NAKNbcYGPEUXAy9NMiIwwnTqJqQSQXAquf8rhOiOfqWoghMU1xUQ4VgO
|
||||
aPPCbHCanTLWLLo6MEcHuVNdYvtTUmxixuTcqU2E+XfzUH0qoOskiwxAXncRaM+H
|
||||
7diEROecsP9PQFui/ll7QmiEE4goazA72Mvk1IsL7+2gI9BrUgWGxGLOoCcJqvUg
|
||||
Z/8K6N5UJZKXnjOL+tjQVk8qCcF818vuOtOvSAQUeOjSdb1QjaM18Fc62qyclga8
|
||||
FIxqs4UPJg7ozHrCkPBUXb1MlUu0yf0Y9i8R9woh6S0k4TZGZKKKdxmS7QnF4D6M
|
||||
Rr60DDCwdUKP5dMmqPsWd2qaBxlaS3wacNqjhdt0DbXmEOz18BRiKbRxaZ4sDxn9
|
||||
O8XngqHUi9j5bulLTfQSqxDXuMwG0WjkqgkJaCujQ1zIZ7sSIcfGzBevRSy1R32Y
|
||||
Wp1i1vr3oWsj+Cw9gr8FPEw/pPcW7GWfoJvpiHVQ99u7+vUqjQQ13ieL
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA=
|
||||
-----END CERTIFICATE-----
|
||||
Loading…
Reference in a new issue