With the number of cheap RTLSDR devices that let you listen to radio or ham radio, it’s only natural to want to check out each of the repeaters and their use when you go to a new area. In fact, once you have a device set up correctly it is easy to integrate that (or any other command line features) into your project.
To start with I set up a class based on what I added for Hearham uploader – this will make the command run in a separate thread, continuing the process until it is killed. An ongoing process must not be on the same thread as the GUI (in any interface, Java, Android, or GTK…) This is going to use subprocess module as it can make it easier to use an existing utility (rlt_fm command in this case), rather than doing the whole signal processing in Python.
Continue reading “Building a repeater app for Linux, part 5: Subprocess for listening to the radio”
Another important part of many mobile apps is location tracking – there is, fortunately, there is a built in api for most Linux systems called Geoclue that should work… There is even a Python-geoclue package, but after some digging I found that this package does not work in Python3. In fact it’s hard to find examples or documentation, if you look at the files of the package you can see there are some basic docs:
Continue reading “Building a mobile app for Linux, part 4: GPS/mobile tracking”
With a working Linux application, it’s time to test it out on a real (well, virtual) device. Starting up the emulator for debugging in the same way as before, to debug this project I ran:
Continue reading “Building an amateur radio app for Librem Phone, part 3: Responsive on small screens”
In the previous post I showed how to add some icons to an application showing OpenStreetMap, with Python and GTK+. Next, I’ll show how to make a listing of nearest repeaters to selected area. The listing of all repeaters is in the local array, and since there is a .distance(lat,lon) that gives the distance to a point, the list of repeaters can be sorted by closest to a certain point that is selected – in the on_button_release function. The Python Gtk guide shows an example that can be integrated in to the code to add a Listbox. The listbox should be “self.listbox” so various functions can access and change it. Below the other widget/control code, this must be added, within a gtkScrollWindow or adding many items will expand the window awkwardly:
Continue reading “Building an amateur radio app for Linux, part 2”
There are several amateur radio apps like Repeaterbook, but oddly enough no native Linux apps for offline map viewing? Why are all the radio repeater apps for iOS or Android? With the Librem 5 phone coming up, this is going to be an important app to make for Amateur radio enthusiasts! So let’s make the most feature-packed and easy to use repeater app using Python 3 and the osm-gps-map library:
Continue reading “Building an amateur radio app for Linux, part 1”
If you have been keeping up with Python news you will know that Python 2.x will not be supported in 2020 🙁 While it was the default install for many many years it’s time to get your scripts updated if you haven’t yet. As an example, here is how I modernized the ancient Robot Candy Thrower Code:
Continue reading “It’s time to upgrade your code for Python3!”
On page 110 of Professor Stewart’s Casebook of Mathematical Mysteries, he shows a neat visual way of calculating the GCD (Greatest common denominator, aka HCF, Highest common factor. Given a box with sides of two different lengths, draw squares from the lesser side until you can draw no more. Then continue from the corner the other direction. The smallest square has edge length of the GCD!
Continue reading “Euclid’s Doodle – and writing a visualization with Matplotlib”
Usually when you are missing any Python library you happen to want to use, you can install it in Python and have it accessible from your scripts or terminal, simply by using:
pip install <name of package>
Continue reading “Installing Python modules even when they don’t behave… e.g. installing Scikit-image on Ubuntu 16.04”
There are many cheap ($5-20) USB RTL-SDR devices you can find on Newegg or Amazon that have an unexpected extra of being able to pick up broadcast radio. This is a handy feature, and in fact we can even read ham-radio frequencies by changing the bandwidth and frequency to read. There are excellent howtos on the easy installation of GQRX for just listening to the radio and setting your frequency and listening, and that’s a good way to start with testing your device. In this post I’ll show how to read and listen to radio using just Python and the Python RTLSDR library, which will show a lot more detail in how decoding radio works, and lets you run a clean interface to listen or record radio.
Continue reading “Reading Amateur Radio Frequencies with RTLSDR device and Python”
Today we did some up-cycling of political ad signs. After elections these generally go in the trash, but Talent Maker City had a public event to build some cool stuff out of these corrugated plastic boards! (Update- see the howto for version 2 of a durable cargo bicycle box here)
Continue reading “Think outside the box for the most optimal recycling solution.”