Smart & Green Roof

System to manage green roofs on all buildings of the cities.

GitHub repository

Commit your changes and pull request when a new feature has been added. If any doubt or question you can create an issue and we'll be there to help you.

Problem

Roofs make a large area of cities and in many of them that space is not used for anything. There is plenty of evidence that the temperature inside cities is higher due to a phenomenon called heat-island. Green roofs can help reduce it and bring other benefits such as:

  • Improved stormwater management.

  • Reduced urban heat island effect.

  • Reduced dust levels.

  • Insulated buildings.

  • Reduced CO2 emissions.

  • Extended roof life.

  • Improved visual impact.

  • New gathering places for communities.

How we solve it

We need to get as much solar power as possible and make buildings and communities more sustainable This is why we are building a system that can make it easier for citizens to build and manage green roofs automatically.

Technical description

Collect rain probability and activate a solenoid valve to evacuate the water from the reservoir in case the probability of rain is very high.

You can use a GPS device connected to a Raspberry Pi or get the location via network to know in which municipality is located the green roof and make requests to the AEMET API.

If this probability exceeds 60% a valve (for example a solenoid) connected to the raspberry pi would be activated to evacuate all the accumulated water.

get
Weather data for a municipality by hours

https://opendata.aemet.es/opendata/api/prediccion/especifica/municipio/horaria/{municipio}?api_key={api_key}
You can use this query to get data hour by hour from AEMET's service.
Request
Response
Request
Path Parameters
municipio
required
string
Code associated to a specific municipality
Query Parameters
api_key
required
string
Your AEMET's Api Key
Response
200: OK
The first two digits of the period field correspond to the hour and the last two to the minuted, so we can see that at 20:02 there will be a 35% probability of precipitation.
"probPrecipitacion" :
[
{
"value" : "5",
"periodo" : "0814"
},
{
"value" : "0",
"periodo" : "1420"
},
{
"value" : "35",
"periodo" : "2002"
}
]