Zara’s Status Report for 03/22/2025

This week, I made significant progress on the project by completing most of the web scraping for plant data. I successfully gathered essential information such as scientific name, light requirements, watering needs, temperature, and humidity levels. The only remaining task for this aspect is to obtain pH levels and more precise water level data from additional sources. Alongside this, I worked with Yuna to implement the transmission of temperature and humidity sensor data from the Raspberry Pi to the web application. I also tested and verified the functionality of the light sensor code, ensuring it is correctly reading and processing data.

The Raspberry Pi is now deployed on campus, where I noticed that it tends to overheat when multiple sensor inputs are running simultaneously. To address this issue, I have ordered a cooling fan to help maintain optimal performance. In terms of overall logic, I also finalized the control flow payloads that will be sent back and forth from the RPi to the Web app with Jana and Yuna.

My progress is mostly on schedule, though I have fallen a bit behind on starting actuators, as I wanted to prioritize the integration of webapp for sensor data before implementing turning on and off the heater. By next week I hope to complete the code for the soil pH and nutrients sensor as well as having pH levels scraped online. I want to finalize sending all sensor data to the webapp integration in time for the upcoming demo and also get started on actuator code for the heater.

Jana’s Status Report for 03/22/2025

This week, I made progress in multiple areas of the project. I evaluated the performance of the ResNet18, ResNet50, and MobileNetV2 image classification models. After running tests, I found that ResNet18 and MobileNetV2 outperformed ResNet50, so I will further evaluate these models on our dataset to determine the best choice for deployment. Additionally, I successfully set up the Raspberry Pi NOIR camera for live streaming through the web application. I worked with Yuna to integrate the camera feed with the web application using HTTP, ensuring that key camera parameters (exposure, etc.) are adjustable to maintain visibility in both day and night conditions for 24/7 monitoring. Another achievement was integrating the machine learning model with the web application using MQTT. I built a system where the Raspberry Pi captures images, runs the ML model for health classification, and sends real-time results to the web application. This ensures that users can monitor plant health dynamically without manual intervention. I also set up the plant identification API, which captures an image of the plant and sends it to the API for identification. One of my main priorities was privacy, so I made sure that captured images are processed in memory and never saved to disk at any point.

This week, the focus was primarily on integration and ensuring smooth communication between different components, such as the camera, ML model, web application, and sensor system.

I am on schedule with the project timeline.

Next Week’s Deliverables:

  • Start collecting sensor and image data of our plants in the greenhouse.
  • Set up the greenhouse environment for the interim demo.
  • Develop and test multi-classification ML models to classify plant health into more detailed categories instead of just “healthy” and “unhealthy.”
  • Implement a late fusion network to combine sensor and image data for a more accurate health classification system.
  • Enhance privacy measures for live streaming by adding options to turn it off and ensuring only authorized users can access it.

Yuna’s Status Report for 03/22/2025

I worked with Jana to successfully integrate the Raspberry Pi Camera into the web app using MJPEG streamer, as shown:

I also worked with Zara to implement MQTT for connections between the Raspberry Pi and the web app. We confirmed that the sensor data are sent to the web app periodically, which will be collected to later show a trend in the real-time dashboard.

I added a page in the web app for users to turn on/off the actuators.  I wrote code for sending user’s command data to the Raspberry Pi using MQTT as well, but for some reason the RPi is not receiving the message – I will resolve this bug next week.

I’m currently slightly behind the schedule since I wasn’t able to fix a bug for MQTT, but will catch up next week.

Next week’s deliverables:

  • fix the bug for sending data from the web app to RPi
  • make sensor data reflect on the web app (by storing sensor data in MySQL and putting the stored data to the web app)
  • work with Zara to integrate web scraped data (plant info) to the web app
  • start working on auto-scheduling feature

Zara’s Status Report for 03/15/2025

This week, I worked on the ethics assignment to evaluate the ethical considerations related to our project. On the technical side, I continued developing the API code and discovered that the initial API we intended to use was no longer actively maintained, though some calls were still functional. Upon further investigation, I found the API’s database but determined that it lacked the necessary data for our project.

To address this, I implemented an alternative API to retrieve the required information. However, certain critical details, such as plant watering and lighting schedules, were locked behind a paywall. As a workaround, I explored web scraping as a potential solution and identified several websites with relevant plant data, though they cover a limited selection of houseplants.

