Reputation: 31503
How do I access the USB port using pyserial? I have seen an example with:
import serial
ser = serial.Serial('/dev/ttyUSB0')
I used to access the serial port from MATLAB on Windows and using the appropriate syntax, /dev/ttyUSB0
would be replaced by COM1
or any other COM port.
I'm on a Mac and I tried using the serial port scanners on the pyserial
documentation to no avail. I think I should write it like this:
import serial
name = ? # Names of serial ports on Mac OS X
ser = serial.Serial(name)
How do I find out what name
should be on a Mac?
EDIT: In response to an answer below, I'd like to find out how to access both USB to RS232 converters as well as pure USB ports.
Upvotes: 16
Views: 61854
Reputation: 189
To find the available ports you can use serial.tools
(which is part of the pyserial
library, but needs to be imported separately). The device name can then be found using the .device
method. This works for me on Mac:
from serial.tools import list_ports
port = list(list_ports.comports())
for p in port:
print(p.device)
For more on list_ports
, see: https://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.list_ports
Upvotes: 3
Reputation: 1840
You can only access USB Serial Adapters using pyserial (i.e., USB RS-232 dongles). If you want generic USB access you should be looking into "libusb". If it is RS-232 you are trying to access through USB then you should look for a file in /dev starting with cu.usb* (/dev/cu.usbserial-181 for example).
Upvotes: 10