146 lines
4.3 KiB
ReStructuredText
146 lines
4.3 KiB
ReStructuredText
==========
|
|
pySerial
|
|
==========
|
|
|
|
Overview
|
|
========
|
|
|
|
This module encapsulates the access for the serial port. It provides backends
|
|
for Python_ running on Windows, OSX, Linux, BSD (possibly any POSIX compliant
|
|
system) and IronPython. The module named "serial" automatically selects the
|
|
appropriate backend.
|
|
|
|
It is released under a free software license, see LICENSE_ for more
|
|
details.
|
|
|
|
Copyright (C) 2001-2020 Chris Liechti <cliechti(at)gmx.net>
|
|
|
|
Other pages (online)
|
|
|
|
- `project page on GitHub`_
|
|
- `Download Page`_ with releases (PyPi)
|
|
- This page, when viewed online is at https://pyserial.readthedocs.io/en/latest/ or
|
|
http://pythonhosted.org/pyserial/ .
|
|
|
|
.. _Python: http://python.org/
|
|
.. _LICENSE: appendix.html#license
|
|
.. _`project page on GitHub`: https://github.com/pyserial/pyserial/
|
|
.. _`Download Page`: http://pypi.python.org/pypi/pyserial
|
|
|
|
|
|
Features
|
|
========
|
|
- Same class based interface on all supported platforms.
|
|
- Access to the port settings through Python properties.
|
|
- Support for different byte sizes, stop bits, parity and flow control with
|
|
RTS/CTS and/or Xon/Xoff.
|
|
- Working with or without receive timeout.
|
|
- File like API with "read" and "write" ("readline" etc. also supported).
|
|
- The files in this package are 100% pure Python.
|
|
- The port is set up for binary transmission. No NULL byte stripping, CR-LF
|
|
translation etc. (which are many times enabled for POSIX.) This makes this
|
|
module universally useful.
|
|
- Compatible with :mod:`io` library
|
|
- RFC 2217 client (experimental), server provided in the examples.
|
|
|
|
|
|
Requirements
|
|
============
|
|
- Python 2.7 or Python 3.4 and newer
|
|
|
|
- If running on Windows: Windows 7 or newer
|
|
|
|
- If running on Jython: "Java Communications" (JavaComm) or compatible
|
|
extension for Java
|
|
|
|
For older installations (older Python versions or older operating systems), see
|
|
`older versions`_ below.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
This installs a package that can be used from Python (``import serial``).
|
|
|
|
To install for all users on the system, administrator rights (root)
|
|
may be required.
|
|
|
|
From PyPI
|
|
---------
|
|
pySerial can be installed from PyPI::
|
|
|
|
python -m pip install pyserial
|
|
|
|
Using the `python`/`python3` executable of the desired version (2.7/3.x).
|
|
|
|
Developers also may be interested to get the source archive, because it
|
|
contains examples, tests and the this documentation.
|
|
|
|
From Conda
|
|
----------
|
|
pySerial can be installed from Conda::
|
|
|
|
conda install pyserial
|
|
|
|
or
|
|
|
|
conda install -c conda-forge pyserial
|
|
|
|
Currently the default conda channel will provide version 3.4 whereas the
|
|
conda-forge channel provides the current 3.x version.
|
|
|
|
Conda: https://www.continuum.io/downloads
|
|
|
|
From source (zip/tar.gz or checkout)
|
|
------------------------------------
|
|
Download the archive from http://pypi.python.org/pypi/pyserial or
|
|
https://github.com/pyserial/pyserial/releases.
|
|
Unpack the archive, enter the ``pyserial-x.y`` directory and run::
|
|
|
|
python setup.py install
|
|
|
|
Using the `python`/`python3` executable of the desired version (2.7/3.x).
|
|
|
|
Packages
|
|
--------
|
|
There are also packaged versions for some Linux distributions:
|
|
|
|
- Debian/Ubuntu: "python-serial", "python3-serial"
|
|
- Fedora / RHEL / CentOS / EPEL: "pyserial"
|
|
- Arch Linux: "python-pyserial"
|
|
- Gentoo: "dev-python/pyserial"
|
|
|
|
Note that some distributions may package an older version of pySerial.
|
|
These packages are created and maintained by developers working on
|
|
these distributions.
|
|
|
|
.. _PyPi: http://pypi.python.org/pypi/pyserial
|
|
|
|
|
|
References
|
|
==========
|
|
* Python: http://www.python.org/
|
|
* Jython: http://www.jython.org/
|
|
* IronPython: http://www.codeplex.com/IronPython
|
|
|
|
|
|
Older Versions
|
|
==============
|
|
Older versions are still available on the current download_ page or the `old
|
|
download`_ page. The last version of pySerial's 2.x series was `2.7`_,
|
|
compatible with Python 2.3 and newer and partially with early Python 3.x
|
|
versions.
|
|
|
|
pySerial `1.21`_ is compatible with Python 2.0 on Windows, Linux and several
|
|
un*x like systems, MacOSX and Jython.
|
|
|
|
On Windows, releases older than 2.5 will depend on pywin32_ (previously known as
|
|
win32all). WinXP is supported up to 3.0.1.
|
|
|
|
|
|
.. _`old download`: https://sourceforge.net/projects/pyserial/files/pyserial/
|
|
.. _download: https://pypi.python.org/simple/pyserial/
|
|
.. _pywin32: http://pypi.python.org/pypi/pywin32
|
|
.. _`2.7`: https://pypi.python.org/pypi/pyserial/2.7
|
|
.. _`1.21`: https://sourceforge.net/projects/pyserial/files/pyserial/1.21/pyserial-1.21.zip/download
|