Bhairav Pardiwala
Published

IPlanty

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

IntermediateWork in progress3 days748
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

Software apps and online services

Windows 10 IoT Core
Microsoft Windows 10 IoT Core

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
Img 20180502 005044 hfesfv7izh

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

Credits

Bhairav Pardiwala

Bhairav Pardiwala

3 projects • 8 followers
Polyglot dev
Contact

Comments