private void sendMessage() { while (true) { if (ctsForStart.IsCancellationRequested) { return; } if (sensorController.lockState) { continue; } sensorController.lockState = true; GroveMessage groveMessage = sensorController.GetSensorValue(); sensorController.lockState = false; groveMessage.DeviceId = deviceId; var messageSerialized = JsonConvert.SerializeObject(groveMessage); var encodedMessage = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(messageSerialized)); try { iotClient.SendDeviceToCloudMessagesAsync(encodedMessage).Wait(); } catch (Exception e) { Debug.WriteLine(e.Message); } SendMessageLoger(messageSerialized); Task.Delay(sendMessageDelay).Wait(); } }
public GroveMessage GetSensorValue() { BooleanGenerator boolGen = new BooleanGenerator(); Random rnd = new Random(); GroveMessage message = new GroveMessage(); message.Temp = rnd.Next(10, 30); message.Hum = rnd.Next(40, 100); message.Sound = rnd.Next(100, 200); message.Light = rnd.Next(100, 200); message.GasSO = rnd.Next(10, 100); message.PIR = boolGen.NextBoolean(); message.Timestamp = DateTime.Now.ToString(); return(message); }
public GroveMessage GetSensorValue() { GroveMessage message = new GroveMessage(); try { temphumiSensor.Measure(); message.Temp = temphumiSensor.TemperatureInCelsius; message.Hum = temphumiSensor.Humidity; message.Sound = soundSensor.SensorValue(); message.Light = lightSensor.SensorValue(); message.GasSO = gasSensor.SensorValue(); message.PIR = pirMotion.IsPeopleDetected(); message.Timestamp = DateTime.Now.ToString(); } catch (Exception ex) { throw ex; } return(message); }