From f12e2a4b4107c316df9745ccb793afb3db0bf95b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:43:45 +0000 Subject: [PATCH] docs: publish channels: main api --- .../-meshtastic-dialog.html | 2 +- main/assets/css/just-the-docs-dark.css.map | 2 +- main/assets/css/just-the-docs-default.css.map | 2 +- main/assets/css/just-the-docs-light.css.map | 2 +- .../css/just-the-docs-meshtastic-dark.css.map | 2 +- .../css/just-the-docs-meshtastic.css.map | 2 +- main/assets/js/search-data.json | 66 +++++++++---------- main/bg-rBG/user/app-functions.html | 2 +- main/bg-rBG/user/connections.html | 2 +- main/bg-rBG/user/desktop.html | 4 +- main/bg-rBG/user/firmware.html | 2 +- main/bg-rBG/user/help-and-docs.html | 2 +- main/bg-rBG/user/map-and-waypoints.html | 2 +- main/bg-rBG/user/mqtt.html | 2 +- main/docs/bg-rBG/user/app-functions.html | 8 +-- main/docs/bg-rBG/user/connections.html | 2 +- main/docs/bg-rBG/user/desktop.html | 14 ++-- main/docs/bg-rBG/user/firmware.html | 8 +-- main/docs/bg-rBG/user/help-and-docs.html | 4 +- main/docs/bg-rBG/user/map-and-waypoints.html | 2 +- main/docs/bg-rBG/user/mqtt.html | 2 +- main/index.json | 14 ++-- main/ru-rRU/user/signal-meter.html | 2 +- 23 files changed, 75 insertions(+), 75 deletions(-) diff --git a/api/core/ui/org.meshtastic.core.ui.component/-meshtastic-dialog.html b/api/core/ui/org.meshtastic.core.ui.component/-meshtastic-dialog.html index bd2c3c40eb..52f56bad50 100644 --- a/api/core/ui/org.meshtastic.core.ui.component/-meshtastic-dialog.html +++ b/api/core/ui/org.meshtastic.core.ui.component/-meshtastic-dialog.html @@ -94,7 +94,7 @@

MeshtasticDialog

-
fun MeshtasticDialog(modifier: Modifier = Modifier, title: String? = null, titleRes: StringResource? = null, message: String? = null, messageRes: StringResource? = null, messageColor: Color = Color.Unspecified, html: String? = null, icon: ImageVector? = null, text: @Composable () -> Unit? = null, confirmText: String? = null, confirmTextRes: StringResource? = null, onConfirm: () -> Unit? = null, dismissText: String? = null, dismissTextRes: StringResource? = null, onDismiss: () -> Unit? = null, choices: Map<String, () -> Unit> = emptyMap(), dismissable: Boolean = true)(source)

A comprehensive and flexible dialog component for the Meshtastic application.

Parameters

modifier

Modifier for the dialog.

title

The title text of the dialog.

titleRes

The title string resource of the dialog.

message

Optional plain text message.

messageRes

Optional string resource message.

messageColor

Optional color for the plain text message; Color.Unspecified uses the default text color.

html

Optional HTML formatted message.

icon

Optional leading icon.

text

Optional custom composable content for the body.

confirmText

Text for the confirmation button.

confirmTextRes

String resource for the confirmation button.

onConfirm

Callback for the confirmation button.

dismissText

Text for the dismiss button.

dismissTextRes

String resource for the dismiss button.

onDismiss

Callback for when the dialog is dismissed or the dismiss button is clicked.

choices

If provided, displays a list of buttons instead of the standard confirm/dismiss actions.

dismissable

Whether the dialog can be dismissed by clicking outside or pressing back.

+
fun MeshtasticDialog(modifier: Modifier = Modifier, title: String? = null, titleRes: StringResource? = null, message: String? = null, messageRes: StringResource? = null, messageColor: Color = Color.Unspecified, html: String? = null, icon: ImageVector? = null, text: @Composable () -> Unit? = null, confirmText: String? = null, confirmTextRes: StringResource? = null, onConfirm: () -> Unit? = null, dismissText: String? = null, dismissTextRes: StringResource? = null, onDismiss: () -> Unit? = null, choices: Map<String, () -> Unit> = emptyMap(), dismissable: Boolean = true)(source)

A comprehensive and flexible dialog component for the Meshtastic application.

Parameters

modifier

Modifier for the dialog.

title

The title text of the dialog.

