async-serial - Example code using asyncio, pyserial, and pyserial-asyncio

  •        497

This code relies on the experimental pyserial-asyncio library, which at this time only supports Unix-based systems (Linux, macOS, etc). As explained in the article, you'll need the tool socat to create virtual serial ports so that you don't need a real device to try out the code. This will create a virtual environment and install the dependencies listed in the Pipfile into it.



Related Projects

pyserial - Python serial port access library

  •    Python

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. Examples and unit tests are in the directory examples.

serial - Cross-platform, Serial Port library written in C++

  •    C++

This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial, but with the speed and control provided by C++. This library is in use in several robotics related projects and can be built and installed to the OS like most unix libraries with make and then sudo make install, but because it is a catkin project it can also be built along side other catkin projects in a catkin workspace.

tortoise-orm - Familiar asyncio ORM for python, built with relations in mind

  •    Python

Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django. Tortoise ORM was build with relations in mind and admiration for the excellent and popular Django ORM. It's engraved in it's design that you are working not with just tables, you work with relational data.

serial-port-json-server - A serial port JSON websocket server for Windows, Mac, Linux, Raspberry Pi, or BeagleBone Black that lets you communicate with your serial port from a web application

  •    Go

A serial port JSON websocket & web server that runs from the command line on Windows, Mac, Linux, Raspberry Pi, or Beagle Bone that lets you communicate with your serial port from a web application. This enables web apps to be written that can communicate with your local serial device such as an Arduino, CNC controller, or any device that communicates over the serial port. Since version 1.82 you can now also program your Arduino by uploading a hex file. The app is written in Go. It has an embedded web server and websocket server. The server runs on the standard port of localhost:8989. You can connect to it locally with your browser to interact by visiting http://localhost:8989. The websocket is technically running at ws://localhost/ws. You can of course connect to your websocket from any other computer to bind in remotely. For example, just connect to ws:// if you are on a remote host where is your devices actual IP address.

uvloop - Ultra fast asyncio event loop.

  •    Python

uvloop is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood. The project documentation can be found here. Please also check out the wiki.

UsbSerial - Usb serial controller for Android

  •    Java

Usb serial controller for Android. For more information, there is a more complete description. Due to a bug in Android itself, it's highly recommended to not use it with a device running Android 5.1.1 Lollipop. See issue #142 for more details.


  •    Python

MinimalModbus is an easy-to-use Python module for talking to instruments (slaves) from a computer (master) using the Modbus protocol. Example code includes drivers for Eurotherm process controllers. The only dependence is the pySerial module. This software supports the 'Modbus RTU' serial communication version of the protocol, and is intended for use on Linux, OS X and Windows platforms. It is open source, and has the Apache License, Version 2.0. Tested with Python2.6, Python2.7 and Python

asyncpg - A fast PostgreSQL Database Client Library for Python/asyncio.

  •    Python

asyncpg is a database interface library designed specifically for PostgreSQL and Python/asyncio. asyncpg is an efficient, clean implementation of PostgreSQL server binary protocol for use with Python's asyncio framework. You can read more about asyncpg in an introductory blog post. asyncpg requires Python 3.5 or later and is supported for PostgreSQL versions 9.2 to 10.

ruia - Async Python 3.6+ web scraping micro-framework based on asyncio.

  •    Python

Ruia is an async web scraping micro-framework, written with asyncio and aiohttp, aims to make crawling url as convenient as possible.

Serial Port Terminal (SPTerm)


Serial Port Terminal (SPTerm) is used for basic communication using serial port (com). Sending bytes and ASCII from PC can be done using SPTerm. It is useful for micro controller projects for UART and simple transmission. Hex data can be sent out directly from text box in SPTerm

Serial Capture for Visual Studio


Serial Capture for Visual Studio captures serial output to an output window pane.

Serial Connection Emulator

  •    C

ttypatch is a Linux application that permits two or more quot;serial port user programsquot; to reliably connect to each other without the use of actual serial ports. Also acts as a virtual patch panel among any number of real and virtual serial ports.

ssnooper: a serial line debugger

  •    C

Ssnooper is a program to created to aid in the debugging of serial line (RS232) connections. With ssnooper, a computer with two free serial ports can be connected between two serial devices to intercept and log all communications.

PL2303 USB to Serial Driver for Mac OS X

  •    C++

PL2303 USB to Serial Driver for Mac OS X. It supports different manufacturers of PL2303 based USB to serial dongles like ATEN, IOData, Elcom, Itegno, Ma620, Ratoc, Tripp, Radioshack, Dcu10, SiteCom, Alcatel, Samsung, Siemens, Syntech, Nokia, MS3303H Due to circumstances, I cannot compile the project for Lion. Please, check this port:

fastapi-crudrouter - A dynamic FastAPI router that automatically creates CRUD routes for your models

  •    Python

Tired of rewriting generic CRUD routes? Need to rapidly prototype a feature for a presentation or a hackathon? Thankfully, fastapi-crudrouter has your back. As an extension to the APIRouter included with FastAPI, the FastAPI CRUDRouter will automatically generate and document your CRUD routes for you, all you have to do is pass your model and maybe your database connection. FastAPI-CRUDRouter is also lighting fast, well tested, and production ready.

TurboPower Async Professional

  •    Delphi

Async Professional is a comprehensive communications toolkit for Embarcadero Delphi, C++Builder, & ActiveX environments. It provides direct access to serial ports, TAPI, and the Microsoft Speech API. It supports faxing, terminal emulation, VOIP, & more.

subconscious - redis-backed (in memory) db for python3 that is asyncio compatible

  •    Python

redis-backed (in memory) db for python3 that is asyncio compatible

gino - GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.

  •    Python

GINO - GINO Is Not ORM - is a lightweight asynchronous ORM built on top of SQLAlchemy core for Python asyncio. Now (early 2018) GINO supports only one dialect asyncpg. There are a few tasks in GitHub issues marked as help wanted. Please feel free to take any of them and pull requests are greatly welcome.

piccolo - A fast, user friendly ORM and query builder which supports asyncio.

  •    Python

A fast, user friendly ORM and query builder which supports asyncio. Read the docs. The syntax is clean and expressive.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.