pull/86/head
Tom Swartz 2017-10-26 17:13:38 -04:00
rodzic 38079ca8bc
commit a153026645
1 zmienionych plików z 20 dodań i 14 usunięć

Wyświetl plik

@ -5,6 +5,8 @@ Before you transmit, know your laws. **rpitx** has not been tested for complianc
_Created by Evariste Courjaud F5OEO. Code is GPL_
# Installation
Assuming a standard install of Raspbian:
```sh
git clone https://github.com/F5OEO/rpitx
cd rpitx
@ -13,13 +15,13 @@ cd rpitx
./install.sh
```
# Hardware
Plug a wire on GPIO 18, means Pin 12 of the GPIO header ([header P1](http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29)). This acts as the antenna. The optimal lenght of the wire depends the frequency you want to transmit on, but it works with a few centimeters for local testing.
Plug a wire on GPIO 18, means Pin 12 of the GPIO header ([header P1](http://elinux.org/RPi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29)). This acts as the antenna. The optimal length of the wire depends the frequency you want to transmit on, but it works with a few centimeters for local testing.
# Short manual
## General
**rpitx** is the main software to transmit. It allows to transmit from:
- **IQ** files *.iq (can be generated by external software like [GNU Radio](http://gnuradio.org/)).
- **Frequency/Time** files *.ft (generally used to easily implement digital modes)
- **Frequency/Time** files *.ft (generally used to easily implement digital modes)
Usage:
```
@ -27,23 +29,23 @@ rpitx [-i File Input][-m ModeInput] [-f frequency output] [-s Samplerate] [-l] [
-m {IQ(FileInput is a Stereo Wav contains I on left Channel, Q on right channel)}
{IQFLOAT(FileInput is a Raw float interlaced I,Q)}
{RF(FileInput is a (double)Frequency,Time in nanoseconds}
{RFA(FileInput is a (double)Frequency,(int)Time in nanoseconds,(float)Amplitude}
{VFO (constant frequency)}
{RFA(FileInput is a (double)Frequency,(int)Time in nanoseconds,(float)Amplitude}
{VFO (constant frequency)}
-i path to File Input
-f float frequency to output on GPIO_18 pin 12 in khz : (130 kHz to 750 MHz),
-l loop mode for file input
-p float frequency correction in parts per million (ppm), positive or negative, for calibration, default 0.
-d int DMABurstSize (default 1000) but for very short message, could be decrease
-d int DMABurstSize (default 1000) but for very short message, could be decrease
-c 1 Transmit on GPIO 4 (Pin 7) instead of GPIO 18
-h help (this help).
```
## Modulation samples
Some modulations are included in this repository and can be easily extended. These scripts create files which can be used by rpitx.
Some output in IQ (like ssb) other in FT (like sstv).
Some output in IQ (like SSB) other in FT (like SSTV).
### SSB modulation
**pissb** converts an audio file (Wav 48KHZ mono only!) to SSB (USB right now) and outputs it
### Single Side Band modulation (SSB)
**pissb** converts an audio file (Wav 48KHZ mono only!) to [SSB](https://www.sigidwiki.com/wiki/Single_Sideband_Voice) (Upper Side Band right now) and outputs it
to an IQ file.
Assuming your audio file is in your current working directory:
```sh
@ -55,7 +57,7 @@ sudo ./rpitx -m IQ -i ssbIQ.wav -f 50000 -l
```
A sample script `testssb.sh` is included.
### FM modulation
### Frequency Modulation (FM)
**pifm** converts an audio file (Wav, 48KHz, 1 channel, pcm_s16le codec) to Narrow band FM (12.5khz excursion) and outputs it to a .ft file.
Assuming your audio file is in your current working directory
```sh
@ -67,8 +69,10 @@ sudo ./rpitx -m RF -i fm.ft -f 100000 -l
```
A sample script : `testfm.sh` is included.
### SSTV
**pisstv** converts an RGB picture to an SSTV .ft file.
### Slow Scan Television (SSTV)
**pisstv** converts an RGB picture to a [SSTV](https://www.sigidwiki.com/wiki/SSTV) .ft file.
The SSTV module will transmit using the Martin M1 encoding mode.
If you have a JPEG picture 320x256 you can convert it to an RGB picture with:
```sh
imagemagick convert -depth 8 picture.jpg picture.rgb
@ -83,12 +87,14 @@ sudo ./rpitx -m RF -i picture.ft -f 100000
```
A sample script `snapsstv.sh` grabs a picture from a PiCamera and then transmits it on 50.105 MHz.
### FSQ
**pifsq** allows to send a text with the new FSQ modulation
### Fast Simple QSO (FSQ)
**pifsq** allows to send a text with the new [FSQ](https://www.sigidwiki.com/wiki/FSQ) modulation
It is still under development.
A sample script `testfsq.sh` allows to send a text with FSQ
### VFO
### Variable Frequency Offset (VFO)
A **VFO** mode is provided to allows precise frequency resolution.
For example to set a carrier on 100MHz (please set a correct frequency to be legal)
```sh