コード例 #1
0
        //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);
        }
コード例 #2
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));
        }