Platform-independent symmetric communication library for MicroPython and Python devices
Project description
SerialTalk: platform-independent symmetric communication library
This package facilitates communication between devices like Robots and peripheral embedded systems or monitors over a serial communication line. Sounds abstract? Think of connecting an OpenMV camera to a LEGO SPIKE Prime Robot. Or linking up two Pyboards.
Installation
For Python (PyPI)
Install from PyPI using pip:
pip install serialtalk
For MicroPython
Option 1: Using viperIDE.org (Recommended)
- Go to viperIDE.org
- Connect to your MicroPython device
- Navigate to Tools > Package Manager
- Click Install package via link
- Enter:
github:antonvh/SerialTalk
Option 2: Using mpremote
mpremote mip install github:antonvh/SerialTalk
Option 3: Using mip from device REPL
import mip
mip.install("github:antonvh/SerialTalk")
Usage
When you want default UART for the platform you're running on, just go:
from serialtalk.auto import SerialTalk
When you want special channels like sockets or bluetooth, do it like this:
from serialtalk import SerialTalk
from serialtalk.sockets import ClientSocketSerial
ser = SerialTalk(ClientSocketSerial("127.0.0.1",8080))
ser.call('echo','read?')
Example with OpenMV H7
-
Copy the complete
serialtalkdirectory to the OpenMV flash (not the whole SerialTalk, just theserialtalksubfolder) -
Create a main.py with this code. It is an adaptation of the OpenMV Hello world
import sensor, image, time from serialtalk.auto import SerialTalk sensor.reset() # Reset and initialize the sensor. sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240) sensor.skip_frames(time = 2000) # Wait for settings take effect. clock = time.clock() # Create a clock object to track the FPS. st = SerialTalk() # Create UART comm object def fps(): # Create function to call from uart return clock.fps() st.add_command(fps,"repr") # Add function to callable uart commands while(True): clock.tick() # Update the FPS clock. img = sensor.snapshot() # Take a picture and return the image. st.process_uart() # Process aurt calls print(clock.fps()) # Note: OpenMV Cam runs about half as fast when connected # to the IDE. The FPS should increase once disconnected.
-
On the SPIKE Prime Install mpy-robot-tools with the installer script. Note that the installer may seem unresponsive. Just have some patience.
-
Run this script on SPIKE Prime:
from projects.mpy_robot_tools.serialtalk import SerialTalk from projects.mpy_robot_tools.mshub import MSHubSerial st = SerialTalk(MSHubSerial('F')) print(st.call('echo','Hello there OpenMV!')) print(st.call('fps'))
This should be the result:
Roadmap, todo
- test on esp8266 platform
- test on bt comm channels
- create pyserial/desktop channels
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file serialtalk-1.0.0.tar.gz.
File metadata
- Download URL: serialtalk-1.0.0.tar.gz
- Upload date:
- Size: 614.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07b574ca460ab69a10980cc53274378a3a9164a3d1fa08aea7c5a2274cee511c
|
|
| MD5 |
7af29cde1bfff762ba68e4769e5d5b5b
|
|
| BLAKE2b-256 |
6bdebd098f282ccef771660e626b24b866f473b942b73a5c15d492e2c725dfdd
|
File details
Details for the file serialtalk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: serialtalk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
657621f4fe488bc32e2ecf3aeca8d00408ced10a689af85ccd6337deab23dce7
|
|
| MD5 |
7ca8ec9a7cf95030d2a67f07fff23b82
|
|
| BLAKE2b-256 |
500c72114b8eb1cd397c64ded998a590a9cf88eea60e2d82fb8df6849802d1d4
|