At the end of 2018, I participated with the Microsoft team (team name: Sonoma) in the Autonomous Greenhouse Challenge organized by the Wageningen University. The goal of this challenge was to control a greenhouse growing cucumbers with an Artificial Intelligence (AI) Model. After 4 months of growing cucumbers, the Microsoft team won this competition, based on these criteria: AI strategy, sustainability and net profit.
During this competition, the greenhouse was controlled from a cloud environment. With this model the security of the connection between the cloud and greenhouse is vital. If this connection is compromised, the food production could be completely destroyed. Not only the secure connection is vital, but also the possibility to update applications running on the controller (based on the environment, crops, etc) are essential, a great use case for Azure Sphere.
Creating a scale model
To better show how a connected greenhouse would work, I have created a scale model based on the Azure Sphere dev board. The architecture is shown in the picture below.
Let me walk you through the steps:
- On the left you see the sensors and controls. In this case, I used a humidity, temperature and light sensor. To control the greenhouse, a relay for the fan and a servo to open the top lid are used. These sensors and controls are all connected to the Azure Sphere Grove Shield.
- IoT Hub is used for the bi-directional communication between the Azure Sphere and the cloud.
- All messages from the greenhouse that come in are processed in an Azure Function. The Function decides the desired states of the control and sends this state back to the IoT Hub. Secondly, the Function saves all the incoming data into an Azure SQL database.
- Azure Databricks is used to forecast the micro climate inside of the greenhouse. As the forecasting package, I used Deep4Cast from Microsoft Research. In order to improve the prediction, I also added external weather data via a Logic App to the Azure SQL DB.
- Lastly, Power BI is used for the visualization to monitor how the greenhouse is doing. Within Power BI a Power Apps visualization is used, which can be used to overwrite decisions made by the function. This enables growers to bypass the prediction model and control the greenhouse directly.
Why is this interesting?
Production facilities are becoming more and more connected, which could deliver great outcomes, such as higher yields with higher efficiencies. However, this could also be a big threat if not secured properly as complete production runs could be destroyed. This problem becomes even bigger when it comes to food production; a failed harvest could easily lead to hunger or even worse starve people. Azure Sphere can help with this security problem while still being flexible enough to update programs running inside the greenhouse or update the sensor control computer.
As indoor farms use significantly less water and land, this could help with the food shortages in the world. However, efficiently operating greenhouses is still a very manual task and therefore not very scalable. This solution could help operate more greenhouses and indoor farms in areas where there is little to no knowledge about operating a greenhouse. This can result in growing more food more efficiently in a more scalable manner, reducing food shortages.
I hope technology will help solve this and other great issues that we are facing now and in the future.