ソケットなどがJava/Androidでどのように機能するかは知っていますが、JavaまたはPythonを使用してデスクトップのCOMポートにどのように接続しますか? アドレスを使用しますか?または、必要なポートが利用可能かどうかを確認しますか?
どうやってそれをするのかわかりません。
提案?
Python または Java で回答を受け付けています。ありがとう。
編集 - Javaの答えはありますか?
ソケットなどがJava/Androidでどのように機能するかは知っていますが、JavaまたはPythonを使用してデスクトップのCOMポートにどのように接続しますか? アドレスを使用しますか?または、必要なポートが利用可能かどうかを確認しますか?
どうやってそれをするのかわかりません。
提案?
Python または Java で回答を受け付けています。ありがとう。
編集 - Javaの答えはありますか?
Python では、PySerialを使用できます
ウェブサイトにたくさんの例があります。次に例を示します。
import serial
ser = serial.Serial('/dev/ttyS1', 9600, timeout=1)
ser.write("hello")
result = ser.readline() # read a '\n' terminated line
print(result)
ser.close()
Windows を使用している場合は、たとえば次のことができます。
ser = serial.Serial('COM12', 19200, timeout=1)
もちろん、読み取りたい COM ポートを知っている必要があります。
ドキュメントによると、PySerialserial.tools.list_ports.comports()
の最新バージョンで使用可能なポートを確認するために使用できます。
通常、COM ポート アドレスはオペレーティング システムによって選択されます。そのため、デバイスがどの COM ポートにあるかを知る必要があります (たとえば、Windows 7 では、構成パネルの「デバイスとプリンター」に一覧表示されます)。また、デバイスと通信する必要があるボーレートも知っておく必要があります (低速デバイスでは 9600 が一般的です)。
Java については、Windows、MacOS、Solaris、Linux で使用できるRXTXを既に使用しました。LGPL ライブラリです。繰り返しになりますが、何ができるかを知りたい場合は、たくさんの例があります。
Python の場合、pySerialを使用します。これにより、シリアル ポートをファイル オブジェクトとして扱うことができます。チュートリアルの例から:
>>> import serial
>>> ser = serial.Serial("COM0") # open COM0, could also be `/dev/ttyUSB0` for Linux, etc.
>>> print ser.portstr # check which port was really used
>>> ser.write("hello") # write a string
>>> ser.close() # close port
Java の場合、JavaCommが必要です。たとえば、 SimpleRead.javaを参照してください。