Arduino 0017 y Java
Todos los que empezamos a cacharrear con Arduino y, además nos encantaría hacerlo con Java en general y, con el IDE Netbeans en particular, acabamos encontrándonos con el post de Siverira Nieto en su web.
Interesante artículo que nos permite empezar a explorar las posibilidades de ambos mundos. Sin embargo, la versión de arduino usada en dicho artículo es la 0013 y desde entonces ha habido un cambio en una clase, de la que depende Arduino (Preferences), que hace que el código de ejemplo servido por Silveira sea inusable.
Dicha librería tira un error de acceso protegido en Preferences.init(). La solución está en extender la clase Preferences. Así el código del tutorial de Silveira Nieto quedaría del siguiente modo:
/*
* Original from http://silveiraneto.net/2009/03/01/arduino-and-java/
* Modified for Arduino 0017 by http://www.malditoraton.com
*/
package serialtalker;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import java.io.InputStream;
import java.io.OutputStream;
import processing.app.Preferences;
public class Main {
static InputStream input;
static OutputStream output;
static public class MyPrefs extends Preferences {
static public void init() {
Preferences.init("/home/malditoraton/.arduino/preferences.txt");
}
}
public static void main(String[] args) throws Exception{
MyPrefs.init();
System.out.println("Using port: " + MyPrefs.get("serial.port"));
System.out.println("Using board: " + MyPrefs.get("board"));
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(
MyPrefs.get("serial.port"));
SerialPort port = (SerialPort)portId.open("serial talker", 4000);
input = port.getInputStream();
output = port.getOutputStream();
port.setSerialPortParams(MyPrefs.getInteger("serial.debug_rate"),
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
while(true){
while(input.available()>0) {
System.out.print((char)(input.read()));
}
}
}
}
Ahora que está resuelto ya podemos seguir con nuestro desarrollos en Arduino con Java.
Si te gustó esta entrada anímate a escribir un comentario o suscribirte al feed y obtener los artículos futuros en tu lector de feeds.

Comentarios
Aún no hay comentarios.
Escribe un comentario