//Send a single datapackage to the database public int addData(int sensor_id, enums.Data_type data_type, double data, enums.IC_type ic_type) { LineProtocolPayload payload = new LineProtocolPayload(); var fields = new Dictionary <string, object>(); fields.Add("Raw", data); var tags = new Dictionary <string, string> { { "id", ((enums.Sensor_Id)sensor_id).ToString() }, { "ic_type", ic_type.ToString() }, { "data_type", data_type.ToString() }, }; payload.Add(new LineProtocolPoint("sensor_measurement", new ReadOnlyDictionary <string, object>(fields), tags)); client.WriteAsync(payload); return(0); }
//Convert packagedata to min, max, AVG, AVG_Error data which are puten in a influxdb LineProtocolPoint format public static LineProtocolPoint convertToPoint(int sensor_id, enums.Data_type data_type, Data data, enums.IC_type ic_type, string measurement)//naam aanpassen naar iets algemeneererdere iets niet alleen IMU { var fields = new Dictionary <string, object>(); fields.Add("Min_value", data.determineMin()); fields.Add("Max_value", data.determineMax()); fields.Add("AVG_value", data.calcAverage()); fields.Add("ERROR_AVG_value", data.calcAverageError()); if (fields.Count == 0) { return(null); } var tags = new Dictionary <string, string> { { "id", ((enums.Sensor_Id)sensor_id).ToString() }, { "ic_type", ic_type.ToString() }, { "data_type", data_type.ToString() }, }; //Console.WriteLine("Sensor_id {0}, data_type {1}, Min Value {2}, Max value {3}, AVG_value {4}, ERROR_AVG_Value {5}", sensor_id, data_type,data.determineMin(),data.determineMax(),data.calcAverage(),data.calcAverageError()); return(new LineProtocolPoint(measurement, new ReadOnlyDictionary <string, object>(fields), tags)); }