Was wäre eine gute Programmiersprache (oder einen Satz von Bibliotheken für C ++) mit elektronischen Bauteilen (Schrittmotoren etc.) Schnittstelle sein?

StackOverflow https://stackoverflow.com/questions/700025

Frage

Ich bin nicht ein Elektronik-Kerl, so dass ich vielleicht nicht erklären der Lage sein, genau das, was ich brauche. Dies ist eine Frage ein Freund fragt mich immer wieder.

Was für meinen Freund sucht ist eine Programmiersprache, die ihm erlauben würde:

  1. Schnittstelle mit Hardware (über serielle und USB-Anschlüsse).
  2. Schreiben multithreaded Code.
  3. Werfen zusammen UIs sehr schnell.
  4. Port seinen Code zu Linux und OS X so einfach wie möglich (okay, das ist, was I wollen).

Er baut ein Werkzeug für eine lokale Gruppe, die sehr grundlegende Robotik für College-Studenten unterrichtet. Im Moment ist er in C ++, aber den UI-Code in C ++ zu schreiben ist nicht gerade eine Spaß Aufgabe. Er benutzt auch einige Windows-spezifische Bibliotheken für (1), was bedeutet, dass ich weder seinen Code versuchen, noch ihn mit Behebung von Fehlern helfen können (ich verwende ein Mac).

EDIT:. Bibliotheken für Python / Ruby-sind willkommen

War es hilfreich?

Lösung

Sie können einen Blick auf die eher komplementäre Verarbeitung und Wiring Tools. Die Verarbeitung ist eine Umgebung für Benutzeroberflächen Aufbau und Verdrahtung ist eine Umgebung für die Programmierung von I / O-Karten wie die gleichnamige Wiring Board, dessen einfacher Cousin Arduino und verwandte Geräte. Die Leiterplatten kommunizieren typischerweise mit einem Desktop-Computer über eine serielle Verbindung oder USB mit serieller Emulation.

Andere Tipps

Java könnte hier eine gute Option sein. Es hat Bibliotheken für das Low-Level-Threading und Kommunikation APIs, und es sollte für einen Regelkreis gut genug ausführen. Ich weiß, dass es eine serielle Schnittstelle Communcations Bibliothek hat, und ich glaube, es gibt einige Open-Source-USB-Bibliotheken. Für die Benutzeroberfläche, können Sie den Java 2D-Grafik-API oder für eine erweiterte Benutzeroberfläche verwenden könnten Sie das etwas vernachlässigt Java3D oder neue JOGL Bibliotheken versuchen. Swing hat seine Fehler, aber es ist eigentlich ziemlich einfach für die Herstellung von Grundformen UIs zu verwenden.

Wenn Sie einfach wollen und viele der unterstützten Hardware Ich denke, Ihre beste Wette Labview ist. Es ist alles grafische Programmierung (drag Blöcke, die erforderlichen Anschlüsse) und viele USB-Geräte (DIO zum Beispiel) haben Labview Unterstützung. Serielle Unterstützung eingebaut. Es kann UIs machen ziemlich leicht (es ist in erster Linie für die GUI-Steuerung bestimmt).

Ruby und Schuhe (GUI) würden gut funktionieren, besonders gut geeignet, um eine Lernumgebung / Multi-Plattform

Bearbeiten - Fand es (es ist ein bisschen schwer zu finden):

http://shoooes.net/

ACE ( http://www.cs.wustl.edu/~schmidt /ACE.html ) ist eine plattformunabhängige C ++ Bibliothek (kein UI), QT ( http: / /www.qtsoftware.com/products/ ) ist eine Querplattform UI-Bibliothek für C ++. Hardware-Zugriff ist leider etwas, das noch plattformabhängig)

ist
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top