public void ReadSensorData(IScanResult scanResult, Sensor s, double lat, double lon) { if (!IsTimeToReadSensor(s)) { return; } sensorReadings[sensors.IndexOf(s)] = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); if (scanResult.AdvertisementData.ServiceData.Count == 0) { return; } byte[] serviceData = GetServiceDataBytes(scanResult); TSensorData sensorData = TSensorService.ParseSensorData(serviceData); if (sensorData == null) { return; } var date = DateTime.Now.ToString(); Console.WriteLine( string.Format( "Name: {0} - UUID: {1} - Temperature: {2} - Pressure: {3} - Altitude: {4} - Lat: {5} - Lon: {6}", s.Name, s.Uuid, sensorData.Temperature, sensorData.Pressure, sensorData.Altitude, lat, lon ) ); var telemetryDataPoint = new { uuid = s.Uuid, name = s.Name, temperature = sensorData.Temperature, pressure = sensorData.Pressure, altitude = sensorData.Altitude, battery = sensorData.Battery, lat, lon, date, }; UploadSensorDataService.SendDeviceToCloudMessagesAsync(telemetryDataPoint); // Kolla så Object faktiskt fungerar }
public override StartCommandResult OnStartCommand(Intent intent, [GeneratedEnum] StartCommandFlags flags, int startId) { binder = new BluetoothServiceBinder(this); var dbPath = DependencyService.Get <IFileHelper>().GetLocalFilePath("SensorGateway.db"); dbContext = new DatabaseContext(dbPath); GetSensors(dbContext); Thread t = new BluetoothSensorThread(sensors); t.Start(); UploadSensorDataService = new UploadSensorDataService(); return(StartCommandResult.Sticky); }