ser2sock
A single-threaded, multi serial line to TCP bridge server.
Can run under python 2.6 up to 3.x (tested 3.8).
Installation
From within your favorite python environment:
pip install ser2sock
Usage
ser2net -c <configuration file>
Configuration
In order to provide flexibility, configuration is written in python.
The only requirement is to have a bridges member which consists of a
sequence of bridges. A bridge is a dictionary with mandatory keys serial
and tcp.
Example:
bridges = [
{
'serial': {'address': '/dev/ttyS0'},
'tcp': {'address': ("0", 18500)}
},
{
'serial': {'address': '/dev/ttyS1', 'baudrate': 19200},
'tcp': {'address': ("0", 18501), 'no_delay': False}
}
]
serial:addressmandatory. Supports any keyword supported byserial.serial_for_url(orserial.Serialifserial_for_urldoes not existtcp:addressmandatory (must be a pair bind host and port).reuse_addr: (default: True) TCP reuse addressno_delay: (default: True) disable Nagle's algorithmtos: (default:0x10, meaning low delay) type of service.
tcp and serial helpers are automatically loaded to the config namespace.
Here is the equivalent above config using helpers:
bridges = [
[serial(address="/dev/ttyS0"), tcp(address=("0", 18500))],
[serial(address="/dev/ttyS1", baudrate=19200),
tcp(address=("0", 18501), no_delay=False)],
]
You are free to put any code in your python configuration file. Here is an example setting up logging:
import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s'
)
bridges = [
[serial(address="/dev/ttyS0"), tcp(address=("0", 18500))],
[serial(address="/dev/ttyS1", baudrate=19200),
tcp(address=("0", 18501), no_delay=False)],
]
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ser2sock-2.0.0.tar.gz.
File metadata
- Download URL: ser2sock-2.0.0.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.0.post20200616 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d9e4cbef5de794cf2cb8dd612071fad7f5e6bf09d26e162cd88e908737ab827
|
|
| MD5 |
e1ec27c2792a91336ecf5ca6ad357464
|
|
| BLAKE2b-256 |
f74081b25f4013dd6985d5e4bc457d50b16677d2c5a6b58cebc04d08ffd9fa67
|