December 2016

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 31

Style Credit

Expand Cut Tags

No cut tags

August 17th, 2014

tony_osp: (Default)
Sunday, August 17th, 2014 07:38 pm
Finally I was able to get back to work on my OpenSprinkler project.

Just to remind, I'm using a fork of OpenSprinkler 2.0 code, modified to work on the standard Arduino Mega 2560 with the mainstream Ethernet W5100 controller. I did some work/enhancements to that code before, adding SD-based logging and fixing some bugs.

Last weekend I also re-worked local UI in the OpenSprinkler code. The original Open Sprinkler uses fairly basic UI for the local LCD - it is mostly intended to show status and to configure few things (IP address etc). I wanted to add more functional local UI, comparable to the standard Orbit timer controllers - with the ability to start/stop valves, review and modify programs etc. However retrofitting this functionality into the existing OpenSprinkler UI code is rather hard - that code is optimized for space and is not extensible.

To fix it, I re-worked the local UI part of OpenSprinkler code, moving it into a separate class and making it extensible. The work is not fully complete yet, but I have basic local UI working and functional.

The code is available in my Git repository: https://github.com/tony-osp/OpenSprinkler-experiments

Next steps: I need to spend another weekend to finish up Local UI code to implement all features/capabilities I want (e.g. full local config, maybe program review etc) before I can move on to the next major update.

But the next major capability I would like to add is support for monitoring - water metering, temperature and humidity monitoring.

However before I start to work on monitoring, I need to decide whether to continue using existing OpenSprinkler code as the core/base, or maybe to move to the core code by Richard Zimmerman. Richard's code is a totally re-written version of OpenSprinkler designed to work on both Rasberry Pi and on Arduino Mega. Richard's code is much more comprehensive, it has more complete built-in WEB server and slick UI. Big limitation of that code is the lack of the local UI (no support for local LCD and buttons), however now I have this code and I can try to transplant my Local UI into Richard's OS version.