Linux 上の C++ でシリアル インターフェイス経由で Arduino と通信するにはどうすればよいですか?

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

質問

RFID リーダーを Arduino ボードに接続しています。シリアル インターフェイス経由で接続したいと考えています。また、RFID リーダーが信号を省略したとき ((RF)ID を読み取ったとき)、C++ プログラムでその信号を取得したいと考えています。

Arduino から RFID をシリアルに印刷するだけのコードはすでにあります。

私が知らないのは、 C++から読み取る方法 Linuxでは?

見てきました ライブラリシリアル, 、これは簡単に見えます。しかし、どうすればいいですか C++ プログラムが信号に反応して RFID を読み取るようにします。, 、聞き続ける代わりに?これは必要ですか?

編集:私が読んだほとんどの例では、(C++) プログラムは入力を送信し、出力を受け取ります。Arduino からの出力を聞いて受信したいだけです。

役に立ちましたか?

解決 2

シリアルインターフェイスから非同期に読み取るBoost :: Asioライブラリを見つけました。 Boost :: Asioドキュメント

他のヒント

UNIX では、select() 呼び出しを使用して入力を待ちます。select() 呼び出しはスリープのように動作します。カーネルがハードウェア割り込みを受信して​​ select() をトリガーするまで、CPU は使用されません。

http://tldp.org/HOWTO/Serial-Programming-HOWTO/index.html

Arduino PlaygroundのInterfaceセクションの Communications には、 Linux TTYとしてのArduinoとのインターフェースを含む、インターフェースの例。

構文とプログラムフォーラムとArduinoサイトのソフトウェア開発フォーラム。過去には、多くの異なる言語やコンピューターとのインターフェースについて議論がありました。

そして最後に、 Processing 配線サイト。 Arduino IDEは処理言語に基づいており、Wiring環境と開発ボードはArduinoに関連しています。どちらのサイトにも多くの例があり、さらに多くのリソースへのリンクがあります。

編集:実際の質問には答えなかったことがわかりました。これらはすべて一般的な通信リソースですが、一部には、新しいRFID入力をコンピューターに警告する方法に関するヒントがあります。

こんにちは、このためのシンプルなライブラリを作成しました: cArduino https://github.com/ranma1988/cArduino C ++は、Arduinoポートの自動検出、読み取り、書き込みを見つけることができます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top