Raspberry Pi Remote ATSC/DVB Test Set

Part 1 - From IEEE Broadcast Technology 4th Quarter 2020

URLs referred to in the article:

Raspberry Pi 4 complete starter kit from Vilros
https://vilros.com/collections/raspberry-pi-kits/products/vilros-raspberry-pi-4-basic-starter-kit-with-fan-cooled-heavy-duty-aluminum-alloy-case
Raspberry Pi 3 B Plus starter Canakit from Amazon
https://www.amazon.com/CanaKit-Raspberry-Premium-Clear-Supply/dp/B07BC7BMHY/
How to install a Raspberry Pi OS Image On a Micro-SD Card
https://www.raspberrypi.org/documentation/installation/installing-images/
Raspberry Pi OS Download Location - scroll down to Raspberry Pi OS (32-bit) � Minimal image
https://www.raspberrypi.org/downloads/raspberry-pi-os/
Configuring the Raspberry Pi for "headless" operation over a network
https://www.raspberrypi.org/documentation/configuration/wireless/headless.mdess.md
Configuring the Raspberry Pi for remote access using SSH (see step 3)
https://www.raspberrypi.org/documentation/remote-access/README.md
How to enable the SSH client on Windows 10
https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
Connecting to the Raspberry Pi using SSH on an Android device
https://www.raspberrypi.org/documentation/remote-access/ssh/android.md

Command Line Text

Here are copies of the text to be entered on the command line that were referenced in the article. I've provided them here to make it easier to cut and paste them into your projects.

sudo apt install dvb-apps
sudo apt install dvb-tools
sudo apt install dvbsnoop

dvbv5-scan -C US /usr/share/dvb/atsc/us-ATSC-center-frequencies-8VSB-062009
dvbv5-zap -c dvb_channel.conf "KMEB-HD" -m
dvb-fe-tool m
dvbsnoop -s signal

Sample script used for collecting signal data in Los Angeles

Sample-Test-Script-for-Los-Angeles.sh Download

Part 2 - From IEEE Broadcast Technology 1st Quarter 2021

URLs referred to in the article:

Introduction to Python's Flask Web Server
https://projects.raspberrypi.org/en/projects/python-web-server-with-flask
Working Flask Web Server With Variable Elements by Matt Richardson
http://mattrichardson.com/Raspberry-Pi-Flask/index.html
README for the mumudvb program for streaming ATSC and DVB transport streams
https://mumudvb.net/documentation/, https://mumudvb.net/documentation/asciidoc/mumudvb-2.0.0/README.html
mumudvb Configuration Options
https://mumudvb.net/documentation/asciidoc/mumudvb-2.0.0/README_CONF.html
Configuring Video Streaming With VLC
https://wiki.videolan.org/Documentation:Streaming_HowTo_New/#Streaming_using_the_GUI
Possible Transcoding Solution Using mumudvb 2.1 and ffmpeg)
https://mumudvb.net/documentation/asciidoc/mumudvb-2.1.0/TRANSCODE_EXTERNAL.html

Command Line Text

Here are copies of the text to be entered on the command line that were referenced in the article. I've provided them here to make it easier to cut and paste them into your projects.

# Command line for VLC streaming on Raspberry Pi 4 with transcoding
cvlc -vvv :sout-avcodec-fast :sout-avcodec-rc-buffer-size=500 atsc://frequency=605000000 :dvb-adapter=0 :dvb-device=0 :live-caching=5000 --program=3 --sout "#transcode{fps=10,vcodec=h264_omx,vb=600k,width=854,height=480,acodec=mp3,ab=64,channels=2,samplerate=44100,scodec=none}:http{mux=ts,dst=0.0.0.0:8080/}" :no-sout-all

# Command line for VLC streaming on Raspberry Pi 3B+ or Raspberry Pi 4 without transcoding (full bandwidth)
cvlc -vvv atsc://frequency=605000000 :dvb-adapter=0 :dvb-device=0 :live-caching=5000 --program=3 --sout "#transcode{acodec=mp3,ab=64,channels=2,samplerate=44100,scodec=none}:http{mux=ts,dst=0.0.0.0:8080/}" :no-sout-all

Files Used to Create Web Page Showing Received Signal Strength (dBm)and SNR(dB x 10)

displaysignal.py Download

index.html Download - Remove .txt extension after downloading - Put in "templates" directory

style.css Download - Put in "static" directory

sigdata.sh Download

Part 3 - IEEE Broadcast Technology 2nd Quarter 2021

URLs referred to in the article:

Silicon Labs Si5351 synthesizer datasheet
https://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf
Analog Device ADF4350 synthesizer datasheet
https://www.analog.com/media/en/technical-documentation/data-sheets/ADF4350.pdf
NanoVNA V2 User Manual
https://nanorfe.com/nanovna-v2-user-manual.html
GigaDevice GD32 micro-controller and 12 bit A/D
https://www.gigadevice.com/products/microcontrollers/gd32/
Asynchronous updates to a web page with Flask and Socket.io (the basis for the web server in the article)
https://www.shanelynn.ie/asynchronous-updates-to-a-webpage-with-flask-and-socket-io/

Command Line Text

Here are copies of the text to be entered on the command line that were referenced in the article. I've provided them here to make it easier to cut and paste them into your projects.

# Commands for installing required modules for the web server in a Python virtual environment:
pip3 install flask_socketio
pip3 install eventlet
# Commands to create required subdirectories for the web server:
mkdir templates
mkdir static
mkdir static/js
# Command to scan channels and create the dvb_channel.conf required bt sigdata2.sh:
dvbv5-scan -C US /usr/share/dvb/atsc/us-ATSC-center-frequencies-8VSB-062009
# If a us-ATSC-center-frequencies-8VSB-072020 file is available use it in the U.S. as it will stop scanning abvoe channel 36

Files Used to Create Web Page Showing Real-Time Signal Level and SNR (MER)

sigdata2.sh Download

sigdata2.py Download

index.html Download - Remove .txt extension after downloading - Put in "templates" directory

signalapp.js Download - Put in "static/js" directory

Questions, additions or comments?

Contact Doug Lung at dlung@transmitter.com

Last modified 19 Jan 2023 (fix links)