Greenhouse Plants Monitoring
The growth of Greenhouse plants has to be monitored and actions have to be taken accordingly. Automating this process will be beneficial.
WizFi360-EVB-PICO based monitoring of Greenhouse Plants
Introduction and Idea
The concept of greenhouse crop production is becoming prominent due to its sustainability and adaptiveness. But, a great effort is required in overlooking the condition of plants which makes it difficult and susceptible to damage. Therefore, making a reliable and accurate monitoring system will prove to be beneficial for us. We aim at discretely acquiring physical data from the plant's surroundings and making entries for future reference.
Hardware and Setup
The hardware components used are sensors which require ADCs and since EVB-PICO provides them conveniently so interfacing becomes an easy task.
Space optimization along with proper placement for precise readings
The DHT11 (ambient humidity and temperature) is initially disabled whereas the rest are provided with a constant supply of 3V3. Connected to ADC0, ADC1 and ADC2 for analog inputs
Programming the EVB-PICO is divided into two parts mainly -
- Data acquisition through various sensors using precisely calibrated components. Sensors used are - DHT11, pH and Soil Moisture which are based on I2C protocol.
- Connecting to Blynk application and displaying the obtained quantities.
For the first part I used the basic analog data acquisition method along with implementation of attributes such as mapping and buffer for better accuracy. Mapping was done to improve the readability of data and for normalization.
I added buffers to reject the unwanted values acquired during the process. For this I used a sorting method over a range of data collected to increase its accuracy further. This proved to be useful as no processing was required at a later stage which would not have been the case if I had done otherwise.
To make a neat and user friendly UI I decided to go with Blynk since it is versatile. I referred the blynk documentation for the setup which stated to:
Enter your device on Blynk -> Create a template on Blynk Console -> Set up the required datastreams -> Add the Widgets you require
TEMPLATE_NAME, DEVICE_ID and AUTH_TOKEN are important since they are unique to your application. Understand the attributes related to your widgets since they need to be properly included in your code e.g. set the properties to display a message in the beginning of display
While testing the process of data acquisition and processing I found out the anticipated physical quantities to be similar to that of the ones received. The supply to all the components including the sensors was 3V3 which meant low power consumption and cost effectiveness. Gradual increments were seen in the acquired values with a stabilization reached at the end. In future instead of a USB supply I am thinking about a cost effective rechargeable battery.
The Blynk application showed appropriate data regarding the particular inputs received by the individual sensors.
Key Elements and Future Scope
The most important aspect of this project is the variety of information being obtained and processed in such an effective manner. For this a properly instated 3D printed casing is being designed to inculcate and distribute the tasks optimally. Apart from this a mechanical design is being thought of for acting on the received data as this will make the system even more sophisticated. E.g. for irrigation and fertilization a duct could be implemented which will dissipate exact amount of product.
An update on the PCB design:
Sensor data acquisition with WizFi360-EVB_PICO
Reference code for connecting to Blynk.
3D Step PCB
A PCB step file to view in 3D viewer.