Giter VIP home page Giter VIP logo

docker-rtlsdr-multimon's Introduction

Mutlimon-ng in Docker

ype/docker-rtlsdr-multimon is a docker container for multimon-ng. Multimon-ng is a tool for decoding the following digital transmission modes:

  • POCSAG512, POCSAG1200, POCSAG2400
  • FLEX
  • EAS
  • UFSK1200, CLIPFSK, AFSK1200, AFSK2400, AFSK2400_2, AFSK2400_3
  • HAPN4800
  • FSK9600
  • DTMF
  • ZVEI1, ZVEI2, ZVEI3, DZVEI, PZVEI
  • EEA, EIA, CCIR
  • MORSE, CW

see EliasOenal/multimon-ng for multimon-ng repository

Build image manually

To build your own version do the follow:

git clone https://github.com/ype/docker-rtlsdr-multimon
cd docker-rtlsdr-multimon

docker build -t name_you_want/for_your_docker_image ./Dockerfile

Pull prebuilt image

docker pull envoi/rtlsdr-multimon

Running

Show multimon-ng help and delete container

docker run -it --rm --name rtlsdr-multimon --device=/dev/bus/usb envoi/rtlsdr-multimon multimon-ng -h

A basic example

Launch container with bash console

docker run -it --name rtlsdr-multimon --device=/dev/bus/usb envoi/rtlsdr-multimon /bin/bash
## opt: remove container on exit
### docker run --rm -it --name rtlsdr-multimon --device=/dev/bus/usb envoi/rtlsdr-multimon /bin/bash
## opt: add -p host_port:80 or uncomment command show below to enable viewing of logs using lighttpd
### docker run -it -p 8080:80 --name rtlsdr-multimon --device=/dev/bus/usb envoi/rtlsdr-multimon /bin/bash

Once inside the container

Here are some example commands you could run if you feel like it.

Setting rtl_fm frequency to a variable

FREQ="$(echo -e '153.35M')"
rtl_fm -f "$FREQ" -s 22050 | ...

### OR
#### FREQ_RANGE="$(echo -e '153.0M:154.0M:12k')"
### rtl_fm -f "$FREQ_RANGE" -s 22050 | ...
# the *M* following the below value of 153.35 denotes Megahertz [MHz]
FREQ="153.35M"

DATETIMESTAMP="$(date '+%F_%H%M%S')"

rtl_fm -f "$FREQ" -s 22050 2>/var/www/pager/"$DATETIMESTAMP"_rtl_fm-multimon_stderr.log \
	| multimon-ng -t raw -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -a FLEX -f alpha /dev/stdin \
		1>>/var/www/pager/"$DATETIMESTAMP"_POCSAG-512_1200_2400-FLEX_"$FREQ".txt \
		2>>/var/www/pager/"$DATETIMESTAMP"_rtl_fm-multimon_stderr.log &

VIEWING OUTPUT

LOCAL: In Container

From inside your container you can simply use the tail or more commands to view multimon's output

To watch the last 200 lines of output from multimon in realtime, you can use:

tail -200f /var/www/pager/"$DATETIMESTAMP"_POCSAG-512_1200_2400-FLEX_"$FREQ".txt

Or if you feel like paging through all the output generated thus far (defn paging is a bash term for moving through text file one line at a time using a 'terminal pager')

more /var/www/pager/"$DATETIMESTAMP"_POCSAG-512_1200_2400-FLEX_"$FREQ".txt

REMOTE: in Browser

view from browser using lighttpd to serve http://host_ip:8080/pager/"$DATETIMESTAMP"POCSAG-512_1200_2400-FLEX"$FREQ".txt note: host_ip is the machine running docker

/etc/init.d/lighttpd restart

navigate to http://host_ip:8080/pager/"$DATETIMESTAMP"POCSAG-512_1200_2400-FLEX"$FREQ".txt in your browser of choice

REMOTE: while loop of curl magicness

do some curl magic and watch the data pour in remotely

while true; do
	clear;
	curl -sL 'http://192.168.0.21:8080/pager/"$DATETIMESTAMP"_POCSAG-512_1200_2400-FLEX_"$FREQ".txt' \
		| tail -15f; # `-15f` tells `tail` to show the last 15 lines from output
	sleep 30;
done

Further Reading

Base Image used for docker-rtlsdr-dump1090

For further details about the image in this repo, see ype/docker-rtlsdr-base, which is the base docker image used for docker-rtlsdr-dump1090.

docker-rtlsdr-multimon's People

Contributors

ryaneastland avatar ype avatar

Watchers

James Cloos avatar Ryan Eastland avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.