Skip to main content

Usage - meshtasticd

meshtasticd CLI options

Additional arguments can be given to the program, which are listed as follows:

  • -c CONFIG_FILE: The configuration file to use.
  • -d DIRECTORY: The directory to use as the virtual filesystem (VFS).
  • -e: Erase the virtual filesystem before use.
  • -h MAC_ADDRESS: The MAC address to assign to this virtual machine.
  • -p TCP_PORT: The local TCP port to use for running the Meshtastic API.

Usage with Docker

If you do not own a Linux machine, or you just want to separate things, you might want to run the application inside a docker container.

Usage

First, Pull the image

To run a container, type

docker run -p 4403:4403 --restart unless-stopped --name meshtasticd meshtastic/meshtasticd:beta

or, to get an interactive shell on the docker created container:

docker run -it -p 4403:4403 --restart unless-stopped --name meshtasticd meshtastic/meshtasticd:beta bash

CH341 USB

If you want to use a CH341 USB adapter (MeshStick), you need to pass the bus device to the container with the --device flag:

First, locate the USB device with lsusb:

lsusb

You should see something like this:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1199:9091 Sierra Wireless, Inc. EM7565-9
Bus 001 Device 003: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 001 Device 004: ID 13d3:56b2 IMC Networks Integrated Camera
Bus 001 Device 005: ID 06cb:009a Synaptics, Inc. Metallica MIS Touch Fingerprint Reader
Bus 001 Device 006: ID 1a86:5512 QinHeng Electronics CH341 in EPP/MEM/I2C mode, EPP/I2C adapter

Locate the CH341 device and take note of the Bus and Device numbers. In this example: 001/006.

Then, run the container with the --device flag, additionally mounting a local configuration file:

docker run -it -p 4403:4403 --restart unless-stopped --name meshtasticd --device=/dev/bus/usb/001/006 -v ./config.yaml:/etc/meshtasticd/config.yaml:ro meshtastic/meshtasticd:beta

Executing the application interactively

To use Python CLI against exposed TCP port 4403, type this in the host machine:

meshtastic --info --host localhost

You can interact with the container in the same way as a normal device using a client that supports TCP connections.

Stop the container

If started with the --name meshtasticd arg, you can stop the container with the following command:

docker kill meshtasticd

Else, run this to get the ID:

docker ps

Then, stop the container with command:

docker kill <id>

Tip: you can just use the first few characters of the ID in docker commands