titleRes

The title string resource of the dialog.

message

Optional plain text message.

messageRes

Optional string resource message.

messageColor

Optional color for the plain text message; Color.Unspecified uses the default text color.

html

Optional HTML formatted message.

icon

Optional leading icon.

text

Optional custom composable content for the body.

confirmText

Text for the confirmation button.

confirmTextRes

String resource for the confirmation button.

onConfirm

Callback for the confirmation button.

dismissText

Text for the dismiss button.

dismissTextRes

String resource for the dismiss button.

onDismiss

Callback for when the dialog is dismissed or the dismiss button is clicked.

choices

If provided, displays a list of buttons instead of the standard confirm/dismiss actions.

dismissable

Whether the dialog can be dismissed by clicking outside or pressing back.

A gateway node with internet access (WiFi or Ethernet) publishes mesh messages to an MQTT topic. Remote gateways subscribed to the same topic inject those messages into their local mesh.

Конфигурация

Enabling MQTT

  1. Navigate to Settings → Module Config → MQTT.
  2. Enable the MQTT module.
  3. Configure the broker connection:

MQTT toggle switch

Настройка Описание По подразбиране
Адрес на сървъра MQTT broker hostname mqtt.meshtastic.org
Потребителско име Broker authentication meshdev
Парола Broker authentication large4cats
Root Topic Base topic for messages msh
Криптиране Encrypt MQTT payload Активиран
JSON Output ⚠️ Отхвърлено — Поддръжката на JSON пакети е премахната от фърмуера; това поле се игнорира Disabled
TLS Secure connection to broker Disabled
Map Reporting Report position to public map Disabled

MQTT Proxy on This Phone

If your node has no internet access of its own, it can use the connected phone as its MQTT gateway: enable MQTT and Proxy to client enabled in the module config, and the app relays MQTT traffic between the radio and the broker over your phone’s internet connection.

The MQTT proxy on this phone toggle at the top of the MQTT settings screen shows whether this relay is currently running and lets you cut it off (or restart it) immediately — without editing and re-saving the device’s MQTT configuration.

Default Meshtastic Broker

The community maintains a public broker at mqtt.meshtastic.org. This is intended for general use and testing.

ℹ️ Note: Connections to mqtt.meshtastic.org always use TLS (port 8883), even if the TLS toggle is off. For any other broker, TLS is used only when you enable it (port 8883 with TLS, 1883 without).

🔒 Privacy: Messages on the public broker are readable by anyone subscribed. Always use channel encryption for private communications.

Private Broker

За по-добра поверителност и контрол, можете да управлявате свой собствен MQTT брокер:

Configure your node to point to your private broker with appropriate credentials.

Map Reporting

When Map Reporting is enabled, your node publishes its position to the Meshtastic community map:

Direction Описание
Uplink Messages from mesh → MQTT broker
Downlink Messages from MQTT broker → mesh

Configure per-channel which directions are active to control message flow and airtime usage.

Message Formats

MQTT uses protobuf message format:

Format Описание Use case
Protobuf Binary Meshtastic protobuf encoding Node-to-node mesh bridging

⚠️ Note: JSON output support was removed from firmware. The json_enabled setting is still visible in the app for legacy compatibility but has no effect on current firmware versions.

Encryption & Privacy

Understanding the layered encryption model:

  1. Channel encryption happens on the mesh before MQTT. If your channel has a PSK, the MQTT payload is already encrypted — the broker and any subscribers see only the ciphertext.
  2. MQTT encryption (the module setting) adds an additional encryption layer for transit to the broker. This protects metadata and routing information.
  3. TLS encrypts the TCP connection to the broker itself, preventing network-level eavesdropping.

🔒 Important: The default public channel has a well-known key. Messages on the default channel sent via MQTT are effectively unencrypted — anyone can decode them. Always use a custom PSK for private communications.

Най-добри практики

Отстраняване на неизправности

MQTT Not Connecting

Messages Not Bridging

Свързани теми



