Greetings from Foulab (Montreal Hackerspace),
Got my raspberry pi in the mail 3 days ago. First project was to make a bluetooth controlled I/O board with 24 pins, ADC and PWM options. Why? Robotics, motor control, remote sensing, etc without cables and with good isolation. Also, while I am more or less comfortable connecting/soldering things directly to the board, some people I work with are not. I'll document the project as it progresses here in case it is useful to others. For the purpose of brevity I'll avoid topics already covered in the datasheets of the relevant devices, and assume you can install software.
Day 1: Installed Debian Squeeze. Got SSH/vncserver running. Had connected an Apple II monochrome screen to start, which was fun, but got tired of that fast.
Day 2: Got the serial port (/dev/tty/AMA0) playing nicely with python. Built a circuit to convert the 3v3 serial to TTL serial, provide some isolation, and clean up spurious signals (really just a pull-up transistor, diode protection, and a scmitt trigger hex inverter). It's a trivial circuit but I'll provide it if someone wants it.
Day 3: Had this bluetooth dongle lying around, and this bluetooth to serial adapter:
http://www.dealextreme.com/p/super-mini ... ible-11866
http://www.dealextreme.com/p/wireless-b ... 711?item=8
I can confirm both work with the raspberry pi. For the bluetooth dongle, just plug it in. For the bluetooth serial port, you'll need to do the following:
This should give you the address and name of the bluetooth adapter (in my case, address 00:12:02:28:76:87 name: linvor)
#hcitool cc 00:12:02:28:76:87
This connects to the bluetooth device at address 00:12:02:28:76:87
#rfcomm connect 0 00:12:02:28:76:87 1
This creates serial device /dev/rfcomm0 located at this address on bluetooth channel 1
This will output a list of devices, make sure something with rfcomm# is there
Now in python:
You'll see 3v3 volt serial data come out of the transceiver. Convert to 5v TTL serial and you're ready to connect to an MCU over bluetooth (skip this step if your MCU already uses 3v3). Keep in mind pyserial sends ASCII characters, so if you want to send the number 5, not the date for the ASCII character 5, you need to do this (in python):
To come: Now it should be a simple matter of writing some assembly for an MCU, then a driver for the python end. The MCU just has to receive and echo commands (for error correction) and then enable/disable/send data at the various MCU I/O. Should not be difficult, I've done this before.