Buenas tardes,
Recientemente adquirí un Arduino Leonardo, soy desarrollador de software pero es muy motivante hacer software que se comunique con el mundo físico.
La pregunta es la siguiente:
Estoy trabajando en un proyecto para leer datos de un sensor de temperatura y almacenarlos en una base de datos.
La parte de leer el sensor desde Arduino es muy sencilla, ahora me voy a comunicar con Java he buscado y hay mucha info.
seguí este tutorial tal cual
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;
public static void main(String[] args) throws Exception{
Preferences.init();
System.out.println("Using port: " + Preferences.get("serial.port"));
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(
Preferences.get("serial.port"));
SerialPort port = (SerialPort)portId.open("serial talk", 4000);
input = port.getInputStream();
output = port.getOutputStream();
port.setSerialPortParams(Preferences.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()));
}
}
}
}
A mi programa no entra a esta parte:
while(input.available()>0) {
System.out.print((char)(input.read()));
}
Pero no consigo leer nada desde java, incluso probé enviandole dato al Arduino y funciona perfecto.
Alguna sugerencia, la agradeceria inmensamente.