projects,

AgroSense

David David Follow Aug 30, 2023 · 2 mins read
AgroSense
Share this

AgroSense was my final project for CS50x Harvard’s course. It is an IoT application that collects and monitors data from plants using an Arduino-based board (Intel Galileo), transmitting it to a web app for processing. The aim is to improve plant care and management by delivering real-time data and alerts.

Agrosense in Action

Discover the capabilities of Agrosense through this engaging video presentation. Dive into the world of Agrosense and witness its features in action.

Main Technology Stack:

  • Back End (BE): Python with Flask, Sendgrid API for email communication.
  • Front End (FE): HTML, JavaScript, Bootstrap.
  • Device: Intel Galileo, an Arduino-certified development board based on Intel x86 architecture. It’s programmed using the Arduino interface to collect and transmit data to the web server.

The concept for AgroSense came from my personal experience. Witnessing my father’s passion for plants and his frequent travels, inspired me to create a solution that enables him to remotely monitor his plants’ condition and receive timely notifications.

Using AgroSense involves registering on the web app, generating a unique device name, and an API key for identification. Users connect the Intel Galileo board to their plants through sensors that capture temperature, moisture, and time data. The board sends this information as a POST request to the web server every 5 minutes (this timeframe is adjustable).

The web app showcases a summary of the last 7 days, presenting average temperature and humidity in a table format. It generates graphs illustrating temperature and humidity fluctuations over time for each device. Users can access and review this data by logging into the web app.

One of the key features of AgroSense is the alarm email function. If the recorded temperature or humidity falls outside a predefined range, an alert email is automatically sent to the email address associated with the device. This way, users can take immediate action to prevent potential harm to the plants.

AgroSense also empowers users to create and send data to the web server via API. This flexibility serves for testing purposes and facilitates integration with other applications.

The main outcomes and results of AgroSense include:

  • Convenient and reliable remote monitoring of plant health and growth.
  • Optimization of plant care and early problem prevention through real-time data and alerts.
  • Showcasing the potential of IoT technology for creating smart solutions for everyday problems.

For a detailed description of its functionality and the project’s development, visit the Github - Agrosense’s section.

Credits: Blog's image by Drazen Zigic

David
Written by David Follow
I'm David – a curious engineer with a passion for all things tech-related! You'll often find me hitting the gym, spending time with my cat, and diving into the latest tech trends.