A RTLSDR receiver and dump1090 can track planes hundreds of miles away.
As an amateur radio operator and full-time geek, I’ve always been interested in the convergence of technologies, especially when the convergence scratches a few of my itches. One one of my latest hobbies is tracking commercial airliners through their ADS-B broadcasts. It’s a hobby that doesn’t take much time outside of setting it up. In about two hours, I configured a receiver, built an antenna, and set up software that shares what I find with the world, and all for under $30. Here’s how I did it.
The ADS-B protocol is a digital “status update” signal broadcast by airplanes which updates other aircraft around it with important location information and the like. The FAA would eventually like to see ADS-B take the place of ground-based radar but not all airplanes use it yet. Transceivers are still pricey and owners of general aviation aircraft like Cessnas largely haven’t yet adopted the system. There’s an amazing amount of data being sent and anyone with the proper receiver can intercept it (oops, that’s what we called radio reception when I was a Navy cryptologic technician), and that receiver can be dirt-cheap like the RTLSDRs.
Three years ago the radio-geek world was set ablaze when it was discovered that a mass-market DVB-T USB device had the ability to become a software-defined radio, basically a wide-range receiver that can easily decode almost any signal. Hobbyists soon were using these $15 RTLSDR dongles for just about everything, including tracking airplanes. I had a few lying around that weren’t really being used for anything so I hooked one up to my Raspberry Pi
After I had my satellite pole properly set,
it was time to aim the dish. While I had little trouble finding a satellite earlier when I simply stuck the dish on the pole and fiddled a bit, I found it much more difficult to make things work when I added the mount motor. That’s because the motor adds its own
angle to the mix, so you have two dials to set, not just one. When you couple that with an instruction manual often written with poor English it becomes an even greater challenge.
I mounted the motor to the pole, attached the dish to it, and began fiddling. And fiddling. And fiddling some more. I just couldn’t get the receiver to work. The motor needed to be pointed directly south and I worked a long time to get it correct. It didn’t help that I had my TV and receiver all the way inside while I worked. Though I had a “satellite beeper” device which makes a tone when it detects a satellite, I couldn’t get the receiver to do what I wanted.
readers will know that I’m a satellite geek.
I bought a DVB-S
card for my computer five years ago and enjoyed tuning in the few channels I could pull in on a tiny 18″ dish. That didn’t hold my interest, though, because … well, there wasn’t much to see.
For my latest birthday, I decided to get a little more serious into this hobby. I found a Craigslist ad from a local guy who was selling his satellite gear. For about $75, I bought three DVB receivers, a dish, and an LNB. I took the parts home, scratched my head, and wondered if I had the knowledge to put it all together into something that worked. It turns out I did!
I was doing some Internet searches to come up to speed on some satellite TV technology when I came upon this amusing Chinglish description for an amazing set-top box. It combines many of my interests: amusing, over-the-top Chinglish; Linux; and DVB-S satellite set-top boxes.
DreamBox DM7025 is one of the latest in the serials of wares from Dream Multimedia System. It is highly advanced and scientifically ongoing digital satellite catcher which is obtainable at exceedingly low-cost and sound monetary values from the cyberspace. The device has the fullest and greatest capabilities than some other electronic device from the very same make. Continue reading
For the past few weeks I’ve been puzzled by the significant load shown on my MythTV backend generated by the kdvb-fe-0 process. The server was running at 50% load or higher even when there was nothing being recorded.
I poked around and found that the kdvb-fe-0 process is created by the Linux DVB drivers, which is the driver used for my TV capture card. Because this driver is running so close to the kernel I am not quite sure how to troubleshoot it. The software tools I would normally use may not work at this level.
A few months ago I bought a used motherboard with the goal of upgrading my MythTV backend. The upgrade went smoothly from a hardware and operating system point of view but Myth was never the same for some reason. Adding to the confusion was that I could tune and watch channels using the command-line tool mplayer but Myth would never properly scan channels.
After a little tinkering (and Googling) yesterday, I decided to try increasing the scanning timeouts using MythTV-setup. Where the previous 3 second timeout was once adequate, I bumped both the tuning and signal timeouts to 10 seconds. By feeding the channels.conf file I created using atscscan, I avoided having Myth tune through all 83 channels. That mitigated the pain of the longer timeouts. Presto! I successfully added the channels back into Myth.
And boy, do they look good. The previous HDTV signals were good, but they were also spotty. Now that the digital antennas have claimed the top spots on the stations’ transmission towers, the digital signals are coming in rock solid.
Myth should save our sanity a bit at home, as the kids can now watch something other than the DVD shows they’ve seen 1,000 times already!
Ever since I upgraded to an HD capture card in my MythTV backend, I’ve noticed a wide variation in the playback speeds of the recordings it makes. Some play back at normal speed while others play back far too slowly or quickly. It’s frustrating.
I was going to blame MythTV for this craziness until I remembered the dvb-utils application azap. This little app tunes the HD card and dumps the output to a pipe, thus it provides a way of testing the card (and driver) outside of Myth. I’ve never used it before but it seems to be the perfect test tool. It turns out the streams produced by the driver and card exhibit the same synchronization issues I’ve seen in Myth itself. That means Myth isn’t to blame.
But what is? My card or its driver? I suppose the next step is to somehow get Windows running on my server long enough to test the card using the Windows driver. If that works, I know Linux or the Linux driver is to blame.
The investigation continues…
Last night I took another hack at getting MythTV working with my DVB card. This time I was much more successful! The key was configuring Myth to use the LNB, which was hidden in the mythtv-setup under “capture cards-DiSEqC options. An LNB is not a DiSEqC, so I would’ve never thought to look there, but there it was.
Yesterday’s space shuttle launch finally motivated me to dust off my DVB-S card and set up satellite reception in our new home. I’d put it off for almost a year, thinking the tree cover in our back yard was too extensive to find a good shot at the sky. It turns out I discovered a very nice spot right on our back deck, so Travis and I spent a little time building a temporary stand for a dish, aiming it, and threading the cable back into our network closet. After a few duh moments where I shook off the cobwebs covering my knowledge of DVB-S, I got reception of the NASA channel – only three hours after the shuttle launched! Better late than never.
Even so, I wasn’t able to get Myth to pull down video for some reason. The dvb-utils applications can tune (and capture) the streams just fine, but Myth just shows a blank screen – even though it can tune the channel and see a signal from the transponder. I don’t know what else I can tinker with to get Myth working with it but I’ll keep hacking at it.
I’ve had this tower PC all spec’ed out as a MythTV box for probably two years now. Its got a Hauppauge Nexus-S DVB-S satellite TV card and an AverMedia PVR-150 TV tuner card (a TigerDirect cheapie) in it as well as a 300Gig hard drive. All I could get out of it was some of the free satellite TV channels, and then only using command-line linuxTV applications to change channels. I could never get the TV tuner card to work, so the box sat mostly idle.