ev3dev: C für EV3

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

Moderator: Moderatoren

Benutzeravatar
Ziz
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 36
Registriert: 16. Apr 2015 17:45
Kontaktdaten:

ev3dev: C für EV3

Beitragvon Ziz » 3. Mai 2015 23:57

HaWe hat geschrieben:Es wäre traurig, wenn das mit dem Tre nichts würde - und es stimmt, die ganze Sache steht und fällt auch für mich mit einer einfachen IDE, einer vollständigen API und echtem C. Das gibt es leider nicht für den EV3 (und auch nicht für den RasPi und nicht für den BBB - gerade auf dem RasPi bin ich bereits grandios gescheitert, ich HASSE dieses Linux! :evil: ).
[...]
Auf Linux ginge pre-emptives MT aber problemlos (meist POSIX pthread, habe ich auch schon mit John Hansens BCC-C für den EV3 verwendet). Daher wären alle Linux-Boards inkl. EV3 dafür wie geschaffen. Nur an der simplen IDE + API hapert es halt, wie die Arduinos sie haben. Daher wäre das mit dem Arduino Tre (einerseits Linux, andererseits sehr einfache IDE, die einem den überkomplizierten Linux-Krempel abnimmt) die Lösung aller Probleme - und daher wirklich eine ziemlich frustrierende Sache, wenn das nichts werden würde... :(

Auf eine einfache ev3dev-IDE habe ich allerdings fast aufgehört zu hoffen, da kommt wohl nichts, befürchte ich. Damit ist der EV3 für mich komplett unbrauchbar, genau wie der RasPi. Naja, die Hoffnung stirbt zuletzt...

Hallo,

ich habe mir vor ca. einem Jahr das EV3 Set gekauft (übrigens wegen des Linuxbricks ;) ) und verfolge das Board hier seit ein paar Monaten ab und zu. Mein Kaufgrund war: Ich liebe Lego (Kindheitserrinnerungen), ich habe Massen davon, ich kann programmieren, ich wollte schon immer mal was mit (autonomen) Robotern machen und ich will weder selbst handwerkeln geschweige denn löten (das ist besser für mich und meine Umwelt).
Zuerst habe ich direkt für die interne Firmware Dinge in C geschrieben, kompiliert und erfolgreich ausgeführt. Das geht, aber das "Interface" zu den Motoren und Sensoren ist die Hölle und ohne ständigen Blick auf die Dokumentation schwer zu handhaben. Naja, für ein einen per WLAN ferngesteuerten Roboter hat es gereicht. ;) Vor ein paar Monaten habe ich dann von ev3dev erfahren. Besonders der Punkt, dass man es von einer Micro-SD-Karte laufen lassen kann, hat mir imponiert. Die Möglichkeiten sind um LÄNGEN besser. Mehr Sprachen, ein wirklich sehr gut durchdachtes Sensor- und Motorinterface, aktive Community, viel mehr Hardwareunterstützung (einer meiner Pläne ist eine Webcam anzuschließen und vielleicht ein wenig Bilderkennung und Reaktion auf diese zu machen) und selbst der Starter ist schon besser als bei der originalen Firmware. Ein paar Dinge (wie die Kopplung verschiedener EV3-bricks) fallen wohl erstmal flach, aber das tangiert mich sowieso nicht. ;)

Ich selbst bin Linuxnutzer und deshalb war das Schreiben und Kompilieren von Anwendungen für beide Systeme sehr leicht.
Nichtsdestotrotz verstehe ich die Problem und Berührungsängste von Windowsnutzern. Ich habe sogar mal probiert, ob es nicht möglich ist, eine kostenlose ARM IDE für Embedded Systems irgendwie so einzustellen, dass die Kompilate am Ende unter ev3dev laufen. Aber das war alles einen Zacken zu Lowlevel.

Ich weiß, dass es möglich ist, eine zu ev3dev kompatible Toolchain für Windows selbst zu kompilieren. Gäbe es denn hier Interesse an sowas? Die Programme könnte man dann in einer IDE/Texteditor der eigenen Wahl schreiben und müsste der IDE nur die Toolchain näher bringen oder sie von Hand in einem Terminal ausführen.

