電子コンポーネント (ステッピング モーターなど) と接続するのに適したプログラミング言語 (または C++ のライブラリ セット) は何でしょうか?
-
22-08-2019 - |
質問
私は電子機器の専門家ではないので、必要なものを正確に説明できないかもしれません。これは友人が私に尋ね続ける質問です。
私の友人が探しているのは、次のことを可能にするプログラミング言語です。
- ハードウェアとのインターフェース (シリアルおよび USB ポート経由)。
- マルチスレッドコードを記述します。
- UI を非常に迅速にまとめます。
- 彼のコードをできるだけ簡単に Linux と OS X に移植します (これが実際の作業です) 私 欲しい)。
彼は、大学生に非常に基本的なロボット工学を教える地元のグループ向けのツールを構築しています。現在、彼は C++ を使用していますが、C++ で UI コードを書くのは決して楽しい作業ではありません。彼は (1) で Windows 固有のライブラリも使用しているため、私は彼のコードを試すことも、バグ修正を手伝うこともできません (私は Mac を使用しています)。
編集:Python/Ruby のライブラリは大歓迎です。
他のヒント
Javaはここで良い選択肢かもしれません。これは、低レベルのスレッドおよび通信APIの使用可能なライブラリを持っており、それが制御ループのために十分に実行する必要があります。私はそれがシリアルポートcommuncationsライブラリを持って知っている、と私はいくつかのオープンソースのUSBライブラリがあると信じています。 UIについては、Java 2DグラフィックスAPIを使用することができ、またはより高度なUIのために、あなたは少し無視Java3Dの以降JOGLライブラリを試みることができます。 Swingはその障害を持っていますが、それは実際には、基本的なフォームのUIを作るために使用する非常に簡単です。
あなたは簡単にしたいとサポートされているハードウェアの多くは、私はあなたの最善の策は、LabVIEWであると考えられる場合。これは、LabVIEWをサポートしているすべてのグラフィカルなプログラミング(ドラッグ・ブロック、接続を行う)と、多くのUSBデバイス(例えばDIO)です。シリアルサポートが内蔵されています。それは(それは主にGUI制御するためのものです)かなり簡単にUIを作ることができます。
ACE( http://www.cs.wustl.edu/~schmidt /ACE.html の)プラットフォームに依存しないC ++ライブラリ(UIなし)で、QT(のhttp:/ /www.qtsoftware.com/products/ の)C ++のためのクロスプラットフォームUIライブラリです。 ハードウェアへのアクセスは、残念ながらまだプラットフォームに依存)であるものです。