ADS-B Microservice
This microservice is only available in the Testbed
The ADS-B microservice is a tool used to monitor current flights in the area that may interfere with experiments running in the testbed.
ADS-B is an FAA-regulated surveillance broadcast that is mandatory for most controlled airspace. More information can be found here.
The actual monitoring service (airstrik.py) is constantly running on the LW-1 service computer, checking for flights that will/are entering a filter around the testbed. The filter is set to a 5km radius around the testbed and a 500m altitude limit (in AGL). This monitoring service will send warnings and alerts to a Kafka server for any experiments to access. Any experiments running on the testbed will automatically subscribe to messages from the Kafka server, and print them to the OEO Console so operators can be notified of any flights.
There are three types of messages that will be displayed on the OEO Console:
warning: any flight that at its current heading and speed, will enter the filter within a minute. Severity = WARNING
"[<plane_time>] plane <plane_hex> - callsign <plane_id> - alt <altitude>m will enter widest filter in <eta>s"
alert: any flight that is currently inside the filter. Severity = CRITICAL
"[<plane_time>] plane <plane_hex> - callsign <plane_id> - alt <altitude>m has entered widest filter"
alert: any flight that has left the filter. Severity = CRITICAL
"[<plane_time>] plane <plane_hex> - callsign <plane_id> - alt <altitude>m has left widest filter"
Messages will contain the following information:
plane_time: the time the message was displayed
plane_hex: the ICAO ID of the aircraft: a globally unique 24-bit airframe code (like a license plate)
plane_id: the callsign of the aircraft
altitude: the altitude of the aircraft (in AGL meters)
eta (only printed for warning messages): time until plane enters the filter