Alternativ (und imho einfacher) wäre die Nutzung von Linux, um Programme für ev3dev zu kompilieren. Das ginge am einfachsten über eine Virtual machine. Gäbe es vielleicht Interesse an einer "ev3dev Programmier"-Distribution, die eine IDE und eine fertig zu benutzende Toolchain vorinstalliert hätte? Oder gäbe es Interesse an einer Tutorialreihe, die deutschsprachig Schritt für Schritt erklärt, wie man a) ev3dev auf einer SD Karte installiert und von Windows aus darauf zugreift (einschlielßlich Programme kopieren), b) Linux in einer virtuellen Maschine innerhalb Windows installiert und startet und zu guter Letzt c) in diesem Linux die ev3dev Toolchain installiert und nutzt?

Es ist mehr Arbeit als mit der grafischen LEGO-Oberfläche oder EV3-Basic, aber es lohnt sich wirklich. Gerade, wenn man rekursiv oder massiv parallel arbeiten möchte, ist ev3dev eine wirklich Klasse Arbeitsgrundlage. Es würde mich freuen, wenn ich euch irgendwie dabei unterstützen könnte mit EV3, ev3dev und C warm zu werden. :D

LG Ziz

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 08:56

hallo,
erst einmal herzlich willkommen hier!

und dann habe ich das Thema erst mal in einen eigenen Thread verschoben...

ich will hier nur meine eigenen Probleme und Wunschkonstellationen mit ev3dev schildern, denn ich habe es bereits erfolglos probiert:

1) es wurde wiederholt der falsche RNDIS-Treiber installiert (Win XP32), der EV3 wurde nie richtig als USB-Device erkannt.
2) ich habe kein WiFi und werde auch keines anschaffen
3) ich habe keinen USB LAN-Stick und will mir ebenfalls keinen extra anschaffen.

ergo: es muss mit USB klappen!

4) die ganzen root - und Konsole-Befehle samt ssh und putty etc zum ersten Einrichten sind mir zu kompliziert, allein schon die SD-Karten-Image-Erstellung ist mir viel zu kompliziert - es muss ein FAT32-Image geben, dass sofort läuft, mit allen Einstellungen: wenn ich schon sowas sehe wie das hier
cc prog.c -o prog -L/usr/X11R6/lib -lX11
apt-get -s install libfreetype6
könnte ich davonlaufen!
(so wie NOOBS als Image für RasPi auf einer SD-Karte, wo man gleich automatisch alles für Raspian installieren lassen kann samt der nötigen Erweiterung der SD-Linux-Partitionen (ist ja auch Debian).
5) was eine Toolchain ist, weiß ich nicht, wichtig ist: SD rein, EV3 starten, läuft.
6) zum Programmieren (Crosscompiler) bräuchte man etwas wie BricxCC (das hat ja alle Einstellungen fürs Lego/TI DaVinci Linux und gpp CSLite)
der Code dazu ist OpenSource, leider ist es in Pascal programmiert ... :-pc:
Auf keinen Fall sowas wie Eclipse oder Visual Studio, damit bin ich bereits bei Lejos und C#/Mono grandios gescheitert ( und ebenso übrigens mit dem Raspbian-C-Compiler auf dem RasPi, was aber mehr an Linux und den unvollständigen libs lag als an geany)!
7) ich möchte nicht auf die Linux-Ebene müssen zum programmieren, und auch nichts mit makefile zu tun haben,
- einfach IDE auf Windows starten (XP, Win7),
- ein paar nötige libs #includen,
- Code schreiben
- F5 compilieren
- F6 hochladen
- ctrl+F5 Programm auf EV3 starten
das ist exakt so, wie es bisher auf dem NXT mit NXC ging und auch ansatzweise mit BricxCC und gpp C (makefile hat J.H. irgendwo in den Settings versteckt), und genau so funktioniert es ja auch mit der Arduino Sketch IDE (oder eigentlich heißt es wohl Wiring, wie ich gerade im Arduino-Forum gelesen habe).
8) die ganzen autodetect-Sachen müssen weg, ich will meine Sensoren selber konfigurieren können ohne von "automatischen Einstellungen" vergewaltigt zu werden, so ähnlich wie bei NXC:
SetSensor(port, type, mode)
9) Daisy-Chaining muss funktionieren wie bei leJOS oder wie bei der original-Lego-VM.

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

