====== 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.