我知道套接字等如何与 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