### Run meshcore-packet-capture Installer Source: https://wiki.meshmapper.net/mqtt-python Downloads and runs the interactive installer for the meshcore-packet-capture project. The installer guides you through device connection, IATA code, owner information, MQTT broker configuration, and installation method. ```bash bash <(curl -fsSL https://raw.githubusercontent.com/agessaman/meshcore-packet-capture/main/install.sh) ``` -------------------------------- ### Install Dependencies with apt Source: https://wiki.meshmapper.net/mqtt-python Updates the package list and installs Python 3, the Python 3.12 virtual environment module, curl, and git on a Debian-based system. Run this before installing the MeshCore decoder and the packet-capture installer. ```bash sudo apt update sudo apt install -y python3 python3.12-venv curl git ``` -------------------------------- ### Example Configuration Link Source: https://wiki.meshmapper.net/app_third_party_api An example configuration link with a sample URL and API key. Users paste this into MeshMapper Settings > API Endpoints and tap Import from Clipboard to auto-fill the fields. ```text meshmapper://custom-api?url=data.myproject.org/ingest/wardrive&key=sk_live_abc123def456 ``` -------------------------------- ### Manage meshcore-capture systemd Service Source: https://wiki.meshmapper.net/mqtt-python Commands to manage the meshcore-capture systemd service: start, stop, restart, check status, and follow live logs. Use these after installing the service with the recommended systemd method. ```bash # Start / stop / restart sudo systemctl start meshcore-capture sudo systemctl stop meshcore-capture sudo systemctl restart meshcore-capture # Check status sudo systemctl status meshcore-capture # View live logs sudo journalctl -u meshcore-capture -f ``` -------------------------------- ### Verify meshcore-decoder Installation Source: https://wiki.meshmapper.net/mqtt-python Verifies that the meshcore-decoder executable is available on the PATH after installation. ```bash which meshcore-decoder ``` -------------------------------- ### Install MeshCore Decoder via nvm and npm Source: https://wiki.meshmapper.net/mqtt-python Installs Node Version Manager (nvm), loads it, installs the latest LTS Node.js, and globally installs the @michaelhart/meshcore-decoder package. The decoder is required for authentication when sending packets to the MQTT broker. ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --lts npm install -g @michaelhart/meshcore-decoder ``` -------------------------------- ### Start the pyMC-Repeater service Source: https://wiki.meshmapper.net/mqtt-pymc Starts the pyMC-Repeater service after editing the configuration file. Run this after saving the config changes. ```bash sudo systemctl start pymc-repeater ``` -------------------------------- ### Python example using httpx to fetch Scopes API Source: https://wiki.meshmapper.net/scopes-api Uses the httpx library to fetch the Scopes API and print each scope's name, repeater count, and total repeaters. Requires the httpx package. ```python import httpx r = httpx.get("https://yow.meshmapper.net/get_scopes.php").json() for s in r["scopes"]: print(s["name"], s["repeaters"], "of", r["repeaters"]) ``` -------------------------------- ### Filter coverage by frequency, bandwidth, and spreading factor Source: https://wiki.meshmapper.net/coverage-api Example GET request using f_freq, f_bw, and f_sf parameters to filter pings by exact radio configuration slots. The response echoes the applied filters and shows the matching point count and radio_configs. ```http GET https://meshmapper.net/coverage.php?key=YOUR_API_KEY&f_freq=910.525&f_bw=62.5&f_sf=7 ``` ```json { "success": true, "region": "YOW", "point_count": 6810, "radio_configs": { "910.525,62.5,7,5": 6810 }, "filters": { "freq": "910.525", "bw": "62.5", "sf": "7" }, "grid_squares": [ "…" ] } ``` -------------------------------- ### Open the pyMC-Repeater config file Source: https://wiki.meshmapper.net/mqtt-pymc Opens the pyMC-Repeater configuration file in the nano editor for manual editing. Use this to add the MeshMapper broker. ```bash sudo nano /etc/pymc_repeater/config.yaml ``` -------------------------------- ### TX Ping Example with No Repeaters Source: https://wiki.meshmapper.net/app_third_party_api Example TX ping object when no repeaters are heard. The heard_repeats field is the string "None". ```json { "type": "TX", "lat": 45.27001, "lon": -75.77802, "noisefloor": -101, "altitude": 86, "radio_freq": "910.525,62.5,7,5", "heard_repeats": "None", "timestamp": 1768762873, "external_antenna": false, "power": "0.3w", "contact": "D873B1F2", "iata": "YOW" } ```