https://github.com/meshtastic/c-sharp
C# / .NET based command line interface and library for Meshtastic
https://github.com/meshtastic/c-sharp
Last synced: about 1 year ago
JSON representation
C# / .NET based command line interface and library for Meshtastic
- Host: GitHub
- URL: https://github.com/meshtastic/c-sharp
- Owner: meshtastic
- License: gpl-3.0
- Created: 2022-12-06T12:56:11.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-16T00:43:57.000Z (about 1 year ago)
- Last Synced: 2025-05-06T10:29:57.545Z (about 1 year ago)
- Language: C#
- Homepage:
- Size: 1.48 MB
- Stars: 31
- Watchers: 7
- Forks: 12
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Meshtastic C#

[](https://coveralls.io/github/meshtastic/c-sharp)
[](https://github.com/meshtastic/c-sharp/actions/workflows/ci.yml)
[](https://cla-assistant.io/meshtastic/c-sharp)
[](https://opencollective.com/meshtastic/)
[](https://vercel.com?utm_source=meshtastic&utm_campaign=oss)
## Overview
A cross-platform C# / .NET 8 based command line interface for Meshtastic.
## Stats

## Installation & Usage
```
Description:
Meshtastic.Cli
Usage:
Meshtastic.Cli [command] [options]
Options:
--port Target serial port for meshtastic device
--host Target host ip or name for meshtastic device
--output Type of output format for the command
-l, --log Logging level for command events [default: Information]
--dest Destination node address for command
-sd, --select-dest Interactively select a destination from device's node list [default: False]
--version Show version information
-?, -h, --help Show help and usage information
Commands:
list List available serial ports
monitor Serial monitor for the device
live Show a live dashboard for the device
info Dump info about the device
get Display one or more settings from the device
set Save one or more settings onto the device
channel Enable, Disable, Add, Save channels on the device
url Get or set shared channel url []
reboot Reboot the device [default: 5]
metadata Get device metadata from the device
factory-reset Factory reset configuration of the device
fixed-position Set the device to a fixed position [default: 0]
text Send a text message from the device
remove-node Remove single node by nodenum from node db of the device
reset-nodedb Reset the node db of the device
trace-route Trace the sequence of nodes routing to the destination
waypoint Send a waypoint from the device
file Get or send a file from the device
waypoint Send a waypoint from the device
file Get or send a file from the device
update Update the firmware of the serial connected device
export Export the profile of the connected device as yaml
import Import the profile export from a yaml file and set the connected device
mqtt-proxy Proxy to the MQTT server referenced in the MQTT module config of the connected device
request-telemetry Request a telemetry packet from a repeater by nodenum
capture Capture all of the FromRadio messages for the device and store in MongoDB instance
PS C:\Users\bmeadors\Documents\GitHub\c-sharp> dotnet run --project ./Meshtastic.Cli/Meshtastic.Cli.csproj --port COM5
Required command was not provided.
Description:
Meshtastic.Cli
Usage:
Meshtastic.Cli [command] [options]
Options:
--port Target serial port for meshtastic device
--host Target host ip or name for meshtastic device
--output Type of output format for the command
-l, --log Logging level for command events [default: Information]
--dest Destination node address for command
-sd, --select-dest Interactively select a destination from device's node list
[default: False]
--version Show version information
-?, -h, --help Show help and usage information
Commands:
list List available serial ports
monitor Serial monitor for the device
live Show a live dashboard for the device
info Dump info about the device
get Display one or more settings from the device
set Save one or more settings onto the device
channel Enable, Disable, Add, Save channels on the device
url Get or set shared channel url []
reboot Reboot the device [default: 5]
metadata Get device metadata from the device
factory-reset Factory reset configuration of the device
fixed-position Set the device to a fixed position [default: 0]
text Send a text message from the device
remove-node Remove single node by nodenum from node db of the device
reset-nodedb Reset the node db of the device
trace-route Trace the sequence of nodes routing to the destination
canned-messages Get or set the collection of canned messages on the device [operation: Get, ]
waypoint Send a waypoint from the device
file Get or send a file from the device
update Update the firmware of the serial connected device
export Export the profile of the connected device as yaml
import Import the profile export from a yaml file and set the connected device
mqtt-proxy Proxy to the MQTT server referenced in the MQTT module config of the connected
device
request-telemetry Request a telemetry packet from a repeater by nodenum
```
### Example of `Meshtastic.Cli info` output with default console output level

## Installation (dotnet cli / tool method)
* Install the latest [dotnet 8 sdk](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) for your platform
* Install the Meshtastic.Cli nuget package as a dotnet tool via `dotnet tool install --global Meshtastic.Cli` in your terminal of choice
## Installation (standalone executable)
* Navigate to the [Releases page](https://github.com/meshtastic/c-sharp/releases) in this github repsitory
* Download and extract the zip archive with the standalone executable for your platform

* Execute it in the terminal of your choice (this may require security allowances or display warnings on some platforms)
## Updating via dotnet cli
* Execute `dotnet tool update Meshtastic.Cli -g` in your terminal of choice