Search code examples
armraspberry-piprocessingraspbianserial-communication

Serial COM Port For ARM in Processing


I write a program on Processing Language, to show the number of serial port in DropDownMenu list for Intel chip.

But I am struggling to run the same program on ARM chip.

Can you plz guide me on how do I resolve this issue?

import processing.serial.*; import controlP5.*;
ControlP5 cp5; DropdownList serialPortsList; Serial serialPort;
void setup() {
  size(700, 400,P3D);
  String[] portNames = Serial.list();
  cp5 = new ControlP5(this);
  // create a DropdownList
  serialPortsList = cp5.addDropdownList("serial ports").setPosition(10, 10).setWidth(200);
  for(int i = 0 ; i < portNames.length; i++) serialPortsList.addItem(portNames[i], i);  
}
void draw() {
  background(128);
}

Solution

  • I don't know about your above program completely but what I understood you are struggling, to show or recognized the Ports of RaspberryPi based on ARM.

    For that I just search and got a solution for you. I summaries these steps for you

    Update the system

    1. sudo apt-get update
    2. sudo apt-get dist-upgrade

    Install Oracle Java

    1. sudo apt-get install oracle-java7-jdk
    2. sudo update-alternatives--config java
    3. select java version "1.7.0_40"

    Download & Install Processing

    1. Go to Download \ Processing.org and get the Linux 32-bit version.
    2. tar xvzf processing-2.1-linux32.tgz rm -rf ~/processing-2.1/java
    3. ln -s /usr/lib/jvm/jdk-7-oracle-armhf
    4. ~/processing-2.1/java

    Install the java Simple Serial connector

    1. Download jSSC-2.6.0-Release.zip and extract it:
    2. unzip jSSC-2.6.0-Release.zip
    3. mv jSSC-2.6.0-Release/jssc.jar ~/processing-2.1/modes/java/libraries/serial/library/
    4. ~/processing-2.1/processing

    Test Processing’s serial support

    // Example by Tom Igoe
    
    import processing.serial.*; 
    
    // The serial port
    
    Serial myPort;
    
    // List all the available serial ports
    
    println(Serial.list());