Exemple #1
0
        public void Post([FromBody] SensorDataDTO value)
        {
            var sensorData = new SensorData()
            {
                SenderMAC = value.MAC, Temperature = value.Temp, Humidity = value.Humidity, IngestionTimestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"), BatteryLevel = value.BatteryLevel
            };

            _processData.Add(sensorData);
        }
Exemple #2
0
        /// <summary>
        /// 执行读取传感数据
        /// </summary>
        private static void QuerySensorData()
        {
            //调用批量查询设备最新数据
            ResultMsg <IEnumerable <DeviceSensorDataDTO> > qry = SDK.GetDevicesDatas(Cfg.deviceId.ToString(), Token);

            Console.WriteLine(lineNum + "、批量查询设备最新数据返回JSON:" + Environment.NewLine);
            Console.WriteLine(SerializeToJson(qry) + Environment.NewLine);
            lineNum++;

            if (qry.IsSuccess())
            {
                var dev = qry.ResultObj.FirstOrDefault();
                try
                {
                    SensorDataDTO jsonSensor = dev.Datas.FirstOrDefault(item => { return(item.ApiTag == Cfg.jsonApiTag); });
                    if (jsonSensor != null && jsonSensor.Value != null && jsonSensor.Value.ToString() != "")
                    {
                        //将设备传输的JSON字符串,使用JsonConvert转为对象
                        Member user = new Member();
                        user = JsonConvert.DeserializeObject <Member>(jsonSensor.Value.ToString());

                        Console.WriteLine(lineNum + "、JSON传感器值:" + Environment.NewLine);
                        Console.WriteLine(String.Format("{0}/{1}/{2}/{3}"
                                                        , user.UserName
                                                        , user.Age
                                                        , user.Sex
                                                        , user.IsMarry) + Environment.NewLine);
                        lineNum++;
                    }

                    SensorDataDTO binarySensor = dev.Datas.FirstOrDefault(item => { return(item.ApiTag == Cfg.binaryApiTag); });
                    if (binarySensor != null && binarySensor.Value != null && binarySensor.Value.ToString() != "")
                    {
                        //将设备传输的Base64字符串,使用Base64解码为byte[]
                        Byte[] ary = Convert.FromBase64String(binarySensor.Value.ToString());
                        Console.WriteLine(lineNum + "、二进制传感器值:" + Environment.NewLine);
                        Console.WriteLine(String.Format("{0}/{1}/{2}/{3}"
                                                        , ary[0]
                                                        , ary[1]
                                                        , ary[2]
                                                        , ary[3]) + Environment.NewLine);
                        lineNum++;
                    }
                }
                catch { }
            }
        }