3

私はエレクトロニクスの男ではないので、私は必要なものを正確に説明することができないかもしれません。これは友人が私に依頼し続ける質問です。電子コンポーネント(ステッピングモータなど)とのインターフェイスには、どのようなプログラミング言語(またはC++のライブラリセット)を使用しますか?

  1. ハードウェアとのインタフェース(シリアルポートとUSBポート経由):私の友人が探しているもの

    は彼を許すプログラミング言語です。

  2. マルチスレッドコードを作成します。
  3. 非常にすばやくUIを一緒に投げます。
  4. 彼のコードをLinuxとOS Xにできるだけ簡単に移植してください(大丈夫、これはです)。が必要です。

彼は大学生に非常に基本的なロボットを教えるローカルグループ用のツールを構築しています。現在、彼はC++を使用していますが、UIコードをC++で記述することは、まさに楽しい作業ではありません。彼は(1)のWindows固有のライブラリも使用しています。つまり、自分のコードを試したり、バグを修正するのに役立つことはできません(私はMacを使用します)。

編集:Python/Rubyのライブラリは大歓迎です。

答えて

4

ますむしろ相補的なProcessingWiringツールを見たいかもしれません。処理とは、ユーザインタフェースを構築するための環境であり、Wiringは、名門のWiring Board、よりシンプルないとこのArduinoなどのI/Oボードや関連デバイスをプログラミングするための環境です。配線ボードは通常、シリアルリンクを介してデスクトップコンピュータ、またはシリアルエミュレーションを使用してUSBと通信します。

0

Rubyや靴(GUI)が

編集マルチプラットフォーム/学習環境に特に適し、うまく働くだろう - それを見つけた(そのビットハード見つけること):

http://shoooes.net/

1

ここではJavaが良い選択肢です。低レベルのスレッディングおよび通信API用のライブラリが用意されており、制御ループで十分に機能するはずです。私はそれがシリアルポートコミュニケーションライブラリを持っていることを知って、私はいくつかのオープンソースのUSBライブラリがあると思う。 UIの場合は、Java 2D Graphics APIを使用するか、より高度なUIの場合は、わずかに無視されたJava3Dまたは新しいJOGLライブラリを試すことができます。スイングには欠陥がありますが、実際には基本的なフォームUIを作成するのにはかなり簡単です。

1

サポートされているハードウェアを簡単にたくさん必要とする場合は、Labviewをお勧めします。すべてのグラフィカルプログラミング(ドラッグブロック、接続)と多くのUSBデバイス(例えばDIO)はLabviewサポートを持っています。シリアルサポートが組み込まれています。それはUIをむしろ簡単に作ることができます(主にGUIコントロールを意図しています)。

+1

最後の文章を削除する必要があります。 LabVIEWは確かにWindowsのみではありません(http://www.ni.com/labview/how_to_buy.htm)。実際、MacはMacで始まりました。そして、確かにマルチスレッド化は、プログラマにはほとんど透過的です。 LabVIEWはハードウェアを制御するのに適しているため、答えを下げることはしません。 – mghie

関連する問題