From 1c0bc9df9eba60701cec69565c624fe3d179c275 Mon Sep 17 00:00:00 2001 From: redfast00 Date: Sat, 27 Aug 2016 20:34:27 +0200 Subject: [PATCH] Improved README formatting and wording --- README.md | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Readme.md | 96 -------------------------------------------------- 2 files changed, 103 insertions(+), 96 deletions(-) create mode 100644 README.md delete mode 100644 Readme.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1adf3a0 --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +**rpitx** is a radio transmitter for Raspberry Pi (B, B+, PI2, PI3 and PI zero) that transmits RF directly to GPIO. It can handle frequencies from 5 KHz up to 500 MHz. + +_Created by Evariste Courjaud F5OEO. Code is GPL_ + +# Installation +```sh +git clone https://github.com/F5OEO/rpitx +cd rpitx +# make sure to have access to the internet to download packages +# or download and install them manually (libsndfile1-dev and imagemagick) +./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. + +# 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) + +Usage: +``` +rpitx [-i File Input][-m ModeInput] [-f frequency output] [-s Samplerate] [-l] [-p ppm] [-h] +-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)} +-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 +-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). + +### SSB modulation +**pissb** converts an audio file (Wav 48KHZ mono only!) to SSB (USB right now) and outputs it +to an IQ file. +Assuming your audio file is in your current working directory: +```sh +./pissb audio48mono.wav ssbIQ.wav +``` +You could then transmit it on 50MHz (please set a correct frequency to be legal) +```sh +sudo ./rpitx -m IQ -i ssbIQ.wav -f 50000 -l +``` +A sample script `testssb.sh` is included. + +### FM modulation +**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 +./pifm audio48mono.wav fm.ft +``` +You could then transmit it on 100MHZ (please set a correct frequency to be legal) +```sh +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. +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 +``` +You can then transform it to a .ft file with: +```sh +./pisstv picture.rgb picture.ft +``` +And then transmit it to 100MHZ (please set a correct frequency to be legal) +```sh +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 +It is still under development. +A sample script `testfsq.sh` allows to send a text with FSQ + +### 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 +sudo ./rpitx -m VFO -f 100000 +``` + +# Notes +All rights of the original authors reserved. +Special thanks to Sylvain Azarian F4GKR for improving SSB modulation +Inspired by +* http://pe1nnz.nl.eu.org/2013/05/direct-ssb-generation-on-pll.html +* http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter +* https://github.com/richardghirst/PiBits/pull/18 +* http://www.bellard.org/dvbt/ diff --git a/Readme.md b/Readme.md deleted file mode 100644 index 8a0de01..0000000 --- a/Readme.md +++ /dev/null @@ -1,96 +0,0 @@ -**rpitx** is a radio transmitter for Raspberry Pi (B,B+,PI2,PI3 and Pizero) which transmit RF directly to GPIO 5KHZ to 500MHZ. - - -*(Created by Evariste Courjaud F5OEO. Code is GPL)* -* -

Installation

-git clone https://github.com/F5OEO/rpitx -cd rpitx -make sure to have access to Internet to download packages : libsndfile1-dev and imagemagick otherwise install them manualy -./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 act as the antenna. Length depend on transmit frequency, but with few centimeters it works for local testing. - -

Short manual

- -

General

-**rpitx** is the main software to transmit. It allows to transmit - - from **IQ** files *.iq (could be generated by external software like gnuradio or by some few examples of modulations). - - from **Frequency/Time** files *.ft (generally used implement easily digital modes) - -Usage: - - rpitx [-i File Input][-m ModeInput] [-f frequency output] [-s Samplerate] [-l] [-p ppm] [-h] - -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)} - -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 - -c 1 Transmit on GPIO 4 (Pin 7) instead of GPIO 18 - -h help (this help). - -

Modulation samples

-Some modulations are included in the software and can be easily extended. They create files which could be ingest by rpitx. -Some output in IQ (like ssb) other in FT(like sstv) -

SSB modulation

-**pissb** convert an audio file (Wav 48KHZ mono only!) to SSB (USB right now) and output it on a IQ file. -Assuming your audio file is in the folder -``` -./pissb audio48mono.wav ssbIQ.wav -``` -You could then transmit it on 50MHZ (please set a correct frequency to be legal) -``` -sudo ./rpitx -m IQ -i ssbIQ.wav -f 50000 -l -``` -A sample script : **testssb.sh** is included. -

FM modulation

-**pifm** convert an audio file (Wav, 48KHz, 1 channel, pcm_s16le codec) to Narrow band FM (12.5khz excursion) and output it on a .ft file. -Assuming your audio file is in the folder -``` -./pifm audio48mono.wav fm.ft -``` -You could then transmit it on 100MHZ (please set a correct frequency to be legal) -``` -sudo ./rpitx -m RF -i fm.ft -f 100000 -l -``` -A sample script : **testfm.sh** is included. -

SSTV

-**pisstv** convert a picture(rgb) to a SSTV .ft file -if you have a jpeg picture 320*256 you could transform it to rgb with imagemagick -convert -depth 8 picture.jpg picture.rgb -Then convert to .ft file : -``` -./pisstv picture.rgb picture.ft -``` -And then transmit it to 100MHZ (please set a correct frequency to be legal) -``` -sudo ./rpitx -m RF -i picture.ft -f 100000 -``` -A sample script : **snapsstv.sh** allows to grab a picture from the Picamera and transmit it -

FSQ

-**pifsq** allows to send a text with the new FSQ modulation -It is still in test. -A sample script : **testfsq.sh** allows to send a text with FSQ -

VFO

-A **VFO** mode is provided to allows precise frequency resolution. -Example for generate a carrier on 100MHZ(please set a correct frequency to be legal) -``` -sudo ./rpitx -m VFO -f 100000 -``` -

Notes

-All rights of the original authors reserved. -Special thanks to Sylvain Azarian F4GKR for improving SSB modulation -Inspired by -* http://pe1nnz.nl.eu.org/2013/05/direct-ssb-generation-on-pll.html -* http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter -* https://github.com/richardghirst/PiBits/pull/18 -* http://www.bellard.org/dvbt/ - - -