读写COM端口?

时间:2012-04-19 11:21:54

标签: java python serial-port

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

我不知道我会怎么做。

建议?

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

编辑 - 任何Java答案?

2 个答案:

答案 0 :(得分:3)

使用Python,您可以使用PySerial

网站上有很多examples。这是一个例子:

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端口。

根据文档,您可以使用serial.tools.list_ports.comports()检查上一版PySerial可用的端口。

通常,COM端口地址由操作系统选择。因此,您必须知道设备的哪个COM端口(例如,在Windows 7中,它们列在配置面板中,“设备和打印机”)。您还必须知道必须与设备通信的波特率(9600对于低速设备非常常见)。

对于Java,我已经使用了RXTX,它可以用于Windows,MacOS,Solaris和Linux。它是一个LGPL库。如果你想要了解可能的事情,那么很多examples

答案 1 :(得分: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