The_Real_Black Geschrieben April 23, 2012 at 20:29 Geschrieben April 23, 2012 at 20:29 Hallo die Idee einer grafischen Programmieroberfläche gefällt mir ^^ das Real Robots Projekt, eine Heft-Serie in welcher ein Roboter Stück für Stück zusammen gesetzt wird, hatte bereits solch ein Interface zur "Programmierung". Leider war das "Entwicklen" darin etwas sehr eingegrentzt und man konnte den erzeugten Code nicht weiterverwenden. Helfen würde ich schon, auch wenn ich auch lieber meine eigenen Projekte siehe "Kiste" weiter bringen möchte. Die "Kiste" soll sobald meine nächste Lieferung ankommt zu einen Stationären Scanner ausgebaut werden. Ziel ist es auch zum testen usw. einige Oberflächenkomponenten zusammen zu bauen mit welchen man unter Angabe der Brick ID sofort deren Ergebnisse sieht. Besser wäre noch alles sofort beim Einstecken des Stacks zu erkennen da ist mir das Parsen noch etwas zu nervig, aber der Brickviewer kann es ja auch. Wie sollte die GUI aufgebaut sein? Eher wie Blöcke setzen und mit Linien verbinden -> Input Wert oder Event geht von nach ... Oder wie ein Logik Baukasten? OR AND Not (Siemens Logo und SPS Entwicklung) Eine einfache Bibliothek welche die aktuelle Schnittstelle kapselt und vereinfacht (Antme! oder das XNA Framework) würde das Entwicklen auch viel einfacher machen. Soll am Ende ein Codegernerator vorliegen? ... naja, ich behalte dieses Projekt mal im Auge und arbeite an meinen eigenen Projekten (^.^)/ Zitieren
M4ST3R Geschrieben April 23, 2012 at 20:36 Geschrieben April 23, 2012 at 20:36 Du darfst dich gerne am Coden beteiligen Also ich denke es sollte am Anfang sicherlich etwas sein wie Blöcke setzen und mit Linien verbinden. Denke das wird auch am Anfang leichter zu programmieren sein. Aber ich denke, dass wir dann demnächst beginnen werden. Dazu werden wir dann die Diskussionsplattform wechseln. Das Forum ansich bietet glaub ich nicht genug Möglichkeiten Zitieren
BorgelMorgel Geschrieben April 24, 2012 at 05:40 Geschrieben April 24, 2012 at 05:40 Ich denke auch das Blöcke im Stil von VISIO & Co. gut geeignet wären. Auf der einen Seite die Inputs und auf der anderen die Outputs. Eventuell könnte man die Blöcke ja auch noch drehen um die Anschlüsse oben und unten zu haben. Bei den Verbindungen müsste man sicherlich einige unterschiedliche nehmen (gestrichelt usw.) oder man unterscheidet sie mit verschiedenen Farben. Vielleicht regt der folgende Link ja ein wenig an: https://www.circuitlab.com/editor/ Ich bin zwar beim programmieren nicht unbelastet, könnte dort aber vermutlich nicht sehr viel helfen. Wenn es um graphische Elemente geht sieht das schon besser aus. Zitieren
M4ST3R Geschrieben April 24, 2012 at 11:53 Geschrieben April 24, 2012 at 11:53 Oh das ist auch ein cooles Tool, vor allem die Community Funktionen find ich super, dann kann man Aufbauten direkt mit anderen teilen. Eine Software mit dem GUI Aufbau hatte ich mir auch für hier vorgestellt. Borg wollte später noch etwas dazu schreiben. Allerdings dürfte es wesentlich komplexer sein, da die einzelnen Bausteine natürlich viel mehr Möglichkeiten haben als so ein Widerstand Lot of hard work aber wenn es konkret wird, werde ich auch noch mal im englischen Forum rumfragen, ob noch jemand mitarbeiten möchte. Wenn wir dann grafische Elemente brauchen kannst du uns da ja sicherlich dann helfen. Und gute Tester werden natürlich auch immer benötigt Zitieren
The_Real_Black Geschrieben April 24, 2012 at 17:12 Geschrieben April 24, 2012 at 17:12 Du darfst dich gerne am Coden beteiligen Nach täglich 8 bis 9 Stunden Software entwickeln fällt es mir etwas schwer irgendwo anders was zu entwicklen aber mal sehen wie es aussieht. Zitieren
M4ST3R Geschrieben April 24, 2012 at 21:42 Geschrieben April 24, 2012 at 21:42 Gerade mit der Erfahrung wärst du allerdings sicherlich hilfreich Zitieren
ThomasKl Geschrieben April 25, 2012 at 06:40 Geschrieben April 25, 2012 at 06:40 Hi, da hab ihr euch aber ein ambitioniertes Projekt ausgesucht. Wie wäre es denn mit Qt als Framework, da könnte man den Brickviewer als Grundlage verwenden und den dann Schritt für Schritt aufbohren. Der Brickviewer kennt schon alle Bricks und Bricklets, da wäre der erste Schritt, einfache Verknüpfungen zu erstellen, recht einfach. Man könnte ein Tab hinzufügen auf dem man "einfach" Getter mit Setter verbinden könnte. Wie z.b. Joystick.getPosition ----> Motor.setposition. Darauf aufbauend könnte man eine "einfache" Flusskontrolle (if then else) einbauen evt. zusammen mit Timern. Richtig mächtig würde so ein Programm dann werden, wenn man sein Programm per LowLevelProgrammierung direkt auf die Bricks schreiben könnte. Im Beispiel also das Motor Brick dem Herren des Joystickbricklets einmal mitteilt, dass es doch die Position vom Joystick schicken soll und darauf hin die Position unmittelbar ohne Umweg über einen PC zum Motorbrick geschickt wird und sich dann der Motor entsprechend bewegt. Zitieren
borg Geschrieben April 25, 2012 at 09:15 Geschrieben April 25, 2012 at 09:15 Wir hatten uns vor Zeiten folgendes zu dem Thema ausgedacht: 1. Suchen einer Graph Library mit der man Objekte hin und herschieben kann, per Pfeile verbinden kann etc. 2. Brick Viewer erweitern um die Möglichkeit sehr einfache Abläufte darzustellen. 3. Abstrakte Knoten (neben den Bricks und Bricklets) hinzufügen die mathematische Berechnungen, Abzweigungen machen (Addition/Multiplikation, Skalierung, "Wenn x > y", etc.) 4. Kodierung des vom Benutzer erstellten endlichen Automaten (wir sind hier weit weg von Turing-Vollständigkeit!) in kompakte Form. 5. Ausführen des Automaten im Brick Viewer per Knopfdruck (einfach). 6. Jetzt kommt der Clou: Übertragung der Automatenkodierung auf den Brick und standalone ausführen auf dem Brick ohne PC-Verbindung (schwierig!). Das geht ein wenig in eine andere Richtung als das meiste hier vorgeschlagene. Einen Quellcodegenerator kann man sicherlich auch machen, das hat aber eine ganz andere Zielsetzung. Sobald wieder Quellcode generiert wird der dann vermutlich auch noch abgeändert werden muss um etwas komplexere Sachen zu machen, werden natürlich wieder nur Leute angesprochen die sich mit programmieren auseinandersetzen wollen (Installieren einer IDE, abändern von Code, kompilieren, etc). Falls wir selber sowas angehen würden, wäre die Zielsetzung das meine Mutter damit eine einfache Steuerung bauen kann. Ein Codegenerator ist natürlich auch cool, keine Frage . Zitieren
M4ST3R Geschrieben April 25, 2012 at 10:13 Geschrieben April 25, 2012 at 10:13 So ich habe mal ein Beispiel zusammengebaut, wie ich mir das vorstellen könnte. Die Verbindung der Bricks ist noch nicht implementiert, da ich mir jetzt auch nicht zu viel Arbeit mit Mustern machen wollte, ohne dass eine Entscheidung für die Lösung getroffen wurde. Das Programm ist pures Java allerdings als .exe umgewandelt. Die Mac und Linux User mögen es mir vergeben. Bei Bedarf kann ich es auch als .jar bzw. jeweils für die anderen Plattformen compilen lassen. www.cyrex-it.de/projekte/Tinkerforge/visuallibrarytest.7z Funktionen: Einfach auf die weiße Fläche klicken, dann erscheinen rechts die Bricks/Bricklets (sind erst mal nur 3), diese können dann auf die Fläche gezogen werden. Mit strg+ Mausrad kann man zoomen. Mit Mausrad gedrückt, kann man bei größeren Modellen die Fläche schieben. Links hat man die Satelite oder auch Birdview zum einfachen Navigieren in großen Projekten. Die auf die Fläche gezogenen Bricks/Bricklets können umbenannt werden. Guckts euch an und postet ne Meinung dazu Ps: ich hoffe es war ok, dass ich mir Bilder aus dem Shop geklaut und in den Loader das Tinkerunity Logo eingesetzt habe. Wenn nicht bitte melden dann nehme ich das raus Zitieren
BorgelMorgel Geschrieben April 25, 2012 at 11:31 Geschrieben April 25, 2012 at 11:31 Dein Beispiel sieht doch schon praktisch aus und hat bestimmt schon Mühe gemacht! An die einzelnen Elemente müssen dann halt Eingänge und Ausgänge. Über DK auf das jeweilige Element kann sich ja dann ein Fenster öffen wo man Grundparameter eingibt, oder man steuert sie mit über dafür vorgesehene Eingänge. Des Weiteren müsste die Oberfläche Anzeigeelemente und Elemente zur weiterverarbeitung besitzen z. B. "In/aus Datei speichern/lesen", Rechen- und Logikoperatoren. Der Punkt 6 von borgs Post ist sehr interessant und wäre ne coole Sache. Zitieren
FabianB Geschrieben April 25, 2012 at 13:14 Geschrieben April 25, 2012 at 13:14 Das Programm ist pures Java allerdings als .exe umgewandelt. Die Mac und Linux User mögen es mir vergeben. Bei Bedarf kann ich es auch als .jar bzw. jeweils für die anderen Plattformen compilen lassen. Hi, super, dass du das gemacht hast. Aber natürlich nehme ich als reiner Linuxer die .exe übel ;-) Da ich gerade keine Lust habe, ein Win in ner virtuellen Maschine zu installieren (und das Compilen schneller gehen dürfte) wollte ich dich um den Gefallen bitten, eine beliebige Linux-fähige Variante zu erzeugen. Danke schonmal. EDIT: Ich habs jetzt nicht in Wine ausprobiert. Kann ich auch gerne erstmal machen, sobald ich zu Hause bin. Außerdem: Du hast ne PM Zitieren
wurststulle Geschrieben April 25, 2012 at 13:19 Geschrieben April 25, 2012 at 13:19 So ich habe mal ein Beispiel zusammengebaut, wie ich mir das vorstellen könnte. Die Verbindung der Bricks ist noch nicht implementiert, da ich mir jetzt auch nicht zu viel Arbeit mit Mustern machen wollte, ohne dass eine Entscheidung für die Lösung getroffen wurde. Das Programm ist pures Java allerdings als .exe umgewandelt. Die Mac und Linux User mögen es mir vergeben. Bei Bedarf kann ich es auch als .jar bzw. jeweils für die anderen Plattformen compilen lassen. www.cyrex-it.de/projekte/Tinkerforge/visuallibrarytest.7z Funktionen: Einfach auf die weiße Fläche klicken, dann erscheinen rechts die Bricks/Bricklets (sind erst mal nur 3), diese können dann auf die Fläche gezogen werden. Mit strg+ Mausrad kann man zoomen. Mit Mausrad gedrückt, kann man bei größeren Modellen die Fläche schieben. Links hat man die Satelite oder auch Birdview zum einfachen Navigieren in großen Projekten. Die auf die Fläche gezogenen Bricks/Bricklets können umbenannt werden. Guckts euch an und postet ne Meinung dazu Ps: ich hoffe es war ok, dass ich mir Bilder aus dem Shop geklaut und in den Loader das Tinkerunity Logo eingesetzt habe. Wenn nicht bitte melden dann nehme ich das raus wie wäre es, wenn du das bei github hochladen könntest, dann können wir auf einfache weise dazu beitragen. Zitieren
M4ST3R Geschrieben April 25, 2012 at 14:00 Geschrieben April 25, 2012 at 14:00 Habs in java.net hochgeladen http://java.net/projects/tfsoftwaretest Da hatte ich schon einen Account Zitieren
gmu Geschrieben April 25, 2012 at 14:21 Geschrieben April 25, 2012 at 14:21 Der Punkt 6 von borgs Post ist sehr interessant und wäre ne coole Sache. Das Problem ist aber, dass der Brick z.B. keine EMails versenden kann. Der Ansatz von M4ST3R ist ganz gut und zeigt, dass man mit NetBeans durchaus auf dem richtigen Weg ist. Einen Quellcode in Java aus einem zusammengezeichneten Programm zu erzeugen ist simpel. Der Ansatz sollte aber m.E. sein, die Brickmodule visuell darzustellen, Programmlogiken per Drag'n'Drop zu erstellen und erweiterte Funktionen wie z.B. EMail, SMS etc zu realisieren. So kann sich der Anwender eine Art Schalttafel zusammenziehen und diese auch entsprechend Anwenden (Temperaturanzeige, Knopf drücken für Ein/Ausschalten, Relais schalten, Eingänge/Ausgänge anzeigen, und und und). So eine Schalttafel könnte dann z.B. so aussehen (Bild ist willkürlich ausgesucht worden und soll nur einen optischen Eindruck vermitteln): gmu Zitieren
gmu Geschrieben April 25, 2012 at 14:25 Geschrieben April 25, 2012 at 14:25 Der Link geht nicht: http://java.net/projects/tfsoftwaretest Zitieren
FabianB Geschrieben April 25, 2012 at 14:26 Geschrieben April 25, 2012 at 14:26 Einen Quellcode in Java aus einem zusammengezeichneten Programm zu erzeugen ist simpel. Der Ansatz sollte aber m.E. sein, die Brickmodule visuell darzustellen, Programmlogiken per Drag'n'Drop zu erstellen und erweiterte Funktionen wie z.B. EMail, SMS etc zu realisieren. Ich würde dir da auf jeden Fall zustimmen, dass das der wesentliche Ansatz sein sollte. In meinen Augen ist es aber ein gutes (und für Umfeld Schule auch wichtiges) Feature, wenn die Quellcode-Generierung bereits mit implementiert ist. Aber da du ja schon selber sagst, dass das voraussichtlich nicht gerade der schwierigste Aspekt sein sollte, sind wir uns da vermutlich einig, dass man das einfach mit einbaut. Oder habe ich dich da missverstanden? Zitieren
gmu Geschrieben April 25, 2012 at 14:32 Geschrieben April 25, 2012 at 14:32 Hallo FabianB, nein, das mit dem Quellcode erstellen ist wirklich simpel. Das kann sogar soweit gehen, dass man wahlweise nur das reine Programm ohne grafischen Schnickschnak erzeugen läßt und somit ein schlankes Progrämmchen hat, dass nur die Bibliothek von TinkerForge benötigt. Ein Einsatzgebiet dafür wäre z.B. ein Aufbau mit eigenem Display (wenn wieder lieferbar;) ). gmu Zitieren
FabianB Geschrieben April 25, 2012 at 14:35 Geschrieben April 25, 2012 at 14:35 Ehrlich gesagt hatte ich mir das auch nicht sehr schwer vorgestellt, da ich das aber noch nie umgesetzt habe, wusste ich das nicht so genau. Dann ist der Aspekt ja schonmal geklärt. Danke für die Erklärung Zitieren
M4ST3R Geschrieben April 25, 2012 at 14:45 Geschrieben April 25, 2012 at 14:45 Mist ist vermutlich noch private gesetzt. Ich habs nur schnell hochgeladen. Werde es dann public machen und dann kann jeder drauf zugreifen! versucht mal das repository: https://svn.java.net/svn/tfsoftwaretest~tinkerforge-sourcecode ich weiß allerdings nicht ob das bereits ohne pw geht Zitieren
M4ST3R Geschrieben April 26, 2012 at 16:05 Geschrieben April 26, 2012 at 16:05 Leider scheint meine SSD gestern abend abgeraucht zu sein. Daher komme ich momentan nicht mehr an mein Projekt ran (vielleicht auch nie mehr?) solange ich keine neue habe, kann ich die auch nicht aus dem svn repository ziehen. Kam von euch da jemand ran? Ging das mit dem svn link? Gruß PS.: wenn jemand weiß wie man eine SSD zum leben erweckt... schickt mir ne pm Zitieren
gmu Geschrieben April 26, 2012 at 19:14 Geschrieben April 26, 2012 at 19:14 Hallo M4ST3R, das kann man sich File für File schon ziehen: tfsoftwaretest~tinkerforge-sourcecode - Revision 2: /VisualLibraryTest/ShapeSample/src/org/netbeans/shapesample .. Bundle.properties GraphSceneImpl.java LabelTextFieldEditor.java MyNode.java ShapeTopComponent.form ShapeTopComponent.java palette/ SSD - ich bin noch ein ein Gegner davon. Hoffe Du kannst da noch was rausholen von den Daten. Schon mal probiert die SSD wo anders reinzustecken? Gruß gmu Zitieren
M4ST3R Geschrieben April 27, 2012 at 12:12 Geschrieben April 27, 2012 at 12:12 ich LIEBE meine SSD auch, wenn die jetzt verreckt ist und alle nicht gesicherten Daten weg sind. Allerdings liegt das an der tollen Idee einen SandForce Controller mit AES Verschlüsselung zu benutzen. Wer auch immer so clever war, hatte scheinbar nicht bedacht, dass man den mal tauschen muss. Nunja solange meine neue SSD nicht da ist, läuft mein Rechner nur mit dem Lebensnotwendigsten. Daher kein Netbeans o.ä. Ich denke jeder der Interesse hat, hatte sich das Programm schon mal angesehen. Wenn es nun umgesetzt werden soll (hörte sich bei Borg nicht so nach Begeisterung an?) dann sollten wir eine Liste machen, wer mitarbeiten will. Anschließend könnte es dann auch losgehen mit Pflichtenheft und Planung mit anschließender Programmierung. Würde das Projekt auch leiten, wenn da Bedarf ist. Zitieren
gmu Geschrieben April 27, 2012 at 22:58 Geschrieben April 27, 2012 at 22:58 Habe leider die nächsten zwei Wochen keine Zeit. Bin aber anschließend gerne dabei. gmu Zitieren
FabianB Geschrieben May 4, 2012 at 09:23 Geschrieben May 4, 2012 at 09:23 Ich war selber eine Weile nicht hier. Jetzt sehe ich, dass der Thread hier eingeschlafen ist. Arbeitet momentan jemand an dem Projekt? Oder wird es (hoffentlich nicht) als tolle Idee verpuffen? Zitieren
M4ST3R Geschrieben May 4, 2012 at 20:45 Geschrieben May 4, 2012 at 20:45 Mh bisher hab ich keine großen Anklänge gefunden außer Leute die gesagt haben "wäre toll" aber keine Programmierer. Da meine Platte abgeraucht ist und erst nächste Woche meine neue SSD da ist ... Ab Ende nächster Woche wäre es möglich zu beginnen. Würde das Team leiten aber 3-4 Leute wären schon gut ... Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.