Hey everyone, wanted to share that with the new V5 Library Ytai has just released, IOIO now works with the Raspberry Pi! This will ONLY work with new V5 library so be sure and upgrade prior.
I've got this up and running on my project now, video here<http://www.youtube.com/watch?v=GphJJjnksrc> . You'll see a custom IOIO board in the video but it will work the same using a stock IOIO board. In this setup, the Pi is connected to the IOIO over USB. I didn't spend much time on Bluetooth yet but I think it would work over Bluetooth too. *Raspberry Pi Setup over USB* Step 1. Download the latest Raspberry Pi SD card image from http://www.raspberrypi.org/downloads and install Raspbian Step 2. Download the udev rules file from this page<https://github.com/ytai/ioio/wiki/Downloads>, and copy it to your rules directory (one time step) *sudo cp 50-ioio.rules /etc/udev/rules.d* Then restart udev *sudo restart udev* *or* *sudo /etc/init.d/udev restart * Step 3. Plug your IOIO into a free USB port on the Raspberry Pi and check if it’s recognized using this command *ls /dev/IOIO** Most likely you'll get back either IOIO0 or IOIO1 Step 4. Install Java on your Pi *sudo apt-get install openjdk-7-jre* Step 5. Now just run your IOIO app from the command line or X windows ( startx) java -jar -Dioio.SerialPorts=/dev/IOIO0 yourapp.jar replace 0 with the number returned from step 3 One funny behavior I saw on the Pi is that when using the command above, it won't work the first time but then works subsequent times. Just do a CTRL-C to cancel and run the command again. However if you use this command and don't force the port like this: java -jar yourapp.jar Then actually it does work the first time but just takes a little longer for the port scans to finish. The theory here from talking with Ytai is that this works because the IOIO lib is opening up the port initially during the port scan when there is no port forced using the -Dioio.SerialPorts=<your port> option. If you want to set the serial port programmatically in your app, here's how to do that: call System.setProperty("ioio.SerialPorts", "/dev/IOIOx") from your main(), before calling the "go()" method of your app. I think the low cost nature of the Pi opens up many cool new applications for IOIO where the Pi can be left embedded in a project. Here's a few things to share to take this further: - PiUi <http://blog.davidsingleton.org/introducing-piui/>- turns your Pi in a web server with a mobile friendly UI. The web server back-end is python based. So you can make a java command line call from Python. Essentially this setup puts your IOIO on the network where you can control it from any browser. - Google Coder <http://googlecreativelab.github.io/coder/> - Web based IDE for your Pi, supports javascript and node.js. Similar in concept to Protocoder <http://makewithmoto.squarespace.com/protocoder/>. Someone would need to wrap the IOIO libraries in javascript or node.js framework of Google Coder which would be really awesome, it's a very well done implementation. *BeagleBone Black Setup over USB* Unlike with Raspberry Pi, you’ll login to the BeagleBone Black as root with initially no password. The other difference is that the BeagleBone comes with a Linux distribution pre-installed. Step 1. Download the udev rules file from this page<https://github.com/ytai/ioio/wiki/Downloads>, and copy it to your rules directory (one time step) *cp 50-ioio.rules /etc/udev/rules.d* Then restart udev *restart udev* *or* */etc/init.d/udev restart * Step 2. Plug your IOIO into the USB port on the Beagle Bone Black and check if it’s recognized using this command. *ls /dev/IOIO** Most likely you'll get back either IOIO0 or IOIO1 Step 3. Visit the Oracle JDK download page<http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html> and download the “Linux ARM v6/v7 VFP Soft Float ABI” version. - Copy jdk-7u4X-linux-arm-vfp-sflt.gz to your BeagleBone Black. Replace X with the latest version of Java available which was 5 at the time of this writing. - Perform ‘tar xzf jdk-7u4X-linux-arm-vfp-sflt.gz’ to extract the JDK - Perform ‘export PATH=$PATH:/home/root/jdk1.7.0_4X/bin’ to add the JDK to your path - Perform ‘export JAVA_HOME=/home/root/jdk1.7.0_4X′ to set the JAVA_HOME on your installation - Perform ‘java -version’ to verify your installation Step 4. Now just run your IOIO app from the command line or X windows ( startx). java -jar -Dioio.SerialPorts=/dev/IOIO0 yourapp.jar replace 0 with the number returned from step 3 Unlike on the Pi, you must force the port on the BeagleBone or you'll get exception errors so be sure and use -Dioio.SerialPorts=/dev/IOIO0 -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/groups/opt_out.
