Projects‎ > ‎

Pimba

Idea

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.

Materials

Software

HTTP Video Streaming

posted Dec 19, 2012, 10:20 AM by Lewis Baumstark

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.

Power Test

posted Dec 19, 2012, 9:50 AM by Lewis Baumstark

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):

ssh -X pi@192.168.2.109
guvcview --size=272x144 --format=yuyv

Streams video to a local PC window.  Choppy framerate; it'd be enough for finished product, but hopefully I can do a little better.

Serial Cable Pin <--> Wire Mappings

posted Dec 16, 2012, 2:11 PM by Lewis Baumstark

 Pin Wire Color ROI signal Notes
 1 black battery+ 
 2 brown battery+ 
 3 red Rx connected to green female pin-jumper
 4 yellow Tx connected to yellow female pin-jumper
 5 green device detect connected to white female pin-jumper
 6 blue GND 
 7 purple GND 
 8orange not connected 
 ring sheathbare wire  GND 

Power Distribution

posted Dec 16, 2012, 2:04 PM by Lewis Baumstark

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.

Webcam Installation (Logitech C270)

posted Dec 12, 2012, 12:54 PM by Lewis Baumstark   [ updated Dec 12, 2012, 1:42 PM ]

  1. Install rpi-update and use it to update the RPi's firmware.  Required a "sudo apt-get update" install of git-core ("sudo apt-get install git-core") before it would succeed.
  2. Instructions for camera installation here.

Now with Wifi Adapter

posted Dec 12, 2012, 10:36 AM by Lewis Baumstark

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.

Install roombacmd

posted Dec 12, 2012, 10:09 AM by Lewis Baumstark

$wget http://roombahacking.com/software/roombacmd/roombacmd-1.1.tar.gz
$gunzip roombacmd-1.1.tar.gz
$tar -xvf roombacmd-1.1.tar.gz
$cd roombacmd
$make clean
$make

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!

Internet-Ready

posted Dec 12, 2012, 10:04 AM by Lewis Baumstark


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.

Raspberry Pi is a GO!

posted Dec 7, 2012, 7:06 AM by Lewis Baumstark

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