2

デスクトップステーションからRS-232経由でデバイスを制御するプログラムを作成するタスクがあります。現在、私は計画段階にあり、言語の選択と問題への全体的なアプローチについて一般的な支援が必要です。

プログラムは、32ビットおよび64ビットのIntelプロセッサ上のLinux(主にUbuntu)およびWindows(XP、7)でビルドおよび実行する必要があります。ワークステーションには、物理​​COMポートまたは(おそらく)USB-RS232コンバーターがある場合があります。

現在、私の最善の策は、CMakeを条件付きで構築したC++プログラムです。プラットフォームに依存しないシリアルポート(USB経由でエミュレートされたものを含む)を構成してアクセスする方法はありますか?いいえの場合、この問題への良いアプローチは何でしょうか?

これまでの提案
* Boostを使用したC++
* pySerialを使用したpython

4

2 に答える 2

4

Boost Asio (C++ を使用) を使用してください。

( http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio.html )

プラットフォームに依存しないことが保証されています: http://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio/using.html

他のどのライブラリよりも優れているのは、非同期通信をサポートしていることです。この機能は、デバイス制御ソフトウェアで非常に役立つと思います。また、ライブラリが非常に信頼できる Boost の一部であることを忘れないでください。

SMS メッセージング プログラムで使用しました (シリアル/COM ポート経由で送信される AT コマンドを使用)。

これが私の問題を解決したので、これがあなたの問題を解決することを願っています。

于 2012-08-23T09:27:49.513 に答える
1

Java Communication Apiを見ることができます

C / C++ の場合、Linux、MacOS、および Cygwin (Windows の場合) で/dev/ttySxデバイスを使用できます。USB-RS232 コンバーターが FTDI チップに基づいている場合は、libFTDI を確認できます。最後に、最終的に Linux と Windows の RS-232 を確認できます。

于 2012-08-23T09:33:21.703 に答える