|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Wttr.in||20,814||a month ago||243||apache-2.0||Python|
|:partly_sunny: The right way to check the weather|
|Wego||6,961||a year ago||1||February 27, 2018||23||isc||Go|
|weather app for the terminal|
|Tropos||1,522||2 years ago||10||mit||Swift|
|Weather and Forecasts for Humans|
|Wrf||929||12 days ago||135||other||Fortran|
|The official repository for the Weather Research and Forecasting (WRF) model|
|Forecastie||796||a month ago||120||other||Java|
|A simple, opensource weather app for Android.|
|Rex Weather||733||3 years ago||1||bsd-3-clause||Java|
|RexWeather - A sample Android project demonstrating the use of Retrofit and RxJava to interact with web services|
|🏄Windy API, or Windy Leaflet Plugin, let you put animated weather map into your website and enjoy rich ecosystem of Leaflet library.|
|Simple menubar application based on Electron with actual weather information and forecast.|
|Weatheralarmclock||476||4 years ago||2||Java|
|Alarm clock with weather forecast 一款具有天气提醒功能的闹钟|
|Weatherapp||453||2 years ago||1||mit||Kotlin|
|5 Day Forecast app that works on Android and uses latest tools (Kotlin, Navigation, Room, LiveData, Databinding, Dagger 2)|
Python 2.7 application to get local weather forecast and display results via icons on LED 8x8 matrices.
This program should work with any Raspberry Pi although I have only tested it with an original Model A (yes, an A). Also, any 4 Adafruit 8x8 LED Matrices with I2C Backpacks should work. Be sure to solder the address jumpers to set unique addresses for each. Expected range is 0x70-0x73.
A brief description of the various software components.
weather.py- gets and displays forecast from NOAA (US ONLY)
weather_metoffice.py- gets and displays forecast from metoffice.gov.uk (UK ONLY)
weather_forecastio.py- gets and displays forecast from forecast.io
weather_openweather.py- gets and displays forecast from openweathermap.org
rpi_weather.py- defines a class for interfacing with the hardware
led8x8icons.py- contains a dictionary of icons
clock.py- displays the time, for use as a clock
Simply clone this repo and run:
$ git clone https://github.com/caternuson/rpi-weather.git $ cd rpi-weather $ sudo python weather.py
The forecast location is specified with a zipcode. A default zipcode can be set in the code:
ZIPCODE = 98109
A zipcode can also be passed in from the command line, which will override the default:
$ sudo python weather.py 98109
You will need an API key to use these services, available here. You will also need to determine your location ID. To get that you need to hit this url:
and search for your nearest location. If you can't find the location you are after you can hit the main site and use their front-end search to find the closest location they have, then get the code for that from the api response above.
Once you have this info, create a file called
with the following contents:
[config] API_KEY: your_api_key LOCATION_ID: your_location_id
your_* info as needed.
You will need an API key to use these services. Each website has instructions
for how to do this. You will also need the latitude and longitude for your
location. Once you have this info, create a file called
with the following contents:
[config] APIKEY: your_api_key LAT: your_latitude LON: your_longitude
your_* info as needed. NOTE: west longitudes are negative,
use decimal values for both.
The easiest way to have the program run on a daily basis is to use
crontab -e to add the following entry, which will run the program
every morning at 4AM:
0 4 * * * sudo -E PYTHONPATH=$PYTHONPATH python /home/pi/rpi-weather/weather.py
NOTE: If you installed the program in a different location, change the path accordingly.
The forecast is determined using the NOAA REST web service. Specifically, the Summarized Data for One or More Zipcodes. A typical request looks like:
The key bits being:
zipCodeList- zipcode(s) for forecast
format- choose either 12 or 24 hour period
numDays- number of days in forecast
The request returns XML data. The icons are set by a simple text search in the
weather-summary attribute of the
ICON_MAP is defined to map forecast results to a specific LED 8x8 icon.
|none of the above|