OpenSprinkler Forums Hardware Questions OpenSprinkler Pi (OSPi) What is the status of zone/programming in OSPI comparable to the Arduino version

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #35146

    tom
    Participant

    I am using an arduino version of Open Sprinkler for half of my yard, and am very happy with it.  I thought I’d do a second controller with OSPI, but then discovered that the PI version doesn’t schedule programs the way that the Arduino (and just about every other controller) does it.  I have about 20 zones to manage, and can’t do a zone-per-circuit setup, or drive all zones with the same run time.

    What’s the chance of the PI version getting the ability to vary the individual zone settings like the Arduino one?  This would be a great feature to have.

     

    #35150

    Ray
    Keymaster

    I’ve recently started working on a common source for both the microcontroller and Linux-based (i.e. Pi and Beagle) OpenSprinklers. This is inspired by Rich Zimmerman’s sprinklers_pi program, which can be cross-compiled between AVR and RPi. The code is written in C/C++, and can compile in both avr-gcc and the standard gcc. In Linux it uses the standard socket programming to handle web requests. So in a sense it can run on any Linux system (other than the GPIO stuff which doesn’t exist in standard Linux).

    Note that this will be a depature from Dan’s Python-based program. On the plus side, the common source will allow Arduino, Pi, and Beagle to run exactly the same code; on the down side, it’s less easy to extend and does not have the nice plug-in architecture that Dan and other users developed. I will try to make this available as soon as I can.

    #35152

    tom
    Participant

    Thanks for the info, Ray.  I wish I could have the best of both worlds – Python/plugin architecture as well as compatibility.  I really like what Dan has done, and thank him for it, it’s just that the flexibility isn’t there for the zones.

    My impression is that you really had to cram things in to get it to work on the Arduino.  With the Linux-based versions, how can we make use of the expanded capabilities?  If not plugins, would there be a way to run parallel programs that could interact with the main sprinkler software?

    Also, I’m wondering about the reliability of the PI version vs. the Arduino version.  I’ll be mounting things in boxes out doors, with full sun.  I’m concerned about relying on that tiny SD card to boot, as well as the temperature of the PI in the summer sun.  The Arduino boots so quickly and reliably.  any thoughts?

    #35156

    Ray
    Keymaster

    Unfortunately it’s hard to get the best of both (well, this is usually the case). The reason the common source has to be based on C++ is that that’s what the Arduino code is based on. This way it will maximally share the code base, with the goal of making the two versions fully compatible. You will see that the code isn’t that difficult to understand and expand. However, C++ is not a scripting language after all, so it’s definitely not as flexible as Python. I am not sure if there is a easy way to enable run-time plug ins. Most likely you will have to add code and recompile the program. But it’s not that hard.

    As Linux is a multitask system, you can certainly run other programs in parallel.

    Regarding the heat dissipation and reliability, that’s a commonly asked question and is certainly a concern. I honestly havne’t tested it thourougly myself. The Arudino version requiers less power and you are right that it boots quickly. So that’s an advantage. Overall as I’ve said elsewhere on the forum, the Arduino version is focused on providing an out-of-box working solution, while the Pi version is for users who have experience with RPi and prefer its flexiblity and extendability.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums Hardware Questions OpenSprinkler Pi (OSPi) What is the status of zone/programming in OSPI comparable to the Arduino version