Go library for interfacing with RN2483 and RN2903 LoRa modules via their serial interface, particularly LoStik USB devices.
- Building blocks for implementing commands:
-
rn2483.(Device).Sendffor sending commands -
rn2483.(Device).ReadResponsefor reading responses -
rn2483.CheckCommandResponsefor validating common command responses -
rn2483.(Device).ExecuteCommandas a common building block for commands -
rn2483.(Device).ExecuteCommandCheckedandrn2483.(Device).ExecuteCommandCheckedStrictas a common building block for simple commands with easily validated responses
-
- All
syscommands- purposely excludes
sys eraseFWas it seemed too dangerous to make convenient, easy to implement manually using the building blocks provided above
- purposely excludes
-
maccommands have only been implemented where they facilitate accessing theradiocommands:-
mac pause
-
- Basic
radiocommands have been implemented-
radio txandradio rx - generic
radio set <x> <y>andradio get <x>commands -
radio set pwr
-
- Simple fake implementation for local development and automated testing
- Add implementations for more commands
- LoStik devices used to test this library
- LoStik GitHub repo - provides a nice introduction to interacting with RN2483 and RN2903 modules
- RN2483 Command Reference
- RN2903 Command Reference
- https://github.com/sagneessens/RN2483 - a more fully featured library, but is implemented using a global singleton restricting you to one device per application, depends on a specific serial port implementation, and has limited error handling/reporting.