Benutzeravatar
Ziz
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 36
Registriert: 16. Apr 2015 17:45
Kontaktdaten:

Re: ev3dev: C für EV3

Beitragvon Ziz » 4. Mai 2015 10:46

Hallo,

ich hoffe, es ist in diesem Forum nicht als unfreundlich angesehen Quotes zu splitten, aber es macht die Beantwortung sehr viel einfacher. :)

HaWe hat geschrieben:1) es wurde wiederholt der falsche RNDIS-Treiber installiert (Win XP32), der EV3 wurde nie richtig als USB-Device erkannt.
2) ich habe kein WiFi und werde auch keines anschaffen
3) ich habe keinen USB LAN-Stick und will mir ebenfalls keinen extra anschaffen.

ergo: es muss mit USB klappen!


Also unter Linux geht es "out of the box" mit USB. Ich müsste es mal unter Windows XP oder 7 probieren. Wobei Windows XP eigentlich eh auf die Resterampe gehöhrt, aber das ist ein anderes Thema. Gehen wir mal davon aus, das Problem ist lösbar. Zumindest für Windows 7/8 gibt es hier eine Erklärung samt der Einstellung des richtigen Treibers: http://www.ev3dev.org/docs/tutorials/co ... t-via-usb/

4) die ganzen root - und Konsole-Befehle samt ssh und putty etc zum ersten Einrichten sind mir zu kompliziert, allein schon die SD-Karten-Image-Erstellung ist mir viel zu kompliziert - es muss ein FAT32-Image geben, dass sofort läuft, mit allen Einstellungen:

Das geht nicht. Wenn das ein Musskriterium ist, bin ich raus. Linux kann auf fat32 nicht laufen. Es gibt Möglichkeiten das zu umschiffen, aber afaik sind das nur gekapselte ext4-images. Ich weiß, dass Ubuntu so seine LIVE USB-Sticks macht, ich weiß aber nicht, wie ich ein Debian image dazu bringen soll sich so zu verhalten. Ich fand die Anleitung hier http://www.ev3dev.org/docs/tutorials/wr ... iskimager/ jetzt nicht so schwer.

wenn ich schon sowas sehe wie das hier
cc prog.c -o prog -L/usr/X11R6/lib -lX11
apt-get -s install libfreetype6
könnte ich davonlaufen!

Keine Ahnung, wo das her ist, aber für ev3dev musste ich nicht selbst kompilieren oder nachinstallieren bei der Einrichtung. :?:

(so wie NOOBS als Image für RasPi auf einer SD-Karte, wo man gleich automatisch alles für Raspian installieren lassen kann samt der nötigen Erweiterung der SD-Linux-Partitionen (ist ja auch Debian).
5) was eine Toolchain ist, weiß ich nicht, wichtig ist: SD rein, EV3 starten, läuft.


Hm, also so ganz ohne Willen was neues zu lernen, wird das wohl nichts. Eine Toolchain ist eine Sammlung von Programmen, um für eine Plattform Programme zu erstellen. Sie beinhaltet den Compiler, den Linker, die Bilbiotheken (zum Linken), die Include Dateien usw.

6) zum Programmieren (Crosscompiler) bräuchte man etwas wie BricxCC (das hat ja alle Einstellungen fürs Lego/TI DaVinci Linux und gpp CSLite)
der Code dazu ist OpenSource, leider ist es in Pascal programmiert ... :-pc:

Was ist denn an Pascal schlimm? Ist ja noch einfacher als C.

Auf keinen Fall sowas wie Eclipse oder Visual Studio, damit bin ich bereits bei Lejos und C#/Mono grandios gescheitert ( und ebenso übrigens mit dem Raspbian-C-Compiler auf dem RasPi, was aber mehr an Linux und den unvollständigen libs lag als an geany)!

Dazu kann ich wenig sagen. Eclipse oder Visual Studio kommen mir nicht ins Haus. Wenn ich programmiere, dann mit geany. Wenn ich was basteln täte, gäbe es da auch keine Libprobleme. Allgemein habe ich keine Rasperry Pi Erfahrungen, weder mit Raspbian noch mit sonstwas.

