1 / 17

Sensoren mobiler Devices

Sensoren mobiler Devices. Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung AM1 Hauptseminar: Re- usable Content in 3D und Simulationssystemen SS 2013 Prof. Manfred Thaller Referent: Nicolas Frings. Inhalt. Warum Sensoren? Sensortypen GPS- Tutorial.

dory
Download Presentation

Sensoren mobiler Devices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sensoren mobiler Devices Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung AM1 Hauptseminar: Re-usable Content in 3D und Simulationssystemen SS 2013 Prof. Manfred Thaller Referent: Nicolas Frings

  2. Inhalt • Warum Sensoren? • Sensortypen • GPS-Tutorial

  3. Warum Sensoren? • Technischer Fortschritt der Smartphones → Vereinfachung der Handhabung (Touch) → Gerade bei Apps essenziell (Navigation/Ortung) • Problemstellung: Apps sollen schnell und effizient qualitativ hochwertige Informationen liefern! → Map-Apps • Sensoren sind Grundvoraussetzung!

  4. Warum Sensoren? • Map-Apps Basic Knowledge in iOS: • 3 Typen: • Web Apps → Nutzen bereits vorhandene Geo-Referenzierungen (Google Maps) → Lediglich Ortung des mobilen devices nötig (Google Maps JavaScript API)

  5. Warum Sensoren? • Hybrid Apps → Smartphone-Apps welche auf Google Maps im Browser zurückgreifen → Copy-Paste bestehender SDK‘s, Frameworks, etc. → Ebenfalls Ortung des mobilen devicesnötig • Native Apps → Smartphone-Apps welche auf Apple Maps zurückgreifen → Ortung und Ausrichtung vonnöten (Map Kit API & Core Framework)

  6. Sensortypen • Kamera • Optischer Sensor • Schnittstelle: UIImagePickerViewController

  7. Sensortypen • Magnetometer • Sensor erfasst magnetische Ausrichtung und ermöglicht so die präzise Ausrichtung des devices • Kombination mit dem Beschleunigungssensor → Ermöglicht Echtzeit-Ausrichtung → Kompass • Schnittstelle: CLLocationManager & CoreLocation

  8. Sensortypen • Mikrofon • Audiosensor → Spracheingabe → automatische Lautstärkeregelung • Schnittstelle: AV Foundation & Media Player frameworks

  9. Sensortypen • Beschleunigungssensor / Accelerometer • Erfasst 3-achsige Bewegung • Rotation (X-Achse) • Weite (Y-Achse) • Höhe (Z-Achse) • Beispiel: • Iphone senkrecht auf dem Tisch stehend: x = 0, y = 0, z = 1 • Schnittstelle: Keine API im SDK vorhanden!

  10. Sensortypen • Gyroskop / Kreiselsensor • Erweiterung zum Beschleunigungssensor • Erfasst präzise das device in sämtlichen Lagen und Positionen → Grundlage für die device-Ortung → Core Framework Schnittstelle • Schnittstelle: Core Location Framework

  11. GPS-Tutorial Neues Projekt mit der CoreLocation Framework verknüpfen und eine CoreLocationDelegateClass als Objective-C class anlegen.

  12. GPS-Tutorial In der .h wird die Klasse definiert. #import <Foundation/Foundation.h> #import <CoreLocation/CoreLocation.h> @protocolCoreLocationControllerDelegate @required - (void)locationUpdate:(CLLocation *)location; - (void)locationError:(NSError *)error; @end @interfaceCoreLocationController : NSObject <CLLocationManagerDelegate> { CLLocationManager*locMgr; iddelegate; } @property (nonatomic, retain) CLLocationManager *locMgr; @property (nonatomic, assign) iddelegate; @end

  13. GPS-Tutorial In der .m werden die eigentlichen core-updates festgelegt #import "CoreLocationController.h„ @implementationCoreLocationController @synthesizelocMgr, delegate; - (id)init { self = [super init]; if(self!= nil) { self.locMgr= [[[CLLocationManageralloc] init] autorelease]; self.locMgr.delegate= self; } returnself; } - (void)locationManager:(CLLocationManager *)managerdidUpdateToLocation:(CLLocation *)newLocationfromLocation:(CLLocation *)oldLocation{ if([self.delegateconformsToProtocol:@protocol(CoreLocationControllerDelegate)]) { [self.delegatelocationUpdate:newLocation]; } } - (void)locationManager:(CLLocationManager *)managerdidFailWithError:(NSError *)error{ if([self.delegateconformsToProtocol:@protocol(CoreLocationControllerDelegate)]) { [self.delegatelocationError:error]; } } - (void)dealloc{ [self.locMgrrelease]; [super dealloc]; } @end

  14. GPS-Tutorial Nun noch ein geeignetes UI, welches auf Objekte unserer Klasse zurückgreift. #import <UIKit/UIKit.h> #import "CoreLocationController.h" @interfaceCoreLocationDemoViewController : UIViewController <CoreLocationControllerDelegate> { CoreLocationController*CLController; IBOutletUILabel *locLabel; } @property (nonatomic, retain) CoreLocationController *CLController; @end

  15. GPS-Tutorial Und dann noch das rekursive Update implementieren - (void)viewDidLoad{ [super viewDidLoad]; CLController= [[CoreLocationControlleralloc] init]; CLController.delegate= self; [CLController.locMgrstartUpdatingLocation]; } - (void)locationUpdate:(CLLocation *)location{ locLabel.text= [locationdescription]; } - (void)locationError:(NSError *)error{ locLabel.text= [errordescription]; } - (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; }

  16. Vielen Dank!

  17. Quellen • Andreucci, Pro iOSGeo • Allan, Basic Sensors in iOS • http://www.vellios.com/2010/08/16/core-location-gps-tutorial/

More Related