Home - Psynosaur/DATV-Red GitHub Wiki
Welcome to the DATV-Red wiki!
- The South African German army knife of all things DATV
- This project was build out of curiosity and brute force will :)
Prerequisite
- Latest PlutoDVB2 firmware
- Please see flashing steps
Setup and use
-
Download latest release and extract to folder
DATV-Red
-
Open the
DATV-RED.exe
on windows or./DATV-Start-Linux.sh
on Linux -
Fill in pluto IP and callsign when prompted
If you missed this prompt or cancelled, please click the setup button again.
If all went well the mqtt parameters will be set and the pluto will restart, wait about 15s
-
Please refer to the Wiki for more setup details
-
You will see the default view, please toggle the radio buttons to enable and disable UI components to your liking.
Motivation
DATV transmissions normally have the following programs open:
- OBS(Presentation layer)
- DATV-Easy/FreeStreamCoder/your own scripts (encoder)
- Browser page for PlutoSDR
- OpenTuner / Minitioune
- QuickTune / Chat
DATV-RED tries to combine most of these functionalities into one interface.
Capabilities of DATV-Red
- Encoding of TS data (Tx)
- Tuning of onboard longmynd server
- Requires
USB hub
orLongmynd mqtt
on local network connected to pluto broker. - Refer to wiki (Rx)
- Further eliminates software dependencies
- Requires
- Operation of PlutoSDR RF modulator parameters (Tx)
- DVB-GSE (Tx & Rx)
- You can view each others dashboard on tunnel IPs
- AV1 QSO's using SRT
- (Windows) Sends UDP payload to
Minitioune
software control address (Rx)- Tunes Minitiouner radio using
Minitioune
software - Tunes
WinterHill
too - OpenTuner support pending
- Tunes Minitiouner radio using
- Optional chat (QoL)
- Optional SONOFF tasmota support (QoL)
- HTML and MQTT support
- Switch must be connected to pluto mqtt broker
- HTML and MQTT support
- Cross-platform
- No internet needed also supports
FFT
from pluto rx port- Use onboard spectrum from pluto to tune to signals
- Enables simple mobile operation of DATV
- Supports separate BATC spectrum sources
- Requires that you have a
Raspberry Pi 4
and anAirspy R2
- Please see Tom ZR6TG's post on setup
- Requires that you have a
- Use onboard spectrum from pluto to tune to signals
DATV-Red visual flow chart
First steps
- Calibrate the rx table, so that if you click on the spectrum bars it has the right frequencies in modulator channel dropdown
- It take about three seconds, stepping through all known frequencies
SSH host key checking
add to .ssh/config the following, my pluto IP is 192.168.1.111
Host 192.168.1.111
HostName 192.168.1.111
User root
StrictHostKeyChecking no
- Windows
ssh -o UserKnownHostsFile=\\.\NUL 192.168.1.111
- Linux
ssh -o UserKnownHostsFile=/dev/null 192.168.1.111
Flashing steps
- Always find the latest firmware here
- Use the update script like this using pluto
IP Address
andpath
to FW file
.\scripts\update_firmware.cmd 192.168.1.111 '.\pluto.frm'
- If coming from firmware lower than
0303
please first upgrade to0303
- If you're unfamiliar with the procedure please see my 0303 to latest FW flashing walk through video
Multicast support for pluto
- Change
config.txt
- This is so that onboard
longmynd
can send to230.0.0.2:1234
.
- Add
gateway_eth = x.x.x.x
with your internet gateway IP - Then reboot pluto
DATV Red pages
Transmission and profiles
- Transmission section
- All settings related to encoding and transmitting a DATV signal
- Clicking on signals in the spectrum tunes your setup receivers
- Bottom signal is
longmynd
(marked with RX) - Top of signals is for setup receivers (marked with CH1)
- Left in modulator settings(radio)
- Right is encoder settings(ffmpeg)
- Reception section
- Signal reports
- Chat window
- View constellation of received signal
- Local spectrum
- You can manipulate the spectrum with
- Frequency, span, min/max, gain and averaging
- Click on signals to tune onboard
longmynd
- Set the Host IP for receiving TS stream from
230.0.0.2:1234
Paths and radio settings
- Signal report suffix
- Application paths for Windows and Linux
- Hosting URL(
http://zs1sci.com:1880/ui
)- Please port forward pluto IP address's
9001
and7681
to this domain(http://zs1sci.com:1880/ui
) on your network - Our remote browser instance(
http://zs1sci.com:1880/ui
) must be able to get the MQTT(9001) and FFT(7681) from pluto at this domain
- Please port forward pluto IP address's
- Radio miscellaneous
- Rx offset
- Tx offset
- Override pluto TS input IP
- Calibrate Tx channel frequencies
GSE
- Setting for
DVB-GSE
operation
Encoder advanced v4
-
Find Devices button only works on Windows
-
This is all settings relevant to your setup
-
Please change accordingly
-
Codec options are available in the terminal with the
Encoder options
button
UI-Controls
- Allowed control of UI elements, so that you can set it up for your needs
Receiver setup
-
Receiver channels galore
-
This is a
proof of concept
, we need to be able to drive as many receivers as possible from a particular spectrum -
It is driven by clicking on the BATC spectrum
Transport Stream analysis
Dependencies
- Software used with DATV-Red
FFmpeg debugging
ffmpeg
command for debugging why it might not work, copy and paste inproject root
to seeffmpeg
error...- the command output in GUI clears when you press
stop
profile button
Linux specific
- run
sudo ./scripts/install.sh
script - run
./DATV-Start.sh
- Then use
RTMP
orUDP
under ffmpeg settingsINPUT CHOICE
Onboard longmynd controls and analysis information
- Click signal report and
CTRL+V
paste it in chat SigReport: ZS1SCI/PlutoDVB2-0.3-14 - D3.4 - QPSK 4/5 (8.0 dB) - 499 - 10494.773 1.2m offset
- Set your PC IP address for receiving the multicast TS from
longmynd
whilst enabled - Audio and video buffer delays for decoded signal
- If singal has pluto sending NTP synced timestamps, we can calculate tx delay
- We can do this by running this script
.\set_NTP_pluto.cmd 192.168.1.111 192.168.1.127
Software client
- You can also set up the longmynd on another local pc and have it connect to pluto broker
- This way the pluto only has network adapter connected, for remote pluto setups.
- So the pluto still controls the minitiouner radio since its connected to its mqtt topic and doesn't mind the different IP address
- Please see mqtt longmynd repo
Hardware
- USB hub used
Static html files
-
web/pluto_spectrum/index.html
can be ran locally by adding you pluto address and callsign to theURL
index.html?url=192.168.1.111&call_sign=ZS1SCI
-
web/internet_spectrum/spectrum.html
- works separately in a browser
- If
DATV-Red
is running it acts as a sperate spectrum for tuning, setting tx etc.,- so you may disable the one in
DATV-Red
if you plan on moving things around.
- so you may disable the one in
-
web/chat.html
- portable chat file
-
web/constel_v2.html
can be ran locally by adding you pluto address and callsign to theURL
constel_v2.html?pluto_url=192.168.1.111&call_sign=ZS1SCI
-
web/constel/constel_v3.html?pluto_url=192.168.1.111&call_sign=ZS1SCI
- somethings work better when built from scratch
Thanks
Batch files previously used in this project were from DL5OCD Michael and his DATV-NotSoEasy project
Node Red flows inspired by project from PE2JKO from this post