Beispiel #1
0
        private static void Main()
        {
            var log = new LoggerConfiguration()
                      .WriteTo.ColoredConsole()
                      .MinimumLevel.Debug()
                      .CreateLogger();

            Log.Logger = log;

            var connection = new IoTHubConnection(ConfigurationManager.AppSettings["hub-host"], 5671);
            var device     = connection.ConnectDevice(ConfigurationManager.AppSettings["device-id"],
                                                      ConfigurationManager.AppSettings["device-key"]).Result;

            Observable.Timer(DateTimeOffset.Now, TimeSpan.FromMinutes(1))
            .Subscribe(async _ => await SendAliveMessage(device));

            device.Subscribe(OnNext, exception => Log.Error(exception, "Error occured"));

            log.Information("Sending alive events every minute and listening for commands...");

            Thread.Sleep(Timeout.Infinite);
        }
        public MainPage()
        {
            this.InitializeComponent();

            _senseHat         = new SenseHat();
            _iotHubConnection = new IoTHubConnection();

            this.ActivateSenseHat();

            this.Loaded += (sender, e) =>
            {
                DispatcherTimer timer = new DispatcherTimer();

                timer.Tick += async(x, y) =>
                {
                    // Just to show temperature on device screen
                    var temperatureTelemetry = _senseHat.GetTemperature();
                    this.temperatureTextBlock.Text = "Temperature: " + temperatureTelemetry.Sense_hat_temperature.ToString();

                    // send temperature, time, pressure and humidity to cloud
                    await _iotHubConnection.SendEventAsync(JsonConvert.SerializeObject(temperatureTelemetry));


                    // Just to show humidity value on device screen
                    var humidityTelemetry = _senseHat.GetHumidity();
                    this.humidityTextBlock.Text = "Humidity: " + humidityTelemetry.Humidity.ToString();

                    // Just to show pressure value on device screen
                    var pressureTelemetry = _senseHat.GetPressure();
                    this.pressureTextBlock.Text = "Pressure: " + pressureTelemetry.Pressure.ToString();

                    _senseHat.ScreenControl();
                };

                timer.Interval = TimeSpan.FromSeconds(30);
                timer.Start();
            };
        }
Beispiel #3
0
        public MainPage()
        {
            this.InitializeComponent();

            _senseHat         = new SenseHat();
            _iotHubConnection = new IoTHubConnection();

            this.ActivateSenseHat();

            this.Loaded += (sender, e) =>
            {
                DispatcherTimer timer = new DispatcherTimer();

                timer.Tick += async(x, y) =>
                {
                    var temperatureTelemetry = _senseHat.GetTemperature();
                    this.temperatureTextBlock.Text = "Temperature: " + temperatureTelemetry.Temperature.ToString();
                    await _iotHubConnection.SendEventAsync(JsonConvert.SerializeObject(temperatureTelemetry));
                };

                timer.Interval = TimeSpan.FromSeconds(3);
                timer.Start();
            };
        }