kopia lustrzana https://github.com/F5OEO/WsprryPi
dd05d35c61 | ||
---|---|---|
README | ||
gpl-2.0.txt | ||
wspr | ||
wspr.c |
README
Raspberry Pi bareback LF/MF/HF/VHF WSPR transmitter <pe1nnz@amsat.org> Makes a very simple WSPR beacon from your RasberryPi by connecting GPIO port to Antanna (and LPF), operates on LF, MF, HF and VHF bands from 0 to 250 MHz. Credits: Credits goes to Oliver Mattos and Oskar Weigl who implemented PiFM [1] based on the idea of exploiting RPi DPLL as FM transmitter. Dan MD1CLV combined this effort with WSPR encoding algorithm from F8CHK, resulting in WsprryPi a WSPR beacon for LF and MF bands. Guido PE1NNZ extended this effort with DMA based PWM modulation of fractional divider that was part of PiFM, allowing to operate the WSPR beacon also on HF and VHF bands. [1] PiFM code from http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter To use: In order to transmit legally, a HAM Radio License is required for running this experiment. The output is a square wave so a low pass filter is REQUIRED. Connect a low-pass filter to GPIO4 (GPCLK0) and Ground pins on your Raspberry Pi, connect an antenna to the LPF. The GPIO4 and GND pins can be found on header P1 pin 7 and 9 respectively, the pin closest to P1 label is pin 1 and its 3rd and 4th neighbour is pin 7 and 9 respectively, see this link for pin layout: http://elinux.org/RPi_Low-level_peripherals The expected power output is 10mW (+10dBm) in a 50 Ohm load. This looks neglible, but when connected to a simple dipole antenna this may result in reception reports ranging up to several thousands of kilometers. This software is using system time to determine the start of a WSPR transmissions, so keep the system time synchronised within 1sec precision, i.e. use NTP network time synchronisation or set time manually with date command. Reception reports are logged on Weak Signal Propagation Reporter Network: http://wsprnet.org/drupal/wsprnet/spots Frequency calibration is REQUIRED to ensure that the WSPR transmission occurs within the 200 Hz narrow band. The reference crystal on your RPi might have an frequency error (which in addition is temperature dependent). To calibrate, the frequency might be manually corrected on the command line or by changing the CAL_PLL_CLK value in the code. A practical way to calibrate is to tune the transmitter on the same frequency of a medium wave AM broadcast station; keep tuning until zero beat (the constant audio tone disappears when the transmitter is exactly on the same frequency as the broadcast station), and determine the frequency difference with the broadcast station. This is the frequency error that can be applied for correction while tuning on a WSPR frequency. Installation: Open a terminal and execute the following commands: sudo apt-get install git git clone https://github.com/threeme3/WsprryPi.git cd WsprryPi Usage: sudo ./wspr <callsign> <locator> <power in dBm> <frequency in Hz> e.g.: sudo ./wspr K1JT FN20 10 7040074 WSPR is used on the following frequencies (local restriction may apply): LF 137400 - 137600 MF 475600 - 475800 160m 1838000 - 1838200 80m 3594000 - 3594200 60m 5288600 - 5288800 40m 7040000 - 7040200 30m 10140100 - 10140300 20m 14097000 - 14097200 17m 18106000 - 18106200 15m 21096000 - 21096200 12m 24926000 - 24926200 10m 28126000 - 28126200 6m 50294400 - 50294600 4m 70092400 - 70092600 2m 144490400 -144490600 Compile: gcc -lm -std=c99 wspr.c -owspr