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