blob: c7c7b3d2c013c0015e6a3e28e32013703327da62 [file] [log] [blame]
cliechti22978142009-07-21 01:58:11 +00001==========
2 pySerial
3==========
4
5Overview
6========
7This module encapsulates the access for the serial port. It provides backends
8for Python running on Windows, Linux, BSD (possibly any POSIX compliant
9system), Jython and IronPython (.NET and Mono). The module named "serial"
10automatically selects the appropriate backend.
11
cliechti5134aab2009-07-21 19:47:59 +000012It is released under a free software license, see LICENSE_ for more
cliechti22978142009-07-21 01:58:11 +000013details.
14
cliechti5134aab2009-07-21 19:47:59 +000015Copyright (C) 2001-2009 Chris Liechti <cliechti(at)gmx.net>
cliechti22978142009-07-21 01:58:11 +000016
cliechti5134aab2009-07-21 19:47:59 +000017The `project page on SourceForge`_ and here is the `SVN repository`_ and the
18`Download Page`_.
cliechti22978142009-07-21 01:58:11 +000019
20The homepage is at http://pyserial.sf.net.
21
cliechti5134aab2009-07-21 19:47:59 +000022.. _LICENSE: appendix.html#license
cliechti22978142009-07-21 01:58:11 +000023.. _`project page on SourceForge`: http://sourceforge.net/projects/pyserial/
24.. _`SVN repository`: http://sourceforge.net/svn/?group_id=46487
25.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487
26
27
28Features
29========
cliechti5134aab2009-07-21 19:47:59 +000030* Same class based interface on all supported platforms.
31* Access to the port settings through Python 2.2+ properties.
32* Port numbering starts at zero, no need to know the port name in the user
33 program.
34* Port string (device name) can be specified if access through numbering is
35 inappropriate.
36* Support for different bytesizes, stopbits, parity and flow control with
37 RTS/CTS and/or Xon/Xoff.
38* Working with or without receive timeout.
39* File like API with "read" and "write" ("readline" etc. also supported).
cliechti22978142009-07-21 01:58:11 +000040* The files in this package are 100% pure Python. They depend on non standard
41 but common packages on Windows (pywin32) and Jython (JavaComm). POSIX (Linux,
cliechti5134aab2009-07-21 19:47:59 +000042 BSD) uses only modules from the standard Python distribution).
cliechti22978142009-07-21 01:58:11 +000043* The port is set up for binary transmission. No NULL byte stripping, CR-LF
44 translation etc. (which are many times enabled for POSIX.) This makes this
45 module universally useful.
46
47
48Requirements
49============
50* Python 2.2 or newer
51* pywin32 extensions on Windows
52* "Java Communications" (JavaComm) or compatible extension for Java/Jython
53
cliechti5134aab2009-07-21 19:47:59 +000054
cliechti22978142009-07-21 01:58:11 +000055Installation
56============
57
58pyserial
59--------
cliechti5134aab2009-07-21 19:47:59 +000060This installs a package that can be used from Python (``import serial``).
cliechti22978142009-07-21 01:58:11 +000061
cliechti5134aab2009-07-21 19:47:59 +000062The Python pywin32 library needs to be installed on Windows.
cliechti22978142009-07-21 01:58:11 +000063
64To install the module for all users on the system, administrator rights (root)
65is required..
66
67From source (tar.gz or checkout)
68~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69http://pypi.python.org/pypi/pyserial
70Unpack the archive, enter the ``pyserial-x.y`` directory and run::
71
72 python setup.py install
73
74Setuptools/PyPI
75~~~~~~~~~~~~~~~
cliechti5134aab2009-07-21 19:47:59 +000076Alternatively it can be installed from PyPI, either manually downloading the
cliechti22978142009-07-21 01:58:11 +000077files and installing as described above or using::
78
79 easy_install -U pyserial
80
81Packages
82~~~~~~~~
83There are also packaged versions for some Linux distributions and Windows:
84
85Debian/Ubuntu
cliechti5134aab2009-07-21 19:47:59 +000086 A package is available under the name "python-serial".
cliechti22978142009-07-21 01:58:11 +000087
88Windows
89 There is also a Windows installer for end users. It is located in the
90 PyPi_. Developers may be interested to get the source archive, because it
91 contains examples and the readme.
92
93.. _PyPi: http://pypi.python.org/pypi/pyserial
94
95
96References
97==========
cliechti86e87872009-07-21 13:32:45 +000098* Python: http://www.python.org/
cliechti22978142009-07-21 01:58:11 +000099* pywin32: http://sourceforge.net/projects/pywin32/ (previously known as win32all)
cliechti86e87872009-07-21 13:32:45 +0000100* Jython: http://www.jython.org/
cliechti5134aab2009-07-21 19:47:59 +0000101* Java@IBM: http://www-106.ibm.com/developerworks/java/jdk/ (JavaComm links are
102 on the download page for the respective platform JDK)
103* Java@SUN: http://java.sun.com/products/
cliechti22978142009-07-21 01:58:11 +0000104* IronPython: http://www.codeplex.com/IronPython
105* setuptools: http://peak.telecommunity.com/DevCenter/setuptools
106
107
108Older Versions
109==============
110Older versions are still available on the `Download Page`_. pySerial 1.21 is
111compatible with Python 2.0 on Windows, Linux and several un*x like systems,
112MacOSX and Jython.
113
114.. _`Download Page`: http://sourceforge.net/project/showfiles.php?group_id=46487