示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }