Updated systemd service, and made documentation point to the github wiki.

pull/15/head
Mark Jessop 2017-12-17 18:29:32 +10:30
rodzic 3fbba6fb59
commit 625be57fac
3 zmienionych plików z 28 dodań i 159 usunięć

121
README.md
Wyświetl plik

@ -1,113 +1,16 @@
RS
==
### Automatic Radiosonde RX Station Extensions ###
This fork of rs1279's excellent RS codebase is intended to produce a set of utilities to allow automatic
reception and uploading of radiosonde positions to APRS-IS and Habitat.
Eventually I hope to have an automatic receive station installed at a strategic location in the
Adelaide South Australia area, to better assist with gathering of RS41 radiosondes once they start being
launched.
This fork of [rs1279's RS](https://github.com/rs1729/RS) codebase provides a set of utilities ('auto_rx') to allow automatic reception and uploading of radiosonde positions to multiple services, including:
* The [Habitat High-Altitude Balloon Tracker](https://tracker.habhub.org)
* APRS-IS (for display on sites such as [aprs.fi](https://aprs.fi)
* [OziPlotter](https://github.com/projecthorus/oziplotter), for mobile radiosonde chasing.
Currently we support the following radiosonde types:
* Vaisala RS92SGP
* Vaisala RS41SGP
Support for other radiosondes may be added as required (send us sondes to test with!)
The key changes from the RS master codebase are:
* Modification of rs92gps and rs41 for easier output parsing
* Addition of the auto_rx folder, containing automatic RX scripts
## Installing on a pi
Below are assuming running as root and installing to /root/radiosonde_auto_rx
### Build auto_rx and deps
```
apt-get update
apt-get install python-numpy python-crcmod sox rtl-sdr
git clone https://github.com/projecthorus/radiosonde_auto_rx.git /root/radiosonde_auto_rx
cd radiosonde_auto_rx/auto_rx
./build.sh
```
### Configure auto_rx
```
cp station.cfg.example station.cfg
nano station.cfg
```
### Blacklist Kernel Drivers
```
cat << EOF > /etc/modprobe.d/rtl-sdr-blacklist.conf
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832
blacklist dvb_usb_rtl2832u
blacklist dvb_usb
EOF
```
### Setup Systemd service file
```
cp auto_rx.service /etc/systemd/system/auto_rx.service
systemctl enable auto_rx
systemctl start auto_rx
```
### Watching the log
```
journalctl -u auto_rx.service -f -n 100
```
### Restarting or stopping the service
```
systemctl stop auto_rx
systemctl start auto_rx
```
#### Wetterballon-Radiosonden 400-406 MHz
* Decoder: <br />
(compile: `gcc <decoder.c> -lm -o <decoder>`)
`RS/rs92`: RS92-SGP, RS92-AGP <br />
`RS/rs41`: RS41-SG(P) <br />
`RS/dropsonde`: RD94 <br />
`RS/m10`: M10 <br />
`RS/dfm`: DFM-06, DFM-09 <br />
`RS/imet`: iMet-1-AB, iMet-1-RS <br />
`RS/c34`: C34, C50 <br />
`RS/lms6`: LMS6 <br />
`RS/mk2a`: MkIIa <br />
`RS/meisei`: Meisei <br />
`RS/rs_module`: separate Module, z.Z. RS92, RS41 <br />
Die Decoder erwarten das FM-demodulierte wav-Audio des empfangenen Signals (kann auch mit
sox gestreamt werden). Die weitere Demodulation ist sehr einfach gehalten (Nulldurchgaenge),
so dass die Decodierung empfindlich auf Stoerungen reagiert und ein gutes Signal braucht.
Oft hilft schon, z.B. mit sox einen lowpass-Filter zwischenzuschalten (fuer C34/C50 und iMet-1-RS
wird DFT verwendet). Je nach Empfangsgeraet oder SDR-Software kann das Signal invertiert sein
(ebenso fuer neuere DFM-09 gegenueber DFM-06).
`RS/ecc` - error correction codes (Reed-Solomon/BCH) <br />
* Diverses:
`RS/IQ`: Beispiele für Behandlung von IQ-Signalen <br />
`RS/scan`: einfaches Beispiel, wie man mit rtl_sdr-tools automatisch scannen kann <br />
* Videos & Bilder:
https://www.youtube.com/user/boulderplex
https://www.flickr.com/photos/116298535@N06/albums/72157644377585863
* erläuternde Beiträge:
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=525#p50955
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=550#p64707
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=700#p75202
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=1000#p87987
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=1000#p88325
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=1000#p88845
http://www.fingers-welt.de/phpBB/viewtopic.php?f=14&t=43&start=1850#p155677
* Addition of the auto_rx directory, containing the auto_rx automatic reception software
* Modifications to the rs92ecc and rs41ecc decoders, to provide telemetry output in JSON format.
Refer to the wiki for [installation and setup instructions](https://github.com/projecthorus/radiosonde_auto_rx/wiki).

Wyświetl plik

@ -1,50 +1,16 @@
Radiosonde Auto-RX Utilities
============================
This fork of rs1279's excellent RS codebase is intended to produce a set of utilities to allow automatic
reception and uploading of radiosonde positions to APRS-IS and Habitat.
Eventually I hope to have an automatic receive station installed at a strategic location in the
Adelaide South Australia area, to better assist with gathering of RS41 radiosondes once they start being
launched.
### Automatic Radiosonde RX Station Extensions ###
This fork of [rs1279's RS](https://github.com/rs1729/RS) codebase provides a set of utilities ('auto_rx') to allow automatic reception and uploading of radiosonde positions to multiple services, including:
* The [Habitat High-Altitude Balloon Tracker](https://tracker.habhub.org)
* APRS-IS (for display on sites such as [aprs.fi](https://aprs.fi)
* [OziPlotter](https://github.com/projecthorus/oziplotter), for mobile radiosonde chasing.
This folder contains a collection of Python scripts used to automatically scan for and decode Vaisala RS92 and RS41 radiosondes.
It is intended to be an improvement upon the 'rtlsdr_scan.pl' script, and will run happily on a Raspberry Pi 3.
Currently we support the following radiosonde types:
* Vaisala RS92SGP
* Vaisala RS41SGP
Support for other radiosondes may be added as required (send us sondes to test with!)
Features:
* Automatic downloading of GPS Ephemeris or Almanac data, if the sonde is a Vaisala RS92.
* Scanning and detection of Vaisala RS92 and RS41 radiosondes over a user-definable frequency range, using the rs_detect, rs92mod and rs41mod utilities from the master repository.
* Uploading to:
* APRS, with user-definable position comment.
* Habitat
* OziPlotter (Project Horus Offline Mapping)
Dependencies
------------
* Currently runs on Python 2.7 (yeah, I know). Will probably work under Python 3.
* Needs the following python packages (get them with `pip install <package>`)
* numpy
* crcmod
* Also needs (grab from apt-get):
* sox
* If you wish to use an RTLSDR with a bias tee, you will need a version of rtl-sdr which is newer than 2017-06-11. This may me having to grab the latest git version from: https://github.com/osmocom/rtl-sdr
Usage
-----
* Run `sh build.sh` to build needed binaries from elsewhere in this repository.
* Make a copy of station.cfg.example as station.cfg, and edit as appropriate.
* Run `python auto_rx.py` to start the scan.
* Wait. Status will be printed to stdout, and also to a log file in log/<timestamp>.log
* By default the script will exit after 180 minutes (as by this point we expect the sonde to have landed). You can adjust this with the -t command line option.
Suggested Crontab Entries
-------------------------
Since sonde launches occur pretty much simultaneously worldwide, you can start the receiver script with crontab.
I suggest the following crontab entries, noting that you need to ensure the PATH env-vars are set for the script to find rtl_power and rtl_fm.
`PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games`
`15 11 * * * /home/<your_user>/RS/auto_rx/auto_rx.sh`
`15 23 * * * /home/<your_user>/RS/auto_rx/auto_rx.sh`
The key changes from the RS master codebase are:
* Addition of the auto_rx directory, containing the auto_rx automatic reception software
* Modifications to the rs92ecc and rs41ecc decoders, to provide telemetry output in JSON format.
Refer to the wiki for [installation and setup instructions](https://github.com/projecthorus/radiosonde_auto_rx/wiki).

Wyświetl plik

@ -3,11 +3,11 @@ Description=auto_rx
After=syslog.target
[Service]
ExecStart=/usr/bin/python /root/radiosonde_auto_rx/auto_rx/auto_rx.py -t 0
ExecStart=/usr/bin/python /home/pi/radiosonde_auto_rx/auto_rx/auto_rx.py -t 0
Restart=always
RestartSec=3
WorkingDirectory=/root/radiosonde_auto_rx/auto_rx/
User=root
WorkingDirectory=/home/pi/radiosonde_auto_rx/auto_rx/
User=pi
[Install]
WantedBy=multi-user.target