Sunday, August 30, 2020

YAAC is not Yak


YAAC is not Yak but Gnu, you really ought to k-now wa-who's wa-who. YAAC is - Yet Another APRS Client written in Java under GNU license. YAAC, I'm quoting here - "can be used as a stand-alone APRS client, an APRS RF-Internet gateway (I-Gate), or as a AX.25 digipeater". It doesn't matter what does this even mean but this app can actually be used to display multiple weather sondes at the same time on a map.

Monday, August 10, 2020

How to receive and decode multiple weather sondes with only one RTL-SDR receiver (Part 2)

As I finished the first article I got a tip from Zilog80 that he has finished a preliminary version of his iq_server concept. iq_server is a kind of a channelizer that allows clients to connect over TCP and request decimated baseband IQ stream of floats for a specific frequency offset. I was really excited to learn about his work because it would allow to allocate/dispose decoding processes upon request dynamically!

Thursday, August 6, 2020

How to receive and decode multiple weather sondes with only one RTL-SDR receiver

Note: there's part 2 to this article with the script updated for performance

It could sound strange but I haven't seen a simple solution that would allow me to receive and decode multiple weather sondes at the same time with only one receiver. dxlAPRS software has a channelizer if I'm not mistaken but the software itself is too complex and is designed for things I'm not even interested in. auto-rx on the other hand would require a receiver per frequency. But is it a problem to get me more RTL-SDR dongles to receive as many sondes as I like at the same time? No, getting an RTL-SDR dongle is not a problem, the problem is the antenna - each dongle would require one. So either I would have to install as many antennas as dongles or I would have to use an antenna splitter. And without an amplifier (LNA) a splitter would reduce signal power by a number of its outputs. So both solutions would require additional hardware and investments. But then I had an idea that it should be possible to build a very simple (and very inefficient of course) channelizer even in bash by multiplexing IQ samples baseband stream into multiple decoding processes.

Sunday, May 24, 2020

Radiosonde Hunting


There are over hundred of weather sondes sent over the Europe each day from different locations for weather forecasts and other scientific or military purposes. Weather sondes are expendable electronic devices to measure wind speed, air temperature, humidity and pressure. Sondes attached to a balloon filled with hydrogen or helium ascent up into the stratosphere where the balloon bursts and the sonde falls down back to earth with a parachute. 

Sunday, June 24, 2018

How to collect wireless sensors readings using rtl_433 and display them using OpenWrt

Goal: to use an OpenWrt capable router to receive wireless sensors reading and log them using OpenWrt luci-app-statistics module.
Why: because my router is always on anyway, so why not to use it to also log wireless sensors readings?
What is needed?
  • A router (or any other device) with USB port(s) that is supported by OpenWrt
  • A RTL-SDR dongle
  • Wireless temperature/humidity sensors supported by the rtl_433 application
Note: I’m referring to the old OpenWrt project name, which is currently called LEDE, which in turn will be called OpenWrt again. It’s because of the nonsense they started some time ago by forking the project and calling it LEDE because they couldn’t agree on which side they should start counting bits. Some of them there little-endians and the others big-endians. Finally they have agreed to use both approaches and now they are busy merging everything back together and use the good old name [sic!]. So the next release is supposed to be called OpenWrt as their branch name suggest. At the moment this branch is not usable but maybe it will be released at the end of the year. It is still not known which year should it be…

Thursday, January 4, 2018

A simple apt-get based script to get upgradable packages change logs

I do upgrade packages manually on my machine because I want to control when and what to upgrade. Security freaks could argue that it is not secure not to update computers frequently but I believe that chances to get hacked because of an outdated package are less than receive an upgrade that bricks your computer. The recent Canonical fuck up with activating experimental Intel SPI drivers in kernel that bricked some Lenovo laptops is a very good example. Another reason is the time needed to upgrade packages because apt-get is really slow. So basically I need to check what has been changed and only upgrade if really needed.

Saturday, April 29, 2017

How to Connect the rtl_433 to a remote rtl_tcp server

One of the issues with the rtl_433 application is that it is not possible to connect it to a remote rtl_tcp server using syntax supported by other SDR application like gqrx. One of proposed solutions is to use the TCP enabled version of the librtlsdr which is a bit complicated. There's actually a much simpler solution.

Saturday, December 3, 2016

How to create gists from the command line


I was a bit astonished that I couldn't find a working example written in bash on the net that would create gists on the github from the command line. Some examples didn't work at all because they were using old github API or because the text escaping weren't properly implemented. The rest didn't have the functionality I needed.

Thursday, September 8, 2016

Visualization of live data streams with the gnuplot and bash (Part 2)

In my first article I have demonstrated the gnuplotwindow.sh script and other utilities to feed the gnuplot with live data streams. Shown scripts are easy to use and if combined together they build powerful chains of data filters. The only problem with the script is that it can only display a continuous data stream updating the plot with each new incoming data sample. To display even more complex data like scatter or 3D plots a different approach of data feeding is needed. It would be necessary to update the plot blockwise and input data should also be fed in blocks. This new concept didn't match well with the gnuplotwindow.sh script so I have written a new script because mixing both concepts in one script would make it unnecessary complex and unmaintainable. 

Sunday, May 22, 2016

Xubuntu 16.04 LTS minimal installation

[Image]

Here is the next article from my "Minimal Xubunu Installation" serie. This time I'll be installing Xubuntu 16.04 LTS codename Xenial Xerus. Please read to the end before you start with installation.