GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver
github.com
github.com
Together, LoRa and LoRaWAN define a Low Power, Wide Area (LPWA) networking protocol designed to wirelessly connect battery operated devices to the internet in regional, national or global networks, and targets key Internet of things (IoT) requirements such as bi-directional communication, end-to-end security, mobility and localization services. The low power, low bit rate, and IoT use distinguish this type of network from a wireless WAN that is designed to connect users or businesses, and carry more data, using more power. The LoRaWAN data rate ranges from 0.3 kbit/s to 50 kbit/s per channel.
I should be able to walk 5 miles from my house, and still have my house wifi work, but at a data rate of 0.3 kbps.
I should never have wifi 'cutting in and out' or 'on the edge of the range' - it should be a simple matter of not being fast enough if I'm too far away. If Shannon[1] allows it, the standard should allow it too.
Obviously my phone would probably choose to switch to mobile data long before that. But for some use cases, like instant messaging, 0.3 kbps is fine, and there shouldn't be a need to use a totally different standard to achieve it.
[1]: https://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theore...
It would take more than just "a few extra modulation and coding modes". At 0.3 kbps, even a single 100-byte packet would already use up one whole third of the available airtime for the channel. (On the current slowest WiFi speed of 1 Mb/s, that packet takes a fraction of a percent of the available airtime, and even that's slow enough that some newer APs disable the older 802.11b speeds by default and set the slowest speed to 6 Mb/s.) And due to how the WiFi protocol works, each AP periodically (usually every 100/1024 seconds, so around 10 times per second) broadcasts a beacon at the slowest rate it accepts (and AFAIK the beacon is nowadays larger than 100 bytes).
It would probably require at least changing how the clear channel assessment works, to allow for overlapping transmissions, but that's a fundamental part of the standard. Once you're going that far, it probably makes more sense to define a new protocol, one better tuned for that use case.
[1]: https://en.wikipedia.org/wiki/IEEE_802.11ah
[2]: https://www.silextechnology.com/connectivity-solutions/wifi-...
This is also disregarding that "a few extra modulation schemes" is costly to implement. Narrow band schemes (like GMSK) are incompatible with wide band protocols like LoRa or WiFi with spread spectrum/chipping or OFDM. (at least if you are interested in the same performance to price ballpark) Of course many things nowadays use digital baseband so it's in theory flexible, but the front end is still a major limiting factor, unless you use many-GHz RFADC/DAC which still suffer from wide vs narrow band problems.
Also, most long range protocols are meant for ultra low power applications like smart-ag or energy harvesting which WiFi does not support.
Considering the existing amount of congestion with WiFi, if we want to increase range further, we'd likely need more chipping codes to fit in the same frequency allocation, which will increase the noise floor for everybody, thus reducing the range... etc
The whole thing could probably be implemented with only custom firmware (ie. no hardware changes). All modern GPS's do below-noise-floor reception of GPS signals entirely in software - this would be the same. You might want custom hardware to avoid the rather huge power costs of leaving the main high bandwidth receivers being turned on the whole time though!
You could use the same MIMO mechanisms to get a better channel gain and increase the total amount of data users can transfer in a given city-sized area.
Better connect to something else nearer to you, making a fairer use of the available radio spectrum, or if you absolutely need to connect to your own equipment, switch to a protocol more suited for such needs, like LoRa or even a custom-purpose version of Wi-Fi called HaLow (aka .11ah: https://en.wikipedia.org/wiki/IEEE_802.11ah)
https://hn.algolia.com/?query=motorola+canopy&sort=byDate&ty...
> From what I'm gathering, Canopy can be deployed over unlicensed frequencies (2.4 and 5 Ghz), allows for hundreds of subscribers connecting to a single Access Point, can provide up bandwidth in the 5-10 Mbps range, etc.
https://en.wikipedia.org/wiki/%C3%89cole_Polytechnique_F%C3%...
I live on a small hobby farm, and I use these sensors to measure things around the garden. We have very hot, dry summers so keeping track of the soil moisture is super useful. And in winter, it's nice to be able to track when different parts of the property freeze.
Here's a screenshot of my Grafana dashboard, which might shed some more light on it: https://imgur.com/a/vGNnUNW
Here are some screenshots from my personal Grafana for comparison.
That being said, LoRa is a really interesting protocol. Very adjustable to tune for a use case, somewhat novel modulation scheme. LoRaWAN on top of it is well designed. I implemented it from scratch once and was generally impressed with the design. Easy enough to implement and does a very good job and minimizing how long the radio (both Tx and Rx) need to be on.
In Europe, the new Unified Patent Court (UPC) will probably rubberstamp them, using the "as such" and the "technical effect" loopholes. Without any appeal possible to the European Court of Justice.
For example, LoRa uses spread spectrum and there are many patents on spread sprectrum in general (don't know about LoRa in particular).
Heck, in the middle ground between "one-click shopping" and LoRa modulation, you have things like audio and video codecs. These are primarily math-based patents, but they have had pretty broad patent protection for a long time compared to more abstract business-process/software patents. Where this might get interesting specifically for LoRa is that France is one of the rare places that doesn't seem to recognize AV codecs as patentable (and which is why VLC is distributed from France) and Semtech is based out of Grenoble!
This has been quite standard for 20+ years. For instance 3G spreading codewords are also orthogonal. If fact, I think LoRa took a lot from mobile/cellular where all those technics have been used for a long time.
Edit: As used in 3G, the orthogonal spreading codewords (OVSF) are actually quite simple to generate for a given spreading factor: https://www.mathworks.com/help/comm/ref/ovsfcodegenerator.ht...
- Rural sensors attached to things like grain bins, where a pair of AA batteries can last multiple seasons sending periodic temperature updates and alerts if the temperature starts climbing at a faster than expected rate
- Mobile rural sensors worked quite well too. These were attached to things like tractors and had GPS receivers attached for real-time position tracking. Power wasn't nearly as much of a concern but rather taking advantage of the long-range capability while staying inside the unlicensed ISM band and respecting FCC/ISED power limits.
- Low-density urban where the neighbourhoods are made up primarily of single-family homes and not multi-storey condos or apartments. It worked well but honestly something like Zigbee would have likely been a more appropriate technology since it would have allowed for even lower power in the end devices.
e: rereading I see you're specifying LoRaWAN: that's a protocol on top of the LoRa phy layer stuff, analogous to Meshtastic or Helium, not what's being implemented in this github repo
Similar usecase for overlanding: we also use several different types of voice radio, but an arrow on a map is significantly nicer than "*psssh* crackle we're somewhe...? past the 29?4 crackle turnoff fades out". Being able to mount a fuckoffhuge omni on a vehicle also helps with functional range.
I've also done the backhaul to cellular connectivity thing. Definitely fun but replicable with an inReach.
I want to experiment with linking back to my car and maybe having kind of cellular back haul to pull in weather and stuff. Cellular is practically nonexistent even at the trailheads most places I hike so the practicality probably is limited but it's fun to tinker with. You can of course buy Garmin satphones that do something similar but with Iridium (i.e., better), but that's way less fun.
Or, a cellular modem, which would save the installation of outdoor antennas and data-only plans are cheap.
At the end of the day, the client devices don't have that much broadcast power - so if you run your own LoRA gateway and are not in a densely populated area, nobody cares if you use a lot of bandwidth.
Just don't use all of the bandwidth and keep monitoring the band. You can always throttle down your clients if someone else shows up.
For more information I recommend this paper [1] (unfortunately behind a paywall).
While vendors often hide their radio stack in encrypted binary blobs that you load into the "radio half" of their chips having a stack like this where you can look at the parts of the signal is really useful for debugging your own stack. Ideally this will result in opensource implementations of LoRa for things like the STM32W series chips.
How can I setup a local area network over radio? I've tried transferring data over the BaoFengs with adapters and a custom app, but it was very slow.
The radiohead library seems to be the most common. It exposes a reliable datagram API that has worked really well.
Using a LAN effectively probably takes more effort than radios.
LimeSDR, HackRF, BladeRF, PlutoSDR are some of the most popular.
[1] https://ttnmapper.org/heatmap/
[2] https://m.youtube.com/watch?v=Y9lMvyTYI3E&pp=ygUJdHRubWFwcGV...