Skip to main content

The textual user interface to multimon-ng.

Project description

mmng-ui

A TUI (text user interface) frontend for multimon-ng.

mmng-ui will listen on a chosen UDP port for raw streams from software like SDR++, use multimon-ng to decode it, and show you POCSAG/FLEX messages in a wonderful text interface.

You can also use it within a web browser!

Table of contents

Purpose

Why not? I know there are other frontends out there, but I haven't seen any for use in a text console.

I also wanted to learn both Rich and Textual.

See CHANGELOG.md for all the latest updates. The links may not be clickable.

Installation

Normal TUI (text console) mode

The recommended way to install mmng-ui is to use pipx.

After getting pipx installed, simply run:

username@host:~$ pipx install mmng-ui

Please don't use pip system-wide.

You can of course also install it using classic virtualenvs.

Web mode

Thanks to Textual's web serving support, you can also run mmng-ui in a web browser!

First, install mmng-ui with the web feature/extra:

username@host:~$ pipx install 'mmng-ui[web]'

Then run mmng-ui with the --serve option. Your console will show you the URL to connect to!

By default, it will bind to all interfaces (and both IPv4 and IPv6 if enabled). See the help screen for other choices.

If you supply either --serve-host or --serve-port, there's no need to specify --serve as well -- it is implied.

How to use it

See mmng-ui --help for CLI options.

Run mmng-ui, and you'll be greeted with this screen:

screenshot

Notice in the status pane, it says "Receiver: idle" -- it is now listening for UDP packets sent to the default port of 8888.

Now go to your favourite SDR application, and send to where mmng-ui is running. If possible, make sure you encode and send in the right sample rate that multimon-ng likes, 22050 Hz. It probably helps to send mono too.

If you can't send at 22050 Hz, click here to read about using sox mode.

Alpha POCSAG messages will soon display in the top pane. The bottom pane will show the raw output from multimon-ng, as well as any errors or issues with decoding.

The status panel shows any incoming connections. Receiver will transition between the following states:

Receiver state Description
idle No UDP traffic yet seen, or seen in 5 seconds
receiving Actively receiving a decode from multimon-ng
waiting Traffic is coming in, but nothing to be decoded

Just below the status panel is a sparkline -- this updates on each decode, and reflects character length of said decode.

Underneath the log window in another sparkline, and this shows messages per second, for the last minute.

The footer shows available keyboard choices to quit the app, show a help screen, and clear all logging panes.

The mouse will also work!

JSON detection

mmng-ui will attempt to auto-detect the output format from multimon-ng, and if it looks like JSON, it'll use it.

JSON output was merged into multimon-ng version 1.4.0. Support for older versions will eventually be dropped.

sox conversion mode

With release 1.3.0, you can use the --sox-rate (optionally with --sox-binary) CLI arguments and mmng-ui will put an instance of sox in the decoding pipeline, before multimon-ng. You can use the same format as sox accepts, for example, 48k, or 32000.

Example screenshot

Here's what a screen full of decodes might look like:

screenshot

Supported Python versions

mmng-ui supports Python 3.10 and newer.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mmng_ui-1.3.1.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mmng_ui-1.3.1-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file mmng_ui-1.3.1.tar.gz.

File metadata

  • Download URL: mmng_ui-1.3.1.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for mmng_ui-1.3.1.tar.gz
Algorithm Hash digest
SHA256 c6a45850ad063bca188ba4d0fceda76ba2368bfbf0da099de50b86c1bed51fb0
MD5 9ec659e2c226a22d30eb6137ea9a204a
BLAKE2b-256 4b16372a5a69edb2d9269670b691c4747b85a6e2a0937351d42efef21e154053

See more details on using hashes here.

File details

Details for the file mmng_ui-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: mmng_ui-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for mmng_ui-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c86d7243619701609aa7f0a51067b2ec15386dda10ef9da8bbdde43b66ef7e9b
MD5 99ddf6c2c65528ca03d6c502543272e4
BLAKE2b-256 57e9698033d2ab23b70033499b124fef8a76be0f4923bfd2b96306f134013dcb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page