7) ich möchte nicht auf die Linux-Ebene müssen zum programmieren, und auch nichts mit makefile zu tun haben,
- einfach IDE auf Windows starten (XP, Win7),
- ein paar nötige libs #includen,
- Code schreiben
- F5 compilieren
- F6 hochladen
- ctrl+F5 Programm auf EV3 starten
das ist exakt so, wie es bisher auf dem NXT mit NXC ging und auch ansatzweise mit BricxCC und gpp C (makefile hat J.H. irgendwo in den Settings versteckt), und genau so funktioniert es ja auch mit der Arduino Sketch IDE (oder eigentlich heißt es wohl Wiring, wie ich gerade im Arduino-Forum gelesen habe).


Ich habe nie mit den von dir genannten Programmen gearbeitet. Ich denke man kann da eine Menge machen. Das Übertragen von fertigen Programmen im Hintergrund mittels SSH ginge auch. Ich frage mich halt, ob eine so starke Abstraktion im Endeffekt nicht hinderlicher wäre, als sich zumindest ein wenig mit der Materie zu befassen. Spätestens wenn es an das Debuggen geht, kommt man an einer SSH-Shell nicht vorbei. Und wenn man einfache Programme schreibt, die nicht debugt werden müssen, reicht da nicht EV3-Basic? Ich verstehe die Abneigung Linux in einer VM zu installieren, also eine Windows-Toolchain müsste schon her bzw. eine Bundle von IDE und Toolchain für Windows. Nichtdestotrotz ist eine Shell zum EV3-Brick unerlässlich.

8) die ganzen autodetect-Sachen müssen weg, ich will meine Sensoren selber konfigurieren können ohne von "automatischen Einstellungen" vergewaltigt zu werden, so ähnlich wie bei NXC:
SetSensor(port, type, mode)

Worauf beziehst du dich. Auf die Defaultfirmware? Zumindest unter Ev3dev kann ich die Motoren und Sensoren ansprechen, wie ich will. Per Port oder per Name (wenn nur einer von einem Typ dran ist)

9) Daisy-Chaining muss funktionieren wie bei leJOS oder wie bei der original-Lego-VM.

Keine Ahnung, ob das geht. Ich glaube nicht. Ich kann das auch nicht testen. Wenn das ein Muss ist, können wir an der Stelle aufhören. :D

Wenn es DAS gäbe: genau DAS wäre mein Wunschkandidat :)

Tja, ähm. Nein. Leider nicht. Wenn es das gäbe, wüsstet du es bestimmt schon.

Man kann eine Menge machen. Toolchain für Windows erstellen, IDE fertig einrichten, fertigeres Ev3dev Image erstellen, Windowstreinerinstallation abklopfen.

Das fertige Konstrukt würde dann für Ev3dev Programme erzeugen. Die müsste man aber noch selbst kopieren und ausführen. Für das Kopieren würde sich FTP (z.B. mit Filezilla) anbieten, für das Ausführen kann man direkt am EV3 Stein Programme auswählen und starten. Oder man nutzt halt eine Shell. Wir reden hier von solchen Befehlen:

Code: Alles auswählen

cd irgendein_Order
./program

Das ist nicht komplizierter als die DOS-Shell. Aber man hat den Vorteil Ausgaben auf der Shell zu sehen (z.B. für printf Debugging) und muss den EV3-brick nicht anfassen zum Ausführen.

Überleg es dir. Wenn du ein wenig Neues lernen kannst und willst, könnte ich probieren was zu basteln. Wenn du auf eine Komplettlösung bestehst, wirst du warten müssen, bis sich jemand die Mühe macht. Ich werde es nicht sein, weil es mir selbst nicht bringt.

LG Ziz

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 10:57

ok - es war meine perönliche Wunschliste, vieles was du aber geantwortet hast, verstehe ich gar nicht. Ich gehöre zu der Gruppe "was ist ein Linux? (ein wildes Glumanda?)", und für normale Programme, auch für die Lego-FW, und auch mit bricxCC und EV3 , hat das gereicht. Linux war drauf und es lief. Linux "lernen" will ich definitiv nicht, da bin ich ja wie gesagt schon auf dem RasPi gescheitert. Und genau deshalb warte ich ja auf den Tre mit der Wiring/Sketch-Web-IDE.

