读取和写入COM端口?

问题描述:

我知道如何像一个套接字等与java/android一起工作,但你将如何使用java或python连接到桌面上的COM端口?你想使用地址吗?或者找到你想要的端口是可用的还是什么?读取和写入COM端口?

我不知道我该怎么做。

对此提出建议?

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

编辑 - 任何Java的答案?

使用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,我已经使用了可用于Windows,MacOS,Solaris和Linux的RXTX。这是一个LGPL图书馆。如果你想品尝一下它可以做什么,那么很多examples

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