Overview
This module encapsulates the access for the serial port. It provides backendsfor Python running on Windows, OSX, Linux, BSD (possibly any POSIX compliantsystem) and IronPython. The module named 'serial' automatically selects theappropriate backend.
Also remember to point the port parameter to the device file you are using (under windows you can simply use COMMX, where X is the COMM instance number 1,2,3,4,etc. ) Conclusions. I consider Python and pySerial one of the simplest and faster ways to develop an application to use a serial connection. Setting up Python to work with the serial port July 30, 2009 at 07:21 Tags Python, Serial port The serial port (a.k.a. COM-port, or RS232) is slowly disappearing from desktop and laptop computers, but it's still a very important tool for embedded engineers and people controlling equipment in general.
- Project Homepage: https://github.com/pyserial/pyserial
- Download Page: https://pypi.python.org/pypi/pyserial
BSD license, (C) 2001-2017 Chris Liechti <[email protected]>
Documentation
For API documentation, usage and examples see files in the 'documentation'directory. The '.rst' files can be read in any text editor or being converted toHTML or PDF using Sphinx. An HTML version is online athttps://pythonhosted.org/pyserial/
Examples
Examples and unit tests are in the directory examples.
Installation
pip install pyserial
should work for most users.Detailed information can be found in documentation/pyserial.rst.
The usual setup.py for Python libraries is used for the source distribution.Windows installers are also available (see download link above).
or
To install this package with conda run:
conda install -c conda-forge pyserial
conda builds are available for linux, mac and windows.
I am using Python 2.5 on Windows XP. I have installed Pyserial andwin32all extensions.
When I try to run the example program scan.py (included below), or any
other program using pyserial, as soon as it hits the statement:
s = serial.Serial(i)
I get the error:
Traceback (most recent call last):
File 'C:Python25DocPySerial Examplesscan.py', line 26, in <module>
for n,s in scan():
File 'C:Python25DocPySerial Examplesscan.py', line 17, in scan
s = serial.Serial(i)
File 'C:Python25Libsite-packagesserialserialutil.py', line 156,
in __init__
self.open()
File 'C:Python25libsite-packagesserialserialwin32.py', line 57,
in open
win32file.SetupComm(self.hComPort, 4096, 4096)
error: (1, 'SetupComm', 'Incorrect function.')
What do I need to do to fix this? Thanks for the help!
-- Ron
The example program scan.py (from the pyserial examples folder):
-----------------------------------------------
#!/usr/bin/env python
''Scan for serial ports.
Part of pySerial (http://pyserial.sf.net) (C)2002-2003 <cliechti at gmx.net>
The scan function of this module tries to open each port number
from 0 to 255 and it builds a list of those ports where this was
successful.
''
import serial
def scan():
''scan for available ports. return a list of tuples (num, name)''
available = []
for i in range(256):
try:
s = serial.Serial(i)
available.append( (i, s.portstr))
s.close() #explicit close 'cause of delayed GC in java
except serial.SerialException:
pass
return available
if __name__'__main__':
print 'Found ports:'
for n,s in scan():
print '(%d) %s' % (n,s)