My progress remains on schedule, and I am now shifting my focus to setting up the heater. By next week, I aim to finalize the heater’s control code and complete the web scraping implementation to gather the necessary plant data.

Yuna’s Status Report for 03/15/2025

This week, I spent much time on the ethics assignment. There was a big change in the plan for the web app part – instead of using AWS, we decided to use different options like MySQL, MQTT, and Twilio API. Although using AWS is possible, it had more risks since we had a limited amount of time and I do not have a lot of experience in AWS. As discussed in the meeting with the professor Tamal, we decided to use Replit to deploy the web app instead. Below is the rough diagram:

I added some pages to the frontend (MonitoringPage and AddPlantPage), changed the database from SQLite to MySQL, added websockets between the frontend and the backend, and explored how I am going to implement MQTT between the web app and the RPi. I also explored how I am going to use Replit to deploy the app.

I am slightly behind the original schedule since I wasn’t able to integrate the RPi with the web app, but mostly on track. I’ll put as much time as I can into implementing MQTT next week.

Next week’s deliverables:

  • complete MQTT between the web app and the RPi, verify it works
  • start integrating live camera feed
  • keep improving the design of the app

Jana’s Status Report for 03/15/2025

This week, I worked on the ethics assignment. Also, I have now established the initial training framework for the ML model. For the image dataset, I finalized comparisons between three models: ResNet18, ResNet50, and MobileNetV2. I am now evaluating their performance on two image datasets: PlantDoc and the houseplant/greyscale dataset I sourced online. I also set up a system to log the performance of each model to allow for a more comprehensive comparison. For the sensor data, I ran additional tests with various classifiers. All classifiers (SVM, Random Forest, etc.) returned 100% accuracy. Since we haven’t gathered sufficient data yet, I decided to delay final classifier selection until more data is collected from our own plant sensors and the late fusion stage is trained.

I am currently on schedule with the project timeline. The training results for the image models are looking promising, and I was able to complete the deliverables for this week successfully.

Next Week’s Deliverables:

  • Finalize Model Selection: Based on the training results, which I expect to get in the next day, I plan to finalize the selection of the ML models (for image data)
  • RPi Camera Setup: I will set up the Raspberry Pi camera and begin collecting our own image data.

Team Status Report for 03/15/2025

Challenges & Mitigation:

This week, the biggest change was switching from using an API to web scraping for collecting environmental data. The API we planned to use was unreliable (down, buggy, outdated) and lacked important data. Paid backup APIs weren’t an option, so we switched to scraping data from a website focused on houseplants. The challenge is that this site only covers houseplants, which may limit our scope. We’ll either narrow our focus to houseplants or find another source.

We also switched from AWS to Replit due to the lack of AWS credits and other limitations. This change required us to adjust the web app code, which has already been done. We now need to explore different options for user notifications, such as Twilio, since we no longer have access to AWS services.

We’re still facing challenges with getting enough plant data for the ML model. To solve this, we’re collecting our own data and looking into data augmentation techniques. We’re also prioritizing setting up sensors and cameras to collect data in the next few weeks.

 

Progress:

  • ML Framework: The main framework for plant health classification has been set up. We’re testing multiple models and using online image datasets to find the best-performing model.
  • API & Web Scraping: The API code has been set up, and we’ve started web scraping from the chosen website. We’re in the process of collecting a more comprehensive dataset.
  • Frontend & Backend Development: New frontend pages have been added to the web app, and we’ve completed implementing WebSockets for real-time communication between hardware and software. Additionally, we’ve switched the database from SQLite to MySQL after changing from AWS to Replit.

 

Next Steps:

  • Finish training the ML models for plant health classification
  • Set up the RPi camera and begin collecting our own image data for training the ML model
  • Finish the web scraping process to gather a full dataset of plant environmental conditions
  • Integrate the Raspberry Pi with the web app
  • Start integrating the various components we’ve been working on separately

Team Status Report for 03/08/2025

No major changes were made to our system though we have decided to add a pid control system to our environment to control the actuators based on sensor data. 

Challenges & Mitigation:

  • Potential faulty sensors: If the sensors we have received are faulty we need to order backups which will increase our costs. We have managed to decrease costs in other areas to have more budget for potential backups. 
  • Not enough training data: An ongoing issue remains that we may not be able to collect enough plant data to sufficiently train the ML model, to combat this we have ordered the plants to start training. 

