Jump to content

Grafisch Programmieren


Recommended Posts

  • Replies 62
  • Created
  • Letzte Antwort

Top Posters In This Topic

Die Idee "grafisch" zu Programmieren finde ich sehr gut.

 

Müsste man ggf. in Java machen, damit auch viele Plattformen abgedeckt werden.

 

Dazu braucht man die Definition einer Klasse mit Grund-Methoden, von der alle visuellen Bricklet-Module dann abgeleitet werden.

Einen Editor, mit den man diese grafischen Elemente einpassen kann.

Dann noch ein Workflow-Generator für die Programmlogik und schon ist die Sache fertig.

 

Wenn Tinkerforge die Hardware kostenfrei bereit stellt und sich noch ein, zwei Leute für die Entwicklung finden würden ... ich wäre dabei.

 

Sowas habe ich früher schon mal in TurboPascal für eine Gruppe von Meßkarten realisiert. Das macht wirklich Spaß!

 

gmu

Link zu diesem Kommentar
Share on other sites

Bei eine Java basierten Plattform würde ich mich anschließen!

Man könnte die Netbeans Platform als Basis nutzen. Dann spart man sich das Window Managment etc.

 

Wenn dazu infos gewünscht werden, einfach melden.

Denke mit 3-5 Leuten könnte man einiges reissen. Allerdings wie du schon sagtest, müsste TF dann ein paar Teile sponsorn.

Link zu diesem Kommentar
Share on other sites

Ich weiß nicht wie aufwändig das wäre, allerdings kann man nicht voraussetzen, dass sich jemand LabView kauft. Mit einem Preis von 1299 Euro für die Basis Version wäre das etwas heftig!

Denke eine OpenSource Lösung wäre hier optimal.

Leider hat sich von Tinkerforge selbst noch keiner dazu geäußert. Wenn wir von der Seite Support kriegen sollten, wäre sicherlich einiges möglich.

Link zu diesem Kommentar
Share on other sites

Prinzipiell sicher eine gute Sache eine Software zu entwerfen., die es Laien ermöglichen soll, die nötigen Projekte für die Bricks nach dem Lego-Prinzip zu entw. Aber m.E. wird das an seine Grenzen stoßen, wenn es darum geht unterschiedliche Betriebssysteme, proprietäre Schnittstellen/Frameworks, bzw. Hardware oder Treibergeschichten zu unterstützen.

 

Für so ein kleines Startup-Unternehmen wie Tinkerforge ev. zu ambitioniert. Lieber bitte die Energie in die Neu/Weiterentwicklung der Bricks, Bindings und Firmware investieren. Eine pfiffige Gehäuse-Lösung für die Bricks und Bricklets ist auch noch so eine Baustelle.

Link zu diesem Kommentar
Share on other sites

Das mag sein, vielleicht mögen sie es auch extern vergeben. Wie schon gesagt, es muß nicht kostenfrei zur Verfügung gestellt werden.

Mir persönlich wäre es wichtig, wenn eine VBA-Anbindung möglich wäre. Ich möchte die Teile zum erfassen von Daten verwenden und das gerne aus Excel heraus, da ich hier gleich Auswertungen machen kann. Damit sind sicherlich keine schnellen Steuerungen möglich, aber das wäre auch nicht meine Anwendung.

Link zu diesem Kommentar
Share on other sites

Die Grundlegende Idee eine Möglichkeit zu bieten mit der man einfache Abläufe grafisch modellieren kann hatten wir natürlich auch schon.

 

Ich könnte mir auch vorstellen das wir ein solches Projekt finanziell oder mit Bauteilen unterstützen, allerdings müssten dafür einige grundlegende Fragen erst geklärt sein:

 

- Worauf soll das Projekt aufsetzen? Müssen wir das Rad neu erfinden?

- Was genau ist die Zielsetzung? Wir brauchen eine Liste an Szenarien die man mit der "grafischen Programmierung" umsetzen können soll.

- Die nächste Frage ist dann: Was müssen wir tun damit wir diese Szenarien umsetzen können? Brauchen wir Turing-Vollständigkeit oder reicht ein "wenn Wert kleiner, stelle Motor mit X"? Was bleibt von den Szenarien dann noch über?

Link zu diesem Kommentar
Share on other sites

Also ich denke finanziell müsste keine Unterstützung erfolgen, das wäre sicher zu viel verlangt aber ich denke Teile wären gut.

Allerdings natürlich nicht direkt. Die meisten haben ja zumindest ein paar Teile mit denen man beginnen kann und mit denen man am Anfang spielen kann.

Also ich persönlich würde die Netbeansplatform vorschlagen als Basis. Die Aufteilung der Fenster wäre perfekt und durch die grafischen APIs sollte ein gutes Ergebnis möglich sein.

