Sensores
Transcrição
Sensores
Utilizando os Sensores dos Ultrabooks Felipe Pedroso - Intel Globalcode – Open4education Convergência da Computação móvel Globalcode – Open4education Uma nova experiência para o PC Globalcode – Open4education Sensores Acelerômetro Aceleração da força G nos eixos x, y, z Giroscópio Velocidade angular (taxa que sua orientação muda) nos eixos x, y e z Magnetômetro Intensidade, direção e sentido de um campo magnético GPS (Global Positioning System) Localização e informação de tempo NFC (Near Field Communication) Comunicação Sensor de luz ambiente Nível de Luz no Ambiente Globalcode – Open4education Sensor Fusion Globalcode – Open4education API - Namespaces Windows.Sensors.* Sensores Accelerometer Gyrometer Inclinometer OrientationSensor SimpleOrientationSensor Compass LightSensor Windows.Devices.Geolocation GPS Geolocator Windows.Networking.Proximity NFC ProximityDevice Globalcode – Open4education Sensores - Como usar? Obter o objeto default do sensor utilizando o método GetDefault() Para fazer apenas uma leitura chamar o método GetCurrentReading(), de preferência Para receber uma notificação contendo a leitura do sensor: Setar a variável ReportInterval (não esquecer do MinimumReportInterval) Registrar um método para receber o evento no ReadingChanged (delegate) Tratar o evento dentro do método Esse procedimento é válido para todos os sensores disponíveis no namespace Windows.Sensors Globalcode – Open4education Sensores - Como usar? Exemplo Acelerômetro: acc = Accelerometer.GetDefault(); if (acc != null) { acc.ReportInterval = 50 <= acc.MinimumReportInterval ? acc.MinimumReportInterval : 50; //Register for reading changed events _acc.ReadingChanged += (Accelerometer s, AccelerometerReadingChangedEventArgs args) => { //use args.Reading.AccelerationX/Y/Z }; } Globalcode – Open4education GPS - Como usar? Para obter a localização atual: using Windows.Devices.Geolocation; Geolocator _geo = new Geolocator(); async void getCurrentPosition() { if(_geo!= null){ Geoposition pos = await _geo.GetGeopositionAsync(); } } Propriedades do Objeto Geoposition (pos): Coordinate (Latitude, Longitude, etc) CivicAddress (Endereço, Cidade, Estado, etc) Globalcode – Open4education GPS - Como usar? Para disparar um evento toda vez que a posição mudar: using Windows.Devices.Geolocation; Geolocator _geo = new Geolocator(); void trackPosition() { if(_geo!= null){ _geo.DesiredAccuracy = PositionAccuracy::High; //High -> will get GPS positioning if available _geo.ReportInterval = 1000; //milliseconds _geo.PositionChanged += (sender, args) => { Geoposition pos = args.Position; }; } } Globalcode – Open4education Consumo de Energia Não configurar um ReportInterval muito baixo se sua aplicação não precisar Evitar o uso dos sensores quando a aplicação não estiver ativa Evitar pooling, usar apenas quando for necessário Considerar o uso do Acelerômetro ou Giroscópio se a orientação completa não for necessária Hardware Accelerometer Gyrometer Magnetometer Sensors objects: At least one client connected Accelerometer Gyroscope Inclinometer Compass Device Orientation On Off On On On Off On On On On Off Off On On On Globalcode – Open4education Dúvidas? Globalcode – Open4education Muito obrigado! Intel Developer Zone http://software.intel.com/pt-br Facebook Intel Software https://www.facebook.com/intelswbrasil Felipe Pedroso Twitter @felipeapedroso Facebook http://www.facebook.com/felipe.a.pedroso Globalcode – Open4education