Exemplo n.º 1
0
        public Task <SensorPayloadDecoded> DecodePayload(SensorPayload payload)
        {
            //TODO: implement decoding
            var res = new SensorPayloadDecoded()
            {
                DevEUI = payload.DevEUI,
                Time   = payload.Time
            };

            string data       = payload.Data;
            int    port       = payload.FPort;
            var    startIndex = 0;

            while (startIndex < data.Length)
            {
                switch (port)
                {
                case 40:
                    var tempInternal = getData(data.Substring(startIndex, 4)) / 100.0;
                    startIndex += 4;

                    res.TempInternal = tempInternal;
                    break;

                case 41:
                    var red = getData(data.Substring(startIndex, 4)) / 100.0;
                    startIndex += 4;

                    res.TempRed = red;
                    break;

                case 42:
                    var blue = getData(data.Substring(startIndex, 4)) / 100.0;
                    startIndex += 4;

                    res.TempBlue = blue;
                    break;

                case 43:
                    var temp     = getData(data.Substring(startIndex, 4)) / 100.0;
                    var humidity = getData(data.Substring(startIndex + 4, 2)) / 2.0;
                    startIndex += 6;

                    res.TempHumidity = temp;
                    res.Humidity     = humidity;
                    break;

                default:
                    break;
                }

                if (startIndex < data.Length)
                {
                    port        = getData(data.Substring(startIndex, 2));
                    startIndex += 2;
                }
            }

            return(Task.FromResult(res));
        }
Exemplo n.º 2
0
        public Task <SensorPayloadDecoded> DecodePayload(SensorPayload payload)
        {
            //TODO: implement decoding
            var res = new SensorPayloadDecoded()
            {
                DevEUI = payload.DevEUI,
                Time   = payload.Time
            };

            return(Task.FromResult(res));
        }