8000 GitHub - jcl-rv12is/METARMap: Raspberry Pi project to visualize flight conditions on a map using WS8211 LEDs addressed via NeoPixel
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Raspberry Pi project to visualize flight conditions on a map using WS8211 LEDs addressed via NeoPixel

License

Notifications You must be signed in to change notification settings

jcl-rv12is/METARMap

 
 

Reposi 813D tory files navigation

METARMap

Raspberry Pi project to visualize flight conditions on a map using WS8211 or WS2812 LEDs addressed via NeoPixel

Detailed instructions

See the Word document Metar Map Software Install and Config - 20241215.docx for complete hardware/software installation instructions. Embedded in the document is an alternate displaymetar.py script, which will put much larger text on the optional OLED display, albeit with less information - airport code, flight category, wind speed and direction.

Changes from PRueker's Code:

December 16, 2024

Incorporated Philip Rueker's changes from 10/17/23 re # airports in file exceeding LED count, 4/13/2024 re flight category, and 4/15/24 re station ID.

January 20, 2024

Corrected what appeared to be a typo in line:

windGust = (True if (ALWAYS_BLINK_FOR_GUSTS or windGustSpeed > WIND_BLINK_THRESHOLD) else False)

LED would not blink if gusts were equal to WIND_BLINK_THRESHOLD

Changed to:

windGust = (True if (ALWAYS_BLINK_FOR_GUSTS or windGustSpeed >= WIND_BLINK_THRESHOLD) else False)

October 17, 2023 - Changes from Philip Rueker's pre-Oct '23 Code

These are slightly different from the changes he made to deal with the aviationweather.gov API changes

  • URL

Changed line:

url = "https://aviationweather.gov/cgi-bin/data/dataserver.php?requestType=retrieve&dataSource=metars&stationString=" + ",".join([item for item in airports if item != "NULL"]) + "&hoursBeforeNow=5&format=xml&mostRecent=true&mostRecentForEachStation=constraint"

to:

url = "https://aviationweather.gov/api/data/metar?format=xml&hoursBeforeNow=5&mostRecentForEachStation=true&ids=" + ",".join([item for item in airports if item != "NULL"])

Based on what I see on aviationweather.gov, that is is the long-term URL to use.

  • Visibility

Since visibility can return a non-integer value now, e.g. "10+". Two changes made.

Changed:

conditionDict = { "NULL": {"flightCategory" : "", "windDir": "", "windSpeed" : 0, "windGustSpeed" : 0, "windGust" : False, "lightning": False, "tempC" : 0, "dewpointC" : 0, "vis" : 0, "altimHg" : 0, "obs" : "", "skyConditions" : {}, "obsTime" : datetime.datetime.now() } }

to:

conditionDict = { "NULL": {"flightCategory" : "", "windDir": "", "windSpeed" : 0, "windGustSpeed" : 0, "windGust" : False, "lightning": False, "tempC" : 0, "dewpointC" : 0, "vis" : "", "altimHg" : 0, "obs" : "", "skyConditions" : {}, "obsTime" : datetime.datetime.now() } }

AND ... Changed:

vis = int(round(float(metar.find(‘visibility_statute_mi’).text)))

to:

vis = metar.find(‘visibility_statute_mi’).text

About

Raspberry Pi project to visualize flight conditions on a map using WS8211 LEDs addressed via NeoPixel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • Shell 1.8%
0