Processing on UDOO

Discussion in 'Arduino IDE' started by joemcder, Oct 29, 2013.

  1. joemcder

    joemcder New Member

    Joined:
    Oct 21, 2013
    Messages:
    17
    Likes Received:
    0
    By 'Processing' I mean the software tool from processing.org.

    Processing is often used with Arduino. I've found it quite usefull on my laptop for control/display with Arduino.
    Does anyone know if this will work on Udoo? Some people seem to have made it work on Raspberry Pi?
     
  2. DracoLlasa

    DracoLlasa UDOOer

    Joined:
    Oct 15, 2013
    Messages:
    419
    Likes Received:
    3
  3. joemcder

    joemcder New Member

    Joined:
    Oct 21, 2013
    Messages:
    17
    Likes Received:
    0
    The posts were only a few hours apart. Searching did not find it. In any case the the ill-advised name of this excellent tool 'processing' tends to make for mucho false hits.

    The simultaneous posts simply reflect the urgency of the topic. Processing and Arduino are almost Siamese twins. If the Udoo people are unfamiliar with Processing.org they should RUN not walk to the website and check it out. Udoo/Processing/Arduino are definitely a potent threesome.

    The following URL for installation on the Raspberry Pi may help someone who knows Java better than me.

    http://cagewebdev.com/index.php/raspber ... our-raspi/
     
  4. jimmnh

    jimmnh New Member

    Joined:
    Aug 16, 2013
    Messages:
    82
    Likes Received:
    0
    Someone tried it on UDOO and said it did not. I invite you to join the convo on the Programming thread. I agree with the potential you've outlined.
     
  5. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Hmm, honestly, I've been doing Arduino stuff for 2 years now and hadn't ever heard of it until now...

    I am a Java guy and would be willing to help. I can probably dig into it a bit tonight and Sunday afternoon if need be... I have an RPi as well to use for comparison if needed.
     
  6. jimmnh

    jimmnh New Member

    Joined:
    Aug 16, 2013
    Messages:
    82
    Likes Received:
    0
    Thanks. I'll give it a go too and let you know.
     
  7. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
  8. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Well, I tried following those directions for the Pi on the Udoo. I got the IDE to start, but trying to run any of the examples failed.

    Thinking that it might be an issue with the use of OpenJDK, I tried installing the Oracle Java I linked in the previous message. Unfortunately, I can't seem to get that one to work at all. I go through all the steps found here:

    http://askubuntu.com/questions/308663/s ... va-version

    But it keeps coming back with "Java not found" when I try to run java -version. Switcing back to the open-jdk-6 works fine for that.

    I'm kinda stumped.
     
  9. jimmnh

    jimmnh New Member

    Joined:
    Aug 16, 2013
    Messages:
    82
    Likes Received:
    0
    "ARM Linux

    Processing is designed (and supported) to run on Oracle Java. While people have had various degrees of success with running it on ARM based devices like the Raspberry Pi(ARM 11) using open-jdk, etc, there's no official support for it yet. Also, using an alternative to Oracle Java may limit some Processing features."

    Crud. ARM is really starting to come across as limiting. Oracle JRE7 doen't have a build for ARM. So far I only see C or C++ on ARM side to comm with ATMEL side via serial. As far as I know node.js has had limited success and Android offers no way at this time to get an IO sketch on the ATMEL side while it's running. Does this mean we are really limited to heavy handed coding in C or C++ in Linaro to communicate over serial to/from ATMEL .. and that's it? Really?
     
  10. DracoLlasa

    DracoLlasa UDOOer

    Joined:
    Oct 15, 2013
    Messages:
    419
    Likes Received:
    3
    that is a bit frustrating.. i really wanted to see Processing on Linaro, i will have to look at bit more on the raspberry pi. i know they just released their new 'wheezy' distro, and the big hubub was that it now Included Oracle JDK. Since we are working with a newer ARM chip than what is on the Pi, i would imagine with the proper development support it may be possible to get the Oracle JDK included in the Linaro distro here too. Once that is done it may be time to relook at Processing. i dont know how cross compatible things are. the Pi uses an ARM11 chip with ARM 6 architecture, the UDOO uses and ARM Cortex A chip with ARM 7 Architecture. so it should be more capable, but not directly compatible.

    In the mean time i think Java development using open JDK, would still be possible, and i know there is another thread where they are trying to get Eclipse loaded but i haven't followed it closely.

    I would say that there may not be tons of options besides using the Arduino IDE to code for the ATMEL, im sure more will come available. Its amazed me what the community has pulled together so far already.
     
  11. scott_fx

    scott_fx New Member

    Joined:
    Nov 5, 2013
    Messages:
    16
    Likes Received:
    0
    If we can't get processing ide to work on the udoo. is it still possible to have the compiled app/program that you created; for instance, on a windows machine, to run on the udoo?
     
  12. DracoLlasa

    DracoLlasa UDOOer

    Joined:
    Oct 15, 2013
    Messages:
    419
    Likes Received:
    3
    it will likely still depend heavily on Java, so i think we will still have to get the Oracle JDK or Open JDK or something working... I think its possible it will just take some time. Maybe a compiled processing app would only need a JRE. i guess its worth trying :)
     
  13. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Ok, I managed to get the Oracle JDK working... Unfortunately, it looks like it has to be the softfloat version. I don't know why... Hardfloat just refuses to work...

    First off, follow these directions:

    http://www.savagehomeautomation.com/pro ... -170u.html

    You'll want to get the SOFTFLOAT version from Oracles' web site.

    Repeat the update-alternatives commands for javac, javah, jar, javadoc as well...

    Next, you'll need to remove the OpenJDK (javac won't work otherwise):

    sudo apt-get remove openjdk-7-jdk

    After that you should be able to do: javac --version

    If that works properly, that gives you at least the Java...


    Next, follow the directions as indicated here: http://cagewebdev.com/index.php/raspber ... our-raspi/

    However, have it point link for java to "/opt/java/jdk1.7.0_45"

    Also, on the line where it said to remove the RXTXcomm.jar, you instead have to remove the "serial.jar" from that directory. I just renamed it to "serial.old" and then in the next step, I copied the system's RXTXcomm.jar to "serial.jar" (note, I'm not sure if that works however).

    Finally, run processing. NOTE: when I tried doing this from a VNC connection, the java process would start, but I'd never get the display. You'll need to do this from the actual Udoo desktop itself, not VNC.

    Doing this I was able to open the Examples, and load and run the Additive Wave example.

    Hope this helps everyone out!!!
     
  14. jimmnh

    jimmnh New Member

    Joined:
    Aug 16, 2013
    Messages:
    82
    Likes Received:
    0
    Huge development! This is the first breakthrough in getting the iMX6 to actively communicate with the ATMEL, Processing Language running and talking to IO Sketches. Outside of this up until now this required heavy handed base C++ coding on iMX6 side. Major breakthrough! Thank you MKOPACK! If there is an early X prize you get it. :)

    For those unfamiliar with it, Processing is the language that Arduino IDE is based on but it requires JRE to run which is difficult as Oracle only really built it for x86. With Processing running on iMX6 it is a relatively simple task to get it to talk to ATMEL over UART serial. And Processing offers ways to build simple UIs, graphing of serial data, active network communication, and instructions to devices on Arduino side.

    Thanks again MKOPACK!
     
  15. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Eh, all I did was follow the directions and make a couple minor modifications where needed. Just hope it helps you all.. I have no idea if it's actually going to do anything talking to the IO pins correctly or not... But the couple Examples I tried were all graphical things, nothing that did anything with IO pins so don't jump for joy TOO much yet. :)
     
  16. jimmnh

    jimmnh New Member

    Joined:
    Aug 16, 2013
    Messages:
    82
    Likes Received:
    0
    I'm still excited. :)
     
  17. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Hmm, I probably should also check that you can still use the normal Arduino IDE after swapping out JDKs... Hmmmm Will have to check that tomorrow before I start working on getting Eclipse installed.
     
  18. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    So, I'm thinking the next steps here are to check if the serial interface works. If it doesn't then I would suspect we need to put that original serial.jar into place. And/or modify the processor IDE to get the same changes that the arduino IDE required to work on the Udoo.


    I'm new to Processing. Is there an example program that does very simple interaction with the arduino side that doesn't require any additional hardware to be added to it to work? If so I can give it a try tonight and see if I can debug any issues.
     
  19. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Ok so there's still an issue with the serial comms. I tried using the RXTXcomm.jar in there renamed as serial.jar and that didn't work.

    Tried using the original serial.jar and it's complaining about that one as well... So not sure what to do with that. Serial comms usually requires some sort of Native code support for Java. In the modes/java/libraries/serial/library folder there's a linux32 directory with a libjSSC-2.6.so, but I'm assuming that's for X86, and I don't see source code anywhere provided to recompile that.

    A quick search online turned up: https://github.com/scream3r/java-simple ... 6_armhf.so

    I downloaded that and replaced the one that I referenced above, and swapped back in the original serial.jar from the processing package. That no longer complains, but the serial examples all fail when it tries to get a port. Not sure any are even exposed on the Udoo....

    The Udoo's internal port for interfacing with the MX3 arduino chip is /dev/ttymx3 but I'm not sure how to specify that to the Processing program. Maybe somebody else here has a better knowledge of how to do it?
     
  20. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    BTW, I posted a question about this over to the Processing forums at:

    http://forum.processing.org/two/discuss ... v7l#Item_1

    from something else I saw, it looks like they changed out from the old RXTX based serial interface to the JSSC one in 2.1 so that's why the RXTX stuff isn't working now.
     

Share This Page