So tonight I was going to hack on my API for realtime access to the bedside Zeo's data. Instead I got a bunch of "Capture error: Read timeout in sync."
Now, the whole serial-over-FTDI-to-USB setup has always been a bit flaky. The capture error I mentioned is a sign that the (physical) connection is broken between the Zeo's serial port (or circuits) and the serial-to-USB chip in the FTDI cable. Usually this means I have to jiggle the thing a bit. There's no latching mechanism, strain releif, or any other manner of hardening for the serial port, which tends to mean the mutant FTDI cable is starting to fall off or a pin was bent slightly away from the conductors in the serial connector. Well, after bending pins a bit and tweaking for a while, I still get capture errors. I also tried a second working FTDI cable I had laying around. It makes me wonder if one of the solder connections on the Zeo's circuitboard has broken and the serial port is completely open and unconnected. No more hacking on this tonight.
This comes after some negative experiences already with the whole serial port thing. For one, if anyone is to use the software I write, they are going to first have to do some time-consuming wiring in order to make a cable that plugs into the Zeo. Far from plug-n-play, and the situation doesn't look like it is changing. Now, making a durable Zeo-to-computer cable is tricky. I've gone through a few already. Then I have to mess with all of that connector crimping and forming all over again each time. So far I've settled on using epoxy to freeze the little wires spliced out of the FTDI cable and running into the serial connector. Be sure to cover a large amount of the unspliced cable with the epoxy, or it will break loose and the strain releif is no good anymore. Maybe sand/gouge the unspliced cable sleeve a bit to make the epoxy grab better. My first attempt was with hot glue, and that lasted a very short time (<1 month) before failing. But that's solvable at least, mostly. There's still no (easy) way to make sure the connector actually stays attached to the Zeo. I think my latest attempt involved carefully sanding the some tab on the connector until it was just right, which gave it a small amount of snap due to friction alone. This thing is also in a very inconvenient spot on the Zeo: the bottom. This requires the cable I make to be small and at a right angle, lest the Zeo rest ON the cable and cause all kinds of connectivity havoc (because it makes the serial port pins bend and move around inside the connector).
So I'm going to call it "not worth fixing" and give up for now.
I'd probably stick with it if there were a USB port on this thing. Or maybe if Zeo sold a higher quality Zeo-to-PC cable, though I suspect it'd be too late for my Zeo.
Don't get me wrong, I'm really glad you guys opened this stuff up and let me do some hacking to begin with. That was really important a little over a year ago! Thanks!
The Zeo Sleep Manager seems like the way to go anyways. I have an android phone, so I might buy one. I may even try the android API, though I'll have to feel like dealing with JavaAndItsAmazinglyVerboseGrammar before I slog through it. (C API would be cool.)