Pages: [1]   Go Down
Author Topic: Firmata + Java  (Read 303 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Voilà un petit moment que je cherche et je tourne en rond à ce sujet. A savoir d'utiliser la bibliothèque Firmata pour communiquer avec mon Arduino.
J'ai déjà réussi à faire un programme qui fait communiquer les deux parties en utilisant RxTx, cependant je n'ai pas envie de réinventer la roue et recréer un protocole maison pour faire la communication.
Du coup je me suis dis que Firmata pouvait être une bonne solution pour faire ce que je veux.

Pour situer ce que je veux faire, j'ai un programme Java qui récupère la position de mon joystick et je les envoi à l'Arduino. Pour vérifier que l'Arduino récupère les bonnes valeurs je veux qu'ils les retournent à mon programme Java.

Voici mon code Arduino (Prog de base d'echo Firmata)

Code:
#include <Firmata.h>

byte analogPin;

void stringCallback(char *myString)
{
    Firmata.sendString(myString);
}


void sysexCallback(byte command, byte argc, byte*argv)
{
    Firmata.sendSysex(command, argc, argv);
}

void setup()
{
    Firmata.setFirmwareVersion(0, 1);
    Firmata.attach(STRING_DATA, stringCallback);
    Firmata.attach(START_SYSEX, sysexCallback);
    Firmata.begin(57600);
}

void loop()
{
    while(Firmata.available()) {
        Firmata.processInput();
    }
}

Et voici la Fonction SerialEvent de mon Prog Java

Code:
/**
* Handle an event on the serial port. Read the data and print it.
*/
public synchronized void serialEvent(SerialPortEvent oEvent) {
if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
try {
String inputLine=input.readLine();
System.out.println(inputLine);
} catch (Exception e) {
System.err.println(e.toString());
}
}
// Ignore all the other eventTypes, but you should consider the other ones.
}

SerialEvent est bien appelé mais rien ne s'affiche dans la console.

Si quelqu'un à une idée ou une autre solution que d'utiliser Firmata.

Merci d'avance.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Pas d'idée pour mon soucis svp?


Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pas d'idée pour mon soucis svp?
Tu as regardé du côté de la librairie "arduino" pour processing ?
C'est du java qui fait directement le lien avec l'arduino en série via le protocole firmata.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai regardé rapidement mais je ne m'y suis pas penché plus que ça. Je vais regarder ça plus précisément et je vous tiens au courant.

merci
Logged

Pages: [1]   Go Up
Jump to: