AetherNet.Transport.LoRa
2.2.0
dotnet add package AetherNet.Transport.LoRa --version 2.2.0
NuGet\Install-Package AetherNet.Transport.LoRa -Version 2.2.0
<PackageReference Include="AetherNet.Transport.LoRa" Version="2.2.0" />
<PackageVersion Include="AetherNet.Transport.LoRa" Version="2.2.0" />
<PackageReference Include="AetherNet.Transport.LoRa" />
paket add AetherNet.Transport.LoRa --version 2.2.0
#r "nuget: AetherNet.Transport.LoRa, 2.2.0"
#:package AetherNet.Transport.LoRa@2.2.0
#addin nuget:?package=AetherNet.Transport.LoRa&version=2.2.0
#tool nuget:?package=AetherNet.Transport.LoRa&version=2.2.0
AetherNet.Transport.LoRa
Real LoRa (Aether Red / CircleLink) transport for
AetherNet, driving a serial-attached LoRa module that
speaks the RYLR-class AT command set (Reyax RYLR896/RYLR998 and compatibles) on an SX127x/SX126x
radio. Implements ICircleLinkTransportService, so the transport ladder ranks it at its ~15 km reach.
This is the "hardware adopted" path documented by LoRaCircleLinkStub: it opens the serial port,
configures the radio (address / network / band / spreading factor), sends with AT+SEND, and surfaces
inbound +RCV frames as DataReceived. Payloads are the raw AetherNet packet, hex-framed to survive
the AT text protocol; address 0 is broadcast (managed-flood mesh), and RegisterPeer maps a UHID to
a numeric node address for directed sends.
Verification status: the code is real and compiles (net9 + net10), but it is runtime-UNVERIFIED — it has not been exercised against a physical module (none on the build machine). On-radio bring-up — two modules exchanging a frame — is the open step.
IsAvailableistrueonly when the configured serial port actually opens.
Usage
var lora = new LoRaSerialTransportService(new LoRaSerialOptions
{
PortName = "COM5", // or "/dev/ttyUSB0"
Address = 1,
BandHz = 868_500_000, // EU868; US915 = 915_000_000
});
if (lora.Open()) // false if the module/port isn't present
{
lora.DataReceived += (from, bytes) => { /* inbound AetherNet packet */ };
await lora.SendAsync(peerUhid, packetBytes);
}
License
MIT — see the repository root.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AetherNet.Transport (>= 2.2.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- System.IO.Ports (>= 9.0.0)
-
net9.0
- AetherNet.Transport (>= 2.2.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- System.IO.Ports (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.