Quale sarebbe un buon linguaggio di programmazione (o un insieme di librerie per C ++) per interfacciarsi con componenti elettronici (motori passo-passo, ecc)?

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

Domanda

Non sono un ragazzo di elettronica, quindi potrei non essere in grado di spiegare esattamente quello che mi serve. Questa è una domanda un amico continua a chiedermi.

Quello che il mio amico è alla ricerca di un linguaggio di programmazione che gli permetterebbe di:

  1. Interfaccia con l'hardware (tramite porte seriali e USB).
  2. Scrivi il codice multithread.
  3. mettere insieme interfacce utente molto rapidamente.
  4. Port suo codice a Linux e OS X più facilmente possibile (va bene, questo è quello che I vogliono).

Si sta costruendo uno strumento per un gruppo locale che insegna la robotica molto di base per gli studenti universitari. In questo momento sta utilizzando C ++, ma scrivere il codice di interfaccia utente in C ++ non è esattamente un compito divertente. Egli è anche utilizzando alcune librerie specifiche di Windows per (1), che significa che posso né provare il suo codice e non lo aiuterà con correggere i bug (io uso un Mac).

EDIT:. Biblioteche per Python / Rubino sono i benvenuti

È stato utile?

Soluzione

Si consiglia di avere uno sguardo alla piuttosto complementare lavorazione e strumenti noreferrer cablaggio . Processing è un ambiente per la costruzione di interfacce utente e cablaggio è un ambiente di programmazione per schede di I / O come la scheda di cablaggio omonimo, suo parente più semplice Arduino , e relativi dispositivi. Le schede di cablaggio tipicamente comunicano con un computer desktop su un collegamento seriale o USB con l'emulazione di serie.

Altri suggerimenti

Java potrebbe essere una buona opzione qui. Ha librerie disponibili per le API di filettatura e di comunicazione di basso livello, e dovrebbe funzionare bene a sufficienza per un loop di controllo. So che ha una serie biblioteca communcations portuali, e credo che ci sono alcune librerie USB open-source. Per l'interfaccia utente, è possibile utilizzare l'API Java 2D grafica, o per una più avanzata interfaccia utente si potrebbe provare la Java3D un po 'trascurato o più recenti librerie JOGL. Altalena ha i suoi difetti, ma in realtà è abbastanza facile da usare per fare le forme di base di interfacce utente.

Se si desidera facile e un sacco di hardware supportato penso che la cosa migliore è Labview. È tutto programmazione grafica (blocchi di resistenza, effettuare connessioni) e molti dispositivi USB (DIO) ad esempio il supporto Labview. il supporto Serial è built-in. Può fare interfacce utente piuttosto facilmente (è principalmente destinato per il controllo della GUI).

Ruby e Calzature (GUI) avrebbe funzionato bene, particolarmente adatto ad un ambiente di apprendimento / multipiattaforma

Modifica - Trovato (è un po 'difficile da trovare):

http://shoooes.net/

ACE ( http://www.cs.wustl.edu/~schmidt /ACE.html ) è una piattaforma C ++ libreria indipendente (senza interfaccia utente), QT ( http: / /www.qtsoftware.com/products/ ) è una libreria di interfaccia utente della piattaforma trasversale per C ++. L'accesso hardware è purtroppo qualcosa che è ancora dipendente dalla piattaforma)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top