Installation:
You can either get the source code and include it in your application
manlually, or use can use pip instead.
pip install iwPiWeather
Or depending on your raspberry config for python3 you might need to run
pip3 install iwPiWeather
Use example:
Include your package, define the pins and initialize the thread
::
import iwPiWeather
displayPinout = { "rs": 22, "en": 17, "d7": 18, "d6": 23, "d5": 24, "d4": 25 }
weather = iwPiWeather.weatherDisplay(apiKey='passyouroowmapikey', poolRate=120, dispPins=displayPinout, autoStart=True)
You can pass the following arguments in the constructor:
-
apiKey - Required field, you need to provide the OpenWeatherMap API
key.
-
poolRate - Time to wait between each call to the OpenWeatherMap
API.
-
dispPins - Layout of the display pins connection
-
autoStart - If this is toggled off, the thread will start in sleep
mode, and no calls will be made until the thread is manually started.
The created weather object will be actually a thread that runs in the
background. So you can integrate this functionality in your application,
this will run as a background process in a separate thread.
You can temporarily pause the display update thread by calling
weather.stopWatch()
which will allow you for example to stop pooling
and displaying the weather data on the display and use the display for
something else in your integration.
To restart the thread and keep reprinting the weather data you can use
weather.startWatch()
To stop the thread and cleanup the object you can call
weather.stopThread()
. This will kill the thread and you can safely
stop the application.