Setup and use of Scribbler Robot
The scribbler and its bluetooth module are cool, but need some involved set up, particularly on Linux.
Linux - initial install
Initial install (on host computer)
1. Packages: sudo apt-get install python python-tk python-serial python-pyxmpp python-xmpp python-imaging python-imaging-tk python-numpy libsnack2 python-pygame festival festvox-rablpc16k
2. sudo ldconfig
3. Install myro package
mkdir myro cd myro wget http://myro.roboteducation.org/download/myro-2.8.14.zip unzip myro-2.8.14.zip sudo python setup.py install
4. This step is recommended, but doesn't seem to be necessary and does mess up the existing Tkinter install.
Copy ScriptBinding.py and config-extensions.def to idlelib folder:
cp misc/* /usr/lib/python2.6/idlelib/
NOTE: this changes the default Python config and makes other programs (at least turtlecon.py) that use idlelib fail...
5. get start up prog... not really needed...
wget http://svn.cs.brynmawr.edu/Myro/trunk/Start%20Python.pyw chmod +x Start\ Python.pyw
Initial bluetooth setup (host computer)
1. Bluetooth needs to be enabled (dongle may be requred) on host
2. plug fluke module into robot and turn on robot
2. scan for robot's MAC address
hcitool scan * should give address and ID begining with IPRE, as in example below * Scanning ... 00:1E:19:01:05:16 IPRE6-245699
3. add MAC and 1234 to /var/lib/bluetooth/pincodes - for example:
00:1E:19:01:05:16 1234
4. add device to /etc/bluetooth/rfcomm.conf - use correct MAC on device line below:
rfcomm0 { # Automatically bind the device at startup bind yes; # Bluetooth address of the device device 00:1E:19:01:05:16; #BorgDongle # RFCOMM channel for the connection channel 1; # Description of the connection comment "IPRE Scribbler Dongle"; }
5. create connection to device
sudo hcitool cc xx:xx:xx:xx:xx:xx [...you have to paste your IPRE mac-address]
6. bind device to /dev/rfcomm0
sudo rfcomm bind all
Initial setup - scribbler robot
1. run Start Python.pyw
2. import myro libs:
>>> from myro import * (c) 2006-2007 Institute for Personal Robots in Education [See http://www.roboteducation.org/ for more information] Myro version 2.8.14 is ready! >>>
3. "upgrade" scribbler to listen to host (requires http access, set http_proxy first if necessary)
>>> upgrade("scribbler") (enter /dev/rfcomm0 in popup dialog)
4. connect to robot:
>>> initialize() (enter /dev/rfcomm0 in popup dialog) >>> beep(1,800) (robot should beep)
Normal connection use
1. power on robot
2. create connection to device
sudo hcitool cc xx:xx:xx:xx:xx:xx [...you have to paste your IPRE mac-address]
3. bind device to /dev/rfcomm0
sudo rfcomm bind all
4. launch Start Python.pyw (or other python)
4. import myro libs:
>>> from myro import * (c) 2006-2007 Institute for Personal Robots in Education [See http://www.roboteducation.org/ for more information] Myro version 2.8.14 is ready! >>>
5. connect to robot:
>>> initialize() (enter /dev/rfcomm0 in popup dialog) You are using fluke firmware 2.7.4 You are using scribbler firmware 2.6.1 Hello, I'm Scribby! >>> beep(1,800) (robot should beep) == Caveats == 1. If the bright red LED on the back of the Fluke card blinks that indicates low (< 6V) voltage, i.e, dying batteries. Low batteries will make the robot unresponsive - it will accept the first command and no others, with the red power LED on the scribbler flashing in alternation with the middle green LED.
