Difference between revisions of "Sprinkler"
Jump to navigation
Jump to search
Line 30: | Line 30: | ||
Pump_Control -0)- Sprinkler | Pump_Control -0)- Sprinkler | ||
</uml> | </uml> | ||
+ | == Sprinkler component == | ||
+ | <uml> | ||
+ | hide circle | ||
+ | class Location { | ||
+ | double lat | ||
+ | double lon | ||
+ | String name | ||
+ | } | ||
+ | class Configuration { | ||
+ | Location location; | ||
+ | double lPerMinute; | ||
+ | double areaSizeSquareMeter; | ||
+ | double earliestSprinkleHour; | ||
+ | double latestSprinkleHour; | ||
+ | int sprinklesPerDay; | ||
+ | double lEvaporationPerDay; | ||
+ | } | ||
+ | </uml> | ||
+ | |||
= Weather API alternatives = | = Weather API alternatives = | ||
* http://www.programmieren-optimieren.de/php/google-wetter-api-eingestellt-die-alternativen/ | * http://www.programmieren-optimieren.de/php/google-wetter-api-eingestellt-die-alternativen/ |
Revision as of 19:48, 2 August 2018
Project
OsProject | |
---|---|
id | |
state | |
owner | |
title | software for sprinkler / water irrigation system based on weather and other parameters |
url | https://github.com/BITPlan/com.bitplan.sprinkler |
version | 0.0.1 |
description | |
date | |
since | |
until |
Requirements
- The System shall sprinkle if the lawn needs water
- The System shall sprinkle in the morning no earlier than configured
- The System shall sprinkle in the evening no later than configured
- The System shall sprinkle as often per day as configured
- The System shall collect rain data from a weather service e.g. Deutscher Wetter Dienst open data server opendata.dwd.de
- The System shall operate by simply switching on and off a garden pump at appropriate times
- The System shall determine the amount of irrigation needed based on the weather and the configuration data
- An Administrator shall be able to configure the system by setting
- coordinates of the location where the system is operated lon/lat
- l/minute the sprinkler deploys when switched on
- earliest time in the morning the system may sprinkle
- latest time in the morning the system may sprinkle
- number of times the system shall sprinkle if needed
- size of are being sprinkled
- average l/day beeing evaporated per day by non lawn plants (e.g. trees)
- A user shall be able to arm/disarm the system
- A user shell be able to see the system operation log
- The system operation log shall show the amount of water that has been irrigated as an equivalent mm rain / day and the total liters for the area
Use cases
System context
Sprinkler component
Weather API alternatives
- http://www.programmieren-optimieren.de/php/google-wetter-api-eingestellt-die-alternativen/
- https://stackoverflow.com/questions/12461730/find-weather-using-java
Open Weather Api
City list: http://bulk.openweathermap.org/sample/city.list.json.gz
Example city Willich
{
"id": 2808559,
"name": "Willich",
"country": "DE",
"coord": {
"lon": 6.55,
"lat": 51.26667
}
},
Example weather
https://api.openweathermap.org/data/2.5/weather?q=Willich,DE&appid=0123456789abcdef...&units=metric
{
"coord":{"lon":6.54,"lat":51.26},
"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"stations",
"main":{"temp":28.84,"pressure":1020,"humidity":37,"temp_min":27,"temp_max":30},"visibility":10000,
"wind":{"speed":1.5},
"clouds":{"all":0},"dt":1533138900,
"sys":{"type":1,"id":4909,"message":0.0046,"country":"DE","sunrise":1533095958,"sunset":1533151198},
"id":2808559,
"name":"Willich",
"cod":200
}
Java Code
DWD Data
Precipitation data:
- https://www.dwd.de/DE/leistungen/radolan/radolan.html
- Adjusted 1h total precipitation [mm/h] (Radolan), 1km x 1km, Runlength format raa01-rw_10000-[yyMMddhhmm]-dwd---bin
- https://www.dwd.de/EN/ourservices/surface_weather_observations/surface_weather_observations.html
How to read Radolan data
Wetter Online
METAR
https://en.wikipedia.org/wiki/METAR Example: Mönchengladbach