Progress:

  • Collected all the plants for training and testing, and started setting them up in different conditions for ML training
  • Finished setting up the temperature and humidity sensor, and started setting up the light sensor
  • Created a rough web application with all base pages
  • Labeled online datasets consistently for ML models

Next Steps:

  • Finish setting light and soil moisture, pH, and, nutrients sensor
  • Establish a training framework for the ML model
  • Implement web UI, and django channels with WebSockets
  • Integrate RaspberryPi with web app

A was written by Zara, B was written by Jana, C was written by Yuna. 

Part A: Our product addresses global factors by recognizing that plant care is a universal activity, with people worldwide facing different challenges in managing plants due to varying levels of expertise, time, and environmental conditions. This product bridges the gap for individuals who lack the time or knowledge to care for plants, offering a solution for growing herbs, fruits, vegetables, and flowers at home, regardless of experience. It is particularly valuable in remote areas or regions with limited access to plant care resources, providing an educational tool for users at all skill levels. Additionally, its remote monitoring capabilities support plant care in diverse global settings, making it a versatile solution for anyone looking to grow plants efficiently, no matter where they are located.

Part B: In many cultures, plants hold symbolic and spiritual significance. Our system offers personalized plant care recommendations that meet the specific needs of plants that hold cultural significance, such as herbs, flowers, and medicinal plants. The system is designed to adapt to a wide range of growing conditions, ensuring that users from diverse cultural backgrounds, regardless of level of expertise or traditions, can effectively use the technology. By providing a simple and intuitive way to manage plant health, users can stay connected to the plants that are important to them, while also benefiting from automation and helpful insights that make plant care easier.

Part C: Our product solution addresses environmental challenges by allowing optimization of resource consumption for plant cultivation in home settings. The greenhouse system reduces energy use and water waste through precise irrigation that only delivers the water and nutrient amount that is needed for the plant. The system detects the plant conditions and water the appropriate amount rather than merely watering based on the typical watering schedules – this is particularly valuable in regions that are facing water scarcity. This plant condition detection also helps prevent overfertilization that can lead to soil degradation. Furthermore, our product solution allows easy plant cultivation in limited spaces, which improves air quality and reduces the carbon emissions caused by transporting commercial produce.

Zara’s Status Report for 03/08/2025

This week, I helped work on the design status report, which has helped further solidify our project plans. I focused on reworking the system architecture, specifically the flow chart diagram, to incorporate the new decision to use a PID controller for managing the system’s environment. Additionally, I updated the system implementation plan, bill of materials, and prepared a summary to align our project’s direction moving forward. On the sensor front, I conducted tests on various temperature and humidity sensors to identify the most accurate one, replacing the initially tested model. I also began implementing the light sensor into our system. For the plant API call, I am still in the process of finalizing the code to ensure smooth integration and functionality.

In terms of schedule, I am mostly on track; however, I have encountered a delay in implementing the heater. This is due to shipping issues, as the heater has yet to arrive, which is preventing me from progressing as planned

Looking ahead, my deliverables for next week include completing the implementation of the soil nutrients, pH, and moisture sensors, as well as finalizing the light sensor integration. If the heater arrives as expected, I aim to complete its implementation as well.

Jana’s Status Report for 03/08/2025

This week, I worked on my part of the design report which included the abstract, introduction, use-case requirements, design requirements, ML-specific design trade studies, ML-specific testing and validation, schedule and task division, and the related works section. 

On the technical side, I completed labeling the datasets consistently, ensuring uniformity across images from multiple sources. I also finalized the data augmentation techniques, including rotation, greyscale conversion, and flipping, and have begun implementing them. As a result, I now have a fully labeled dataset ready for model training.

Additionally, I established a plan for testing live plants. I am monitoring eight plants under different conditions to support model training and evaluation. This includes 2 plants being underwatered, 2 being overwatered, 2 with nutrient deficiencies, and 2 healthy plants.

I am slightly behind schedule as I have not yet established the initial training framework for the model due to midterm exams and other deadlines. To catch up, I will continue to work through spring break and dedicate additional hours over the next week to make progress.

Next Week’s Deliverables:

  • Establish the initial training framework for the model
  • Test different model architectures (ResNet18 vs MobileNet) using the available dataset
  • Compare model performance on greyscale vs RGB images
  • Continue monitoring live plants for testing and validation