This project is going to have three main parts, two of which are entirely based in software.
- The device driver
- The full-duplex serial emulator
- The enclosures (somewhat optional
Update: here's a diagram I made, it helps describe it more than words can
-------- Device Driver --------
The LORA radios I purchased are based off the UART protocol and a few supporting pins. A crude flow of how to send data out of one of these devices is: check ready to send -> send serial data -> check ready to send, rinse and repeat. I chose these particular modems because almost all portable computing platforms have a built in UART of some sort, so I could make use of that.
However... there are a number of supporting pins (used to set mode, check status, etc) that must also be controlled in order for the radio to function correctly. As a result, the first part of the project will be to write software to expose the usage of these radios to the serial line emulator portion in an easy to use and well-defined manner. I've chosen to use the sysp approach, since the software I'll be writing will run on top of debian and openwrt, being flavors of linux, they both support the old sysp approach for interfacing with GPIO, and I won't have to write custom code for each platform.
-------- Full-Duplex serial emulator --------
This portion of the code will make use of the device drivers explained above to emulate a full duplex serial connection over packet based protocol LORA uses (which is by nature half-duplex).
I haven't fleshed out the details of this yet, but will as progress continues.
-------- Enclosures --------
Fairly self explanatory. Not sure if I'll be making enclosures once the functionality is complete.