Skip to content

M5stack automated irrigation system with sensors and Push Notification capability to Mobile Application using Cloud Messaging via HTTP protocol

Notifications You must be signed in to change notification settings

snakeku/Home-Irrigation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Home IOT Irrigation System

A "fun" home IOT project featuring an M5stack microcontroller with environment sensors and irrigation pump. The microcontroller also sends a Push Notification update on a mobile application stating the current temperature and humidity using Cloud Messaging via HTTP protocol through the microcontroller.


  1. Project Context
  2. Project Requirements
  3. Planning
  4. Project Stack
  5. Results
  6. Showcase

Like every plant parent that suffers a great deal of stress when leaving their plant babies alone at home while they are overseas, I have decided a DIY method using IOT to customise and solve my problem. I mean what could go wrong.......right?

*Insert nervous laughter*

TL;DR

My project worked! All my plants survived A Plant got hosed to death


Given that I am a helicopter plant parent, I had a few self-imposed requirements to the project. Hence the birth of the commandments to the project.

4 Commandments to this project.

  1. Thou shall receive information about the ambient temperature and humidity of the area via push notification.
  2. Thy plants shall each be dosed with their own quantity amount of water.
  3. Thou shall have vision to check in on thine plants. (Done using Home Security Camera)
  4. If thy microcontroller was to be plagued with a network error, thy watering shall still be done locally.

Serial Irrigation System

Intially I designed a serial pump system however with each outlet, the pressure of the water will drop as the water flows through it. This will result in very minimal water output for the terminal plant.

Screenshot 2022-12-12 at 11 28 05 PM



Parallel Irrigation System

With Parallel system, water flow is split amongst X number of plants. Although each plant may receive less amount of water, this method will resolve with the drop of pressure flow which is found in serial method.

Screenshot 2022-12-12 at 11 28 13 PM

Equipments

Watering Unit

Watering Unit

M5stack(Microcontroller) with Env Sensor

M5stack with Env Sensor

Bucket for reservoir

Bucket for reservoir

Temp Water Catchment

Temp Water Catchment

Roller Clamp to titrate water flow

Roller Clamp


The project was made using Flutter with Firebase as a Backend as a Service and M5stack.

Cloud Message: Firebase Cloud Messaging HTTP protocol
Microcontroller: Miro-Python

I came home to witness one my plants drowned. I've forgotten that the medium the plant was in had excellent water retention capacity and I probably shouldn't have watered the plants too fast.

On a sunnier note, I learnt a lot from this project.

  • Serial vs Parallel Irrigation System
  • Timing of watering was based on a timer which will periodically fetch the datetime from an API.
  • Writing of code using Micro-python without standard libraries.

Parallel Irrigation System

Plant shot

Biopsy result: Drowned to death

Dead Plants

Push Notification Example

Screenshot 2022-12-13 at 1 26 00 AM

About

M5stack automated irrigation system with sensors and Push Notification capability to Mobile Application using Cloud Messaging via HTTP protocol

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published