0

我知道套接字等如何与 java/android 一起工作,但是如何使用 java 或 python 连接到桌面上的 COM 端口?您要使用地址吗?或者查找您想要的端口是否可用或什么?

我不知道我会怎么做。

建议?

我接受 Python 或 Java 的答案。谢谢。

编辑 - 任何 Java 答案?

4

2 回答 2

3

使用 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 库。同样,如果您想了解可以做什么,还有很多示例。

于 2012-04-19T11:31:20.563 回答
1

对于 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

于 2012-04-19T11:31:48.833 回答