读取和写入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