Wenn sich 3-4 Leute finden lassen könnte man eine Art Pflichtenheft schreiben und dann für jedes Modul die Szenarien aufschreiben.

Man kann ja dann ein Spendenkonto machen für die Leute die Spenden wollen ;-)

 

Link zu diesem Kommentar
Share on other sites

Hallo borg,

 

das Rad muß man sicherlich nicht neu erfinden.

Aber gewisse Teile muß man neu machen.

Wiederverwenden kann man z.B. Grafiktools, die die Bricklets schön darstellen (LED-Anzeige, Thermometer, Meßkurve im Grid, Analoganzeige, etc).

 

Als Plattform bietet sich Java an, da dies auf nahezu allen Betriebssystemen lauffähig ist und einiges für GUI mitbringt.

Ja, Python auch, aber mit beschränkten Lizenzbestimmungen (z.B: bei Verwendung vom pyQt).

 

Vorgestellt habe ich mir folgende Bausteine:

 

Der GUI-Editor

Damit wird ein Projekt mit den einzelnen Bricklets grafisch zusammengestellt und grafisch dargestellt.

Hier soll eine Grundklasse definiert werden, die eine Verbindung zu ipcon bekommt und sich selbst (falls diese sichtbar sein soll) darstellen kann.

Die Grundklasse soll dann schon das verschieben im Editor beherschen, so dass sich der Bricklet-Klassen-Programmierer nur noch um die Eigenschaften seines Modules und ggf. deren inhaltliche Anzeige kümmern muß.

 

Logik-Editor

Mit diesem Editor soll man einfach die Ablaufsteuerung grafisch umsetzen können.

Dazu gehört das Setzen oder Abfragen von Variablen, die die Bricklet-Klassen bieten.

Schleifen und Verzweigungen.

Threads und Timer.

Sonderfunktionen wie Mailversand und Dateilogging.

 

Viewer (Runtime)

Das mit dem GUI- und Logik-Editor erstellte Programm kann dann als Standalone mit dem Viewer weitergegeben werden.

Der Viewer arbeitet die Logik ab und stellt die als sichtbar definierten Bricklets entsprechend dar.

 

Soweit die Theorie.

 

gmu

Link zu diesem Kommentar
Share on other sites

Hallo zusammen,

 

jetzt auch mal ein Beitrag von mir im neuen Forum.

 

Ich muss sagen, dass ich die Idee mit dem grafischen Programmieren sehr gut finde. Ich fänd es auch klasse, wenn das Projekt von der Community übernommen werden würde. Rein ideell fänd ich es auch toll, wenn das Endprodukt dann ein freies Open-Source Produkt wäre.

Aber genug zum allgemeinen.

 

Ich studiere Informatik auf Lehramt und bin kurz vor meinem Abschluss. Deshalb schiele ich schon seit TF-Beginn an auf die Verwendbarkeit der Produkte in der Schule.

In meinen Augen eignen sich die Produkte hervorragend für das Erlernen von Programmierung, besonders, weil sich mit der Hardware sehr nachvollziehbare Szenarien erstellen lassen und die geistige Greifbarkeit und Nachvollziehbarkeit der Vorgänge sehr gut ist. Den SuS dürfte es auf diese Weise relativ leicht fallen, sich die teils abstrakte Denkweise anzueignen, die man für das Programmieren braucht.

Für die Mittelstufe wäre es hervorragend, wenn eine grafische Programmieroberfläche vorhanden wäre. Viele Schulen verwenden beispielsweise "Robot Karol", "Lego Mindstorms" oder "Java Kara" für die Vermittlung erster Programmierkenntnisse. Die TF-Software würde diese Palette wertvoll ergänzen, vor allem, da die anderen Produkte alle auch ihre Schwächen haben.

 

Damit die Software gut in der Schule einsetzbar wäre, wäre es sehr sinnvoll, wenn sie das "zusammengeklickte Programm" auch als Java-Code ausgeben würde. Java ist in NRW neben Pascal/Delphi als Programmiersprache für das Abitur vorgesehen. So wäre es möglich, in der Mittelstufe die grafische Java-Programmierung einzuführen und später nahtlos in die textuelle Programmierung überzugehen.

 

Da die TF-Produkte finanziell auch für Schulen interessant sind, würde sich mit einer Schul-geeigneten grafischen Programmieroberfläche

der "Absatzmarkt Schule" (nicht nur in NRW) deutlich besser erschließen lassen.

 

Ich kann mir gut vorstellen, das Projekt diesbezüglich auch persönlich zu unterstützen und mich an der Entwicklung mindestens hinsichtlich der Schuleignung zu beteiligen. Da meine in Kürze anstehende Diplomarbeit sich eventuell mit TF in der Schule beschäftigen könnte, wäre das so gesehen auch doppelt interessant für mich.

 

