From 8275d8bd5ae024369a531b04f221ead6ed3c10a3 Mon Sep 17 00:00:00 2001 From: Leon Market Date: Wed, 14 Jun 2023 22:11:17 +0200 Subject: [PATCH] Added --- Neues Textdokument.txt | 0 app/src/main/AndroidManifest.xml | 2 +- .../Beschleunigungssensor.java | 146 +++++++++++++++++- .../ueberwachungssystem/MainActivity.java | 44 +++++- app/src/main/res/layout/activity_main.xml | 25 +++ build.gradle | 4 +- gradle.properties | 4 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 213 insertions(+), 14 deletions(-) delete mode 100644 Neues Textdokument.txt diff --git a/Neues Textdokument.txt b/Neues Textdokument.txt deleted file mode 100644 index e69de29..0000000 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cef8f3d..c49da9f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ android:theme="@style/Theme.Ueberwachungssystem" tools:targetApi="31"> diff --git a/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java index f15ae8e..7521863 100644 --- a/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java +++ b/app/src/main/java/com/example/ueberwachungssystem/Beschleunigungssensor.java @@ -1,21 +1,45 @@ package com.example.ueberwachungssystem; +import static java.lang.Math.sqrt; + import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.widget.TextView; +import java.util.ArrayDeque; +import java.util.Arrays; +import java.util.Collection; +import java.util.Deque; +import java.util.Iterator; +import java.util.OptionalDouble; +import java.util.Queue; + public class Beschleunigungssensor extends AppCompatActivity implements SensorEventListener { private Logger logger; private SensorManager sensorManager; - private int sensorType = Sensor.TYPE_ACCELEROMETER; + private static final int sensorType = Sensor.TYPE_LINEAR_ACCELERATION; private Sensor sensor; + //Matrizen für Datenverarbeitung: + double[] linear_acceleration = new double[3]; + int numberOfValues = 100; + double[][] calibrationMatrix = new double[3][numberOfValues]; + boolean alarm = false; + //Preallocate memory for the data of each axis of the acceleration sensor + double x; + double y; + double z; + double betrag; //Betrag aller drei Achsen sqrt(x*x + y*y + z*z) + @Override protected void onCreate(Bundle savedInstanceState) { @@ -44,7 +68,7 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv super.onResume(); if(sensor != null) { - if(sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME)) + if(sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL)) { logger.log("Wir haben uns beim Sensor angemeldet."); } @@ -65,15 +89,106 @@ public class Beschleunigungssensor extends AppCompatActivity implements SensorEv } } + private void checkAlarm (SensorEvent event) { + x = event.values[0]; + y = event.values[1]; + z = event.values[2]; + betrag = sqrt(x*x + y*y + z*z); + double schwelle = 1.5; + + if (!alarm) { + if (betrag > schwelle) { + logger.log("Betragswert über Schwelle erkannt, Alarm wird gleich angeschaltet"); + alarm = true; + logger.log("Alarm an"); + logger.log("Betrag: " + betrag + event.timestamp); + } + } else { + if (betrag < schwelle) { + logger.log("Alarm ist noch an; Neuer Betragswert unter Schwellwert: " + betrag); + alarm = false; + logger.log("Alarm wieder ausgeschaltet"); + } else { + logger.log("Betragswert immer noch über Schwellwert: " + betrag + "; Alarm bleibt an."); + } + } + } + int i = 0; + boolean stopp_mal = false; + @Override public void onSensorChanged(SensorEvent event) { - String sb = "t=" + event.timestamp + - "\nx=" + event.values[0] + // Wert legend: x = 0.04 + checkAlarm(event); + + //Alter Code, erstmal wild mit if statement ausgeschlossen + if (stopp_mal) { + if (i + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index f05eacf..41532d1 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '7.4.2' apply false - id 'com.android.library' version '7.4.2' apply false + id 'com.android.application' version '8.0.0' apply false + id 'com.android.library' version '8.0.0' apply false } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3e927b1..3a131ca 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,4 +18,6 @@ android.useAndroidX=true # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +android.defaults.buildfeatures.buildconfig=true +android.nonFinalResIds=false \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a5dbc0d..3a67f74 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu May 11 15:04:30 CEST 2023 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME