Plant growth and production are the outcome of complex interactions between the plant and its environment. To setup the devices controlling the environment in the greenhouses with optimal efficiency, these interactions must be accounted for. Cybeletech develops biophysical plant growth models, which coupled with environmental models, allow to anticipate the impact of management scenarios on greenhouses outcome. To accurately estimate the current status of the plants and anticipate their development in different scenarios it is necessary to have access to the full history of environmental conditions in the greenhouse.
In most of the greenhouses these environmental data are monitored by a set of sensors. The data collected by the sensors are made available through a so-called supervisor, which is often a desktop computer with dedicated software for greenhouse monitoring and management, located in the greenhouse. According to the greenhouse equipment the data may be temporarily saved on this computer or not. To enable the plant growth models to access the full history about environmental conditions, there is a need for reliable data collection pipeline with the following requirements:
- The data collection pipeline must be resilient to connexion failures, which are happening regularly in greenhouses;
- The pipeline must be easily adaptable to integrate new and different kind of environmental data sources;
- The pipeline must be easily deployable on different kind of infrastructure.
A generic data collection pipeline has been implemented in a Node-Red flow and packaged as a pattern (Figure A). It integrates a getaway to temporarily saved the environmental data in a local database in case of connexion failure as well as a retry procedure to send them in distant database as soon as connexion is restored. The procedure to retrieve and pre-process the data collected by the sensors can be implemented in a Python script which is given as input of the pattern (Figure B). The deployment of the pipeline has been done on the supervisor using the Design Environment developed in PHYSICS.
The deployment from scratch on the test greenhouse supervisor took less than half a day. It allows to collect the data measured by sensors over a month without any data lost despite several connexion failures in the greenhouse. Moreover, the Python script for data collection and pre-processing has been adapted to integrate a novel temperature sensor. With the Edge-ETL pattern enabling to abstract from the overall logic, and the Design Environment for deployment on the edge, this update takes less than a day.
The PHYSICS development environment enables a smoother deployment and adaptation of the pipeline for data collection on the edge, while the dedicated pattern increases the reliability of this pipeline.