Skip to content

Georepublic/meshtastic-configurator

Meshtastic Configurator

This project is a web-based Meshtastic configurator that generates QR codes for setting up Meshtastic devices. It allows users to input channel configurations, generate Pre-Shared Keys (PSKs), and generate Meshtastic-compatible URLs and QR codes.

Features

  • Generate Meshtastic-compatible QR codes for device configuration
  • Dynamically generate Pre-Shared Keys (PSKs)
  • Configure channel settings like region and channel name
  • Use Protobuf to encode settings for the Meshtastic protocol

Prerequisites

Ensure you have the following installed on your development environment:

  • Node.js (>= 14.x)
  • Yarn (>= 1.x)

Getting Started

1. Clone the Repository

Clone the repository to your local machine:

git clone [email protected]:Georepublic/meshtastic-configurator.git
cd meshtastic-configurator

2. Install Dependencies

To install all the required dependencies, run the following command:

yarn install

3. Run the Development Server

This project uses Vite for development. You can run the project in development mode with automatic TypeScript and hot-module reloading by running:

yarn dev

The project should now be running on http://localhost:5173/ (or another port if 5173 is occupied).

4. Project Structure

  • src/: This folder contains all the TypeScript files and the main.ts entry point.
  • index.html: The main HTML file located in the project root.
  • dist/: The compiled and optimized output for production (generated by yarn build).
  • node_modules/: This folder contains all the installed dependencies.
  • tsconfig.json: TypeScript configuration file.
  • package.json: Project manifest file.

5. Build for Production

If you want to build the project for production, run the following command:

yarn build

This will compile and optimize the TypeScript files into the dist/ directory, ready to be served by a production server.

6. Preview the Production Build

To preview the production build locally, use:

yarn serve

This will serve the files from the dist/ directory and make them accessible locally.

License

This project is licensed under the GPL-3.0-or-later. See the LICENSE file for more details.