Neuer EV3, wie weiter?

NXC, C/C++, Lejos, pbLua, RobotC...

Moderator: Moderatoren

Murenius
Mindstormsfreund
Mindstormsfreund
Beiträge: 3
Registriert: 15. Jan 2016 00:54

Neuer EV3, wie weiter?

Beitragvon Murenius » 16. Jan 2016 23:46

Hallo alle,

ich habe mir einen EV3 gegönnt und hätte da einige Fragen. Zuerst kurz mein Hintergrund zum Einordnen: ich habe bereits mit mehreren Programmiersprachen gearbeitet; etwas mehr mit C aber vor allem C++, sporadisch bzw. für einzelne Tasks und Projekte mit Java, Python und Ruby. Betrachtet mich da mal eher als fortgeschrittenen Anfänger und entschuldigt Newbiefragen. :? Ich würde den EV3 gerne mit einer dieser Sprachen programmieren, und nicht in der visuellen Blocksprache von Lego. Ich habe bereits mal gegooglet und ev3dev gefunden und aus Interesse auch gleich mal auf eine SD gemacht und gebootet.

Bevor ich mich jetzt direkt dran mache und mich reinarbeite, würde ich gerne noch wissen:

1) Ist das die beste Möglichkeit den EV3 mit C++ zu benutzen?
2) Gibt es noch andere Alternativen, wenn ja welche? bricxcc scheint seit Jahren nicht mehr maintained zu werden, weswegen ich nach was anderem gesucht habe.
3) Wenn ich das richtig verstanden habe setze ich unter Linux mit gcc bzw. g++ eine cross-compiling toolchain auf, richtig? Das Tutorial ist etwas rudimentär. Ich lade den source code runter, compile ihn mit make und dann ist dürften die Libraries an der richtigen Stelle sein. Aber was include ich? Da habe ich kein Tutorial für gefunden, nur die eigentliche API Spec. Gibt es da Beispiele, die ich übersehen habe?

Herzlichen Dank und viele Grüße
Murenius

Benutzeravatar
HaWe
Administrator
Administrator
Beiträge: 5377
Registriert: 11. Jan 2006 21:01
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

Re: Neuer EV3, wie weiter?

Beitragvon HaWe » 17. Jan 2016 09:41

hallo,
interessieren tut mich das auch, und genau das an Informationen fehlt mir ebenfalls.
ev3dev (== Debian Jessie, ähnlich wie die Raspbian Jessie-Distribution) scheint immerhin die bisher umfassenste Linux- Lösung für C und auch alles andere zu sein, was mit "echtem Linux" zu tun hat.

Es geht wohl per Crosscompiler und Eclipse und gcc toolchains (wie genau weiß ich auch nicht, ich benutze aus Prinzip kein Eclipse - ein gewisser Laurens Valk, Autor mancher Mindstorms-Bücher, hat damit wohl schon gearbeitet),
und eventuell geht es auch on-board mit gcc und make, das ja mit Debian mitgeliefert wird, dann hat man aber keinen vernünftigen Bildschirm für den Editor, geschweigedenn für eine GUI (wie z.B. per full HD Bildschirm beim Raspi), und außerdem ist der EV3 dafür eine ziemlich lahme Krücke.... da bietet sich eventuell ssh und puTTY an, ist aber auch nichts, wo ich mich persönlich mit auskenne.
Angeblich gibt es vom Hörensagen auch eine C API, aber gesehen habe ich auch noch keine, geschweige denn ein Tutorial.
Wenn überhaupt, scheint von den ev3devs wohl eher Python dafür favorisiert zu werden statt C.

Frag das doch mal hier bei Facebook, da hängen auch die ganzen ev3dev-Entwickler rum (Ralph Hempel, David Lechner u.a.m., auch L. Valk)
https://www.facebook.com/groups/legomindstorms/

Auf der anderen Seite:
der EV3 hat keine (frei zugänglichen) Standard-Ports (i2c, SPI, UART - UART und i2c (immer gebitbanged!!) sind hier immerhin deutlich verträglicher als unter der Lego-FW), und die 12 IOs sind IMO viel zu wenig, um damit was anzufangen - aber Daisy-Chaining, was dieses Manko wenigstens unter der Lego-FW ein wenig ausgleicht, gibt es unter ev3dev überhaupt nicht. Das gleiche gilt im übrigen auch für C#/Mono.

Vllt wäre leJOS/Java für dich auch die bessere Alternative, das ist IMO weit ausgereifter und besser dokumentiert, die leJOS-Community ist sehr groß, EV3 Bricks sind damit multipel mit einander vernetzbar, alle lokalen und remote-Ports lassen sich in gleicher Weise als Objekte ansprechen, und es ist zwar nicht ganz so schnell wie Linux-Executables, aber immerhin noch ca. 10-30x so schnell wie die Original-Lego-Interpreter-FW....
viewtopic.php?f=71&t=8095#p64772