Wegen der unglaublich wenigen Ports auf dem EV3 ist aber Daisy-Chaining unerlässlich bzw. die Variante, wie es leJOS alternativ umsetzt: man muss die EV3s verbinden können (per USB oder BT) und dann muss man jeden "slave"-Port exakt so ansprechen könen wie einen lokalen.
In NXC-Pseudocode:
Sensor(S1, &value) liest den Sensor-Wert vom lokalen Port S1
Sensor(S7, &value) liest den Sensor-Wert vom virtuellen Port S7 == S3 am 1.slave

Kein Communication-control-protocol für remote-motor- und sensor-access zu haben war ja bereits schon für den NXT immer das größte Problem (außer mit Java, da gings).

Aber ich bin ja nicht der alleinige Zielkandidat, andere werden das ganz anders sehen.
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: ev3dev: C für EV3

Beitragvon Technicmaster0 » 4. Mai 2015 11:51

Ziz, versuch es gar nicht erst. HaWe ist fast alles, was irgendiwe von seinem aktuellen NXT Setup abweicht, zu schwer (bis auf unterschiedliche Icons wie bei der Arduino IDE). Entweder etwas passt genau in das Schema, was er mit dem NXT gelernt hat, oder es ist zu schwer. Außerdem muss das, was er haben will, unter Windows XP laufen.
Wenn du etwas mit EV3DEV machen möchtest, was die Nutzung vereinfacht: großartig! Die EV3DEV Entwickler werden dir sicherlich sehr dankbar sein. Aber lass dich nicht von HaWes Wünschen aufhalten.

@HaWe:
Vielleicht ist ja der Raspberry Pi 2 das richtige für dich: auf dem läuft direkt Windows (wenn auch Windows 10, was dir sicherlich zu kompliziert ist): http://ms-iot.github.io/content/Downloads.htm.

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 13:39

Richtig, es sind meine ganz persönlichen Ansprüche, und es stimmt: NXC war OK und Arduino Sketch/Wiring ist ja auch absolut OK.
Windows XP muss sein, das stimmt auch.
Ich programmiere schließlich als lockere Freizeitbeschäftigung bei schlechtem Wetter (andere lösen da Kreuzworträtsel oder gucken fern) und tue das ohne jegliche professionelle Ansprüche.
Raspberry kommt nicht in Frage, in keiner Schattierung, und alles jenseits Windows 7 ist noch schlimmer als Linux.
Aber vielleicht kommt ja der Tre mit einer einfachen Web-IDE, das wäre ja auch ok. Und wenn nicht, dann eben nicht.
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

tito
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 42
Registriert: 13. Okt 2011 11:56

Re: ev3dev: C für EV3

Beitragvon tito » 4. Mai 2015 14:15

hallo,
auch ich finde alles top, was zu einer Vereinfachung bei ev3dev führt, aber wie du ja aus unserem anderen Post-Wechsel entnommen hast:
Auch ich bin kein Freund von Linux und Kommandozeilen und Terminals.
Mit Daisy-Chaining gebe ich Hawe recht, 16 Sensorports und 16 Motorports zu haben, die man direkt ansprechen kann, wäre für mich der einzige Vorteil, den der Ev3 gegenüber meinen 3 NXTs hat, neben der deutlich größeren Rechenpower.
Aber ohne diese Vielzahl von Ports brauche ich andererseits auch diese Rechenpower nicht.

(Ich bin ja auch Arduino-Nutzer, und ein Due hat 50 digitale Pins, 12 analoge ADC, 2 analoge DAC, 1(-2) SPI, 2 I2C, 4 UART, 2 CAN...)

Interesse auf allen User-Leveln wird da an einer ev3dev-Vereinachung aber sicher vorhanden sein, die Ansprüche an eine NXC- oder EV3-Basic-Alternative und das persönliche Wissen über Linux und allem was damit zusammenhängt sind da sicher extremst weit gestreut unter den potentiell Interessierten..


ps, apropos Tre:
ob der mit seinem Singlecore kommt, scheint sehr in den Sternen zu stehen, und wie weit die web-IDE auch den Sitara-Linux-Teil integriert, ebenfalls. Das zumindest habe ich aus Posts aus den Arduino-Foren herausgelesen... :?

Benutzeravatar
Ziz
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 36
Registriert: 16. Apr 2015 17:45
Kontaktdaten:

Re: ev3dev: C für EV3

