コード例 #1
0
        public LoRaMessageWrapper(LoRaPayload payload, LoRaMessageType type, byte[] physicalToken, string datr, uint rfch, double freq, long tmst)
        {
            LoRaPayloadMessage = payload;
            PktFwdPayload      = new DownlinkPktFwdMessage(Convert.ToBase64String(LoRaPayloadMessage.GetByteMessage()), datr, rfch, freq, tmst);
            var jsonMsg = JsonConvert.SerializeObject(PktFwdPayload);

            Logger.Log(ConversionHelper.ByteArrayToString(payload.GetLoRaMessage().DevEUI.ToArray()), $"{((MType)(payload.Mhdr.Span[0])).ToString()} {jsonMsg}", Logger.LoggingLevel.Full);
            var messageBytes = Encoding.Default.GetBytes(jsonMsg);

            PhysicalPayload = new PhysicalPayload(physicalToken, PhysicalIdentifier.PULL_RESP, messageBytes);
        }
コード例 #2
0
 /// <summary>
 /// This contructor is used in case of downlink message
 /// </summary>
 /// <param name="inputMessage"></param>
 /// <param name="type">
 /// 0 = Join Request
 /// 1 = Join Accept
 /// 2 = Unconfirmed Data up
 /// 3 = Unconfirmed Data down
 /// 4 = Confirmed Data up
 /// 5 = Confirmed Data down
 /// 6 = Rejoin Request</param>
 public LoRaMessageWrapper(LoRaPayload payload, LoRaMessageType type, byte[] physicalToken)
 {
     LoRaPayloadMessage = payload;
     // construct a Join Accept Message
     if (type == LoRaMessageType.JoinAccept)
     {
         var downlinkmsg = new DownlinkPktFwdMessage(Convert.ToBase64String(payload.GetByteMessage()));
         PktFwdPayload = downlinkmsg;
         var jsonMsg      = JsonConvert.SerializeObject(downlinkmsg);
         var messageBytes = Encoding.Default.GetBytes(jsonMsg);
         PhysicalPayload = new PhysicalPayload(physicalToken, PhysicalIdentifier.PULL_RESP, messageBytes);
     }
     else if (type == LoRaMessageType.UnconfirmedDataDown)
     {
         throw new NotImplementedException();
     }
     else if (type == LoRaMessageType.ConfirmedDataDown)
     {
         throw new NotImplementedException();
     }
 }