private async void TransceiverOnMessageReceived(object sender, ReceivedMessageEventArgs e)
        {
            ReceivedMessage message = e.Message;

            Debug.WriteLine("Received: " + message);
            if (!message.CrcOk || message.Timeout)
            {
                return;
            }

            var rxpkMessage = new RxpkMessage(
                message.UtcTimestamp,
                GetElapsedMicroSeconds(),
                _gatewaySettings.Frequency / 1000000.0,
                0,
                0,
                1,
                "LORA",
                _datr,
                _codr,
                message.PacketRssi,
                message.PacketSnr,
                (uint)message.Buffer.Length,
                Convert.ToBase64String(message.Buffer));

            JsonObject jsonData = JsonSerializer.ToJson(rxpkMessage);

            Debug.WriteLine("Sending JSON: " + jsonData);

            await PushData(jsonData).ConfigureAwait(false);

            _forwardedFrameCount++;
        }
示例#2
0
 public static JsonObject ToJson(RxpkMessage message)
 {
     return(new JsonObject
     {
         { "rxpk", new JsonArray
           {
               new JsonObject
               {
                   { "time", JsonValue.CreateStringValue(message.Time.ToString("o")) },
                   { "tmst", JsonValue.CreateNumberValue(message.Tmst) },
                   { "freq", JsonValue.CreateNumberValue(message.Freq) },
                   { "chan", JsonValue.CreateNumberValue(message.Chan) },
                   { "rfch", JsonValue.CreateNumberValue(message.Rfch) },
                   { "stat", JsonValue.CreateNumberValue(message.Stat) },
                   { "modu", JsonValue.CreateStringValue(message.Modu) },
                   { "datr", JsonValue.CreateStringValue(message.Datr) },
                   { "codr", JsonValue.CreateStringValue(message.Codr) },
                   { "rssi", JsonValue.CreateNumberValue(message.Rssi) },
                   { "lsnr", JsonValue.CreateNumberValue(message.Lsnr) },
                   { "size", JsonValue.CreateNumberValue(message.Size) },
                   { "data", JsonValue.CreateStringValue(message.Data) }
               }
           } }
     });
 }