Skip to main content

MeshCat (Meshcatstic)

Meshtastic serial device discovery gateway service and cli client built around socat and other tooling

MeshCat Logo

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 port
  • POST /stop?port=/dev/ttymythang: Kill socat process on port

Client

Warning: Requires running with sudo because socat is 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)

Source distribution for meshcatstic 0.1.3
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)

Table of built distributions (wheels) for meshcatstic 0.1.3
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page