Beitragvon Ziz » 4. Mai 2015 14:29

Ja, so etwas in der Art habe ich schon gemerkt. Ich werde auf jeden Fall keine IDE wie für den NXT zaubern können. Andererseits stellt sich die Frage: Wenn der NXT so toll ist: Wieso dann EV3 nutzen? Ich bin kein Freund von neuen Sachen nur des Neuen wegen. Imho hat EV3 drei große Vorteile gegenüber NXT: Mehr Aktorports, Linux und generell schneller. Gerade mit den letzten beiden Sachen ließen sich recht komplexe Sachen lösen. Dinge wie der USB Port oder Bluetooth geben einen dabei auch einen guten Grund mehr Rechenpower zu nutzen, wie z.B. mit Bildverarbeitung oder mit bluetoothbasierter Schwarmintelligenz. Oder das Eingangsbeispiel mit dem neuralen Netz. Da ließe sich sich eine Menge machen.

Wenn du an verregneten Tagen etwas programmieren willst und auch schon fest eingespielt bist, ist der EV3 Brick vielleicht gar nichts für dich. Es gibt einige Beispiele von Communities, die sich auf ältere oder gar steinalte (C64) Hardware beschränken, aber damit auch viel Spaß haben. Ich kenne deine Programmiererfahrung nicht und habe selbst nie ein neurales Netz programmiert, immer nur andere in Aktion gesehen, aber wenn man es schafft ein neurales Netz zu schreiben, fällt es mir schwer zu glauben, dass es nicht möglich ist sich neues Programmierwissen in Linux anzueignen.

Meine momentane Überlegung wäre gewesen eine IDE zusammenzustellen, die im Hintergrund direkt über das (USB) Netzwerk mit ev3dev kommuniziert und Anwendungen auch direkt auf diesem kompiliert. Das ist im Prinzip die einfachste Möglichkeit den GCC (oder beliebige andere Sprachen) für Windows bereitzustellen. Dafür hätte ich das ev3dev image genommen, ein paar Dinge wie den gcc dazuinstalliert und es dann als eigenständiges Image für die SD Karte hochgeladen. Die IDE würde bei einem Klick auf "Kompilieren" dann die Dateien rüberkopieren und direkt auf dem Brick kompilieren bzw. kompilieren und laufen lassen.

Der ev3dev Community bringt solch ein Egotripp leider reichlich wenig, da ich mein Image jedes mal aktualiseren müsste, wenn sie ein neues Image rausbrächten (was erst vor ein paar Tagen der Fall war). Außerdem, was bringt einem das schönste Debian im Hintergrund, wenn man davon nie etwas zu Gesicht bekommt, geschweige denn es updatet? Alles in die IDE zu stecken deucht mich nicht sinnvoll. Ich bin nicht auch immer noch nich sicher, wie groß die Zielgruppe alles in allem ist. Ich kenne ja bisher nur dieses Forum, wo scheinbar wenig Aktivität herrscht und die ev3dev community, wobei jeder, der sich dahin verirrt, sowieso schon Linux nutzt.

Zum Daisy Chaining. Ich selbst habe nur einen EV3 brick, habe 5 Sensoren und komme mit den 4 Anschlüssen ganz gut klar. Aktoren finde ich persönlich wichtiger, aber auch da finde ich 4 hinreichend. Bezüglich der Sensoren gibt es ja noch die Möglichkeit ein USB Gerät als Sensor zu benutzen (siehe Beispiel Webcam). Daisy Chaining selbst ist in ev3dev (noch) nicht implementiert. Man muss sich also selbst über das Netzwerk unterhalten. Ich vermute, das wäre aber zu komplex für dich.

Ich bin mir wirklich unsicher, was der richtige™ Weg ist. Eine Reihe von Tutorials, die einem gleich alles richtig beibringt Schritt für Schritt? Eine IDE, die einen Egotripp fährt und u.U. mit der Kompatibilität zu ev3dev bricht (spätestens wenn ich das Interesse verlieren sollte, wäre man gezwungen mit der ev3dev Version zu arbeiten, die ich bereitgestellt hätte)?
Ev3dev hat schon eine recht ausführliche Dokumentation für Windows, Linux und MacOS. "Nur" das Bauen von Programmen ist bisher auf Linux und da auch nur auf 64 Bit beschränkt. Ich könnte also auch überlegen ein Tutorial zu schreiben, was einem näher bringt, wie man unter Windows und MacOS direkt auf dem EV3 Stein Programme bauen kann.