diff --git a/main/docs/bg-rBG/user/app-functions.html b/main/docs/bg-rBG/user/app-functions.html index 8147ee2bbb..94bcf2e814 100644 --- a/main/docs/bg-rBG/user/app-functions.html +++ b/main/docs/bg-rBG/user/app-functions.html @@ -28,13 +28,13 @@ The functions are grouped into a **Write** section (functions that change someth ### Write Functions - Function | What it does | + Функция | Какво прави | ---------------- | ----------------------------------------------------------------------------------------------------------------------- | **Send Message** | Sends a text message to a contact (direct message) or to a channel, up to 237 bytes. | ### Read Functions - Function | What it returns | + Функция | What it returns | ----------------------- | ----------------------------------------------------------- | **Get Mesh Status** | Overall mesh status. | **Get Node List** | The list of nodes on your mesh. | @@ -45,11 +45,11 @@ The functions are grouped into a **Write** section (functions that change someth **Get Unread Summary** | A summary of unread messages. | **Get Mesh Metrics** | Telemetry and metrics from your mesh. | -## Privacy +## Поверителност > 🔒 **Privacy:** The **Send Message** function lets an assistant send messages to your mesh on your behalf. Only enable functions you trust the assistant to use. The read functions expose node, message, and metric data to the assistant — enable only what you're comfortable sharing. Each function has its own toggle, and the master toggle turns all of them off at once. -## Related Topics +## Свързани теми - [Messages & Channels](messages-and-channels) — sending messages directly in the app - [Nodes](nodes) — the node list the read functions draw from diff --git a/main/docs/bg-rBG/user/connections.html b/main/docs/bg-rBG/user/connections.html index e69bbb0205..ce1aaf06c2 100644 --- a/main/docs/bg-rBG/user/connections.html +++ b/main/docs/bg-rBG/user/connections.html @@ -70,7 +70,7 @@ USB connections provide a wired alternative, useful for desktop or when Bluetoot Some Meshtastic radios support WiFi/Ethernet connectivity, allowing TCP-based connections over your local network. Get the radio onto your network first — using the radio's own WiFi settings (via the firmware web interface or another connection) — then connect to it from the app. -### Connecting over the Network +### Свързване през мрежата 1. Make sure the radio is on the same local network as your phone/desktop. 2. On the Connect screen, select **Network** in the transport selector. diff --git a/main/docs/bg-rBG/user/desktop.html b/main/docs/bg-rBG/user/desktop.html index ca78644fd8..c526cc5826 100644 --- a/main/docs/bg-rBG/user/desktop.html +++ b/main/docs/bg-rBG/user/desktop.html @@ -21,12 +21,12 @@ The Meshtastic Desktop application shares its core codebase with Android via Kot ### macOS - Download the `.dmg` package from releases -- Or build from source +- Или изградете от изходния код ### Windows - Download the `.msi` installer from releases -- Or build from source +- Или изградете от изходния код ## Connecting Your Radio @@ -77,11 +77,11 @@ Bluetooth Low Energy is supported on Desktop via the [Kable](https://github.com/ The Desktop app uses the same Compose Multiplatform UI with adaptations for larger screens and desktop interaction. -### Keyboard Shortcuts +### Клавишни комбинации Shortcuts use **⌘** (Command) on macOS and **Ctrl** on Windows and Linux. (The Super / Windows key is not bound.) - Shortcut | Action | + Пряк път | Действие | ------------ | ---------------------- | **⌘/Ctrl+Q** | Quit the application | **⌘/Ctrl+,** | Open Settings | @@ -124,19 +124,19 @@ cd Meshtastic-Android ./gradlew :desktopApp:run ``` -Requirements: +Изисквания: - JDK 21 - No Android SDK required for desktop-only builds -## Known Limitations +## Известни ограничения - The interactive map view is Android-only — the Map tab is present but does not render a map on desktop - Some Android-specific features (widgets, specific notification channels) are unavailable - Performance may vary on low-spec hardware running Compose Desktop - BLE bonding is not yet supported on desktop (pairing works without bonding) -## Related Topics +## Свързани теми - [Connections](connections) — connection methods overview - [Firmware Updates](firmware) — USB, BLE, and Wi-Fi update all work the same as on Android diff --git a/main/docs/bg-rBG/user/firmware.html b/main/docs/bg-rBG/user/firmware.html index b4da2e495b..7ad4449043 100644 --- a/main/docs/bg-rBG/user/firmware.html +++ b/main/docs/bg-rBG/user/firmware.html @@ -71,7 +71,7 @@ After the firmware is written, the app verifies the update and waits for the dev ![Verifying update and waiting for the device to reconnect](../../assets/screenshots/firmware_verifying.png) -Once the update succeeds: +След като актуализацията е успешна: - Радиото ще се рестартира автоматично - Bluetooth връзката ще се възстанови @@ -92,7 +92,7 @@ If the update appears frozen: ![Грешка при актуализация на фърмуера](../../assets/screenshots/firmware_error.png) -### Device Won't Boot After Update +### Устройството не се стартира след актуализация If your device fails to boot: @@ -101,7 +101,7 @@ If your device fails to boot: 3. Flash a known-good firmware version 4. Check the Meshtastic Discord for device-specific recovery steps -### Compatibility Warnings +### Предупреждения за съвместимост The app may show warnings when: @@ -111,7 +111,7 @@ The app may show warnings when: > ⚠️ **Important:** Always update the Meshtastic app before or alongside firmware updates to ensure compatibility. -## Related Topics +## Свързани теми - [Connections](connections) — reconnecting after a firmware update - [Flashing firmware guide](https://meshtastic.org/docs/getting-started/flashing-firmware) — full firmware flashing walkthrough on meshtastic.org diff --git a/main/docs/bg-rBG/user/help-and-docs.html b/main/docs/bg-rBG/user/help-and-docs.html index 46c263a1f4..5b91819615 100644 --- a/main/docs/bg-rBG/user/help-and-docs.html +++ b/main/docs/bg-rBG/user/help-and-docs.html @@ -37,9 +37,9 @@ A page open in the browser: > ⚠️ **Note:** On F-Droid, Desktop, and iOS builds, Chirpy falls back to a **keyword search** over the documentation rather than a generative model. If your device doesn't support on-device AI, the assistant is hidden and you can still browse and search the docs normally. -## Related Topics +## Свързани теми -- [Translate the App](translate) — how these pages get localized into other languages +- [Превод на приложението](translate) — как тези страници се локализират на други езици - [App Functions](app-functions) — the separate system-AI integration (distinct from Chirpy) --- diff --git a/main/docs/bg-rBG/user/map-and-waypoints.html b/main/docs/bg-rBG/user/map-and-waypoints.html index 480f689323..a2fca2e188 100644 --- a/main/docs/bg-rBG/user/map-and-waypoints.html +++ b/main/docs/bg-rBG/user/map-and-waypoints.html @@ -115,7 +115,7 @@ The base map depends on your app flavor: **Google Play** builds use Google Maps, - Satellite imagery (where available) - Offline tiles (download map areas for offline use) -## Related Topics +## Свързани теми - [Nodes](nodes) — view and filter your node list - [Node Metrics](node-metrics) — signal quality and position history for individual nodes diff --git a/main/docs/bg-rBG/user/mqtt.html b/main/docs/bg-rBG/user/mqtt.html index d04148ae20..24a312e096 100644 --- a/main/docs/bg-rBG/user/mqtt.html +++ b/main/docs/bg-rBG/user/mqtt.html @@ -133,7 +133,7 @@ Understanding the layered encryption model: - **Channel mismatch** — both gateways must share the same channel with the same PSK. A mismatch means messages are encrypted with different keys and appear as garbage. - **Topic mismatch** — ensure both gateways use the same root topic. The default `msh` works for the public broker. -## Related Topics +## Свързани теми - [Settings — Modules & Admin](settings-module-admin) — MQTT module configuration reference - [Messages & Channels](messages-and-channels) — channel encryption and PSK setup diff --git a/main/index.json b/main/index.json index 2a6c259dff..c284f0a419 100644 --- a/main/index.json +++ b/main/index.json @@ -75,16 +75,16 @@ {"id":"units-and-locale","title":"Units, Measurement & Locale","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/units-and-locale.html","navOrder":16,"keywords":["units", "measurement", "locale", "how", "works", "distance", "altitude", "where", "these", "appear", "wind", "rainfall", "that", "never", "change", "date", "time", "changing", "your", "system", "android", "related", "topics"],"aliases":[],"charCount":5833}, {"id":"widget","title":"Home Screen Widget","section":"user","locale":"be-rBY","resourcePath":"docs/be-rBY/user/widget.html","navOrder":20,"keywords":["home", "screen", "widget", "what", "shows", "adding", "the", "related", "topics"],"aliases":["widget", "home-screen-widget", "local-stats-widget"],"charCount":1856}, {"id":"android-auto","title":"Android Auto","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/android-auto.html","navOrder":18,"keywords":["android", "auto", "status", "related", "topics"],"aliases":["android-auto", "car", "head-unit", "auto"],"charCount":2958}, - {"id":"app-functions","title":"App Functions","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read", "privacy", "related", "topics"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3532}, - {"id":"connections","title":"Връзки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "troubleshooting", "usb", "serial", "tcp", "network", "connecting", "over", "the", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5090}, + {"id":"app-functions","title":"App Functions","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/app-functions.html","navOrder":19,"keywords":["app", "functions", "enabling", "write", "read"],"aliases":["app-functions", "system-ai", "gemini", "assistant"],"charCount":3537}, + {"id":"connections","title":"Връзки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/connections.html","navOrder":2,"keywords":["bluetooth", "ble", "troubleshooting", "usb", "serial", "tcp", "network", "when", "use", "reconnection", "behavior", "desktop", "connections", "related", "topics"],"aliases":["bluetooth", "usb", "tcp", "pairing"],"charCount":5085}, {"id":"debug-logs","title":"Debug Logs","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/debug-logs.html","navOrder":22,"keywords":["debug", "logs", "the", "two", "tabs", "viewing", "app", "exporting", "desktop", "related", "topics"],"aliases":["debug-logs", "logcat", "app-logs", "bug-report"],"charCount":3019}, - {"id":"desktop","title":"Настолно приложение","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "keyboard", "shortcuts", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source", "known", "limitations"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6210}, + {"id":"desktop","title":"Настолно приложение","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/desktop.html","navOrder":14,"keywords":["linux", "macos", "windows", "connecting", "your", "radio", "usb", "serial", "primary", "tcp", "bluetooth", "ble", "feature", "parity", "differences", "window", "system", "tray", "notification", "preferences", "built", "documentation", "browser", "building", "from", "source"],"aliases":["desktop", "linux", "macos", "windows", "jvm"],"charCount":6229}, {"id":"discovery","title":"Откриване","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/discovery.html","navOrder":12,"keywords":["local", "mesh", "discovery", "scanner", "setting", "scan", "live", "progress", "reading", "the", "results", "beacon", "manual", "exploration", "running", "traceroute", "troubleshooting", "with", "neighbor", "info", "enabling", "viewing", "data", "node", "list", "tool", "finding", "new", "nodes", "assessing"],"aliases":["mesh-discovery", "local-discovery", "network-scan", "traceroute", "neighbor-info"],"charCount":12557}, - {"id":"firmware","title":"Актуализации на фърмуера","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/firmware.html","navOrder":13,"keywords":["ota", "over", "the", "air", "bluetooth", "app", "usb", "update", "other", "flashing", "options", "stuck", "device", "won", "boot", "after", "compatibility", "warnings", "related", "topics"],"aliases":["firmware", "update", "ota", "flash"],"charCount":5117}, - {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant", "related", "topics"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2076}, - {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources", "related", "topics"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6465}, + {"id":"firmware","title":"Актуализации на фърмуера","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/firmware.html","navOrder":13,"keywords":["ota", "over", "the", "air", "bluetooth", "app", "usb", "update", "other", "flashing", "options", "stuck"],"aliases":["firmware", "update", "ota", "flash"],"charCount":5149}, + {"id":"help-and-docs","title":"Help & In-App Docs","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/help-and-docs.html","navOrder":21,"keywords":["help", "app", "docs", "browsing", "chirpy", "the", "assistant"],"aliases":["help", "docs-browser", "chirpy", "assistant"],"charCount":2077}, + {"id":"map-and-waypoints","title":"Map & Waypoints","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/map-and-waypoints.html","navOrder":6,"keywords":["map", "waypoints", "view", "node", "markers", "controls", "creating", "waypoint", "properties", "expiration", "geofences", "managing", "site", "planner", "position", "sharing", "enabling", "privacy", "considerations", "sources"],"aliases":["map", "waypoints", "gps", "location", "site-planner", "map-layers", "geojson", "kml"],"charCount":6464}, {"id":"messages-and-channels","title":"Съобщения & Канали","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/messages-and-channels.html","navOrder":3,"keywords":["default", "channel", "adding", "sending", "direct", "message", "states", "delivery", "errors", "features", "quick", "chat", "searching", "messages", "bubbles", "text", "formatting", "mentions", "reactions", "actions", "priority", "limits", "related", "topics"],"aliases":["канали", "direct-messages", "messaging", "conversations"],"charCount":12778}, - {"id":"mqtt","title":"MQTT","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/mqtt.html","navOrder":11,"keywords":["mqtt", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "not", "connecting", "messages", "bridging", "related", "topics"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7924}, + {"id":"mqtt","title":"MQTT","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/mqtt.html","navOrder":11,"keywords":["mqtt", "enabling", "proxy", "this", "phone", "default", "meshtastic", "broker", "private", "map", "reporting", "uplink", "downlink", "message", "formats", "encryption", "privacy", "not", "connecting", "messages", "bridging"],"aliases":["mqtt", "internet-bridge", "broker"],"charCount":7923}, {"id":"node-metrics","title":"Node Metrics","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/node-metrics.html","navOrder":5,"keywords":["node", "metrics", "air", "quality", "signal", "reference", "reading", "traceroute", "results", "neighbor", "info", "viewing", "related", "topics"],"aliases":["metrics", "telemetry", "device-metrics", "signal"],"charCount":9979}, {"id":"nodes","title":"Възли","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/nodes.html","navOrder":4,"keywords":["node", "status", "indicators", "roles", "choosing", "role", "encryption", "quick", "actions", "filtering", "sorting", "text", "search", "filter", "toggles", "sort", "options", "nodes", "per", "hop", "detail", "device", "links", "want", "one", "related", "topics"],"aliases":["node-list", "mesh-nodes", "peers", "hop-histogram"],"charCount":11315}, {"id":"onboarding","title":"Първи стъпки","section":"user","locale":"bg-rBG","resourcePath":"docs/bg-rBG/user/onboarding.html","navOrder":1,"keywords":["first", "launch", "welcome", "screen", "permissions", "bluetooth", "permission", "location", "notifications", "critical", "alerts", "after", "setup", "what", "next"],"aliases":["first-launch", "setup", "intro"],"charCount":4057}, diff --git a/main/ru-rRU/user/signal-meter.html b/main/ru-rRU/user/signal-meter.html index ce9481746d..62a95eda1e 100644 --- a/main/ru-rRU/user/signal-meter.html +++ b/main/ru-rRU/user/signal-meter.html @@ -1 +1 @@ - Как работает измеритель сигнала Meshtastic | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Как работает измеритель сигнала Meshtastic

Измеритель сигнала Meshtastic — знакомые полоски или цвет состояния в приложении — рассчитывается совсем иначе, чем “полоски” на обычном мобильном телефоне или WiFi-роутере.

Большинство потребительских устройств просто измеряют, насколько “громкий” сигнал. Однако, поскольку Meshtastic использует технологию LoRa (Long Range), его измеритель сигнала оценивает, насколько чистый сигнал, относительно конкретных настроек вашей mesh-сети.


1. Две метрики: “Громкость” против “Чёткости”

Каждый раз, когда радиочип LoRa получает сообщение, он сообщает два измерения:

  • RSSI (Индикатор уровня принятого сигнала): громкость необработанного сигнала, поступающего на твою антенну.
  • SNR (Соотношение сигнал/шум): Чёткость сигнала по сравнению с фоновым шумом.

💡 Совет: Вот аналогия — представь, что пытаешься услышать, что тебе говорит друг.

  • RSSI — это громкость его голоса.
  • Минимальный уровень шума — это фоновый шум в комнате (кондиционер, разговоры других людей, движение транспорта).
  • SNR — это то, насколько легко ты можешь различить голос твоего друга на фоне шума.

Если твой друг кричит тебе на оглушительном рок-концерте, сигнал невероятно громкий (высокий RSSI), но ты всё равно не можешь его понять, потому что фоновый шум громче (плохое SNR). И наоборот, если твой друг шепчет тебе в абсолютно тихой библиотеке, сигнал очень слабый (низкий RSSI), но ты можешь его прекрасно понять (отличный SNR).


2. Магия LoRa: слышит “ниже уровня шума”

Для обычных радиоприёмников (например, FM или WiFi), если фоновый шум громче сигнала (отрицательный SNR), приёмник просто слышит шум.

LoRa особенная. Она использует модуляцию “широкополосного спектра”, которая позволяет радио математически извлекать сигнал из воздуха даже когда он глубоко под фоновым шумом. Вот почему ты часто будете видеть отрицательные значения SNR в Meshtastic (например, -10 дБ, что означает, что сигнал на 10 децибел слабее фонового шума).

В зависимости от того, какой пресет Meshtastic ты используешь (например, LongFast или ShortFast), у радиоприемника есть определённый предел SNR — абсолютное максимальное количество шума, которое он может выдержать, прежде чем сообщение полностью потеряется в помехах.


3. Как измеритель сигнала рассчитывает качество

Приложение оценивает качество сигнала (Нет, Плохо, Средне или Хорошо) только по SNR, измеренному относительно установленного порога SNR — той самой демодуляционной границы, о которой говорилось выше. Он намеренно не учитывает RSSI в оценке: без локального уровня шума RSSI не может сказать, можно ли реально декодировать сигнал, поэтому показатель SNR по сравнению с установленным лимитом является значимой мерой. (RSSI всё ещё отображается где-то ещё.)

Поскольку рейтинг зависит от заранее заданного лимита, один и тот же SNR может оцениваться по-разному на разных пресетах — -15 dB нормально для LongSlow, но непригодно для ShortFast. Допустим, limit — это предел SNR у активного пресета, вот как приложение выбирает полоски (или цвет):

Уровень Деления Критерии Значение
Хороший 3 SNR выше установленного limit Сигнал с запасом выше порога демодуляции — связь в порядке.
Средний 2 меньше чем на 5,5 дБ ниже limit Понятно, но уже почти до пола.
Плохой 1 5,5 дБ до 7,5 дБ ниже limit На самом пределе того, что может восстановить пресет.
Отсутствует 0 более чем на 7,5 дБ ниже limit Ниже порога — сигнал потерян из-за помех.

Примечание: Фиксированные пороги SNR, которые вы могли видеть где-то ещё (-7 дБ / -15 дБ), теперь используются только для окрашивания отдельных хопов в результатах трассировки — а не для измерителя сигнала на каждой ноде, о которой идёт речь здесь.


4. Что это значит для тебя

Поскольку измеритель Meshtastic действует как “Измеритель чёткости”, он ведёт себя иначе, чем ожидает большинство людей:

💡 Совет: Не паниковать из-за низкого RSSI. Вы можете увидеть, например, такой вроде бы ужасный показатель RSSI, как -118 dBm. На сотовом телефоне у тебя было бы ноль делений. Но если отношение сигнал/шум (SNR) +2 дБ, Meshtastic все равно покажет сильный сигнал! Библиотека тихая, поэтому шепот слышен идеально.

⚠️ Внимание: Остерегайтесь локального шума. Если подключить огромную антенну и увидеть отличный RSSI (например, -90 dBm), но индикатор сигнала показывает всего 1 деление (Плохо), значит, у тебя проблема. Это означает, что у тебя есть местные помехи — возможно, дешевый источник питания, шумный компьютер или расположенная рядом радиовышка — создающие столько статического шума, что он заглушает сеть.

Где появляется информация о сигнале

В приложении данные сигнала отображаются в нескольких местах:

  • Список нод — значок полос сигнала рядом с каждой нодой
  • Детали ноды — SNR, RSSI и качество сигнала в разделе метрик устройства
  • Трассировка — качество сигнала на каждой промежуточной ноде
  • Метрики сигнала — история данных SNR и RSSI на графиках метрик

Запись ноды, показывающая значения SNR, RSSI и цветные индикаторы сигнала

Связанные темы



+ Как работает измеритель сигнала Meshtastic | Meshtastic Android Skip to main content Link Menu Expand (external link) Document Search Copy Copied
🌐 Русский
Meshtastic Docs ↗

🌐 Русский — Community translation View in English

Как работает измеритель сигнала Meshtastic

Измеритель сигнала Meshtastic — знакомые полоски или цвет состояния в приложении — рассчитывается совсем иначе, чем “полоски” на обычном мобильном телефоне или WiFi-роутере.

Большинство потребительских устройств просто измеряют, насколько “громкий” сигнал. Однако, поскольку Meshtastic использует технологию LoRa (Long Range), его измеритель сигнала оценивает, насколько чистый сигнал, относительно конкретных настроек вашей mesh-сети.


1. Две метрики: “Громкость” против “Чёткости”

Каждый раз, когда радиочип LoRa получает сообщение, он сообщает два измерения:

  • RSSI (Индикатор уровня принятого сигнала): громкость необработанного сигнала, поступающего на твою антенну.
  • SNR (Соотношение сигнал/шум): Чёткость сигнала по сравнению с фоновым шумом.

💡 Совет: Вот аналогия — представь, что пытаешься услышать, что тебе говорит друг.

  • RSSI — это громкость его голоса.
  • Минимальный уровень шума — это фоновый шум в комнате (кондиционер, разговоры других людей, движение транспорта).
  • SNR — это то, насколько легко ты можешь различить голос твоего друга на фоне шума.

Если твой друг кричит тебе на оглушительном рок-концерте, сигнал невероятно громкий (высокий RSSI), но ты всё равно не можешь его понять, потому что фоновый шум громче (плохое SNR). И наоборот, если твой друг шепчет тебе в абсолютно тихой библиотеке, сигнал очень слабый (низкий RSSI), но ты можешь его прекрасно понять (отличный SNR).


2. Магия LoRa: слышит “ниже уровня шума”

Для обычных радиоприёмников (например, FM или WiFi), если фоновый шум громче сигнала (отрицательный SNR), приёмник просто слышит шум.

LoRa особенная. Она использует модуляцию “широкополосного спектра”, которая позволяет радио математически извлекать сигнал из воздуха даже когда он глубоко под фоновым шумом. Вот почему ты часто будете видеть отрицательные значения SNR в Meshtastic (например, -10 дБ, что означает, что сигнал на 10 децибел слабее фонового шума).

В зависимости от того, какой пресет Meshtastic ты используешь (например, LongFast или ShortFast), у радиоприемника есть определённый предел SNR — абсолютное максимальное количество шума, которое он может выдержать, прежде чем сообщение полностью потеряется в помехах.


3. Как измеритель сигнала рассчитывает качество

Приложение оценивает качество сигнала (Нет, Плохо, Средне или Хорошо) только по SNR, измеренному относительно установленного порога SNR — той самой демодуляционной границы, о которой говорилось выше. Он намеренно не учитывает RSSI в оценке: без локального уровня шума RSSI не может сказать, можно ли реально декодировать сигнал, поэтому показатель SNR по сравнению с установленным лимитом является значимой мерой. (RSSI всё ещё отображается где-то ещё.)

Поскольку рейтинг зависит от заранее заданного лимита, один и тот же SNR может оцениваться по-разному на разных пресетах — -15 dB нормально для LongSlow, но непригодно для ShortFast. Допустим, limit — это предел SNR у активного пресета, вот как приложение выбирает полоски (или цвет):

Уровень Деления Критерии Значение
Хороший 3 SNR выше установленного limit Сигнал с запасом выше порога демодуляции — связь в порядке.
Средний 2 меньше чем на 5,5 дБ ниже limit Понятно, но уже почти до пола.
Плохой 1 5,5 дБ до 7,5 дБ ниже limit На самом пределе того, что может восстановить пресет.
Отсутствует 0 более чем на 7,5 дБ ниже limit Ниже порога — сигнал потерян из-за помех.

Примечание: Фиксированные пороги SNR, которые вы могли видеть где-то ещё (-7 дБ / -15 дБ), теперь используются только для окрашивания отдельных хопов в результатах трассировки — а не для измерителя сигнала на каждой ноде, о которой идёт речь здесь.


4. Что это значит для тебя

Поскольку измеритель Meshtastic действует как “Измеритель чёткости”, он ведёт себя иначе, чем ожидает большинство людей:

💡 Совет: Не паниковать из-за низкого RSSI. Вы можете увидеть, например, такой вроде бы ужасный показатель RSSI, как -118 dBm. На сотовом телефоне у тебя было бы ноль делений. Но если отношение сигнал/шум (SNR) +2 дБ, Meshtastic все равно покажет сильный сигнал! Библиотека тихая, поэтому шепот слышен идеально.

⚠️ Внимание: Остерегайтесь локального шума. Если подключить огромную антенну и увидеть отличный RSSI (например, -90 dBm), но индикатор сигнала показывает всего 1 деление (Плохо), значит, у тебя проблема. Это означает, что у тебя есть местные помехи — возможно, дешевый источник питания, шумный компьютер или расположенная рядом радиовышка — создающие столько статического шума, что он заглушает сеть.

Где появляется информация о сигнале

В приложении данные сигнала отображаются в нескольких местах:

  • Список нод — значок полос сигнала рядом с каждой нодой
  • Детали ноды — SNR, RSSI и качество сигнала в разделе метрик устройства
  • Трассировка — качество сигнала на каждой промежуточной ноде
  • Метрики сигнала — история данных SNR и RSSI на графиках метрик

Запись ноды, показывающая значения SNR, RSSI и цветные индикаторы сигнала

Связанные темы