Hallo! Wollte euch nur mal eben kurz auf folgendes Projekt aufmerksam machen in der Hoffnung, das es auf Interesse stößt: http://www.fh-rosenheim.de/live/fachbereiche/kpe/eit/projekte/quadrocopter/default.htm Kurzfassung: In diesem Projekt wird ein über BlueTooth steuerbarer Helicopter mit 4 Rotoren realisiert. Das "Herzstück" ist dabei ein Echtzeit-Java-Microcontroller (aJ-80 von aJile bzw. das Entwicklungssystem JStamp+ von Systronix). Ich war ebenfalls in dieses Projekt involviert, da ich meine Diplomarbeit über diesen Microcontroller geschrieben habe. Die Entwicklung der Software mit Java war äußerst angenehm (wg. der bekannten Java-Vorteile). Als einer der wenigen (der einzige?) Java-µC ist der aJ-80/100 echtzeitfähig (trotz GC) und es existiert kein eigener Interpreter-Layer (µC versteht "echten" Java Bytecode, sonst nichts), daher einigermaßen flott. Das Projekt wird sicherlich weitergeführt werden (Sponsoren willkommen ;)), obiger Link zeigt ja einige Varianten (halb-/vollautonomer Flug, GPS, Radar, ...). Ciao... Pascal
Wenn der Copter dann auch noch ne WebCam bekommt,, würde ich PHP oder so noch vorschlagen...
War Java nicht die Sprache fuer Anfaenger ohne Zeiger? Was soll man damit wenn man Dinge entwickeln will die man verkaufen moechte? Olaf
BTW: Ich bin übrigens nicht mehr an der FH, sondern bereits seit einiger Zeit berufstätig. Im Grunde könnte mir das Projekt also völlig wurscht sein ;). @Sebastian: OK, gerne, werde es weiterleiten. Musst nur noch irgendwie geringfügig geschrumpft werden und den Kopf immer schön geduckt halten, sonst ist die Rübe ab ;). @Olaf: Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache, ich würde sie nicht eine Anfängersprache nennen. Es gibt in der Tat keine Pointer (nur Referenzen) und das hat diverse Vorteile, da hier (bei C/C++/ASM) sehr viele Fehler und Sicherheitslücken entstehen können (z.B. Pointerarithmetik, Pufferüberläufe, ...). Wenn es unbedingt sein muss, hat man auf dem aJ-80 aber natürlich trotzdem die Möglichkeit, mit Speicheradressen zu arbeiten. Hierfür wurde eine eigene Klasse implementiert mit zugehörigem erweiterten 16-Bit-Bytecode. Der erwähnte Microcontroller wurde ursprünglich in der Luftfahrttechnik entwickelt. Dort muss Software sicherheitskritischen Anforderungen genügen (es geht schließlich um viele Menschenleben), und dafür ist C ziemlich ungeeignet (daher ist Ada in diesem Bereich sehr oft anzutreffen) und nur mit aufwändigen Verrenkungen zu gebrauchen. Daher die Idee, Java zu verwenden (mit einem in der Sprache verankertem Sicherheitskonzept). Nötig war halt ein Hinzufügen der Möglichkeit hardwarenaher Programmierung und Echtzeitfähigkeit, dies bietet das Standard-Java ja bekanntermaßen nicht. Weitere Java-Vorteile neben dessen Sicherheitskonzept sind dessen Portabilität, Einfachheit, Objektorientierung. Sicher nicht für alle µC-Anwendungen geeignet, aber das muss es ja auch nicht :). Außerdem spart man sich ein Multithreading-Betriebssystem, auch dies ist bereits in Java "enthalten". Obiges Projekt zeigt, dass das alles durchaus zusammenpasst und funktioniert. Bloß der Preis ist das Problem.
Interessantes Projekt! Mich würde mal interessieren, welche praktischen Erfahrungen Ihr mit der Zuverlässigkeit der Bluetoothübertragung gemacht habt. Wir entwickeln auch gerade eine Hardware, bei der Sensordaten per BT übertragen werden. Dabei kommt es sehr darauf an, dass der Datenstrom möglichst konstant ist und keine Aussetzer hat. Das dürfte bei Euch ja auch wichtig sein ;o). Wie sieht es z.B. aus, wenn jemand in der Nähe auch BT benutzt (z.B. Handy) und damit einige "Zellen" besetzt? Etwa bei Messen ist das ja ein bekanntes Problem. Viele Grüße Andreas
@Andreas: BT ansich hat bei uns eigentlich keinerlei Schwierigkeiten gemacht. Da es bei dem Helicopter auch wichtig ist, einen konstanten Datenstrom zu haben (schließlich besitzt der Heli derzeit keinerlei Regelung und ist auf die Daten der Übertragung angewiesen), benötigten wir durchaus eine verlässliche Verbindung. Gezielte Störversuche haben wir aber nicht unternommen, aber es waren andere BT-Geräte in Reichweite. Einzelne Übertragungsfehler fanden statt (insbesondere in größerer Entfernung), in diesen Fällen wurde die Datenübertragung wiederholt.
> Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache
Ne du, nicht wirklich!
Das ist ja nun auch wirklich nichts neues. Gibt's alles schon ein Weilchen als Flugmodell zu kaufen. Für eine Version mit drei Rotoren gurgle man mal nach "Tribelle", für eine mit derer vieren nach "Intellicopter". Sind dann aber nicht ganz billig. Für weniger Geld gibt's dann auch das "X-Ufo", was aber wohl schon mehr in Richtung Spielzeug geht. PS: Das heißt natürlich nicht, daß ein Selbstbau nicht interessant wäre.
Mit Bluetooth und Java ist es neu. Und ein Selbstbau macht tatsächlich viel Spaß ;-). Sonst würde hier ja keiner z.B. das x-te AVR-Ethernet-Projekt basteln o.ä.
@,,,, > > Java ist durchaus eine sehr mächtige und ernstzunehmende Sprache > Ne du, nicht wirklich! Dann begründe das mal. Für Mikrocontroller: Da hat es Nachteile verglichen mit C wenn es eine SOFTWARE VM ist. In Hardware gegossen sieht die Sache aber schon anders aus... Auf allen größeren Rechnern hat Java aber kaum Nachteile gegenüber C - dafür aber einige Vorteile. Der einzige wirkliche Nachteil ist, das man mit Java nicht auf die HW zugreifen kann. (Geht aber auch indirekt über das JNI) Hast Du selbst schonmal ernsthafte Projekte mit Java realisiert um diese Plattform beurteilen zu können? Wahrscheinlich nicht. Über die Sprache brauchen wir hier nicht zu diskutieren - da ist Java eine recht schöne OO Sprache. Nicht die schönste, aber viel besser als C++...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.