Provide a bidirectional connection to a serial interface via zeroMQ
Project description
PySoMQ: Python bindings for serial over ØMQ
This package utilizes the Python bindings of ØMQ in order to provide a lightweight and fast serial bidirectional PySerial communication interface.
Getting started
Install the package from Pypi
pip install pysomq
Run as permanent streaming service
If you want to run the SerialServer as a permanent streamer, please start the module with our specific parameters by
python -m pysomq --serial-port=YourSerialPort --serial-baudrate=YourBaudrate --timeout=1 --streaming-socket=tcp://*:5555 --listening-socket=tcp://*:5556
Stream from script
If you want to utilize the SerialServer within your own scripts, start streaming by using the following snippet with our parameters
import pysomq
serial_port = '/dev/ttyS0'
baudrate = 9600
stream_socket = 'tcp://*:5555'
listen_socket = 'tcp://*:5556'
timeout = 1
serial_server = pysomq.SerialServer(port='/dev/ttyS0', baudrate=baudrate,
streaming_socket=stream_socket, listening_socket=listen_socket,
timeout=timeout)
serial_server.start()
Receive streaming data
If you want to utilize the SerialServer within your own scripts, start receiving by using the following snippet with our parameters
import pysomq
stream_socket = 'tcp://localhost:5555'
listen_socket = 'tcp://localhost:5556'
timeout = 1
serial_client = pysomq.SerialClient(streaming_socket=stream_socket, listening_socket=listen_socket,
timeout=timeout)
serial_client.write(b'my first line')
answer = serial_client.readline()
Default values
The default values for calling the module or instantiating the classes are
-
--serial-port / port: /dev/ttyS0 for Linux and COM1 for Windows
-
--serial-baudrate / baudrate: 9600
-
--timeout / timeout: 1 second
-
--streaming-socket / streaming_socket: tcp://*:5555 respectively tcp://localhost:5555
-
--listening-socket / listening_socket: tcp://*:5556 respectively tcp://localhost:5556
Contributing
I welcome any contributions, enhancements, and bug-fixes. Open an issue on GitHub and submit a pull request.
License
pySoMQ is 100% free and open-source, under the MIT license. Use it however you want.
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.