Bhairav Pardiwala
Published

IPlanty

A solution to water your plants while you are not at home.

IntermediateWork in progress3 days3,329
IPlanty

Things used in this project

Hardware components

Raspberry Pi 2 Model B
Raspberry Pi 2 Model B
×1
mini motor pump
×1
Breadboard (generic)
Breadboard (generic)
×1
capacitor kit
×1
Linear Regulator (7805)
Linear Regulator (7805)
×1
LED (generic)
LED (generic)
×1
optocoupler relay
×1
battery holder
×1
water pipe
×1
9v aligator clips
×1
9V battery (generic)
9V battery (generic)
×1
AA Batteries
AA Batteries
×1
Logitech Webcam C210 (Optional)
×1
Android device
Android device
×1

Software apps and online services

Windows 10 IoT Core
Microsoft Windows 10 IoT Core
Xamarin
Xamarin
MQTT
MQTT

Story

Read more

Schematics

IPlanty Circuit

This is the circuit i created to best of my knowledge .Please use at own risk .Note the values of capacitors and resistors are just as is .The actual values i have used are slightly different

IPlanty Raw Circuit sketch

This is a raw sketch of the circuit

Code

IPlanty Snapshot Module (Optional)

This is basically IPlanty's Snapshot Module . This is a workaround for my Logitech C210 camera which takes time to warm up . To use it you need to call the app association protocol "launchsnapshotiot://" and the app will launch ->take a snapshot ->and exit itself

IPlanty Code

This is a modular task based headless WinRT app which accepts time slots. The slots accept any object which implements IPlanty interface which has methods start task and stop task To use this 1)Create a class file and implement Iplanty interface .use the start and stop task methods and finish your coding in them(The methods are task based so its ok for start to be taking more time to finish than stop .The system will execute stop task when start task awaited is finished,Also the main scheduler is synchronous i.e starting the slots one by one .It could be modified to start multiple slots in parallel but i have not done so for now :-) ) 2)Create a new Planty slot and define the hour and minute you want to run task at every day using timespan . 3)Add the task to the eng.WatcherList

XMPlanty:- Xamarin Android Planty App controller

Its a Xamarin app which uses MQTT to communicate with IPlanty

Credits

Bhairav Pardiwala

Bhairav Pardiwala

8 projects • 16 followers
Polyglot dev

Comments