3. Erfassung und Verarbeitung von Sensordaten



Ähnliche Dokumente
2. Erfassung und Verarbeitung von Sensordaten

1. Erfassung und Verarbeitung von Sensordaten

Android-Geräte Programmieren 3. Sensoren. Stefan Rothe

Software-Entwicklung für Android und ios

Mobile Informationssysteme II

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Mikrocomputerkompatibles kapazitives Sensorsystem

Infrarot Thermometer. Mit 12 Punkt Laserzielstrahl Art.-Nr. E220

Es können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden!!

Arbeitsblatt Arbeit und Energie

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Physik. Grundlagen der Mechanik. Physik. Graz, Sonja Draxler

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Comenius Schulprojekt The sun and the Danube. Versuch 1: Spannung U und Stom I in Abhängigkeit der Beleuchtungsstärke E U 0, I k = f ( E )

Temperatur-Messung - Thermometer

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

SEP 114. Design by Contract

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

5. Abstrakte Klassen

Quanton Manual (de) Datum: URL: )

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Hinweise zur Kalibrierung von Kameras mit einer AICON Kalibriertafel

Anerkannte, gleiche und reproduzierbare Größen sind (auch außerhalb der Physik) notwendig: Handel, Grundbesitz, Navigation, Dosierung...!

Forumslader App für Android Kurzbeschreibung

Tagesprogramm

2. Hintergrundverarbeitung in Android: Services und Notifications

Excel Funktionen durch eigene Funktionen erweitern.

2. Programmierung in C

Kommunikations-Parameter

Erfassung von Umgebungskontext und Kontextmanagement

c f 10. Grundlagen der Funktechnik 10.1 Elektromagnetische Wellen

Skalierung des Ausgangssignals

Toleranzschema. ArtemiS SUITE

Typumwandlungen bei Referenztypen

Programmierkurs Java

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Mobile App Development. - Alarm -

Anleitung zur Installation des AP-Manager-II

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Elektrische Energie, Arbeit und Leistung

Android-Apps weitere Möglichkeiten

Simulation LIF5000. Abbildung 1

1. Bearbeite Host Netzgruppen

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Gesicherte Prozeduren

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Übung - Konfigurieren einer Windows-XP-Firewall

GeoPilot (Android) die App

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Mobile-Szenario in der Integrationskomponente einrichten

Technisches Datenblatt MF420-IR-AL

Java Kurs für Anfänger Einheit 5 Methoden

Löwen App Version 1.0.0

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Ph 15/63 T_Online-Ergänzung

JetMove 2xx Versions-Update von V2.13 auf V2.14


Computeranwendung und Programmierung (CuP)

Kommunikation mehrerer PCs über Hubs


Positionspapier Big Data

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK

Anleitung zur Lizenzaktualisierung. Plancal nova 7.x

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Modellierung von Positionssensoren. Jörg Roth Fachbereich Informatik Fernuniversität Hagen

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Messgeräte: Mess-System-Analyse und Messmittelfähigkeit

aj CYBERTRON Portalroboter

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Java Einführung Collections

Energieeffiziente Empfänger in Sensornetzwerken

Der Anschluss an einen Computer

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Die Magnetkraft wirkt nur auf bestimmt Stoffe, nämlich Eisen, Nickel und Cobalt. Auf welche Stoffe wirkt die Magnetkraft?

How to do? Projekte - Zeiterfassung

Einführung in die Programmierung

Objektorientierte Programmierung

Arrays Fortgeschrittene Verwendung

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Diana Lange. Generative Gestaltung Operatoren

1 Arbeit und Energie. ~ F d~r: (1) W 1!2 = ~ F ~s = Beispiel für die Berechnung eines Wegintegrals:

3 TECHNISCHER HINTERGRUND

Homepage with actual measurement data from buildings. Homepage mit realen Monitoringdaten von Gebäuden

Updatehinweise für die Version forma 5.5.5

Fidbox App. Version 3.1. für ios und Android. Anforderungen für Android: Bluetooth 4 und Android Version 4.1 oder neuer

Vorkurs C++ Programmierung

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Lehrer: Einschreibemethoden

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

