private async Task SendTemperatureTelemetryAsync(string componentName, CancellationToken cancellationToken) { const string telemetryName = "temperature"; double currentTemperature = _temperature[componentName]; using Message msg = PnpConvention.CreateMessage(telemetryName, currentTemperature, componentName); await _deviceClient.SendEventAsync(msg, cancellationToken); _logger.LogDebug($"Telemetry: Sent - component=\"{componentName}\", {{ \"{telemetryName}\": {currentTemperature} }} in °C."); if (_temperatureReadingsDateTimeOffset.ContainsKey(componentName)) { _temperatureReadingsDateTimeOffset[componentName].TryAdd(DateTimeOffset.UtcNow, currentTemperature); } else { _temperatureReadingsDateTimeOffset.TryAdd( componentName, new Dictionary <DateTimeOffset, double> { { DateTimeOffset.UtcNow, currentTemperature }, }); } }
// Send working set of device memory over telemetry. private async Task SendDeviceMemoryAsync(CancellationToken cancellationToken) { const string workingSetName = "workingSet"; long workingSet = Process.GetCurrentProcess().PrivateMemorySize64 / 1024; var telemetry = new Dictionary <string, object> { { workingSetName, workingSet }, }; using Message msg = PnpConvention.CreateMessage(telemetry); await _deviceClient.SendEventAsync(msg, cancellationToken); _logger.LogDebug($"Telemetry: Sent - {JsonConvert.SerializeObject(telemetry)} in KB."); }
private async static void SendTelemetry(double temperature, string telemetryName, string componentName) { Message message; if (telemetryName == "temperature") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_temperature} }}"; message = PnpConvention.CreateMessage(telemetryName, pt_temperature, componentName); await deviceClient.SendEventAsync(message); } if (telemetryName == "humidity") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_humidity} }}"; message = PnpConvention.CreateMessage(telemetryName, pt_humidity, componentName); await deviceClient.SendEventAsync(message); } if (telemetryName == "inductance") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_humidity} }}"; message = PnpConvention.CreateMessage(telemetryName, induc, componentName); await deviceClient.SendEventAsync(message); } if (telemetryName == "acceleration") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_humidity} }}"; message = PnpConvention.CreateMessage(telemetryName, acceleration, componentName); await deviceClient.SendEventAsync(message); } if (telemetryName == "angularrate") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_humidity} }}"; message = PnpConvention.CreateMessage(telemetryName, angularrate, componentName); await deviceClient.SendEventAsync(message); } if (telemetryName == "workingSet") { //telemetryPayload = $"{{ \"{telemetryName}\": {pt_humidity} }}"; message = PnpConvention.CreateMessage(telemetryName, workingsetsize); await deviceClient.SendEventAsync(message); } }
private static async void SendTelemetry2(object v1, string telemetryName, string componentName) { var message = PnpConvention.CreateMessage(telemetryName, v1, componentName); await deviceClient.SendEventAsync(message); }