protected override async Task ExecuteAsync(CancellationToken stoppingToken) { JsonSensorModel sensorModel = new JsonSensorModel(); MqttClientModel mqttClientModel = new MqttClientModel(); MovementSensorModel sensore = new MovementSensorModel(); sensore.SensorType = "Movement_Sensor"; sensore.ScooterId = 1; sensore.SensorId = 2; string topic = "scooter/" + sensore.ScooterId + "/" + sensore.SensorId + "/" + sensore.SensorType; while (!stoppingToken.IsCancellationRequested) { var info = virtualMovementSensor.GetMovement(); sensorModel.SensorValue = info.ToString(); sensorModel.SensorDetectionDate = DateTime.Now; var json = JsonSerializer.Serialize(sensorModel); Console.WriteLine("Json file sent: " + json); MqttJsonSensorModel sensorData = new MqttJsonSensorModel { Topic = topic, SensorValue = sensorModel.SensorValue, SensorDetectionDate = sensorModel.SensorDetectionDate }; _queueController.InsertIntoList(sensorData); await Task.Delay(10000, stoppingToken); } }
public void SendData() { //ar message = queue.Pop(); while (conn.ListLength(redisKey) > 0) { var data = conn.ListRightPop(redisKey).ToString(); var mqttJson = JsonSerializer.Deserialize <MqttJsonSensorModel>(data); JsonSensorModel json = new JsonSensorModel { SensorValue = mqttJson.SensorValue, SensorDetectionDate = mqttJson.SensorDetectionDate }; var dataSent = JsonSerializer.Serialize(json); Console.WriteLine("Sent to " + mqttJson.Topic + ": \n " + dataSent); mqttClientModel.SendMsgAsync(mqttJson.Topic, dataSent); } }