SS Björn Berezowski B.Sc. Marco Münch B.Sc. Michael Roth B.Sc. Repetitorium PG 1. Übungsblatt. 1 Übung - Probeklausur SS 2010 Typ Prof.

Copyright by QualityMinds. Quelle:

Zugriff auf die Modul-EEPROMs

Überwachung elektronischer Daten und ihr Einfluss auf das Nutzungsverhalten im Internet

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

e-books aus der EBL-Datenbank

HSR git und subversion HowTo

Informationen zum Einstellen des SIP-Telefons Grandstream GXV 3275

Gase, Flüssigkeiten, Feststoffe

Felder. November 5, 2014

Testen mit JUnit. Motivation

Transkript:

3. Erfassung und Verarbeitung von Sensordaten Lernziele 3. Erfassung und Verarbeitung von Sensordaten Lernziele: Typische in mobilen Geräten enthaltene Sensorarten kennen, Daten von solchen Sensoren empfangen können, Einstellmöglichkeiten für Sensoren kennen und empfangene Sensordaten verarbeiten können. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 94

3. Erfassung und Verarbeitung von Sensordaten Sensoren Sensor Ein Sensor ist ein technisches Bauteil, das bestimmte physikalische Eigenschaften seiner Umgebung quantitativ erfassen kann. Physikalische Eigenschaften werden in ein elektrisches Signal umgewandelt. Abtastung des elektrischen Signals und Erzeugung eines Datenstroms der Messwerte. in der Regel numerische Messwerte Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 95

3. Erfassung und Verarbeitung von Sensordaten Sensoren Arten von Sensoren in mobilen Geräten Beschleunigungssensor Lagesensor (Gyroskop) Lichtsensor Entfernungsmesser (Sonar) Kompass Thermometer Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 96

3. Erfassung und Verarbeitung von Sensordaten Sensoren Manometer, Barometer Lokalisierung (GPS) prinzipiell auch die Kamera Anbindung weiterer Sensoren durch Ad-hoc Netzwerke (z.b. Bluetooth) möglich. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 97

3. Erfassung und Verarbeitung von Sensordaten Sensoren Aktoren Gegenstück zu Sensoren, zur Erzeugung von physikalischen Effekten In mobilen Geräten: Bildschirmanzeige, Views Lautsprecher Vibrator Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 98

Sensor-Manager Klasse android.hardware.sensormanager Schnittstelle zu den Sensoren Eine Referenz auf den Sensor-Manager erhält man durch: SensorManager sensormanager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); API nicht stabil, unbedingt Online-Dokumentation heranziehen Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 99

Die Klasse Sensor Klasse android.hardware.sensor definiert Konstanten für Sensorarten verschiedene öffentliche Methoden für Informationen über einen Sensor: Messbereich, Auflösung, Stromverbrauch, etc. public float getmaximumrange () maximum range of the sensor in the sensor s unit. public String getname () name string of the sensor. public float getpower () the power in ma used by this sensor while in use. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 100

public float getresolution () resolution of the sensor in the sensor s unit. public int gettype () generic type of this sensor. public String getvendor () vendor string of this sensor. public int getversion () version of the sensor s module. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 101

Arten von Sensoren definiert in android.hardware.sensor: TYPE ALL alle Sensoren TYPE ACCELEROMETER Beschleunigungssensor in drei Achsen, Einheit m/s 2 TYPE GYROSCOPE Gyroskop Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 102

TYPE LIGHT Lichtsensor, einfallendes Licht in Lux TYPE MAGNETIC FIELD Erdmagnetfeld in drei Achsen, Einheit sind Mikrotesla TYPE ORIENTATION Orientierung des Gerätes in Grad entlang drei Achsen. TYPE PRESSURE Drucksensor TYPE PROXIMITY Entfernungsmessung in Meter Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 103

TYPE TEMPERATURE Temperaturmessung, Celsius Ermittlung aller Sensoren eines Typs: In der Klasse SensorManager Methode: List<Sensor> getsensorlist(int type) Standardsensor eines Typs ermitteln: Sensor getdefaultsensor(int type) Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 104

Sensoreigenschaften Genauigkeit Wie hoch ist der mittlere Messfehler? SENSOR STATUS... Änderungsrate Wie häufig können Messwerte aktualisiert werden? SENSOR DELAY... Vordefinierte Konstanten als Werte für beide Eigenschafte Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 105

Genauigkeit Konstanten in der Klasse SensorManager: SENSOR STATUS ACCURACY HIGH Sensor arbeitet mit höchster Genauigkeit. SENSOR STATUS ACCURACY MEDIUM Sensor arbeitet mit mittlerer Genauigkeit, eine Kalibrierung kann die Messgenauigkeit verbessern. SENSOR STATUS ACCURACY LOW Sensor arbeitet mit geringer Genauigkeit, eine Kalibrierung erscheint notwendig. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 106

SENSOR STATUS UNRELIABLE Sensor liefert unzuverlässige Werte, eine Kalibrierung ist notwendig oder es können keine Sensordaten gelesen werden. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 107

Änderungsrate Konstanten in der Klasse SensorManager: SENSOR DELAY FASTEST höchstmögliche Änderungsrate SENSOR DELAY GAME Änderungsrate geeignet für Spiele SENSOR DELAY NORMAL Standard-Änderungsrate Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 108

SENSOR DELAY UI Änderungsrate geeignet für Benutzerschnittstelle Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 109

Sensordaten empfangen (1) via Schnittstelle android.hardware.sensoreventlistener Achtung: SensorListener ist deprecated! void onsensorchanged (SensorEvent event) Neue Messdaten liegen für einen Sensor vor. Sensor und Werte werden durch ein Objekt der Klasse android.hardware.sensorevent beschrieben. void onaccuracychanged (Sensor sensor, int accuracy) Die Genauigkeit für den Sensor sensor hat sich gändert. accuracy ist der neue Genauigkeitswert. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 110

Sensordaten empfangen (2) Registrierungsmethoden für den SensorEventListener in der Klasse SensorManager: public boolean registerlistener(sensoreventlistener listener, Sensor sensor, int rate) listener erhält von sensor Daten mit Änderungsrate rate Liefert true, wenn der Sensor unterstützt und verfügbar ist. public boolean registerlistener (SensorEventListener listener, Sensor sensor, int rate, Handler handler) wie oben, aber die SensorEvents werden über handler verteilt Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 111

public void unregisterlistener (SensorEventListener listener) listener vo allen Sensoren abmelden public void unregisterlistener (SensorListener listener, Sensor sensor) listener von sensor abmelden. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 112

Sensordaten Klasse android.hardware.sensorevent mit public Instanzvariablen: public Sensor sensor Der Sensor, der das Ereigenis ausgelöst hat. public long timestamp Zeit (in Nanosekunden?), zu der das Ereignis eintrat. public final float[] values Werte für die Sensoren, hängen vom Sensortyp ab. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 113

public int accuracy Genauigkeit Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 114

Beschleunigungssensor Beschleunigung entspricht der Änderung der Geschwindigkeit pro Zeiteinheit. Erste Ableitung der Funktion v(t). Beschleunigungsmesser können nicht zwischen Beschleunigung durch Gravitation oder durch Bewegung unterscheiden. Konsequenz: Beschleunigung von 9.8m/s 2 im Ruhezustand in Richtung der y- Achse (vertikal). Konstante für Erdbeschleunigung: SensorManager.STANDARD GRAVITY Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 115

Messung der Beschleunigung erfolgt für drei Achsen: lateral: rechts (+) / links ( ) x-achse vertikal: hoch (+) / runter ( ) y-achse longitudinal: näher (+) / weiter ( ) z-achse Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 116

Zugriff auf die Werte im Feld values mit folgenden Konstanten der Klasse SensorManager: DATA X DATA Y DATA Z Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 117

Lagesensor (Orientation) Roll, Rotation um die x-achse Pitch, Rotation um die y-achse Heading, Bearing, Rotation um die z- Achse Heading alleine stellt einen Kompass dar. Kombination aus Kompass (Heading) und Beschleunigungssensor um Pitch und Roll zu ermitteln. Mobile Informationssysteme II Hochschule Bonn-Rhein-Sieg, WS 09/10 118