While on a zoom call to brainstorm for Codestellation 2020, our teammate Hriday showed us his dead plant. He had overwatered it. Hriday’s wilted plant leads us to consider the difficulties involved in maintaining a basic houseplant. For college students on zoom, houseplants add something to take care of and they have a proven effect of reducing stress and anxiety. However, plants are also important in raising crops and the maintenance of gardens.
As a long-term device, this can play a significant role in academic research, farming, and ecological documenting. Academia can use this device to monitor and control the environment around plants. Farming systems require irrigation which can cause significant issues in overwatering as well as underwatering certain portions of crops. Ecological documenting can tell us how the environment in a certain area is changing and have a more direct understanding of climate change. botNy gives us the ability to understand a myriad of environmental sciences concepts and help us take care of our plants. botNy gives us the ability to analyze and track temperature, and the plant’s sunlight exposure.
What it does
The BotNy website serves as a plant analysis tool and hopes to give the user the ability to understand trends in humidity, sunlight, and temperature.
- The user searches for the ideal conditions for their plant on the BotNy website and decides on an environment for their plant.our
- The user sets up their Arduino using our pre-made setup tools. Then, the user will allow the Arduino to monitor the plant environment for at least 24 hours. (in our case, simulated to 24 minutes)
- On the website, the user searches for their plant and imports the data from the Arduino
- The website’s analysis tools allow the user to compare the measured environmental conditions the ideal conditions web scraped from the Practical Plants database
How we built it
We designed and built an Arduino circuit and programmed the Arduino to collect values for temperature and sunlight. We then converted the Arduino output data to a Python-comprehendible file to analyze the data for trends in sunlight, temperature, and humidity. This analysis is done on a website that we designed through the Dash framework. The collected data is compared with species-specific sunlight requirements and temperature limits attained through Python-based web scraping from reliable botanical databases. The web scraping analysis also provides the user with additional information such as a plant's water needs and preferred soil pH ranges.
Challenges we ran into
In the project, we struggled with converting Arduino data to python data as well as learning Dash for the front end development. Furthermore, we struggled with learning Arduino and building a new website and analysis tool from scratch with little prior knowledge.
Accomplishments that we are proud of
Major accomplishments of the project include translating hardware data to software as well as the creation of the front -end website. The front-end website analyzes the data from the Arduino and helps the user interpret the results. The project used a myriad of different languages and techniques including circuit building, data analysis, and software integration.
What we learned
We learned how to use the Dash framework, Arduino to Python translation, and, for our two hard science members, worked with Python for the first time. This project required multiple components across multiple languages. Building a sensor with Arduino and making a python program to “read” it in order to be used in the rest of our project revealed pitfalls for us to overcome. Some of these included errors in sensor calibration and the measurement recorded and turning each individual sensor into a larger system. We also learned web scraping techniques and worked through deciphering a lengthy and complicated botanical database.
What's next for botNy
We want to be able to scale this up such that users can have multiple plants and be better able to communicate with the Arduino sensors. Additionally, we would like to add wireless functionality to the program so that it can function with an Arduino's wifi component-- which we did not have access to this during Codestellation-- and we would like to populate the plant dashboard with additional parameters based on a component selection menu. We also want to improve the time series function such that we can track the time with the date.
Awknowledgements and Thank Yous
We would like to give a special thank you to Jacob Smith of the Maker Lab at Brandeis University for helping us with the Arduino components. Thank you to the BITMAP team for providing us with the mentorship and opportunity to create this wonderful project
Sources for Information