-
Notifications
You must be signed in to change notification settings - Fork 77
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from davecrump/master
Initial BATC Load
- Loading branch information
Showing
57 changed files
with
3,364 additions
and
775 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,81 +1,42 @@ | ||
 | ||
# rpidatv | ||
**rpidatv** is a digital television transmitter for Raspberry Pi (B,B+,PI2,PI3,Pizero) which output directly to GPIO. | ||
**rpidatv** is a digital television transmitter for Raspberry Pi (B,B+,PI2,PI3,Pizero) which outputs directly to GPIO. This version has been developed for use with an external synthesized oscillator and modulator/filter board. | ||
*(Created by Evariste Courjaud F5OEO. Code is GPL)* | ||
|
||
# Installation | ||
Install a Raspbian Lite : ([Raspbian Lite](http://www.raspberrypi.org/downloads/raspbian/)) | ||
# Installation for BATC Version | ||
|
||
```sh | ||
$ wget https://raw.githubusercontent.com/F5OEO/rpidatv/master/install.sh | ||
$ chmod +x install.sh | ||
$ ./install.sh | ||
``` | ||
The preferred installation method only needs a Windows PC connected to the same (internet-connected) network as your Raspberry Pi. | ||
|
||
# Hardware | ||
Plug a wire on GPIO 12, means Pin 32 of the GPIO header : this act as the antenna. Length depend on transmit frequency, but with few centimeters it works for local testing. | ||
- First download the November 2016 release of Raspbian Jessie Lite on to your Windows PC from here http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-11-29/. | ||
|
||
# Modulator | ||
**rpidatv** is located in rpidatv/bin folder | ||
``` | ||
rpidatv -2.0.0 | ||
Usage: | ||
rpidatv -i File Input -s Symbolrate -c Fec [-o OutputMode] [-f frequency output] [-l] [-p Power] [-h] | ||
-i path to Transport File Input | ||
-s SymbolRate in KS (125-4000) | ||
-c Fec : 1/2 or 3/4 or 5/6 or 7/8 | ||
-m OutputMode | ||
{RF(Modulate QSK in RF need -f option to set frequency)} | ||
{IQ(Output QPSK I/Q} | ||
{PARALLEL(Output parallel (DTX1,MINIMOD..)} | ||
{IQWITHCLK(Output I/Q with CLK (F5LGJ)} | ||
{DIGITHIN (Output I/Q for Digithin)} | ||
-f Frequency to output in RF Mode in MHZ | ||
-l loop file input | ||
-p Power on output 1..7 | ||
-x GPIO Pin output for I or RF {12,18,40} | ||
-y GPIO Pin output for Q {13,19,41,45} | ||
-h help (print this help). | ||
Example : sudo ./rpidatv -i sample.ts -s 250 -c 1/2 -o RF -f 437.5 -l | ||
``` | ||
# Transport stream | ||
**rpidatv** needs a DVB transport stream in input. In the past, ffmpeg was used to generate transport stream. Because ffmpeg is not completely DVB compliant and induces latency, an other tool is proposed : **avc2ts** | ||
- Unzip the image and then transfer it to a Micro-SD Card using Win32diskimager https://sourceforge.net/projects/win32diskimager/ | ||
|
||
# H264 encoder and transport stream encapsulator | ||
**avc2ts** is located in rpidatv/bin folder | ||
``` | ||
avc2ts -1.0.0 | ||
Usage: | ||
rpi-avc2ts -o OutputFile -b BitrateVideo -m BitrateMux -x VideoWidth -y VideoHeight -f Framerate -n MulticastGroup [-d PTS/PCR][-v][-h] | ||
-o path to Transport File Output | ||
-b VideoBitrate in bit/s | ||
-m Multiplex Bitrate (should be around 1.4 VideoBitrate) | ||
-x VideoWidth (should be 16 pixel aligned) | ||
-y VideoHeight (should be 16 pixel aligned) | ||
-f Framerate (25 for example) | ||
-n Multicast group (optionnal) example 230.0.0.1:10000 | ||
-d Delay PTS/PCR in ms | ||
-v Enable Motion vectors | ||
-i IDR Period | ||
-t TypeInput {0=Picamera,1=InternalPatern,2=USB Camera,3=Rpi Display,4=VNC} | ||
-e Extra Arg: | ||
- For usb camera name of device (/dev/video0) | ||
- For VNC : IP address of VNC Server. Password must be datv | ||
-p Set the PidStart: Set PMT=PIDStart,Pidvideo=PidStart+1,PidAudio=PidStart+2 | ||
-s Set Servicename : Typically CALL | ||
-h help (print this help). | ||
Example : ./rpi-avc2ts -o result.ts -b 1000000 -m 1400000 -x 640 -y 480 -f 25 -n 230.0.0.1:1000 | ||
``` | ||
- Before you remove the card from your Windows PC, look at the card with windows explorer and go to the \boot directory. Create a new empty file called ssh in the \boot directory by right-clicking, selecting New, Text Document, and then change the name to ssh (not ssh.txt). You should get a window warning about changing the filename extension. Click OK. If you do not get this warning, you have created a file called ssh.txt and you need to rename it ssh. | ||
|
||
- If you have a Pi Camera and/or touchscreen display, you can connect them now. Power up the Pi with the new card inserted, and a network connection. No keyboard or HDMI display are required. | ||
|
||
- Find the IP address of your Raspberry Pi using an IP Scanner (such as Advanced IP Scanner http://filehippo.com/download_advanced_ip_scanner/ for Windows, or Fing on an iPhone) to get the Pi's IP address | ||
|
||
- From your windows PC use Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) to log in to the IP address that you noted earlier. | ||
|
||
- Log in (user: pi/password: raspberry) then cut and paste the following code in, one line at a time: | ||
|
||
# Console interface | ||
A console interface is provided under rpidatv/scripts | ||
```sh | ||
$ /home/pi/rpidatv/scripts/gbmenu.sh | ||
wget https://raw.githubusercontent.com/davecrump/rpidatv/master/install.sh | ||
chmod +x install.sh | ||
./install.sh | ||
``` | ||
# Touchscreen interface | ||
 | ||
A graphical interface is provided under rpidatv/bin/ folder | ||
- For French menus and keyboard, replace the last line above with | ||
```sh | ||
$ /home/pi/rpidatv/bin/rpidatvgui | ||
./install.sh fr | ||
``` | ||
|
||
- When it has finished, accept the reboot offered or type "sudo reboot now", log in again and the console menu should be displayed. If not, you can start the software by typing: | ||
|
||
```sh | ||
/home/pi/rpidatv/scripts/menu.sh menu | ||
``` | ||
|
||
You can now explore the menu options and play. | ||
|
||
I succeeded in generating a direct RF output (from GPIO pin 32) on 437 MHz at 333KS using the on-board camera as the source; it would not work reliably at higher SRs. The big win for me is that I could feed the I and Q signals from pins 32 and 33 directly into the LC filter on my old DigiLite modulator and generate a 2MS QPSK H264 DVB-S signal from the on-board camera. Some adjustment of the bias is required as the I and Q signals from the Pi are 3.3v, not 5v as provided by the DigiLite encoder. |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.