Skip to content

[FEAT] Add MeshMapper Bridge / Data Forwarding Integration #5014

Description

@maxhayim

Is your feature request related to a problem? Please describe.

MeshMonitor can already receive, decode, store, and bridge mesh traffic from connected nodes, MQTT brokers, and other sources, but there is currently no native way to forward applicable mapping/coverage data from MeshMonitor to MeshMapper:

https://meshmapper.net/

https://github.com/MeshMapper

This means that users who already operate MeshMonitor as a central monitoring system may need to run an additional dedicated MeshMapper observer or separate software stack simply to contribute data to MeshMapper.

For installations where MeshMonitor is already continuously connected to nodes and receiving position, packet, RSSI, SNR, routing, and other RF information, this creates unnecessary duplication.

Describe the solution you'd like

Add a MeshMapper Bridge / Output Integration to MeshMonitor that can forward compatible data collected by MeshMonitor to MeshMapper.

Ideally, this could be configured similarly to the existing MQTT Bridge functionality:

Dashboard → Sources → Add Source → MeshMapper Bridge

Possible configuration options could include:

  • Enable / Disable MeshMapper forwarding
  • MeshMapper region
  • MeshMapper endpoint or broker
  • Authentication / device signing information if required
  • Select which MeshMonitor source(s) are allowed to contribute data
  • Select which channels are forwarded
  • Geographic bounding box filtering
  • Node allow/block lists
  • Packet type filtering
  • Optional rate limiting
  • Connection status
  • Last successful upload
  • Number of records forwarded
  • Error / authentication status

The bridge should translate MeshMonitor's internally decoded data into whatever format MeshMapper officially supports rather than simply forwarding arbitrary MQTT packets.

For example:

Meshtastic / MeshCore Nodes
          |
          v
     MeshMonitor
          |
          +----> MeshMonitor Database / Dashboard
          |
          +----> Existing MQTT Bridges
          |
          +----> MeshMapper Bridge
                     |
                     v
              meshmapper.net

Another useful architecture would be to allow individual MeshMonitor sources to select MeshMapper as an output destination:

Node / MQTT / TCP / Serial / BLE
              |
              v
        MeshMonitor Source
              |
              v
       MeshMapper Adapter
              |
              v
         MeshMapper API
              OR
      MeshMapper MQTT Broker

The implementation should use whichever ingestion mechanism MeshMapper officially supports and maintain compatibility with its requirements for packet metadata, observer identification, authentication, duplicate detection, and coverage calculations.

Why this would be useful

MeshMonitor is often deployed as an always-on server with several radios, MQTT connections, and geographically distributed nodes.

If MeshMonitor already has access to the RF data, it makes sense for it to act as a gateway into community mapping systems instead of requiring another computer, application, or dedicated observer for the same radio network.

This would be especially useful for:

  • Community mesh networks
  • Permanent rooftop nodes
  • Solar nodes
  • Remote nodes
  • Regional MQTT networks
  • Multiple MeshMonitor instances
  • Nodes connected through TCP/Serial/BLE
  • Networks where MeshMonitor is already the central MQTT gateway
  • Coverage mapping projects
  • Large regional deployments

It would also allow communities to contribute significantly more coverage information to MeshMapper without requiring every operator to understand or manually configure a separate MeshMapper observer.

Describe alternatives you've considered

Running a separate MeshMapper observer

A dedicated observer can be deployed specifically for MeshMapper.

However, this duplicates infrastructure when MeshMonitor is already connected to the same radios and receiving the same underlying RF traffic.

Connecting radios directly to multiple services

Individual radios could potentially be configured to communicate with multiple MQTT systems or applications.

This increases configuration complexity and makes deployments harder to maintain, particularly when many nodes are involved.

External bridge script

A separate script could read data from MeshMonitor or MQTT and convert it into a format accepted by MeshMapper.

While technically possible, a native MeshMonitor integration would be much easier to configure, maintain, troubleshoot, and deploy.

It would also allow MeshMonitor to handle filtering, authentication, deduplication, source selection, and status reporting in one interface.

Additional context

MeshMonitor already has substantial MQTT broker and bridge functionality, making a generalized external-output architecture a natural extension of the existing system.

MeshMapper currently supports community coverage mapping through data submitted by clients and connected MQTT observers.

Relevant links:

The goal would ultimately be:

Any compatible data already reaching MeshMonitor
                    |
                    v
              MeshMonitor
                    |
                    v
          Native MeshMapper Bridge
                    |
                    v
              MeshMapper.net

This would make MeshMonitor more useful as a centralized bridge between physical mesh infrastructure and third-party visualization/mapping services while avoiding the need to maintain duplicate observer infrastructure.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions