PC Programmierung als Gegenstück zum Arduino

Guten Morgen,

gelegentlich möchte ich mich mit PC Programmierung beschäftigen. Also nichts wirklich großes, eher so kleine Tools als Gegenstück zum Arduino. Also z.B. ein kleines Programm daß serielle Strings mit dem Arduino ausauscht und eventuell gleichzietig mit einer .csv Date arbeitet. Oder vielleicht in sehr einfacher Weise mit dem Ethernet Shield kommuniziert (also z.B. so rein als Übung: ein Button am PC schaltet die LED am Arduino mit Ehternet Shield ein und aus)
Mein erster Gedanke war Processing (wegen der Verwandtschaft), aber irgendwie bin ich unsicher ob das wirklich so das Wahre für diese Zwecke ist - da ist auf den ersten Blick irgendwie der ganze Grafikzauber im Vordergrund.
Hat jemand einen Tipp was ich mir ansehen soll? Ach, ja, soll natürlich kostenlos oder günstig sein und bevorzugt unter Windows (derzeit noch XP u. 7, zukünftig auch auf neueren Versionen) laufen.
Google findet irgendwie unübersichtlich viele Infos, Basic, C, von Microsoft oder auch von mir völlig unbekannten Firmen... :drooling_face:

Bin für jeden Tipp dankbar.

Christian

Heho,

Also ich finde C# für beginner eigentlich sehr geeignet. Kostenlose gute IDE sehr gute Dokumentation und kostenlose Ebooks und relativ leicht zu lernen. Kann aber auch sein das ich es nur einfach finde da ich den ganzen Tag damit arbeite. Ach und die Portierung auf Linux geht mit Mono auch recht anständig.

Mfg

His

Processing ist eigentlich für die Visualisierung von Daten gedacht. Man kann es auch für andere Dinge verwenden, aber dann ist es nicht viel mehr als Standard Java. Ansonsten bietet es nicht wirklich Vorteile gegenüber anderen IDEs.

Ich empfehle da auch Visual Studio Express, .NET und C#. Einarbeiten muss man sich so oder so.

Wenn du keine Abneigung gegen Microsoft hast, ist C# mit VisualStudio Express sicher ein guter Weg.

Für Java ( mit Eclipse ) brauchst du RXTXcomm.jar ( und RxTxSerial.dll ), das ist bei der Arduino IDE dabei

Wo allerdings Processing hier wirklich einen Vorteil hat ist die Ethernet Kommunikation. Das geht natürlich mit .NET ebenso aber die TCP/IP und UDP Klassen sind anders als die Serial Klasse nicht in das Event System eingebunden. Beispiele für Konsolen Anwendungen laufen in einer Endlos-Schleife. Für eine GUI Anwendung geht das nicht. Da muss man das in einem eigenen Thread laufen lassen damit es nicht blockiert und dann aufpassen, dass man es thread-sicher programmiert. Da gibt es jede Menge Code Beispiele dafür, aber es ist nicht trivial wenn man gerade erst damit anfängt.

Bei Processing geht es ähnlich einfach wie auf dem Arduino mit ein paar Zeilen und man muss sich um sowas nicht kümmern. Aber man kann auch erst mal mit serieller Kommunikation anfangen (da hat man das Problem mit dem Zugriff auf das GUI Thread immer noch, aber es ist generell sehr einfach). Oder gar einer Konsolen-Anwendung ohne GUI.

Heho,

mit Einführung der Backgroundworker Klasse ist Multithreading in C# recht einfach geworden. Damit kann man recht einfach Threads für die Verarbeitung von Netzwerkverbindungen erstellen und damit das ganze mit Events ausstatten. Aber recht hast du, dass dies für Beginner erst einmal eine kleine Hürde darstellt. Jedoch gibt es eine Menge von Tutorials dazu.

MFG

His