Remember Sure-Fi? Lostik is open standards Lora you can play with
Enlarge / Lostik is plugged in to the left USB port of this Samsung Chromebook running GalliumOS Linux. It's currently transmitting packets, using the sample sender.py utility, from a basement about 15 feet underground. (credit: Jim Salter)
A lot of readers commented on our earlier report on Sure-Fi long-range, low-bandwidth RF chirp communicators that we should test generic Lora gear. Lora is the open standard that Sure-Fi began with and built on top of, and it's available in a variety of inexpensive kits. Most of those kits are aimed at low-level maker-style integration with IoT gear like Arduino, but I found a couple of preassembled kits with generic USB interfaces suitable for use with regular x86 computers. One of those, Lostik, had consistently better user reviews and glowingly boasted of its "extensive documentation," so we picked a pair up for $46 apiece and got to testing.
We should be clear about one thing up front-nobody should claim that any Lora device has "extensive documentation" with a straight face. Lostik seems to have more documentation than any of its competitors, but figuring out exactly what it would do felt like learning to play pirated video games in the 1980s. What we eventually discovered was that Lora devices are sort of like dial-up modems all connected to a single party line-they run on serial interfaces over which they can be issued commands and can send or receive data.
It's possible to use a generic terminal emulator (at 57,600bps, 8 data bits, 1 stop bit, and no parity) to communicate directly with Lostik, but you'll need to understand its commands-analogous to the Hayes AT modem commands of yore-if you do. That was a bridge too far for us, so we said the heck with it and just lightly modified the ./sender.py and ./receiver.py sample scripts from Lostik's Github repository and used them for some simple range testing. These scripts don't require (or offer) any kind of authentication or pairing; any Lora device running receiver.py will successfully receive data from any Lora device running sender.py within its effective range.
Read 8 remaining paragraphs | Comments