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
Metadata
Release files for meshcatstic 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| meshcatstic-0.1.3.tar.gz | 17.7 kB | Without provenance | Details for meshcatstic-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| meshcatstic-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for meshcatstic-0.1.3-py3-none-any.whl |
Total release size: 37.2 kB
Release files / meshcatstic-0.1.3.tar.gz
| Download URL | meshcatstic-0.1.3.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e0869919ecd3a30c7da7aa46298d3599af056cb297f435505db7559b1144da0
|
|
BLAKE2b-256 checksum How to use checksums |
8416cf4f13e7ccc2bc136b9a8cfb9050ff8b1a7ef9a2d7113acabd858ff411db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
|
Release files / meshcatstic-0.1.3-py3-none-any.whl
| Download URL | meshcatstic-0.1.3-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a8afab31c7d32cd1e5975e2b1f8a3cb331198fa964627bf078c883209adf4c0
|
|
BLAKE2b-256 checksum How to use checksums |
2893f9eb50e044b6ec10a487a3f0c60edf3f016da6616a8741e33d50b3c44660
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.4 CPython/3.12.1 Linux/6.5.0-1025-azure
|
Security for meshcatstic 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.