Forum Replies Created
-
AuthorPosts
-
RayKeymasterThe chance of the microcontroller being defective is pretty small, especially since it displays messages on the LCD correctly. The pin you pointed to is the MISO pin, which is part of the SPI bus. The microcontroller communicates with the Ethernet controller and SD card through the SPI bus. So if that pin is unreliable, it can definitely cause problems. I can only think of two reasons where the controller gets stuck at the ‘Detecting uSD card’ message: either an incompatible SD card has been inserted, or the microcontroller is having difficulty communicating with the Ethernet controller. In either case, it seems crucial to figure out why the MISO pin is unreliable.
One thing I suggest you do is to use soldering iron to heat up that solder joint and let it reflow. Sometimes if the solder joint spreads too much onto its nearby traces it can cause shorting to those traces. Make sure the solder joint is not touching any nearby trace. Use a magnifying glass will definitely help.
RayKeymasterWhich one? – There are a bunch of versions – 2.1s assembled, 2.1u, which seems newer but only available DIY, and pi and BB versions. I can certainly build one, but I’d rather not. Is there any functional reason to prefer the pi or BB versions? Is firmware updated on them as regularly? Will 2.1u be available pre-built? In short, if all I want is a great irrigation controller, which should I buy?
2.1s and 2.1u are based on microcontroller and have the same hardware features, the only difference is one is assembled, the other is semi-assembled and requires some assembly steps yourself. There is no pre-built 2.1u because that would be simply 2.1s. The firmware is written by me and I am actively working on the next major upgrade.
OSPi and OSBo are based on Pi and BeagleBone, and hence embedded Linux. The software for these are currently developed and maintained by Dan, Rich, and Jonathan. Based on the quantity sold, OSPi is much more popular than OSBo.
The forum also has some previous discussions on which version to get:
viewtopic.php?f=9&t=394&p=2671&hilit=which+version#p2639Firmware release notes – I see doc, including videos, for firmware 1.8. I also see, I think, that the current version is 2.0.4, but can’t find any info on the difference, even on github. Are there software release notes for the various versions anywhere? (If there are, maybe it addresses some of my other questions)
Firmware 2.0.4 is not significantly different from 1.8 that’s why I didn’t make a separate video. Most changes are documented textually in the user manual. The github does have release notes (I think I put those in the compiled folder). Also, you can check the forum topics for release notes.
The next major upgrade, numbered firmware 2.1.0, will have a bunch of changes and I will make a video for it when it’s ready.
Weather – There are a few references to adding weather forecast use to the unit, going back as far as 2011. But, I can’t find any info about whether this has actually happened, except for the external php script (referenced in the mobile app video) that can add a rain delay. What is the status of this? Ideally, it would be great to modify programmed run times based on heat/humidity, maybe even add a watering cycle on a really hot, dry day.
Weather-based control is not added to firmware 2.0.4 yet. However, it’s supported on OSPi by either using Dan’s program or Rich’s sprinklers_pi program.
Programs – I see that for each program, all stations referenced run for the same time, which is quite different than the controllers that I’m used to. In my case, I have a summer and winter program, which involves all stations running for different times. So, it would seem that I would actually need 16 programs for my eight stations, one each for summer and winter, and when I switch over I need to enable/disable all of them. Is that correct?
This is being addressed in the development of firmware 2.1.0.
With the current firmware 2.0.4, the work-around is to create multiple programs, let’s say you want a single program where station 1, 3, 5 run 10 minutes each, and 2, 4, 6 run 20 minutes each. You can create two programs, with the same start time and interval, but one selects 1, 3, 5 with 10 minutes water time, and the other select 2, 4, 6 with 20 minutes water time. This way the controller algorithm will schedule these programs together with the designated water time. The important thing is to set the same start time and interval for both programs.
Sequential operation – If I have multiple programs starting at the same time, will they run sequentially? If so, do they run in order of program number?
Yes, they will, as long as the ‘Sequential’ option is turned on.
The user manual explains how the controller algorithm works:
http://rayshobby.net/?page_id=730#program
(scroll down to ‘Understand how the programs are executed’). I know it’s technical, but if you want to understand how it executes the programs, this is the best resource to refer to.Wife-friendliness – I’m fine setting things up, doing firmware updates, etc. But, my non-techie wife needs to be able to use the system as well, and maybe a gardener. That would include running a loop manually, maybe putting the system on rain-delay, maybe rebooting if it gets in trouble after a power hit or something like that. Am I getting myself in trouble here, or can I make her happy?
“Am I getting myself in trouble here, or can I make her happy?” — well, this is rather subjective so I can’t give you a definitive answer. But I can tell you that we’ve sold about 2500 OpenSprinklers (including all versions), and we constantly listen to customer feedback and improve products by providing more functionality and better user interface 🙂
March 31, 2014 at 2:19 pm in reply to: sprinklers_pi – An alternative sprinkler control program #25074
RayKeymasterAfter the winter season, yesterday I’ve activated my OSPi, connected to the web interface and tried to manually switch on one of the zones. Nothing happens. No switching, no water, no error message in the log. What’s going wrong here? Is there a problem with the hardware? How can I test/fix it?
rokI assume you are using the sprinklers_pi program for manual control, is that right? Which version of OSPi do you have?
RayKeymasterNote that the current firmware does not require a microSD card — if you happen to put in one, take it out and try again. The microSD card feature is useful if you want all Javascript files to be served locally on the controller. It is also useful, for the future, to store more programs and logging data. When using it, the card has to be 2GB or less, and you need to format it to FAT16. If not, the controller will get stuck at the ‘Detecting uSD card’ message. For now you probably don’t need it, so just take it out and try again.
RayKeymaster1) My unit’s display shows TUE even though the date & time are accurate and when I log into the device remotely it shows the proper day as FRI.
I’ve never seen this happening. Since the LCD and the webpage both pulls time value from the controller’s internal variable, I can’t thinking of any reason that would cause what you described. Is it still the case or it’s now in sync?
2) I can’t manually adjust my PORT # from the default 80 to what I currently have forwarded on my router for this device.
The PORT# is never adjustable on the controller (i.e. using buttons) — you need to change it through the web interface (on the options page). This is due to a rather technical reason that the port number is stored in 2 bytes and all options that are editable on the controller are single bytes.
3) The MAC is a different address than it was before the firmware update. This has lead to me needing to make correction within my router’s Static DHCP settings so that it assigns the same IP and thus proper port forwarding to be visible outside of my network.
Indeed the MAC has been changed (it’s a rather accidental change when I worked on the firmware code).
4) When the screen sleeps or goes into the dim mode none of the 3 side buttons (b1, b2 or b3) will wake it. Only a physical power down and back on with the toggle switch will wake it. To be fair, this happened only the one time after I updated the firmware and I haven’t yet had the ability to try to recreate.
It should wake up on button press. Perhaps the controller was busy doing something when you click on the buttons. If this is a reproducible issue, I can check.
5) My web access page looks completely different in that none of the buttons have colors or emblems the way they previously did with v2.0.0 so I’m not sure if this is a new change with v2.0.4 or not but I noticed as soon as I logged in that it looked much more plain.
The button images have been removed but will be added back in future firmwares. The reason they are removed is that the web interface of firmware 2.0.4 (mainly javascripts and images) can be served entirely locally from a microSD card. The factory default is to retrieve javascripts and images from the rayshobby.net server, but if needed these files can be moved to a microSD card and served on the controller itself. When this happens, it’s better to minimize web traffic by reducing the number of files. It’s pretty easy to set the remote javascripts to serve extra images and the microSD card version to not. I just haven’t got around time to make two different versions.
6) In my router’s client list it now shows the device at this IP address as OpenSprinkler-00 as opposed to what it was previously called: OpenSprinkler.
This is correct. The device ID is not appended at the end of the name because if you have multiple opensprinklers connected on the same network, you will be able to tell them apart this way.
RayKeymasterThe OSBo source code is not published on Github yet. I should remind myself to create a repository as soon as possible. In the meantime, note that Dan’s interval program currently works on both OSPi and OSBo. You can follow the instructions here:
http://rayshobby.net/mediawiki/index.php?title=Python_Interval_Program_for_OSPi
to install the program. It will automatically detect whether you have Pi or Bo.
RayKeymasterOK, glad to hear that you got it solved. Sorry that it took you so much trouble. Next time I will try to find a way to embed Java into the firmware updater program.
RayKeymaster‘java’ is not recognized as an internal or external command, operable program or batch files.
This suggests that the system cannot find Java. You usually don’t need to add it to the system PATH variable manually, but since it’s not finding it, you can manually add it. First, find out where java.exe is installed. For example, on mine it’s at:
C:Program FilesJavajre7bin
it may be different on your computer so check to make sure.Then go to Start -> right click on My Computer -> Properties -> Advanced system settings -> Environment variables. Then look at System variables, find the Path variable, click on Edit, and append
;C:Program FilesJavajre7bin
at the end of the Variable value. Note the semi-colon, as it separates the newly added from the existing. Then click on OK and see if this makes any difference. If you open a command line window and type ‘java’, it should print out a bunch of java options and should not report ‘not recognized’.
RayKeymasterHmm, off my head I can’t think of anything else. I have a Win7 64-bit and the program runs fine on mine. Here is one more thing: can you run the bat file in command line, often that gives you more information about what’s missing. To run in command line, click on the windows Start button -> Run -> type in ‘cmd’, that will bright out the command line window. Then you have to ‘cd’ to the folder where the updater program is, and type ‘osFirmwareUpdater.bat’. Check the printout to see if it gives you more information.
RayKeymasterOK, I see. It probably means Java is not installed. Go to:
https://www.java.com/en/download/
and install Java. Then try it again.
RayKeymasterDid you see a osFirmwareUpdater.bat file? Double click it and it will run. Just so you know, .exe, .com, .bat are all executable in Windows.
March 27, 2014 at 10:58 pm in reply to: Can’t seem up install drivers to update firmware Win7 #26317
RayKeymasterFirst of all, you posted a question about OpenSprinkler in the SquareWear thread, that’s kind of confusing to me. Next, as I said, you need to install USBtiny driver, not USBasp! The readme I was talking about is the Firmware Updater software. Specifically, at this link:
http://rayshobby.net/?page_id=732#upload
download and unzip the Firmware Updater program for your operating system (in your case, windows 64-bit). Next, in the unzipped folder there is an applications subfolder with a .exe file you can click and it will run. There is a big ‘README FIRST’ button at the top. That’s the readme I was referring to. The instructions are brief but contain only the necessary information so you don’t have to read a lot. Please first let me know if you have run the Firmware Updater program, then we can continue from there. Also, I am going to move this to the OpenSprinkler thread since it has nothing to do with SquareWear.
RayKeymasterIf you have OpenSprinkler hardware version 2.0, you need to install USBtinyISP driver. As the README says:
Windows users: you need to install
– USBtinyISP driver (OpenSprinkler 1st-gen and 2.0s)Additional details about driver can be found in the firmware update instructions:
http://rayshobby.net/?page_id=732#upload
RayKeymasterCan you check if you are running the sprinklers_pi program or the interval_program (firmware 1.8.3)? Basically open a browser and type in
http://x.x.x.x:8080
where x.x.x.x is your OSPi’s IP address. From the webpage you can tell which program you are running.
RayKeymasterIs the Device ID hex? We are looking at having nearly 55 units in our network – if everything goes well. Do you for see us running out of Device IDs?
The Device ID defines the last byte of the Mac address. In OpenSprinkler options, it’s presented as an integer and you can set any number between 0 to 255. You are right that when displayed in Mac address it’s presented as a hex number. So you can define up to 256 unique IDs (which is sufficient for 55 units). This number can be increased further by changing the firmware slightly.
RayKeymasterI did some quick search on ‘EtherCard jumbo frames’ as well as ‘ENC28J60 jumbo frames’ and didn’t find much useful information. I will need to get a router or switch with jumbo frame support to do further testing. I suspect the problem may be that since a jumbo frame can be as large as 9K (and ENC28J60 has only 8K TX/RX buffer), it may have caused a buffer overflow problem. This is just my wild guess and I have to perform some experiments to investigate further.
RayKeymasterFirst, just to double check: are all the units on the same network or different networks? From your description, it sounds like they are in different networks. In any case, because the MAC address on OpenSprinkler is software defined, if you put multiple units on the same network, make sure you change the ‘Device ID’ option to give each device a unique MAC address. Otherwise you will get IP conflicts issues.
Next, regarding the Jumbo Frames, I am not aware of any issue of the EtherCard library (which OpenSprinkler firmware uses) when Jumbo Frames are enabled. From your description, it seems there is strong evidence that there is indeed such an issue. I have to do some research on this. In the meantime, is it possible to disable Jumbo Frames on the three PowerConnect 2808’s and see if this resolves the issue?
RayKeymasterHi Ray I only see one relay and it looks like it’s connected to the 24VAC to switch that in or out? (or maybe I’m looking at the wrong schematic?)
Could you point me in the right direction where the relay is that will allow me to short two wires together on my garage door opener button? Thanks.The relay is not wired to 24VAC — the three mapped-out pins NO (normally open), CO (change-over), NC (normally closed) are not connected to anything internally. To use it to control garage door, solder the two wires to NO and CO. This way, when the relay is activated, NO and CO will be shorted together. On OpenSprinkler 2.1, the relay is activated by setting a high on pin 14.
RayKeymaster@rhillman: about flow sensor, do you have a brand/model you’d recommend?
About primary-secondary opensprinkler options — yes this question has come up in the past, and I think it’s doable. There are a few possible implementations, probably the simplest can be: on the primary controller, define some stations that are associated with the secondary controller. When operating any of these stations, the primary controller, instead of sending signal to its shift register, sends an HTTP command to the secondary controller. This does require some firmware code changes, but it should be fairly easy to implement an ad-hoc solution.
March 24, 2014 at 2:35 pm in reply to: Edimax Nano, disconnects and packet loss with Ubuntu image #25831
RayKeymasterThat’s interesting. I didn’t know about it. Will check it shortly. Thanks.
RayKeymasterIt will be tricky to design an add-on circuit to use OpenSprinkler with DC latching solenoids. I would recommend keeping an eye on the upcoming OpenSprinkler Bee:
http://rayshobby.net/cart/osbee-10
which is designed to operate on battery and interface with DC latching solenoids. I’ve just ordered semi-final PCBs and expect to roll it out within a month or two (finally!)
RayKeymasterYes it’s possible to connect two solenoids to the same station port. Each port is rated 800mA continuous current. Typically sprinkler solenoids are rated at 150-250mA continuous current, so it can support two solenoids. Keep in mind that since the two solenoids are wired together, they will always open or close at the same time (i.e. they cannot be controlled independently).
RayKeymasterThis is a commonly asked question, and the short answer is that try to keep the expansion boards close to the main controller, and extend the wires to the valves. The wires to the valves can run as long as hundreds of feet; the wires from the expansion board to the main controller should be kept short because they carry logic-level signals and are prone to signal interferences. That being said, I’ve honestly never done scientific tests to see how far the expansion wires can go. Chances are they can probably still run pretty far (for example, you can make a long expansion cable yourself by modifying an Ethernet cable). The concern is that during bad weather such as thunderstorms this may become unreliable. The better solution is to use encoded signals, but that will require some significant change of the expansion board design.
RayKeymasterHow would you recommend implementing it so the board senses the current and can record it for each valve (so we know if one valve is not working properly or if a valve failed or wire disconnected/shorted).
There are several options. One possibility is to add a current sensor on the 24V AC line to sense the current change when a valve is open or closed. This is somewhat tricky because I am not familiar with AC current sensors. In an early prototype of OpenSprinkler I considered another option of applying low DC voltage (5V) and using a single analog pin to detect shorted solenoids. It works but I am concerned that the behavior of solenoids may be different under AC vs DC voltage, such that a solenoid that looks fine under 5V may still be defective under 24V AC. I don’t have enough experimental data to tell. In the end, I opted for the simple option of adding a fuse, which is simple enough to replace upon shorting.
There is another thread on the forum on flow sensors. Looks like flow sensors work by sending pulses, so an interrupt pin, or even just polling a GPIO pin should allow you to interface with flow sensors. I have ordered a flow sensor but haven’t tested it yet. Will report back when I do.
If you are worried about clock issues on the shift registers, the good news is that the clock can be adjusted to any speed you want — it’s done by simply toggling the clock pin high and low in the code. You can introduce some delay in the loop to slow down the clock. Check my replies in the other thread you posted.
About extra I/Os to control garage door opener: note that all current versions of OpenSprinkler (including Pi and Beagle) have an on-board mini-relay, the purpose of which is exactly for more general-purpose switching such as garage door opener. The software hasn’t been updated to include relay control yet, but the hardware feature is already there. The pin assigned to the mini-relay can be found in the schematic, and feel free to ask me if it isn’t clear in the schematic.
RayKeymasterCheck to see if the controller is left in ‘manual mode’. When it’s in manual mode, the normal programs will stop running. You should click on ‘Manual Off’ button (at the bottom of the homepage) to set it back to program mode.
-
AuthorPosts