LG Ziz

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 14:33

ich denke, das war jetzt an mich adressiert -
ich kann nur für mich reden. Ich bin bald Rentner, da lernt man nicht mehr so schnell Neues.
Aber ich brauche eher 50 Sensoren und 20 Motoren als nur 4+4 (und da reicht auch kein Due, noch nicht mal 2 davon, gar nicht zu reden von einigen extremen Einschränkungen, die der Due hat).
Aber ich brauche auch "vieeeel schneller" und vieeeel mehr RAM. (Den NXT und den Due habe ich ausgereizt mit neuronalen Netzen und Schachrobotern, es reicht aber noch nicht mit der Performance.)

Andere sehen das aber sicher anders, also lass dich nicht von meinen Gewohnheiten abhalten, ich würde sagen: fang einfach mal an, wenn du Lust hast! :)
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E

tito
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 42
Registriert: 13. Okt 2011 11:56

Re: ev3dev: C für EV3

Beitragvon tito » 4. Mai 2015 14:47

finde ich auch, fang einfach mal an!
Eine bessere Prognose für ein neues Konzept sehe ich allerdings in einer gesicherten ev3dev-Kompatibilität auch für die Zukunft, sodass die Vereinfachungen und Verbesserungen auf Dauer erhalten bleiben. Ich bin da aber völlig ohne jede Vorstellung, was man dazu als Vorraussetzungen bräuchte und über welchen Aufwand man hier überhaupt redet.
Die Installation vom Image kriegt man sicher hin, aber auch ich habe noch keinen USB-Treiber für XP zum Laufen gekriegt, trotz Anleitung auf der ev3dev-Seite (ja, auch ich kaufe mir für Lego kein neues Windows, ich LIEBE mein XP! :) )

Benutzeravatar
Ziz
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 36
Registriert: 16. Apr 2015 17:45
Kontaktdaten:

Re: ev3dev: C für EV3

Beitragvon Ziz » 4. Mai 2015 14:53

Dann werde ich mich die Tage mal mit dem USB Netzwerk Problem unter Windows XP beschäftigen. Wenn das nicht geht, kann man den Rest auch gleich vergessen. Erschreckend, wie weit verbreitet Windows XP immer noch ist. O_O

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 15:07

1 Sache will ich noch nachschieben, aus meiner 25-jährigen Erfahrung mit Fischertechnik und Lego - das nur ganz grundsätzlich, das hat nichts mit deinen engagierten Ambitionen zu tun:

Der Grund für den immensen Erfolg vom RCX und NXT war die simple IDE mit der einfachen API. Komplett per setup.exe zu installieren, geeignet schon für Schüler, aber mit der Option, sehr große Projekte auf die Beine zu stellen, fast wie mit richtigem C, wenn auch eingeschränkt.

Fischertechnik konnte seit den alten Turbo-Pascal-Zeiten nie eine Schriftprogrammierung etablieren, weil das Handling viel zu kompliziert war (z.B. Renessas C für das Robo-Interface).
Auch jetzt, mit seinem neuen ARM A8/M3 Gerät (Robo TXT) gibt es keine nennenswerte User-Group dafür, weil es nicht einfach und simpel zugänglich ist (natürlich läuft es auch auf Linux).

Ähnlich stand und steht es um nxtOSEK: eine Riesen Power, echtzeitfähig (RTOS), aber viel zu kompliziert, um sich da einzufinden, angefangen mit der Installation - faktisch ist es schon mit seiner Geburt gestorben.

Also: der Schlüssel zum breiten Erfolg ist eine simple IDE, extrem einfach zu installieren, mit einer einfachen API. Die Tatsache, dass ev3dev das nicht hat, ist IMO genau der Grund, warum es an seiner weiteren Verbreitung hapert und warum seine Nutzer eigentlich "nur" Linux-Fachleute sind.

