Skip to main content

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

Project description

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
  • socat (sudo apt install socat)

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 as agent in production

TODO...

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

meshcatstic-0.1.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshcatstic-0.1.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file meshcatstic-0.1.0.tar.gz.

File metadata

  • Download URL: meshcatstic-0.1.0.tar.gz
  • Upload date:
  • Size: 17.6 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

Hashes for meshcatstic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8dbbf1b9ea1fe0f91626bdbb89b2109aea9db0f4752ca2fbf15bf54b2ceaa018
MD5 eca6f3fb09ef1dc80b6ddbca3a304ece
BLAKE2b-256 4ffb24ca3c7864a72449efcca9f1ef482e449456684243036af12e06733ccc8d

See more details on using hashes here.

File details

Details for the file meshcatstic-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: meshcatstic-0.1.0-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

Hashes for meshcatstic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 555ed9ce9eec1915e5f93226f6888bdb7798109e7f03f50872ea57c3a0bfc9f0
MD5 688deb6924f0209eb909f2d86d59d6cf
BLAKE2b-256 910141a9255938e74928438ed47ac17ecb06afb7ffac00b9dd5d1b8500ab34ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page