Skip to content

repos: vshie: Add Mikrotik Monitor#172

Merged
patrickelectric merged 1 commit intobluerobotics:masterfrom
vshie:add-mikrotik-monitor
May 7, 2026
Merged

repos: vshie: Add Mikrotik Monitor#172
patrickelectric merged 1 commit intobluerobotics:masterfrom
vshie:add-mikrotik-monitor

Conversation

@vshie
Copy link
Copy Markdown
Collaborator

@vshie vshie commented May 7, 2026

Adds a new extension: Mikrotik Monitor, a BlueOS interface for the onboard MikroTik RouterOS wireless client (typical BlueBoat radio at 192.168.2.4, API 8728).

What the extension does

  • Probes ICMP / API reachability of the MikroTik radio every poll cycle, and surfaces a precise reason when it cannot be reached.
  • Polls /interface/wireless/registration-table over the RouterOS API and renders SNR, signal, TX/RX rate, noise floor, AP MAC, and WLAN interface in a live dashboard. Falls back to wifiwave2 on RouterOS 7+ if the classic table is empty.
  • Reads GLOBAL_POSITION_INT from BlueOS mavlink2rest (same URL pattern as pingSurvey), then computes great-circle distance and true compass bearing (WGS84, 0 to 360 degrees clockwise from north) from a saved reference point to the BlueBoat.
  • Appends every poll to /data/mikrotik_link.csv on a persistent volume (/usr/blueos/extensions/mikrotik-monitor:/data), with bearing_deg populated when a fix and reference are present.
  • Streams MTK_SNR, MTK_TXDB, MTK_RXDB, and (when enabled) MTK_DISTM plus MTK_BRNG NAMED_VALUE_FLOAT messages back to the autopilot via mavlink2rest. Each metric is sent from its own component_id (default base 60, so MTK_SNR=60, MTK_TXDB=61, ..., MTK_BRNG=64) so mavlink-server's per-component snapshot keeps a separate slot per metric instead of overwriting; the dashboard surfaces a warning if another sender is already using one of the planned slots.
  • API login handles both the RouterOS 6.43+ challenge flow and legacy plaintext login, with empty-password defaults that match a stock BlueBoat MikroTik.

Files added

  • repos/vshie/mikrotik-monitor/metadata.json
  • repos/vshie/mikrotik-monitor/extension_logo.png (1024x1024)

repos/vshie/company_logo.png already exists from earlier submissions and is not modified.

Links

Built via the standard BlueOS-community/Deploy-BlueOS-Extension action (multi-arch). The Dockerfile carries both the legacy org.blueos.* labels and the unprefixed version / type / requirements / authors / company / readme / links / tags / permissions labels expected by the repository scraper.

The description field uses literal UTF-8 em-dash bytes rather than the \u2014 escape, per the convention applied in #171.

Made with Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
@patrickelectric patrickelectric merged commit 6e54394 into bluerobotics:master May 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants