[HN Gopher] WebSDR - Internet-connected Software-Defined Radios
       ___________________________________________________________________
        
       WebSDR - Internet-connected Software-Defined Radios
        
       Author : nickt
       Score  : 247 points
       Date   : 2023-10-26 22:00 UTC (1 days ago)
        
 (HTM) web link (www.websdr.org)
 (TXT) w3m dump (www.websdr.org)
        
       | riffic wrote:
       | it's still closed source software?
       | 
       | previously: https://news.ycombinator.com/item?id=18571139
        
         | ianburrell wrote:
         | It is closed. There is a lot of ham radio software that isn't
         | open source. And a lot of open source isn't developed openly.
         | You would think that all of it would be open source but I think
         | a lot of hams didn't come from software world.
        
           | mwbajor wrote:
           | Take a look at gnuradio.
        
           | JWLong wrote:
           | There's quite a bit of overlap, actually. For some reason all
           | of the old hams want to do .NET applications, though.
           | 
           | I really think this is one of the reasons for the stagnation
           | in the field.
        
             | galangalalgol wrote:
             | What would people want this to look like? Is there a
             | backlog anywhere of stuff people would want?
             | 
             | Edit: I was thinking maybe something that reads from an rtl
             | or airspy, or maybe soapy? Then takes requests for channels
             | over websockets from a wasm front end, then have the demod
             | wasm side? And a waterfall streamed as a video to aid in
             | making the channel selection? It would save bw to put demod
             | server side, but this way clients could use custom demods
             | if they want.
        
               | reactordev wrote:
               | The perceived stagnation in the field is because you
               | can't multiplex an SDR stream. One user can control the
               | radio at a time. You can not listen on more bands than
               | your radio can receive at once. Capping out at 192hz band
               | audio sampling on most hardware. Which means you can read
               | a wide signal but you can only read one area of the
               | spectrum at a time.
               | 
               | You would need more radios. If you added more radios you
               | would need antenna that worked across the various bands
               | people would want to listen in on. Those can create
               | "cross-talk" to other antenna close-by. There's not a
               | simple solution to this. Nor does the novelty of it
               | warrant solving this problem.
               | 
               | I think something like FlightAware where users sample
               | their own radios at frequencies and submit them to a
               | service that can aggregate the spectrum in real-time is
               | the only real way to provide a web-based "tune to any
               | radio frequency" SDR.
        
               | galangalalgol wrote:
               | An airspy can digitize 12MHz of bandwidth at once. Even
               | without a gpu you can spit out easily over a dozen
               | digitally subtuned channels. The bandwidth for all that
               | raw signal data going out would be the problem. Only one
               | person can control where that 12MHz is centred, but
               | people can pick where in it they want to listen just like
               | they do with websdr now.
        
               | reactordev wrote:
               | Damn! Yes, you would need to have one user center the
               | spectrum read and you can mux the output to users wanting
               | specific bands but I had no idea an airspy had such a
               | wide audio capture.
               | 
               | Edit: I looked it up. You are indeed correct. 10MSPS IQ
               | output. 10Mhz panorama spectrum view. That's ridiculous!
               | I just bought one.
        
               | galangalalgol wrote:
               | I think the boxy one, the r2 not the mini, had some hacky
               | way to get 80msps but it didn't specify how that made it
               | over usb or why that wasn't the normal operational mode.
        
               | mikewarot wrote:
               | Even a $30 RTL-SDR dongle can record 2Mhz of bandwidth
               | reliably. I've recorded hours of signals just in case it
               | sometime later becomes interesting, and it all lives in a
               | little corner of my hard drive.
        
             | reactordev wrote:
             | To add color to this. The reason being is because a lot of
             | the old C++ libraries and code no longer function so
             | pushing for .NET applications helps bring them into the
             | 21st century. Also, I think it's more because of the fact
             | that C# is very familiar to C/C++ developers. However, I
             | believe the true target architecture should be Linux and
             | there's some work in this area. GNU Radio, Gqrx,
             | Qradiolink.
             | 
             | It just depends on where you are looking. There's plenty of
             | OSS for SDR (it's in the kernel, btw) on Linux. Windows
             | you're going to get closed source 80% of the time. Mac,
             | forget about it.
             | 
             | -Old Ham
        
         | weissbier wrote:
         | If you want to have something similar for use at home, you
         | could take a look at http://kiwisdr.com.
         | 
         | I have one, but you need to hunt down EMI sources, before you
         | can properly use it.
        
           | madengr wrote:
           | I have one too, on an active magnetic loop, which does a
           | decent job of nulling near field interference.
           | 
           | http://kiwisdr.lounix.net:8073/
        
           | 65a wrote:
           | You can also use high-Q antennae, if you have a frequency of
           | interest. For instance, on HF (shortwave) a tunable small
           | loop antenna does a whole lot better than a wire antenna in a
           | high-random noise environment. You may still end up chasing
           | down various bogies, but a lot of them can be blocked with
           | the directionality of the antenna or the filtering properties
           | of the antenna (higher Q antennas are more narrowband).
        
           | nomel wrote:
           | > but you need to hunt down EMI sources, before you can
           | properly use it.
           | 
           | Do you have any recommendations for doing this? I have some
           | source that interferes every 11 seconds for a second or so.
           | It causes packet loss with my wifi (2.5 and 5GHz), and makes
           | my bluetooth game controllers really frustrating to use,
           | since input are missed every time it does it. I assume it's
           | in the microwave range.
           | 
           | I'm familiar with RF test equipment, and I've thought about
           | renting a spectrum analyzer, but I assume there's maybe some
           | cheaper way.
        
             | mikewarot wrote:
             | You could get an rtlsdr dongle cheap and use it as a
             | spectrum analyzer. There are command line utilities for
             | that task in with the drivers online.
        
               | 1317 wrote:
               | they don't go up to the 2.4/5Ghz range though, they max
               | out at about 1.7
        
               | mikewarot wrote:
               | Yeah, but it seems he's got a broadband noise source,
               | likely the 2.4 Ghz is a harmonic of something that is
               | within their range.
        
           | throwaway914 wrote:
           | The limited availability of KiwiSDR's have made it crazy high
           | priced. I've been trying to get one for a year now but
           | they're up to like $600 on aliexpress. KiwiSDR2 has been
           | announced, but that's a ways off from being sold.
           | 
           | WebSDR on other hardware is a better alternative-ish.
        
         | rlex wrote:
         | for open source alternative take a look at
         | https://www.openwebrx.de/
         | 
         | Can also demodulate digital modes (DMR, YSF, etC) and it have
         | nice, modern UI.
         | 
         | WebSDR have a weird list of requirements if you want to get
         | install file - should open instance to public, provide lots of
         | info, etc etc etc. It's not just closed-source.
        
           | imroot wrote:
           | I thought that it couldn't demodulate DMR and other modes
           | unless it had the hardware to do so. Feel free to correct me
           | if I'm wrong, though.
        
             | snvzz wrote:
             | DMR can definitely be handled by software.
             | 
             | I have done this with a crude rtl-sdr stick.
        
             | rlex wrote:
             | You definitely can, but legality of such procedure is
             | questionable. DMR uses AMBE codec, which require licensing
             | from DVSI, but you can find open-source implementation on
             | github (mdelib, jMBE). Projects such as DSD-FME[1], which
             | allows you to decode much more than just DMR (P25, NXDN or
             | SDRTrunk[2], which allows you to listen to trunking systems
             | (p25, dmr tier 3 and much more) uses software
             | implementation. OpenWebRX users software decoder too
             | https://github.com/jketterl/digiham
             | 
             | [1] https://github.com/lwvmobile/dsd-fme
             | 
             | [2] https://github.com/DSheirer/sdrtrunk
        
         | nickmcc wrote:
         | I use https://github.com/jketterl/openwebrx with RTL-SDR sticks
        
           | kareiva wrote:
           | Try the fork at https://github.com/luarvique/openwebrx/
        
       | grendelt wrote:
       | _Years_ ago I made a couple of SoftRock receivers for the 20m and
       | 40m CW bands and put them on a couple of Raspberry Pis. I got
       | WebSDR to run on it and it 's kinda become a thing now.
       | 
       | https://n5dux.com/ham/raspberrypi/websdr.php
        
         | westurner wrote:
         | From the WebSDR FAQ:
         | 
         | > Q: _My SDR can be tuned from 0 to 30 MHz (or from 25 to 1900
         | MHz, or whatever). Can I offer all of that tuning range to the
         | users?_
         | 
         | > A: _No. Such an SDR does not feed the entire 0-30 or 25-1900
         | MHz spectrum to your computer: that would be way too much data.
         | Instead, a small part (at most a few MHz) are filtered out in
         | external hardware, centered around some frequency that you can
         | tune. With the WebSDR software, users can only tune around
         | within that small part of the spectrum. You (as the operator of
         | the site) choose the centerfrequency_
         | 
         | Rydberg antenna range: 0-20Ghz,
         | https://news.ycombinator.com/item?id=28402527
         | https://en.wikipedia.org/wiki/Rydberg_atom
         | 
         | Bus width:
         | 
         | W3C WebUSB enables USB device access from JS, TypeScript,
         | WebAssembly, and anything that emscripten emcc can compile to
         | WASM (for use with the in-browser WASM runtimes, or the newish
         | docker WASM runtime CLI arg). Emscripten-forge is one way to
         | build WASM WebAssembly from e.g. C, Python.
         | 
         | W3C WebRTC specifies audio/video/message relaying and NAT
         | traversal: https://webrtc.org/getting-started/media-devices
         | 
         | OpenWRT has an rtl-sdr package but not yet a WebSDR package;
         | and an nginx-ssl package, but there's not yet an nginx-rtmp-
         | module package fwics: https://www.google.com/search?q=nginx-
         | rtmp-module+openwrt
         | 
         | OpenWRT wiki > SDR, LoRA / LoRAWAN , Mesh
         | https://openwrt.org/docs/guide-user/advanced/sdr ,
         | https://www.google.com/search?q=openwrt+lora
         | 
         | Pipewire may now arguably be the best way to handle audio and
         | video streams with Linux. Pipewire is not yet supported on
         | OpenWRT ? but is probably already supported by DragonOS
         | (Lubuntu 22.10+)?
         | 
         | Pipewire: https://en.wikipedia.org/wiki/PipeWire
         | https://wiki.archlinux.org/title/PipeWire
         | 
         | https://news.ycombinator.com/item?id=30613125 ... Pipewire to
         | WebRTC:
         | 
         | pipewire-screenaudio: https://github.com/IceDBorn/pipewire-
         | screenaudio:
         | 
         | > _Extension to passthrough pipewire audio to WebRTC
         | Screenshare_
         | 
         | awesome-amateur-radio#sdr https://github.com/mcaserta/awesome-
         | amateur-radio#sdr
         | 
         | The OpenWRT wiki lists a few different weather station apps
         | that can retrieve, record chart, and publish weather data from
         | various weather sensors and also from GPIO or SDR; pywws, weewx
         | 
         | weewx: https://github.com/weewx/weewx
         | 
         | A WebSDR LuCI app would be cool.
         | 
         | LuCI docs > Modules:
         | https://github.com/openwrt/luci/blob/master/docs/Modules.md
         | 
         | SETI + Unistellar => all cool things:
         | https://www.seti.org/unistellar-and-seti-institute-partnersh...
         | https://www.seti.org/unistellar-seti-institute-education
         | 
         | https://www.unistellar.com/citizen-science/ :
         | 
         | > Citizen Astronomer Network: _The Unistellar Network is a
         | worldwide community of Citizen Astronomers working in
         | partnership with professional astronomers at the SETI
         | Institute. Members use their Unistellar telescope to collect
         | astronomical data, which is supplied to SETI Institute
         | astronomers who then use it to develop predictions and models_
         | 
         | "Synthetic aperture": https://en.wikipedia.org/wiki/Synthetic-
         | aperture_radar
         | 
         | "WebUSB Support for RP2040" that has 2x20 pin (*) GPIO and
         | MicroUSB: https://news.ycombinator.com/item?id=38007967
         | 
         | A radio _telescope_ attached to a 30 pin Model B could probably
         | also feed WebSDR?
        
           | superkuh wrote:
           | >Rydberg antenna range: 0-20Ghz,
           | https://news.ycombinator.com/item?id=28402527
           | https://en.wikipedia.org/wiki/Rydberg_atom
           | 
           | Actually the instantaneous bandwidth of a ryberg antenna
           | based receiver is only about ~4 MHz in implementation papers
           | I've read. A good fit for a 2 MHz instantaneous banwidth $20
           | rtl-sdr dongle. The 0-20 GHz is the tuning range (again).
        
       | desertraven wrote:
       | This is a cool project.
       | 
       | I bought both a HackRF and an Ettus USRP B210 years ago for
       | playing with.
       | 
       | I am yet to actually do anything of interest! Anyone want to
       | share anything cool they've done in the SDR world?
        
         | op00to wrote:
         | I have a pm2.5 sensor that hooks to a weather station I don't
         | have. I am using a cheap SDR to grab the data over the air and
         | dump it into a mqtt topic for consumption in home assistant.
         | Standing on the shoulders of giants and all, but it's still
         | pretty neat.
        
         | ge96 wrote:
         | Not me but this was neat and interesting (after using SDR to
         | capture)
         | 
         | https://www.youtube.com/watch?v=EFLvHMJ5PHk
        
         | heywire wrote:
         | I use rtlamr to receive and record my natural gas usage, and I
         | wrote some code to receive my water usage from my water meter
         | (though I've since moved that code to an Adafruit Feather w/ an
         | RFM69 module).
        
         | jcims wrote:
         | Those are both extreme overkill for the task but participating
         | in ADSB networks for sites like flightradar.
         | 
         | I really enjoyed making antennas and capturing data from
         | satellites.
         | 
         | Getting trunking receivers (eg unitrunker) to listen to local
         | first responder radio.
         | 
         | Decoding pagers is fun
         | 
         | As others have said, decoding various devices that talk on the
         | various ISM bands is interesting.
         | 
         | Just band surfing at night is a lot of fun imho. Finding random
         | signals and trying to figure out what they are is cool.
        
         | mikewarot wrote:
         | I put together a VOR navigation receiver in a GNU Radio
         | flowgraph. It was cool driving around the local beacon and
         | having it point the right way as I moved.
        
           | jjwiseman wrote:
           | Love that. Curious what kind of range did got (I assume not
           | great).
        
             | mikewarot wrote:
             | I never tested it, I was just happy to get it working.
             | 
             | If I were to do it over, I'd likely want to optimize things
             | quite a bit to get the sensitivity up.
             | 
             | The amazing thing is, though the RTL-SDR dongles are only 8
             | bit devices, when you're down-sampling 2Mhz of them to
             | audio frequencies, you gain quite a few bits of resolution.
             | I routinely pick up signals below the quantization
             | threshold.
             | 
             | I wonder what the lower bandwidth limit truly is, assuming
             | a stable reference clock.
        
         | hoppyhoppy2 wrote:
         | I run a local Fire/EMS scanner feed for my county so people can
         | listen in without a scanner or SDR of their own. It uses a
         | bunch of directional antennas in the attic for best reception
         | (I can't put up a giant mast antenna) connected to a bunch of
         | Nooelec rtl-sdr dongles.
         | 
         | Unlike a traditional scanner which only monitors one frequency
         | at a time, if two things are happening simultaneously then you
         | hear them both. This would be annoying or unlistenable in a
         | busier area, but in my area it works fine.
        
       | t_sea wrote:
       | Interesting how many are clustered in Utah
        
       | _whiteCaps_ wrote:
       | If you're looking for chatter, check out https://pota.app and
       | filter by SSB. You'll hear people making contacts for the Parks
       | On The Air program.
       | 
       | 10m (28MHz) has great propagation right now during the day so
       | you'll hear people talking across great distances, like
       | California to Japan or Australia.
        
       | deltasepsilon wrote:
       | For those interested in SDR, there was recently a discussion here
       | on signals identification [1], and some months ago a discussion
       | of NXP's new LA9310 ADC chip for radio applications [2]:
       | 
       | [1] https://news.ycombinator.com/item?id=37869534
       | 
       | [2] https://news.ycombinator.com/item?id=35325165
        
         | 6312783123 wrote:
         | Sadly the LA9310 DSP instruction set is considered highly
         | proprietary[1] by the manufacturer, NXP. So I'll give this one
         | a miss, and choose a FPGA based SDR instead. Some of the FPGAs
         | even have a completely open-source toolchain, that has been
         | developed by reverse engineering the bitstream format.
         | 
         | 1. https://news.ycombinator.com/item?id=35357451
        
       | gregsadetsky wrote:
       | I'd love to decode some radio signals - just to go through the
       | "motions" and try my hand at it.
       | 
       | Is something like an AM radio signal decoding relatively easy to
       | understand? What about FM? And NTSC?
       | 
       | Is the python code clear-ish? Complicated? Full of math I'm not
       | appreciating?
       | 
       | Thanks!
       | 
       | Ok... it's not exactly trivial:
       | https://pysdr.org/content/rds.html#fm-demodulation
        
         | mikewarot wrote:
         | Try out gnu radio, you build flow graphs in a GUI and it
         | executes them in real time.
         | 
         | You really should play with audio samples from your system to
         | get a feel for things, before diving into the math. You can
         | also use it with a $30 rtlsdr dongle.
        
         | sam1r wrote:
         | >> https://pysdr.org/content/rds.html#fm-demodulation
         | 
         | Wow! Thanks for posting this.
         | 
         | It's not trivial, but very meticulously written.
         | 
         | It would definitely classify as a "learn python the hard way"
         | challenge for a math-y learner.
        
         | actionfromafar wrote:
         | For NTSC, also check out https://github.com/oyvindln/vhs-decode
        
         | ale42 wrote:
         | There's for example SDR++ (https://www.sdrpp.org/), which has
         | lots of plugins to decode specific types of signals, or
         | SDRangel (https://www.sdrangel.org/), which has quite some
         | digital signal decoders built-in.
        
         | pid-1 wrote:
         | AM in particular is quite intuitive as you can study the
         | modulation visually. IMO it's the "everyone could have invented
         | that" modulation technique.
         | 
         | FM is built on a simple idea, but it has more involved maths.
         | 
         | Analog television signals are way more complex IIRC.
         | 
         | Re: the lib you linked - libs used to deal with radio signals
         | is made by people who have studied signal processing and comm
         | systems formally so you will see lots of jargon and advanced
         | maths like Fourier Analysis. However, you most likely can build
         | something shittier yet working by yourself by understanding the
         | fundamentals of how those signals are encoded, modulated and
         | transmitted.
        
       | goodboyjojo wrote:
       | this is pretty neat. i remember some old guy on youtube showing
       | cool things you could do with a cheap sdr dongle. and i remember
       | some guy using gnu radio to hack into a car
        
       | nullpage wrote:
       | University of Twente in the Netherlands has a great websdr[1]
       | running some custom hardware that can tune into pretty much the
       | entire shortwave spectrum. I've spent countless hours tuning in
       | to various European radio stations and broadcasts (you can even
       | pick up the odd number station if you are on the right frequency
       | and get lucky with timing).
       | 
       | [1] http://etgd1.ewi.utwente.nl:8901/
        
         | mpalfrey wrote:
         | Have used this for number stations in the past. It's great -
         | amazing what you can still find on shortwave.
        
         | leesalminen wrote:
         | This link is pretty famous in some "conspiracy theorist"
         | circles, specifically those interested in "Skyking".
         | 
         | Skyking is a military radio transmission protocol, believed to
         | be command-and-control in nature. Some believe there to be a
         | correlation between the length of the encoded message/how many
         | times the operator says "Skyking" and the DEFCON level/how
         | close the US is to blowing shit up.
        
       | totetsu wrote:
       | Randomly clicked on to a greek located site, and wondered what
       | they were talking about so I sent a bit of the audio to openai
       | whisper api just to find it was mostly radio etiquette and
       | souvlaki recipes.
        
         | totetsu wrote:
         | > 12 and a half, one. So, I eat all my food. I eat these
         | wonderful souvlaki. There's a table next to it. I sit down. So,
         | once again, once again. The best souvlaki in Greece. What can I
         | tell you? That's it. Every Saturday. And outside Athens. I'm
         | not in Athens. Somewhere outside. So, we'll talk about it. So,
         | Dimitris. So... Yes, yes. So, yes. Ok. I'll give the microphone
         | to Papa My Golf. Ok. And he'll give 20 more. This time. So,
         | I'll let Victor speak. I'm listening to you, Papa My Golf. Next
         | time you should have more signals, Papa My Golf. We're probably
         | talking less today. So, I'm listening to you. Ready. Good,
         | good. There's a gap. Very good. The company doesn't help to do
         | many things on its own. Whatever it does now. I think we should
         | go to the next recipe. Thank you, Dimitris. I have a break.
         | I'll give the microphone to him. Good morning. Papa My Golf
         | here. Good morning. Papa My Golf here. Good morning. I think
         | I'll give the microphone to him. I'll give it to him. Next
         | time. Ok.
         | 
         | > ![[websdr_recording_2023-10-27T05 51 46Z_7197.0kHz.wav]] I
         | would like to wish you a very good morning, thank you very much
         | for your years, and you too, if you have a celebration or you
         | are celebrating, to enjoy them, to be well. Well, I have
         | listened to Danasis, I have listened to Christos, I have
         | listened to my friend Petros, I have listened to my friend
         | Giorgos, all the company here. Well, I don't know, now I will
         | listen to you here, if there are other guys, my good morning.
         | But I won't take it, because I have to go. Just for a good
         | morning, I stepped here at 797 and I know bread, and I will go
         | to my friend Danasis, my friend here. It's me, your friend,
         | come. Come, come, good morning, good morning Dimitris, good
         | morning. What's up, what are we doing? I'm glad to hear you, my
         | happy years, of course, I sent you my happy years yesterday,
         | and I saw that you received it, so since yesterday it has been
         | a while, but even today, it doesn't hurt, and the more wishes
         | we give, the greater is the possibility that these wishes will
         | come true. Well, I see. Don't tell me, let's talk for a while,
         | Dimitris, before we move on to the next one. In any case, are
         | you ready?
        
           | adamjgs wrote:
           | Most likely Papa _Mike_ Golf, rather than _My_ Golf, _Mike_
           | being the NATO phonetic alphabet representation of _M_. It 's
           | a reference to the last three characters of the operator's
           | callsign.
        
             | totetsu wrote:
             | It sounds like Papa My Golf to me. I suspect 'pa:p@ maIk
             | galf/ is reduced to 'pa:p@ maI galf/ because of the
             | closeness of the K and G.
        
       | lormayna wrote:
       | Is there any good open source software for WebSDR? I am living in
       | a very noisy area from RF standpoint, but my parents are living
       | in a better position. So I was thinking to install a SDR and a
       | Raspberry and use them as remote SDR
        
         | squarefoot wrote:
         | If you don't need the web interface and your usual desktop SDR
         | software supports rtl-sdr tcp mode, you can easily set up a
         | small board that calls rtl-sdr with the appropriate parameters
         | so that it will wait for a remote connection from the above
         | software, not unlike what happens with WebSDR, but you would be
         | using your usual desktop SDR application which would be native
         | and much more snappy than a web browser. Here's an example
         | using gqrx.
         | 
         | https://www.youtube.com/watch?v=74jDcHuDCmE
         | 
         | https://gqrx.dk/
        
           | lormayna wrote:
           | Ah yes, good suggestion. I forget about it. I have a mini
           | whip antenna that I can place on the roof.
        
         | kareiva wrote:
         | OpenWebRX is a good thing to start with, especially the fork at
         | https://github.com/luarvique/openwebrx/
        
       | perlguy9 wrote:
       | WebSDR's are indeed awesome. Get your ham license and you can
       | transmit too and not just listen!
        
       | nolroz wrote:
       | Why are there none in Canada? Or Australia? Are there parts of
       | the world where Internet connected SDR is illegal or something?
        
         | CrankyCanuck wrote:
         | There are some (SDRs on the internet) Have look here.
         | https://rx-tx.info/map-sdr-points
         | 
         | http://ve3hoa.ddns.net:8073/
        
       | luke-stanley wrote:
       | Oh cool. I suppose since they have locations too, it should be
       | possible to profile aggregated mains power fingerprints from
       | these for video time and location fingerprints. Though that said,
       | there are probably a few ways to collect that info. If you know
       | the frequencies to profile you could probably store the mains hum
       | for all of them and have a good go at geo-locating video and
       | audio content for many places.
        
       ___________________________________________________________________
       (page generated 2023-10-27 23:02 UTC)