28
28
29
29
# this example uses settings.toml for credentials
30
30
# timezone offset is in seconds plus or minus GMT
31
- ssid = os .getenv (' AP_SSID' )
32
- appw = os .getenv (' AP_PASSWORD' )
33
- timezone = os .getenv (' timezone' )
34
- tz_offset_seconds = os .getenv (' timezone_offset' )
31
+ ssid = os .getenv (" AP_SSID" )
32
+ appw = os .getenv (" AP_PASSWORD" )
33
+ timezone = os .getenv (" timezone" )
34
+ tz_offset_seconds = os .getenv (" timezone_offset" )
35
35
36
36
# https://opensky-network.org/api/states/all
37
37
# example https://opensky-network.org/api/states/all?icao24=a808c5
38
38
# You can use states/own to pull your owned craft data without rate limit.
39
- OPENSKY_SOURCE = (
40
- "https://opensky-network.org/api/states/all?"
41
- + "icao24="
42
- + transponder
43
- )
39
+ OPENSKY_SOURCE = "https://opensky-network.org/api/states/all?" + "icao24=" + transponder
40
+
44
41
45
42
def time_calc (input_time ):
46
43
if input_time < 60 :
@@ -60,6 +57,7 @@ def time_calc(input_time):
60
57
time_output = f"{ sleep_int :.0f} days"
61
58
return time_output
62
59
60
+
63
61
def _format_datetime (datetime ):
64
62
return "{:02}/{:02}/{} {:02}:{:02}:{:02}" .format (
65
63
datetime .tm_mon ,
@@ -70,6 +68,7 @@ def _format_datetime(datetime):
70
68
datetime .tm_sec ,
71
69
)
72
70
71
+
73
72
# Connect to Wi-Fi
74
73
print ("\n ===============================" )
75
74
print ("Connecting to WiFi..." )
@@ -105,37 +104,43 @@ def _format_datetime(datetime):
105
104
osn_debug_keys = True # Set true to print Serial data
106
105
if osn_debug_keys :
107
106
try :
108
- osn_flight = osn_json [' time' ]
107
+ osn_flight = osn_json [" time" ]
109
108
print ("Current Unix Time: " , osn_flight )
110
-
109
+
111
110
current_struct_time = time .localtime (osn_flight )
112
111
current_date = "{}" .format (_format_datetime (current_struct_time ))
113
112
print (f"Unix to Readable Time: { current_date } " )
114
113
115
- osn_single_flight_data = osn_json [' states' ]
114
+ osn_single_flight_data = osn_json [" states" ]
116
115
if osn_single_flight_data is not None :
117
116
print ("Flight Data: " , osn_single_flight_data )
118
- transponder = osn_json [' states' ][0 ][0 ]
117
+ transponder = osn_json [" states" ][0 ][0 ]
119
118
print ("Transponder: " , transponder )
120
- callsign = osn_json [' states' ][0 ][1 ]
119
+ callsign = osn_json [" states" ][0 ][1 ]
121
120
print ("Callsign: " , callsign )
122
- country = osn_json [' states' ][0 ][2 ]
121
+ country = osn_json [" states" ][0 ][2 ]
123
122
print ("Flight Country: " , country )
124
123
else :
125
124
print ("This flight has no active data or you're polling too fast." )
126
125
print ("You will eventually get temp banned for polling too fast!" )
127
- print ("Please read: https://openskynetwork.github.io/opensky-api/rest.html#limitations" )
128
- print ("Public Limits: 10 second max poll rate & 400 weighted calls daily" )
129
- print ("There is no JSON error, states/all html page will say \" Too many requests\" and the script will fail " )
130
-
126
+ print (
127
+ "Please read: https://openskynetwork.github.io/opensky-api/rest.html#limitations"
128
+ )
129
+ print (
130
+ "Public Limits: 10 second max poll rate & 400 weighted calls daily"
131
+ )
132
+ print (
133
+ 'There is no JSON error, states/all html page will say "Too many requests" and the script will fail '
134
+ )
135
+
131
136
print ("\n Finished!" )
132
- print ("Board Uptime: " , time_calc (time .monotonic ()))
137
+ print ("Board Uptime: " , time_calc (time .monotonic ()))
133
138
print ("Next Update: " , time_calc (sleep_time ))
134
139
time .sleep (sleep_time )
135
140
print ("===============================" )
136
-
141
+
137
142
except (ConnectionError , ValueError , NameError ) as e :
138
143
print ("OSN Connection Error:" , e )
139
144
print ("You are likely banned for 24 hours" )
140
145
print ("Next Retry: " , time_calc (sleep_time ))
141
- time .sleep (sleep_time )
146
+ time .sleep (sleep_time )
0 commit comments