Forum Replies Created
-
AuthorPosts
-
RayKeymaster192.168.x.x is your internal ip. In the app you need to provide your external IP. If you don’t know, just open a browser, and Google ‘what’s my ip’. Also, have you set up port forward on your router?
You don’t have to use dynamic dns, although it will certainly help if your ip changes frequently.
RayKeymasterThat’s a good suggestion. I was just thinking the other day that I am going to introduce the concept of ‘serial groups’ as a station attribute. There will be a globally serial group, a globally concurrent group, and a few additional custom groups. Basically stations within a serial group will be serialized, and stations in different groups are allowed to open concurrently. Every station in the globally concurrent group is allowed to run concurrently (i.e. they are treated as if each station is in a unique group). More intuitively, you can assign stations that are connected to the same water source to a serial group, so they will be serialized to preserve water pressure. If anyone uses opensprinkler for landscape lighting etc, those stations ca be assigned to the globally concurrent group to allow simultaneous running.
I am not sure when this will be in place. But I’ve thought about the algorithm and it shouldn’t be difficult to implement.
RayKeymasterAs KanyonKris mentioned, you can unplug the 3-wire cable (which provides +5V to RPi), and power RPi with a USB cable. The 8-pin cable has a ground wired, so as long as you leave the 8-pin in, the ground is shared.
RayKeymasterIf you are good at soldering and want to build one completely from scratch, go with 1.42u. Yes, you will be locked into 1.8.3 firmware, and there is no way to add SD card support due to the flash and RAM constraints. I wish Atmel could release an ATmega648 chip at some point, which would have solved this problem 🙂
If you are familiar with Python and want to tinker with the software, go with OSPi. It currently runs firmware 1.8.3 (Dan’s interval_program). There are also Rich’s sprinklers_pi program, and the Google Calendar based scheduling program.
If you want something that works out of the box without further assembly, go with OpenSprinkler 2.0s. It’s more expensive, because it’s more oriented towards the consumer market. But it’s still open-source, and give you plenty of space for hardware / software hacking.
If you want something in between fully assembled 2.0s and the DIY 1.42u, there is the DIY 2.1u that will become available in a few weeks. It’s not all through-hole though — about 60% assembled and the rest for you to solder.
RayKeymasterGlad to hear it’s working now. Thanks for the update.
RayKeymasterHi Felipe, it’s unlikely we will make an OSPi DIY kit. The OSPi circuit is relatively simple. It’s pretty easy to do a home-made PCB. For example, there is a recent post about it:
viewtopic.php?f=28&t=374
RayKeymasterNo, it does not damage the chip. Sorry for the confusion. It just means that the Ethernet controller will not work without the correct crystal.
In any case, even with the 32.768kHz crystal soldered on X1, it shouldn’t cause the controller to not go past the ‘Connect to Network’ screen. From your picture, everything looks fine and I can’t see any obvious issue (other than X1).
The fact that the LEDs on the Ethernet jack do not light up (assuming you have connected it to your router) is a strong indication that the Ethernet controller cannot initialize for some reason. One possible reason could be that some signal line is being pulled to ground. I suggest that you go through all the solder joints, and check if any solder joint is accidentally touching the ground plane around it (the grid area is the ground plane, it spans the entire PCB). When in doubt, use your soldering iron to melt the solder joint (i.e. reflow the solder joint) so that the joint will retract from the ground plane.
RayKeymasterHere are the steps I would suggest:
– Check if the green LED on the Ethernet jack is on.
– Go to options (press and hold the 3rd pushbutton while powering up the controller), and set DHCP to no (i.e. use static ip). Press and hold the 3rd pushbutton until the controller restarts, see if it can get past the ‘Connecting to Network’ screen.If the above two fail, that means the Ethernet controller has failed to start for some reason. You should carefully check the Ethernet controller, see if there are any bent or unsoldered pins. Also check if you’ve soldered the 25MHz crystal to the correct location.
If the above two succeed, it may have to do with the controller not able to get DHCP. Try static ip (make sure you set an ip that’s compatible with your router setings, and you set the correct gateway ip). Hope this helps.
RayKeymasterRFM12B is not included in the package and you have to purchase it separately. We used to carry them in store but they are now replaced by the simpler, cheaper and more common 433MHz and 315MHz RF transmitter / receiver. You can purchase RFM12B from a variety of places such as SparkFun, Modern Device etc. Note that only OpenSprinkler DIY 1.42u has PCB pads designed to fit RFM12B — the newer version of OpenSprinkler 2.0 does not have PCB pads for it (although it’s still possible to connect it manually to the SPI bus).
RayKeymasterSure, this can be implemented. The controller has several available GPIO pins to interface with temperature sensor. You do have to modify the source code to include temperature-based control though.
RayKeymasterWatering level is now named ‘Percentage of watering’ and it has always been stored in EEPROM.
Rain delay is not written to EEPROM yet but can definitely be changed to.
RayKeymasterSure, you can use any pair of Vcc / Gnd pins on the OSPi board. Those are designed for connection to external components. You should use Vcc (3.3V) and *not* VIN (5V), because Raspberry Pi’s GPIO pins in theory can only accept 3.3V input.
Note that Adafruit also has a tutorial on interfacing with these temperature / humidity sensors using Raspberry Pi:
http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/
RayKeymasterCan you tell which version of Raspberry Pi do you have? Rev.1 (which does not have screw holes) and rev. 2 (which has screw holes) have slightly different pin names in Python, so you will need to change the pin name according.
On the other hand, the ospi_selftest program, which is written in C, should work in either case. So I would suggest running that first to see if your solenoids can turn on.
RayKeymasterSorry, I forgot about that. Will fix it next.
RayKeymasterOops, I didn’t mean to imply that’s what actually happened. Sorry if I made the wrong impression 🙂
RayKeymasterHi,
Sorry to hear that. It sounds like the controller has a damage. The symptom looks similar to a couple of cases I’ve seen in the past, which were caused by plugging the 24VAC into the COM or Rain Sensor port. I know this is a design issue — the ports all use the same type of terminal block, making it easy to plug to the wrong port. This is being addressed in the next revision, where the 24VAC port will use a terminal block with a different color and pin spacing.
Please send it back to the following address and we will take a look at it. Thanks.
Rayshobby
5 Valley Lane
Amherst, MA 01002
RayKeymaster1 and 2 are both in the options, but you need to set them on the controller — these two options are not available on the web interface yet. To enter option setup on the controller, turn off the controller, then press pushbutton B3 while powering it back on. Click B3 to cycle through all options, B1/B2 to change values, and then press and hold B3 to save the values.
It’s certainly possible to expose these options on the web interface, I just haven’t had time to change that part of the code yet.
RayKeymasterI think so. The typical solution is to use a cross-over cable, but I think modern network drivers also allow you to use a standard Ethernet cable to do so.
RayKeymasterYou should check if this sensor is ‘normally open’ or ‘normally closed’. You can set the type accordingly in the OpenSprinkler options.
RayKeymasterI assume you have OpenSprinkler 1.x hardware. If you increase the MAX_EXT_BOARDS, the program will require more RAM to store the station status and information etc. Unfortunately ATmega328 only has 1KB RAM space, and I am pretty sure increasing MAX_EXT_BOARDS to 4 will cause the RAM consumption to exceed 1KB, causing the mcu to fail to start.
RayKeymasterOne thing you may want to try is to switch the TX and RX. It’s often confusing whether the TX pin on the serial converter should be connected to the TXD or RXD on the microcontroller.
I have not had any experience using Max232. I’ve been using the PL2383 USB-to-serial converter for debugging with OpenSprinkler and it works pretty well. We have this in store:
http://rayshobby.net/cart/usb-pl2303
To use it you just need to plug in the ground (black) wire to OS ground, and the RX (white) wire to OS TXD pin. Then use a serial monitor (either Arduino’s serial monitor, or putty, or gtkterms etc.) to receive messages. The only downside with pl2303 is that on Windows you need to install driver.
RayKeymasterIt’s not entirely clear to me how you want to wire them up. Are you basically trying to connect OS with a manual switch in parallel, in order for either to control the valve? Could you provide a diagram of the wiring?
RayKeymasterThanks for sharing. I find it particularly interesting that you found SSRs that can directly switch the sprinkler solenoids. Many existing solutions use an optocoupler (triac output) plus a triac for each station, mainly because the optocoupler itself cannot switch high current. The SSRs you found have sufficient output current, and yet are pretty small.
RayKeymasterI apologize for the confusion, note that the recommended WiFi adapters for OpenSprinkler are listed on the product webpage:
http://rayshobby.net/cart/opensprinkler/os-20
as well as the online user manual:
http://rayshobby.net/?page_id=3775#networkEdimax is a USB WiFi dongle. It can’t work with OpenSprinkler (microcontroller version) because it requires a USB host device.
RayKeymasterThere is a power switch on the controller. You can turn the controller off by sliding the power switch up.
If you are looking for a ‘software’ disable, there is no super convenient way yet. You can use the ‘stop operation’ button, but the stop operation bit is currently now saved in non-volatile memory, so if you restart the controller that bit will be lost. An alternative way is to go through each program and set each program to be disabled. In any case, the ‘stop operation’ bit can be easily saved in non-volatile memory, and I will make sure to include this in future updates.
-
AuthorPosts