====== User guide ======
git clone https://jenda.hrach.eu/p/kukuruku
We test the client on Debian 9 and the server on Debian 8, Debian 9 and Ubuntu 14.04. Howeverer, it should run on any distribution and probably on other UNIX systems too.
===== Server =====
Requirements:
* [[http://sdr.osmocom.org/trac/wiki/GrOsmoSDR|gr-osmosdr]]
* [[https://github.com/protobuf-c/protobuf-c/|protobuf-c-compiler]] (it is probably in your distribution repository)
* libprotobuf-c-dev in Debian 9 and newer
cd server
make
./init.sh rtl=0 2048000 10 127.0.0.1 # osmosdr args, samplerate, ppm, listen address
There is no security in the protocol. Use ipsec, ssh tunneling, openvpn, etc.
===== Client =====
Requirements:
* python-gtk2
* GnuRadio
* protobuf-compiler
* python-protobuf
* python-pygame
grcc was broken in 3.7.10, and was [[http://gnuradio.org/redmine/issues/927|fixed recently]].
Build it and install it:
cp -a .kukuruku ~
# edit path to modes directory in ~/.kukuruku/modes
cd client
make
./kukuruku-gui.py your-server:4444
FM demodulator is builtin, for other modes, you will need to install additional packages:
==== Tetra ====
You need "tetra-rx" in your %%$PATH%%. Install [[:project:sdr:tetra]].
It dumps traffic data to /tmp/tetra-dumpdir. You can decode the channel with
codec/c-code/cdecoder traffic_666_1.out cdata
and then create a .cdata.bz2 with
cat cdata | gr-pack | bzip2 > cdata.bz2
You can play the resulting file with cdp.
==== Tetrapol ====
You need "tetrapol_dump" in your %%$PATH%%. Install [[project:tetrapol:start]].
==== RS92-SGPL Weather sonde ====
You need "rs92ecc" (for old RS92 sondes) and/or "rs41ecc" (for modern RS41 sondes) in your %%$PATH%%. Install https://github.com/rs1729/RS.
Additionally, you need a fresh GPS almanac in /tmp/alma.bin to decode satellite data. You can download it [[http://www.navcen.uscg.gov/?pageName=currentAlmanac&format=sem|here]]. The site denies usage of wget; use empty or Firefox user-agent to get around it.
===== Usage =====
* Right click on frequency to pick a demodulator.
* Ctrl+right click to demodulate from history buffer
* Left click on a running demodulator to fine-tune, drag and drop to retune.
* Scroll on a running demodulator to change filter to narrower/wider.
* Press the "Scale waterfall" button to adjust the dynamic range.
===== libclient =====
You can easily roll out your own client!
import libclient
cl = libclient.client()
cl.connect("machine.example.com", 4444)
cl.set_auto_enable_xlater(True)
cl.create_xlater(frequency, decimation, my_filter, my_demodulator, -1)
See the example in cli.py.