Und der Grund für den weltweiten Arduino-Erfolg ist, wie auch schon viele an anderer Stelle bereits geschrieben haben, ebenfalls genau hier zu suchen : Man muss sich nicht um Betriebssysteme kümmern und gpp und makefile und Eclipse-Monster, man kann sofort loslegen, alles knifflige erledigt die IDE im Hintergrund - trotzdem hat man volle C/C++ Power.
Man kann, aber muss dazu noch nicht mal eine Installations-Routine bemühen, es reicht, einfach nur einen ent-zippten gedownloadeden Ordner in den Windows-Programme-Ordner zu schieben. Dann nur noch Arduino mit USB-Kabel anschließen, fertig.

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

Benutzeravatar
Ziz
Schreibt ab und zu
Schreibt ab und zu
Beiträge: 36
Registriert: 16. Apr 2015 17:45
Kontaktdaten:

Re: ev3dev: C für EV3

Beitragvon Ziz » 4. Mai 2015 15:54

HaWe hat geschrieben:Kennst du Sketch/Wiring ?

Nein. Vor EV3 hatte ich gar keine Kontakte zum Programmieren von derartigen Systemen.

Peter28
Schreibt viel
Schreibt viel
Beiträge: 185
Registriert: 2. Nov 2013 21:44
Wohnort: Schmallenberg

Re: ev3dev: C für EV3

Beitragvon Peter28 » 4. Mai 2015 19:13

HaWe, HaWe
was machst Du mit 50 Sensoren. Hast doch nicht etwa ein smartes Eigenheim, das mit Personenerkennung die Tür aufreißt wenn Du in den Dunstkreis von 10m selbiger gerätst??? Spaß beiseite. Werde nächsten Monat schon der Wunderkerzen schwenkenden Bevölkerungsgruppe zugeordnet (also UHU - unter 100). Fühle mich zwar 15 Jahre jünger, aber das Festhalten an alten Zöpfen steckt nun doch mal drin. Brauche auch immer erst einen, der mir mit Beispielen, Erläuterungen und einer gewissen Resistenz gegen Begriffsstutzigkeit Anschub gibt. Also nicht verzagen, auf mindestens win7 umsteigen (ich warte übrigens auf 10 - Neugier) und wenigstens einen Sensor verzichten. Ich hab mich auch breitschlagen lassen und mit der textbasierenden Prog angefangen - und wenn es SmallBasic ist.
Schönen Abend
Peter

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

Re: ev3dev: C für EV3

Beitragvon HaWe » 4. Mai 2015 19:23

EHER 50 als 4 ;)
aber im Ernst:
10x touch für die Endpositionen der Roboterarm-Gelenke
8x touch für Stoßstangen rundum
5x Sharp GP2D12 für Objekterkennung für Greifer (Entfernung, Größe)
1x Cam für Objekterkennung (Farbe, Ort)
12x Sharp oder EV3-Ultraschall für Rundum-Hinderniserkennung (je 30°)
2x Sound (oder 1x Mikro + Soundmodul) für Spracherkennung
1x Gyro
1x Accelerometer
1x Kompass
1x GPS
1x ADC für ext. Batterielevel
1x Transponder für Ladestation und Wegemarken etc.
1x IR für manuelle Fernsteuerung
Keyboard für Kommunikation
...
für's erste, mir fällt bestimmt noch das ein oder andere ein... ;)
...
vielleicht ne 2. Cam für 3D Objekterkennung...?
ein Laser Detector für Baken-Peilung ?
ne Reihe von Helligkeitssensoren für Lichtquellen (Lampen, Fenster, Türen) ?
...
ah ja:
1 pressure sensor (Pneumatikpumpe für pneumatischen Greifer) !
5 mechanische Drucksensoren zum Fühlen des gegriffenen Gegenstands...?
ooh, ja -
und 1x Not-Stopp-Button !

...
bei wieviel sind wir jetzt ?
ist noch Platz für ein Redundanz-System, falls das 1. System ausfällt? :-o

- aber was ist das schon, gemessen an den zig Milliarden Sinneszellen beim Menschen? 8-)
Gruß,
HaWe
±·≠≈²³αβγδε∂ζλμνπξφωΔΦ≡ΠΣΨΩ∫√∀∃∈∉∧∨¬⊂⊄∩∪∅∞®
NXT NXC SCHACHROBOTER: https://www.youtube.com/watch?v=Cv-yzuebC7E


Zurück zu „textbasierte Programmiersoftware“

Wer ist online?

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

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss