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); }
/// <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 { } } }