Use Case
Smart Urban Farming
Goal: using models, sensor data and human knowledge (captured in the model) to create an ideal environment for growing different kinds of crops.
The user creates a model (using ADOxx) to create a model enriched with semantic information about the crops (e.g.: average water/ligth/soil moisture needs). This model is then uploaded to the server, where the information about the crops is entered into the factsbase. The sensor data is read continously and also entered into the factbase. The sensor data is also shown on the user interface in (almost) real-time. If the sensor data shows that a crop is getting more/less of a specific need this is also communicated to the user via the graphical user interface.
Used Technologies
- A new modelling language was created to model greenhouses (including crops and sensors) and the needs of the respective crops
- The model is then parsed and the needs are translated to facts for the rule-based-system
- The various sensor inputs (thermometer, hygrometer, humidity sensor and light sensor) are constantly monitored and used as facts for the RBS
- The user has an intuitive user interface where he can upload the model and observe the current sensor values
- Every 10 seconds the RBS checks all facts and informs the user about new conclusions
Experiment


We built a model version of a greenhouse and included the following sensor: humidity, soil moisture, temperature and light sensor. The picture above shows the prototype.
For modelling we created a new modelling language with the help of ADOxx. There you can specify a “Farming Module” which is set up at a specific “Location”. In the “Farming Module” you can grow different “Crops”. Each of the “Crops” has needs for “Water”, “Temperature” and “Light”, which can be specific separately for each crop or for multiple crops. See the picture below:

The created model is then exported as an XML-File, which can be uploaded on the webpage we created (localhost). The XML-file is the parsed and the values are inserted into the database.
The sensordata is also gathered and inserted into the database.

The rule-based-system gets its facts from the database(the needs of the crop and the sensordata). The values for “low”, “medium” and “high” are currently only a rough estimate but can be refined in future work. The rules are fired every 10 seconds. If there is a lack or an excess of any requirements (water, sun,…) the user interface tells the user, also the different facts are shown. See picture below. The user can also enter his mail-adress to be notified via email if a need has occurred.
The source code (including the ADOxx library) can be found here:
https://gitlab.dke.univie.ac.at/edu-semtech/smarturbanfarming
There you will also find a description on how to start the program.


Results
https://drive.google.com/open?id=1pDeI6Jmo1G1p0dRpyxp4R3wphOFA5faj