I have been loving IOIO OTG on my Raspberry Pi. However, sometimes, I just want a little more power. I recently purchased a 'Radxa Rock' (similar to Pi, but quad core 1.6 Ghz), which is also ARM-based. I have followed the steps for applying the udev rules, but they aren't working for me on the Radxa Rock. I don't think it is a problem with me following the instructions properly, because I've been able to get it up and running on multiple Raspberry Pis. My guess is something missing from the kernel I'm using or something like that...
What is happening is that the device is showing up as /dev/usbdev2.6 . And every time I unplug and replug it, it increments and moves to the next number (i.e. usbdev2.7). This makes me think that the udev rules just aren't being applied properly. I have verified that the Rock is properly identifying the VID and the PID of the IOIO. I also tries (just for fun) passing in the port (java command line parameter) as usbdev2.6 (i.e. -Dioio.SerialPorts=usbdev2.6), and that doesn't work. It just says Waiting for IOIO connection, and then Waiting for underlying connection. I'm a seasoned developer (but have fairly limited linux experience) and wouldn't mind spending some time figuring out how to get this working. Hopefully the process would be the same on various ARM mini PCs. Could somebody point me in the right direction? Richard On Sunday, January 12, 2014 3:26:36 PM UTC-7, Ytai wrote: > > Woot!!! > Thanks, Al, for the great work and for the detailed write-up and > congratulations on your sky-rocketing PIXEL v2 > kickstarter<http://www.kickstarter.com/projects/996412530/pixel-led-art> > . > I'm leaving you the honor of announcing this feature on the RaspPi and BBB > forums (or I will do so if you don't feel like it :D) > > > On Sun, Jan 12, 2014 at 1:57 PM, Al Linke <[email protected]<javascript:> > > wrote: > >> 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] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/ioio-users. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- 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/d/optout.
