Aruduino programmieren mit Java

Hey, ich bin neu hier, habe meinen demilanove seit gestern.
Ich wollte ihn per Java programmieren, und habe versucht folgende Schritte zu befolgen :

arduino.cc/playground/Interfacing/Java

Probleme hatte ich hier :

"So lets make our own copy of run.bat because it has most of those nice environment settings already sorted out. Then modify it to suit our needs.

  1. go to a command prompt.

  2. cd to your arduino directory (i.e. type "cd \arduino-0012") //da kann man auch ohne console hin :smiley:

  3. copy run.bat testrun.bat " // Die datein hab ich gar nicht. :-/

Ich las "An arduino installation (I used 0012 on windows)" -> ich habe jetzt 0017 - gibts da keine run.bat mehr ? Oder suche ich am falschen Ort ?

Soweit ich das verstanden habe, kann man damit die .java datein komplilieren, ich dachte das geht vielleicht auch per "javac" aber da bekam ich mit der beispieldatei 14 errors. Denke die run.bat macht da iwas anders...

-> Wo ist die run.bat - brauch ich sie wirklich ?

Vielen Dank im Vorraus :slight_smile:

Programmiert hier niemand seinen Arduino per java ?`:(

habe meinen demilanove seit gestern.

Das Board heisst Arduino Duemilanove.

Programmiert hier niemand seinen Arduino per java ?

Gibt es einen Grund in Java zu programmieren?

Nun, beim Interface geht es darum, sich mit dem Arduino zu unterhalten, nicht zu programmieren. Das programmieren findet in der IDE statt.
Im Beispiel Java, geht es halt darum sich in Java mit den Arduino zu unterhalten, normalerweise über den seriellen Port.
Auf dem PC läuft dein Java-Programm und auf dem Ardunio läuft das Programm, das du in der IDE geschrieben hast, auf den Arduino geschickt hast und dort laufen lässt. Wenn das Programm nun irgendwelche Daten sendet, Seriell, USB, Bluetooth oder wohin auch immer dann kannst du das mit deiner Java, C, VBasic-Anwendung weiter verarbeiten. Die Frage ist doch lediglich: "Wie schaut die Schnittstelle (Interface) aus.

Okay erstmal Vielen Dank für eure antworten.

Warum per java ? ganz einfach : Letztendlich, will ich folgendes:
Per handy ein Signal über bluetooth zum pc senden, das signal mit Java empfangen und auswerten(das kann der arduino denke ich mal nicht)

dann über USB, an den immernoch angeschlossenen, arduino duemilanove schicken sodass dieser, darauf reagieren kann, beispielsweise eine LED leuchten lässt.

Handy->(über bluetooth) an PC->weiter auf den Arduino

Mein Problem ist, dass das beispiel bei mir nicht funktioniert. Ich bekomme beim kompilieren 14 errors.
Der erste beispielsweise :
"test.java:1: package gnu.io does not exist
import gnu.io.SerialPort;" [...]

Wenn ich es richtig verstehe, fehlen hier die packages, die hier importiert werden. Die werden in dem Beispiel aber nicht erwähnt, und auch beim Testen verschiedener anderer bekomme ich es nicht zum laufen..

Ich bin zwischendurch auf so eine "AVR-GNU-Tool-Chain" gestoßen, das "gnu" erinnert mich an die Fehlermeldung..
Hat schonmal jemand versucht sowas zu installieren ? Das ist trotz meines relativ guten Englischs ziemlich kompliziert...

Weis jemand rat ? :-[

Das scheint was veraltet zu sein.
Grundsätzlich kannst Du den Arduino nur in C/C++ programmieren. Dieses Programme heissen dann Sketches und werden in der Arduino IDE geschrieben und dort auch auf den Arduino hochgeladen.

Die Arduino IDE ist in Java geschrieben. Du kannst Dir die Sourcen davon aus dem svn runter ziehen und sie beliebig modifizieren und dann neu kompilieren. Dafür gibt Dir hier aber kaum jemand Support, da musst Du schon im internationalen Forum nachfragen.

Du solltest Dir Processing besorgen, das ist eine Erweiterung für Java, die Optimal mit dem Arduino zusammen arbeiten kann. Alle, die Java auf dem PC benutzen sprechen mit dem Arduino via Processing. Es gibt hunderte Tutorials und viel Support dazu im Forum.
Hier ein Einstieg:
http://www.arduino.cc/playground/Interfacing/Processing

Hinweis: Ich wil den Arduino in C/C++ programmieren, wie in den beispielen, die einfachsten wären blink LED...
Ein Javaprogramm soll aber dem Arduino Signale/werte/daten senden können.

Verständnisfrage : Das mache ich per Processing ? Sprich, damit kann ich über den Port daten senden ?

edit: AHA ! Danke an alle. Ich bin jetzt soweit, dass processing läuft, die leds blinken. Processing erlaubt das verändern des codes der auf dem arduino ist, ohne dass man ihn ändern, auf upload und dann auf "play" klicken muss. Bzw. auf dem arduino ist eine standard firmata und processing steuert die pins. glaube ich ^^

edit2: Habe nun herausgefunden, dass die run.bat in 0017 nicht mehr vorhanden ist. Man kann sie aus einer älteren kopieren. Damit es funktioniert muss man die beschriebenen Veränderungen vornehmen.
"so lets make our own copy of run.bat [...]"