I've always liked the Roomba Recon project from MAKE:27 but couldn't get OpenWRT working properly with the spare router I have. So this is my attempt at doing the same thing, only with a Raspberry Pi.
This site (in Romanian, but the Google Translation is quite good) has everything needed to get streaming-over-http working. Runs its own http server that only serves the stream.
Powering the webcam via a modified usb extension didn't work. However, I tried plugging the webcam directly into the RPi and it is working, so we'll leave it at that for now.
Test setup (from an xterm on X-Cygwin on my PC):
Streams video to a local PC window. Choppy framerate; it'd be enough for finished product, but hopefully I can do a little better.
I think all the power is wired. Have not had a chance to test it yet, however.
The big change-of-plans is that the electronics will not be powered from the Roomba, at least for the time being. The reason is that the 8-pin DIN serial cable I bought to connect the Roomba to everything else uses 26-UWG wire for each pin, which according to this chart, can safely handle about 0.36 amps. It has 2 power wires in the cable so we can double that to 0.72 amps, but it still isn't enough. The Raspberry Pi plus wifi adapter needs almost that much (about 0.70 amps) and I understand the webcam has comparable needs.
So the fall-back plan is to use a 7.4v LiPo battery from the parts bin. It is connected to the input side of the DC-DC step-down board. The board's adjustment screw is dialed to 5v. The hot and ground terminals of the board's output are each connected to their own screw-terminal jumper strips (each a combination of an 8-position barrier strip and an 8-position jumper strip from Radio Shack).
The RPi is powered by a modified USB Mini-A cable. I cut the host-side (USB-A) connector off, leaving the mini-A connector and a generous amount of cable. I laid bare the individual wires in the cable, leaving the yellow and green wires unconnected. The red (+) and black (ground) wires were connected to the appropriate jumper strips, providing 5v to the RPi.
The RPi is not able to supply enough current to its USB ports to power the webcam. Originally I wanted to hack a powered USB hub (run 5v and ground wires to the wall-wart-adapter plug) but I couldn't find a powered USB hub for cheap. So I hacked a USB extension cable to draw power from the DC-DC step-down board instead. This meant very carefully removing the extension cable's outer insulator (without nicking the inner wires), cutting the red wire, and connecting the red wire to our +5v terminal block such that the webcam gets power. I should not need to do anything with the ground wire -- the webcam will be grounded through the RPi.
Successfully installed the Edimax EW-7811Un 150 Mbps Wireless 802.11bgn USB Adapter using these instructions. A reboot was required before it picked up a gateway address and DNS server address from the router.
This successfully compiles roombacmd and simpletest. Dummy me skipped too far ahead, though -- I can't test this out until I get a working serial connector. Doh!
The RPi is now Internet-connected and resolving hostnames (see the ping to yahoo). It is plugged directly into my wifi router and being controlled headlessly via PuTTY from my desktop PC.
The RPi is currently being powered by the USB port on my TV. It is also connected, via HDMI, to the video on that TV, but I don't have a spare USB keyboard to do anything more with it directly.
Got an RPi working with the "Wheezy" distro. Since I don't really have a USB keyboard or HDMI tv to spare, I needed a way to set it up headless, which meant it had to be running sshd with a default login/password on first boot. Originally I tried using the Occidentalis distro from Adafruit.com, but for some reason it would refuse ssh connections. I was able to ping the RPi and nmap showed that port 22/ssh was listening, but I couldn't get through. Wheezy worked the first time, so that's what I'm going with.
1-9 of 9