Meshtastic serial device discovery gateway service and client built around socat plus other tooling
Project description
MeshCat (Meshcatstic)
Meshtastic serial device discovery gateway service and cli client built around socat and other tooling
Requirements
- Posix environment (tested with Ubunutu)
- Python 3.10+ and Poetry (for development)
- socat (
sudo apt install socat) - Uvicorn server (comes with pypi installation or poetry install)
pipx install meshcatstic
Running for development
Server
- Clone the repository
- Install dependencies with
poetry install - Run the service with
poetry run start
Endpoints
GET /list: List all connected Meshtastic serial devices.POST /connect?port=/dev/ttymythang: Initiate a socat server for the client connect to a meshtastic serial device on/dev/ttymythang. Should be unecessary to initiate manually, as background service handles this.POST /update?port=/dev/ttymythang: Flash device with uploaded binary on selected portPOST /stop?port=/dev/ttymythang: Kill socat process on port
Client
Warning: Requires running with
sudobecausesocatis creating virtual ports.
- Clone the repository
- Install dependencies with
sudo poetry install - Set environment variable with the remote host
MESHCAT_HOST="meshcathostname" - List devices on the remote service with
poetry run meshcat list - Connect to a device on the remote service with
poetry run meshcat connect /dev/ttyACM0 - Take the generated TCP portnum for the gateway serial device and use meshtastic cli or any other client to connect to port
/tmp/meshcat{tcpportnum} - To update (flash) a remote device on the service,
poetry run meshcat flash /dev/ttymythang firmware-mythang-update.bin
Running
After pip installing meshcatstic, you can run both the server and client.
To run the server using uvicorn: uvicorn meshcatstic:app
To run the client: meshcat ... command
Future features
- Streaming text respsonse for progress
- RP2040 support w/ picotool
- Full erase and flash
Project details
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 meshcatstic-0.1.3.tar.gz.
File metadata
- Download URL: meshcatstic-0.1.3.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e0869919ecd3a30c7da7aa46298d3599af056cb297f435505db7559b1144da0
|
|
| MD5 |
cfd5042700782efdf0e0ba605683b66d
|
|
| BLAKE2b-256 |
8416cf4f13e7ccc2bc136b9a8cfb9050ff8b1a7ef9a2d7113acabd858ff411db
|
File details
Details for the file meshcatstic-0.1.3-py3-none-any.whl.
File metadata
- Download URL: meshcatstic-0.1.3-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a8afab31c7d32cd1e5975e2b1f8a3cb331198fa964627bf078c883209adf4c0
|
|
| MD5 |
b79efe45a2dcdbc8ad98ca6fe3ec619c
|
|
| BLAKE2b-256 |
2893f9eb50e044b6ec10a487a3f0c60edf3f016da6616a8741e33d50b3c44660
|