Gruß,

Fabian

 

 

 

Link zu diesem Kommentar
Share on other sites

Hallo,

 

vielleicht wäre es eine gute Idee sich in diesem Zusammenhang an die Leute von Minibloq zu wenden www.minibloq.org. Soweit ich das sehe geht das sehr in die Richtung dessen, was hier angedacht ist. Minibloq ist derzeit für Arduino etc. gedacht aber es ist zumindest für die Zukunft auch die unterstützung anderer Hardware vorgesehen -> http://blog.minibloq.org/p/documentation.html Sektion 5.2.

Klar, hier geht es weniger um die Microprocessorprogrammierung als um die Ansteuerung des Ganzen, aber vielleicht läßt sich da ja vieles verwenden.

 

Viele Grüße,

Ignatius

Link zu diesem Kommentar
Share on other sites

Hallo zusammen,

ich stimme euch auch zu. Der Link sieht wirklich interessant aus und man könnte vieles von den alten Modulen erneut verwenden.

 

Wenn es doch auf Java rauslaufen sollte habe ich mal was vorbereitet.

 

Oberflaeche.png

 

Bilderklärung:

1: Möglichkeit das Projekt zu speichern

2: Hier können die Module zusammen geklickt und abgelegt werden

3: Module mit Bildern zum reinziehen in die Oberfläche

4: Eigenschaften der Module die bereits in die GUI gezogen wurden

 

 

SourceCode.png

Umwandlung der Grafik in Code

 

Dies basiert alles auf der Netbeans Platform. Ich denke man kann einiges an Komponenten übernehmen und hat direkt ein Update System mit drin. Zusätzlich ist es möglich direkt verschiedene Sprachen zu hinterlegen, was besonders für die englische Version hilfreich sein wird.

 

Kann zu der Platform gern eine Online Einführung machen, falls da Interesse besteht. Das ganze System ist in Java geschrieben also Platformunabhängig.

Falls es zu Problemen kommt, kann ich jemanden aus dem Netbeans Dreamteam fragen, den ich ganz gut kenne.

 

Wäre als Opensource Lösung denk ich sonst ganz gut. CVS, Wiki etc. würde dann über java.net z.b. umgesetzt werden. Wäre dann alles kostenlos.

 

So viel mal von mir, bin gespannt was ihr so sagt

 

 

Edit: hier mal ein kleiner Showcase http://netbeans.org/features/platform/showcase.html

Link zu diesem Kommentar
Share on other sites

Hallo M4ST3R,

 

Du hast Dir da ja schon mal richtig Arbeit gemacht.

Das finde ich ganz toll, wenn jemand aktiv an Ideen arbeitet.

 

Ob Netbeans für den "Anwender" dann das richtige ist, bezweifle ich.

Oder habe ich das falsch verstanden und Du wolltest uns Entwickler einen Einblick geben.

 

Für die Umsetzung sehe ich Java (gerne auch mit NetBeans) absolut als Favorit.

 

Der Anwender, soll nur noch seine Module zusammenstecken und dann per Drag'n'Drop sich seine Symbole für die Anzeige und seine Logic für den Ablauf zusammenziehen. Ggf. den ein oder anderen Parameter noch hinzufügen, aber das muß es für diese Art Anwender dann schon gewesen sein.

 

Ich seh schon, da könnte tatsächlich was draus wären. Ich liebe dieses Forum  ;)

 

gmu

Link zu diesem Kommentar
Share on other sites

Hey gmu,

nee wollte nur den möglichen Programmierern eine Idee geben wie ich es mir vorstellen könnte.

Eine Version mit Code und GUI wäre denk ich nicht nur für Anfänger sinnvoll. Dadurch kann man auch komplexere Abfragen hinzufügen. Aber es sollte natürlich alles nur mit GUI machbar sein. Mit den Nr. 2,3,4 im Bild kann man eigentlich einen kompletten Aufbau darstellen und entsprechend über Nr.4 die Parameter setzen.

Link zu diesem Kommentar
Share on other sites

@M4st3r: Respekt das wäre für Neueinsteiger ne klasse Sache. Durch die Bild-in-Code-Umwandlung ist bestimmt auch ein Lerneffekt zu erzielen. Das Editieren ist sicher nicht mehr ganz so einfach, da ja nun "nur" noch Code vorliegt und die entsprechende Stelle erst einmal gefunden werden muß. Aber eine Einstiegshilfe ist es auf jeden Fall. Es wird ja syntaktisch korrekter Code erzeugt - die Fehler kann man also im ersten Schritt bei den Parametern suchen.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


×
×
  • Neu erstellen...