Difference between revisions of "Jetson Nano"

From BATC Wiki
Jump to navigation Jump to search
Line 39: Line 39:
  
 
  #!/bin/bash
 
  #!/bin/bash
 
+
 
  # *********************************************************************
 
  # *********************************************************************
 
  # ************** ENCODE AND MODULATE FOR JETSON NANO ******************
 
  # ************** ENCODE AND MODULATE FOR JETSON NANO ******************
 
  # ************** (c)F5OEO April 2019                ******************
 
  # ************** (c)F5OEO April 2019                ******************
 
  # *********************************************************************
 
  # *********************************************************************
 
+
 
  CALL=G8GKQ
 
  CALL=G8GKQ
 
  # ------- MODULATION PARAMETERS --------
 
  # ------- MODULATION PARAMETERS --------
Line 65: Line 65:
 
  # Upsample 1,2 or 4 : 4 delivers the best quality but should not be up to 500KS
 
  # Upsample 1,2 or 4 : 4 delivers the best quality but should not be up to 500KS
 
  UPSAMPLE=2
 
  UPSAMPLE=2
 
+
 
  # ------- ENCODER PARAMETERS --------
 
  # ------- ENCODER PARAMETERS --------
 
+
 
  VIDEO_RESX=1280
 
  VIDEO_RESX=1280
 
  # 16:9 or 4:3
 
  # 16:9 or 4:3
Line 77: Line 77:
 
  let VIDEO_RESY=VIDEO_RESX*3/4 ;;
 
  let VIDEO_RESY=VIDEO_RESX*3/4 ;;
 
  esac
 
  esac
 
+
 
  #Uncomment if don't want to use ratio calculation
 
  #Uncomment if don't want to use ratio calculation
 
  #VIDEO_RESY=1080
 
  #VIDEO_RESY=1080
 
+
 
 
 
  #Only 25 is working well with audio
 
  #Only 25 is working well with audio
 
  VIDEO_FPS=25
 
  VIDEO_FPS=25
Line 88: Line 87:
 
  PCR_PTS=200000
 
  PCR_PTS=200000
 
  #VIDEO INPUT
 
  #VIDEO INPUT
 
+
 
  #Could be  VIDEOSOURCE_PICAMERA, VIDEOSOURCE_USB_CAM , VIDEOSOURCE_IP
 
  #Could be  VIDEOSOURCE_PICAMERA, VIDEOSOURCE_USB_CAM , VIDEOSOURCE_IP
 
  VIDEOSOURCE=VIDEOSOURCE_IP
 
  VIDEOSOURCE=VIDEOSOURCE_IP
Line 94: Line 93:
 
  VIDEOSOURCE_IP_ADRESS=239.255.42.42
 
  VIDEOSOURCE_IP_ADRESS=239.255.42.42
 
  VIDEOSOURCE_IP_PORT=5004
 
  VIDEOSOURCE_IP_PORT=5004
 
+
 
  # H264 or H265
 
  # H264 or H265
 
  CODEC=H265
 
  CODEC=H265
  
 
Most of this is self-explanatory.  Note that "short frames" do not work.
 
Most of this is self-explanatory.  Note that "short frames" do not work.

Revision as of 22:03, 15 May 2019

This page is a starting point for resources for using the Jetson Nano to drive a LimeSDR to transmit DATV.

G8GKQ's Installation Procedure

To start with, you need a Jetson Nano, a 32 GB SD Card (Sandisk Ultra 10 recommended), a 4A 5V PSU with a 2.1mm power plug, a 0.1 inch jumper, an HDMI monitor, a USB Mouse and a USB keyboard.

Download the Jetson Nano disk image to a PC and unzip it. Use Win32 Disk Imager or Etcher to write it to your SD Card.

Fit the jumper link to the Nano PCB to select the use of the 2.1mm power socket, insert the SD Card, connect the monitor, keyboard and mouse. Connect the Nano to your home network and then connect the power and turn it on. Go through the NVIDIA start up routine so that you have a working Nano connected to your network. I used the username "nano" and the password "jetson". These are weak and obvious and should only be used on private networks, but make scripting easy.

Right-click on the desktop and open a terminal window. Run the following commands. You will need to enter the password occasionally.

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install git htop nano vlc

You are now ready to install the DATV software.

Installing DATV Software

Download and install the software from F5OEO's repository:

git clone https://github.com/F5OEO/dvbsdr
cd dvbsdr
./install.sh

Preparing the LKV373A HDMI Device

This is probably the most difficult part of the installation. More details to follow, but I upgraded the firmware (not encoder) to 20160427 using the instructions here: https://www.yodeck.com/docs/display/YO/Creating+a+Video-Wall+with+Yodeck#CreatingaVideo-WallwithYodeck-J.ConfiguringtheLKV373ASenderunit . I also set the unit to factory defaults, but did not change any other settings.

At various times during the LKV373A set-up, it had the following IP addresses: 192.168.1.238, 10.1.0.99, 10.1.2.99, and 169.254.113.227.

The address for the stream is almost always udp://@239.255.42.42:5004 (you can paste this into VLC on a PC and watch the stream). Note that you cannot paste it into VLC on the Jetson Nano - for some reason it does not work.


Modifying the Scripts

To transmit using the Nano, you will need to plug a LimeSDR Mini into it. You will also need to modify the script ~/dvbsdr/scripts/jetson_encode.sh. The lines needing modification are here:

#!/bin/bash

# *********************************************************************
# ************** ENCODE AND MODULATE FOR JETSON NANO ******************
# ************** (c)F5OEO April 2019                 ******************
# *********************************************************************

CALL=G8GKQ
# ------- MODULATION PARAMETERS --------
# 1/4,1/3,2/5,1/2,3/5,2/3,3/4,4/5,5/6,8/9,9/10 for DVB-S2 QPSK.
# 3/5,2/3,3/4,5/6,8/9,9/10 for DVB-S2 8PSK
source ./include/modulateparam.sh
FREQ=2409.25
SYMBOLRATE=500
FECNUM=1
FECDEN=2
#DVBS,DVBS2
MODE=DVBS2
#QPSK,8PSK,16APSK,32APSK
CONSTELLATION=QPSK
GAIN=0.8
# $LONG_FRAME,$SHORT_FRAME
TYPE_FRAME=$LONG_FRAME
# $WITH_PILOTS,WITHOUT_PILOTS
PILOTS=$WITHOUT_PILOTS
# Upsample 1,2 or 4 : 4 delivers the best quality but should not be up to 500KS
UPSAMPLE=2

# ------- ENCODER PARAMETERS --------

VIDEO_RESX=1280
# 16:9 or 4:3
RATIO=16:9
case "$RATIO" in
"16:9")
let VIDEO_RESY=VIDEO_RESX*9/16 ;;
"4:3")
let VIDEO_RESY=VIDEO_RESX*3/4 ;;
esac

#Uncomment if don't want to use ratio calculation
#VIDEO_RESY=1080

#Only 25 is working well with audio
VIDEO_FPS=25
#Gop Size 1..400 (in frame) 
VIDEO_GOP=100
PCR_PTS=200000
#VIDEO INPUT

#Could be  VIDEOSOURCE_PICAMERA, VIDEOSOURCE_USB_CAM , VIDEOSOURCE_IP
VIDEOSOURCE=VIDEOSOURCE_IP
#VIDEOSOURCE=VIDEOSOURCE_PICAMERA
VIDEOSOURCE_IP_ADRESS=239.255.42.42
VIDEOSOURCE_IP_PORT=5004

# H264 or H265
CODEC=H265

Most of this is self-explanatory. Note that "short frames" do not work.