HTH!
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

Technicmaster0
Schreibt super viel
Schreibt super viel
Beiträge: 371
Registriert: 22. Dez 2010 12:36
Wohnort: In Berlin rechts abbiegen
Kontaktdaten:

Re: Neuer EV3, wie weiter?

Beitragvon Technicmaster0 » 18. Jan 2016 09:39

http://www.ev3dev.org/docs/tutorials/us ... s-compile/ scheint für C auf dem EV3 sehr hilfreich zu sein. Allerdings scheint es auch nur ein Tutorial für Linux zu geben.

Benutzeravatar
HaWe
Administrator
Administrator
Beiträge: 5377
Registriert: 11. Jan 2006 21:01
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

Re: Neuer EV3, wie weiter?

Beitragvon HaWe » 18. Jan 2016 10:47

ja, stimmt, und was auch fehlt, ganz entscheidend für Lego:
Eine API mit dem Modulen, um die ganzen sehr eigenwillig konzipierten Lego-Sensoren anzusprechen und zu programmieren, und samt einer Art "Daisy-chaining" und Netzwerkprotokollen, um mehr (Remote-) Ports ansprechen zu können... :-/
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

Murenius
Mindstormsfreund
Mindstormsfreund
Beiträge: 3
Registriert: 15. Jan 2016 00:54

Re: Neuer EV3, wie weiter?

Beitragvon Murenius » 20. Jan 2016 17:07

Danke schonmal für die vielen Antworten! :)

Der Hintergrund für mich ist, dass ich Lego Technik eine geniale Basis finde. Ich habe da, was die grundlegenden Techniken von Übersetzungen, Getrieben und so weiter angeht einfach unheimlich viel zu lernen. Ganz abgesehen davon, dass ich noch tonnenweise Bausteine habe und da dann eben aus Zahnrädern aussuchen kann, wäre jegliche andere Basis zum Roboter bauen mir einen Schritt zu weit.

Allerdings habe ich eben doch einige Programmiererfahrung und möchte daher nicht bunte Blöcke zusammenziehen, sondern knapp und effizient meine Module schreiben und wiederverwerten. Daher war ich auch glücklich, als ich gesehen habe, dass C++ ein Standardbinding in ev3dev ist. Wenn ich die paar Ein-/Ausgänge in C++ ansprechen kann bin ich schon völlig glücklich.

Es hat mich vor allem sehr verwundert, dass bricxcc ewig nicht mehr maintained wurde und das ev3dev sauber entwickelt scheint, aber kaum Material dafür verfügbar ist, geschweige denn ein vernünftiges Tutorial, das einen Nicht-Entwickler durch das erste Hello World führt.

Um ganz ehrlich zu sein hatte ich auch eher erwartet, dass ihr erfahrenen Entwickler direkt diverse Links zu Alternativen hervorsprudelt, ich bin überrascht, dass das beim EV3 nach 2+ Jahren immer noch recht unbearbeitet ist. Gefühlt gab es beim NXT mehr Zeug, den hatte ich damals recht einfach mit NXC benutzt, fragt mich aber nicht mehr wie genau, das ist bald 10 Jahre her.

Benutzeravatar
HaWe
Administrator
Administrator
Beiträge: 5377
Registriert: 11. Jan 2006 21:01
Wohnort: ein kleiner Planet in der Nähe von Beteigeuze

Re: Neuer EV3, wie weiter?

Beitragvon HaWe » 20. Jan 2016 17:56

da können wir uns die Hand reichen...

wie gesagt,
Frag das doch mal hier bei Facebook, da hängen auch die ganzen ev3dev-Entwickler rum (Ralph Hempel, David Lechner u.a.m., auch L. Valk)
https://www.facebook.com/groups/legomindstorms/

Ich fände das wirklich wichtig, auch ich habe vor einiger Zeit mal dort nachgefragt, aber damals keine Antwort auf ziemlich ähnliche Fragen bekommen.
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

Murenius
Mindstormsfreund
Mindstormsfreund
Beiträge: 3
Registriert: 15. Jan 2016 00:54

Re: Neuer EV3, wie weiter?

Beitragvon Murenius » 20. Jan 2016 18:10

Ich bin zwar kein großer Fan von Facebookgruppen, aber wenn ich sonst nicht weiter komme werde ich es mal über den Kanal versuchen - vielen Dank für den Hinweis.


Zurück zu „textbasierte Programmiersoftware“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 41 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss