diff --git a/android/app/src/main/java/tw/moonjuice/light_sensor_capture/MainActivity.java b/android/app/src/main/java/tw/moonjuice/light_sensor_capture/MainActivity.java index 74c57be..227ccc6 100644 --- a/android/app/src/main/java/tw/moonjuice/light_sensor_capture/MainActivity.java +++ b/android/app/src/main/java/tw/moonjuice/light_sensor_capture/MainActivity.java @@ -9,6 +9,9 @@ import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.os.Environment; +import android.os.Handler; +import android.os.Message; +import android.os.SystemClock; import android.view.WindowManager; import android.widget.Toast; @@ -18,6 +21,7 @@ import androidx.annotation.Nullable; import java.util.HashMap; import java.util.Map; +import io.flutter.Log; import io.flutter.embedding.android.FlutterActivity; import io.flutter.embedding.engine.FlutterEngine; import io.flutter.plugin.common.EventChannel; @@ -28,11 +32,23 @@ public class MainActivity extends FlutterActivity implements EventChannel.Stream private Sensor mLightSensor; private SensorManager mSensorManager; private EventChannel.EventSink mEventSink; + private AmbientLightRingBuffer mAmbientLightRingBuffer; + private long mAmbientLightHorizonLong = 4000; + private int mRecentLightSamples = 0; + private float mLastObservedLux; + private long mLastObservedLuxTime; + private Handler mHandler; + private long mAmbientLightHorizonShort = 2000; + private float mSlowAmbientLux; + private float mFastAmbientLux; + private long AMBIENT_LIGHT_PREDICTION_TIME_MILLIS = 100; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); + mHandler = new AutomaticBrightnessHandler(); } @Override @@ -49,6 +65,7 @@ public class MainActivity extends FlutterActivity implements EventChannel.Stream super.onResume(); mSensorManager.registerListener(this, mLightSensor, SensorManager.SENSOR_DELAY_FASTEST); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + mAmbientLightRingBuffer = new AmbientLightRingBuffer(250, 4000, new RealClock(false)); } @Override @@ -69,12 +86,14 @@ public class MainActivity extends FlutterActivity implements EventChannel.Stream @Override public void onSensorChanged(SensorEvent sensorEvent) { - if (mEventSink != null) { - final Map data = new HashMap(); - data.put("lux", sensorEvent.values[0]); - data.put("timestamp", sensorEvent.timestamp); - mEventSink.success(data); - } + final long time = SystemClock.uptimeMillis(); + final float lux = sensorEvent.values[0]; + Message msg = mHandler.obtainMessage(); + Bundle data = new Bundle(); + data.putFloat("lux", lux); + data.putLong("time", time); + msg.setData(data); + msg.sendToTarget(); } @Override @@ -99,4 +118,297 @@ public class MainActivity extends FlutterActivity implements EventChannel.Stream break; } } + /** + * A ring buffer of ambient light measurements sorted by time. + * + * Each entry consists of a timestamp and a lux measurement, and the overall buffer is sorted + * from oldest to newest. + */ + private static final class AmbientLightRingBuffer { + // Proportional extra capacity of the buffer beyond the expected number of light samples + // in the horizon + private static final float BUFFER_SLACK = 1.5f; + private float[] mRingLux; + private long[] mRingTime; + private int mCapacity; + + // The first valid element and the next open slot. + // Note that if mCount is zero then there are no valid elements. + private int mStart; + private int mEnd; + private int mCount; + Clock mClock; + + public AmbientLightRingBuffer(long lightSensorRate, int ambientLightHorizon, Clock clock) { + if (lightSensorRate <= 0) { + throw new IllegalArgumentException("lightSensorRate must be above 0"); + } + mCapacity = (int) Math.ceil(ambientLightHorizon * BUFFER_SLACK / lightSensorRate); + mRingLux = new float[mCapacity]; + mRingTime = new long[mCapacity]; + mClock = clock; + } + + public float getLux(int index) { + return mRingLux[offsetOf(index)]; + } + + public float[] getAllLuxValues() { + float[] values = new float[mCount]; + if (mCount == 0) { + return values; + } + + if (mStart < mEnd) { + System.arraycopy(mRingLux, mStart, values, 0, mCount); + } else { + System.arraycopy(mRingLux, mStart, values, 0, mCapacity - mStart); + System.arraycopy(mRingLux, 0, values, mCapacity - mStart, mEnd); + } + + return values; + } + + public long getTime(int index) { + return mRingTime[offsetOf(index)]; + } + + public long[] getAllTimestamps() { + long[] values = new long[mCount]; + if (mCount == 0) { + return values; + } + + if (mStart < mEnd) { + System.arraycopy(mRingTime, mStart, values, 0, mCount); + } else { + System.arraycopy(mRingTime, mStart, values, 0, mCapacity - mStart); + System.arraycopy(mRingTime, 0, values, mCapacity - mStart, mEnd); + } + + return values; + } + + public void push(long time, float lux) { + int next = mEnd; + if (mCount == mCapacity) { + int newSize = mCapacity * 2; + + float[] newRingLux = new float[newSize]; + long[] newRingTime = new long[newSize]; + int length = mCapacity - mStart; + System.arraycopy(mRingLux, mStart, newRingLux, 0, length); + System.arraycopy(mRingTime, mStart, newRingTime, 0, length); + if (mStart != 0) { + System.arraycopy(mRingLux, 0, newRingLux, length, mStart); + System.arraycopy(mRingTime, 0, newRingTime, length, mStart); + } + mRingLux = newRingLux; + mRingTime = newRingTime; + + next = mCapacity; + mCapacity = newSize; + mStart = 0; + } + mRingTime[next] = time; + mRingLux[next] = lux; + mEnd = next + 1; + if (mEnd == mCapacity) { + mEnd = 0; + } + mCount++; + } + + public void prune(long horizon) { + if (mCount == 0) { + return; + } + + while (mCount > 1) { + int next = mStart + 1; + if (next >= mCapacity) { + next -= mCapacity; + } + if (mRingTime[next] > horizon) { + // Some light sensors only produce data upon a change in the ambient light + // levels, so we need to consider the previous measurement as the ambient light + // level for all points in time up until we receive a new measurement. Thus, we + // always want to keep the youngest element that would be removed from the + // buffer and just set its measurement time to the horizon time since at that + // point it is the ambient light level, and to remove it would be to drop a + // valid data point within our horizon. + break; + } + mStart = next; + mCount -= 1; + } + + if (mRingTime[mStart] < horizon) { + mRingTime[mStart] = horizon; + } + } + + public int size() { + return mCount; + } + + public void clear() { + mStart = 0; + mEnd = 0; + mCount = 0; + } + + @Override + public String toString() { + StringBuilder buf = new StringBuilder(); + buf.append('['); + for (int i = 0; i < mCount; i++) { + final long next = i + 1 < mCount ? getTime(i + 1) + : mClock.getSensorEventScaleTime(); + if (i != 0) { + buf.append(", "); + } + buf.append(getLux(i)); + buf.append(" / "); + buf.append(next - getTime(i)); + buf.append("ms"); + } + buf.append(']'); + return buf.toString(); + } + + private int offsetOf(int index) { + if (index >= mCount || index < 0) { + throw new ArrayIndexOutOfBoundsException(index); + } + index += mStart; + if (index >= mCapacity) { + index -= mCapacity; + } + return index; + } + } + private static class RealClock implements Clock { + private final boolean mOffloadControlsDozeBrightness; + + RealClock(boolean offloadControlsDozeBrightness) { + mOffloadControlsDozeBrightness = offloadControlsDozeBrightness; + } + + @Override + public long uptimeMillis() { + return SystemClock.uptimeMillis(); + } + + public long getSensorEventScaleTime() { + return (mOffloadControlsDozeBrightness) + ? SystemClock.elapsedRealtime() : uptimeMillis(); + } + } + interface Clock { + /** + * Returns current time in milliseconds since boot, not counting time spent in deep sleep. + */ + long uptimeMillis(); + + /** + * Gets the time on either the elapsedTime or the uptime scale, depending on how we + * processing the events from the sensor + */ + long getSensorEventScaleTime(); + } + + private class AutomaticBrightnessHandler extends Handler { + @Override + public void handleMessage(@NonNull Message msg) { + switch (msg.what) { + default: + final long time = msg.getData().getLong("time"); + final float lux = msg.getData().getFloat("lux"); + handleLightSensorEvent(time, lux); + break; + } + } + } + + private void handleLightSensorEvent(long time, float lux) { + mRecentLightSamples++; + mAmbientLightRingBuffer.prune(time - mAmbientLightHorizonLong); + mAmbientLightRingBuffer.push(time, lux); + // Remember this sample value. + mLastObservedLux = lux; + mLastObservedLuxTime = time; + //updateAmbientLux(time); + mFastAmbientLux = calculateAmbientLux(time, mAmbientLightHorizonShort); + mSlowAmbientLux = calculateAmbientLux(time, mAmbientLightHorizonLong); +// Log.i("moon", "mFastAmbientLux: " + mFastAmbientLux); +// Log.i("moon", "mSlowAmbientLux: " + mSlowAmbientLux); + if (mEventSink != null) { + final Map data = new HashMap(); + data.put("lux", lux); + data.put("lux_fast", mFastAmbientLux); + data.put("lux_slow", mSlowAmbientLux); + data.put("timestamp", time); + mEventSink.success(data); + } + } + + private float calculateAmbientLux(long now, long horizon) { + final int N = mAmbientLightRingBuffer.size(); + if (N == 0) { +// Slog.e(TAG, "calculateAmbientLux: No ambient light readings available"); + return -1; + } + + // Find the first measurement that is just outside of the horizon. + int endIndex = 0; + final long horizonStartTime = now - horizon; + for (int i = 0; i < N-1; i++) { + if (mAmbientLightRingBuffer.getTime(i + 1) <= horizonStartTime) { + endIndex++; + } else { + break; + } + } +// if (mLoggingEnabled) { +// Slog.d(TAG, "calculateAmbientLux: selected endIndex=" + endIndex + ", point=(" + +// mAmbientLightRingBuffer.getTime(endIndex) + ", " + +// mAmbientLightRingBuffer.getLux(endIndex) + ")"); +// } + float sum = 0; + float totalWeight = 0; + long endTime = AMBIENT_LIGHT_PREDICTION_TIME_MILLIS; + for (int i = N - 1; i >= endIndex; i--) { + long eventTime = mAmbientLightRingBuffer.getTime(i); + if (i == endIndex && eventTime < horizonStartTime) { + // If we're at the final value, make sure we only consider the part of the sample + // within our desired horizon. + eventTime = horizonStartTime; + } + final long startTime = eventTime - now; + float weight = calculateWeight(startTime, endTime); + float lux = mAmbientLightRingBuffer.getLux(i); +// if (mLoggingEnabled) { +// Log.i("moon", "calculateAmbientLux: [" + startTime + ", " + endTime + "]: " + +// "lux=" + lux + ", " + +// "weight=" + weight); +// } + totalWeight += weight; + sum += lux * weight; + endTime = startTime; + } +// if (mLoggingEnabled) { +// Log.i("moon", "calculateAmbientLux: " + +// "totalWeight=" + totalWeight + ", " + +// "newAmbientLux=" + (sum / totalWeight)); +// } + return sum / totalWeight; + } + + private float calculateWeight(long startDelta, long endDelta) { + return weightIntegral(endDelta) - weightIntegral(startDelta); + } + private float weightIntegral(long x) { + return x * (x * 0.5f + 4000); + } } diff --git a/lib/light_sensor_event.dart b/lib/light_sensor_event.dart index 27b2c4c..f891077 100644 --- a/lib/light_sensor_event.dart +++ b/lib/light_sensor_event.dart @@ -3,9 +3,13 @@ import 'dart:ffi'; class LightSensorEvent { final double lux; final int timestamp; - LightSensorEvent(this.lux, this.timestamp); + final double lux_fast; + final double lux_slow; + LightSensorEvent(this.lux, this.timestamp, this.lux_fast, this.lux_slow); Map toJson() => { - 'lux': lux, 'timestamp': timestamp, + 'lux': lux, + 'lux_fast': lux_fast, + 'lux_slow': lux_slow, }; } diff --git a/lib/main.dart b/lib/main.dart index 8c3142a..22ec05d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -174,8 +174,8 @@ class _MyHomePageState extends State { Stream streamSensorEventFromNative() { const eventChannel = EventChannel('tw.moonjuice.light_sensor.stream'); - return eventChannel - .receiveBroadcastStream() - .map((event) => LightSensorEvent(event['lux'], event['timestamp'])); + return eventChannel.receiveBroadcastStream().map((event) => + LightSensorEvent(event['lux'], event['timestamp'], event['lux_fast'], + event['lux_slow'])); } } diff --git a/test/Sensor_datas/2024-12-04_12-24-08.txt b/test/Sensor_datas/2024-12-04_12-24-08.txt deleted file mode 100644 index 8d205f7..0000000 --- a/test/Sensor_datas/2024-12-04_12-24-08.txt +++ /dev/null @@ -1 +0,0 @@ -[{"lux":10.0,"timestamp":442470841810000},{"lux":10.0,"timestamp":442471010509000},{"lux":10.0,"timestamp":442471182576000},{"lux":10.0,"timestamp":442471360117000},{"lux":10.0,"timestamp":442471522264000},{"lux":10.0,"timestamp":442471691846000},{"lux":10.0,"timestamp":442471872411000},{"lux":10.0,"timestamp":442472029493000},{"lux":10.0,"timestamp":442472199451000},{"lux":10.0,"timestamp":442472372189000},{"lux":10.0,"timestamp":442472541088000},{"lux":10.0,"timestamp":442472718064000},{"lux":10.0,"timestamp":442472879358000},{"lux":10.0,"timestamp":442473048592000},{"lux":10.0,"timestamp":442473223215000},{"lux":17.0,"timestamp":442473390981000},{"lux":17.0,"timestamp":442473558980000},{"lux":17.0,"timestamp":442473733050000},{"lux":17.0,"timestamp":442473905076000},{"lux":17.0,"timestamp":442474073149000},{"lux":17.0,"timestamp":442474238066000},{"lux":17.0,"timestamp":442474412573000},{"lux":17.0,"timestamp":442474585935000},{"lux":17.0,"timestamp":442474757022000},{"lux":25.0,"timestamp":442474918326000},{"lux":25.0,"timestamp":442475099821000},{"lux":25.0,"timestamp":442475261106000},{"lux":25.0,"timestamp":442475434255000},{"lux":25.0,"timestamp":442475604129000},{"lux":25.0,"timestamp":442475768604000},{"lux":25.0,"timestamp":442475942535000},{"lux":48.0,"timestamp":442476108326000},{"lux":47.0,"timestamp":442476281437000},{"lux":47.0,"timestamp":442476451141000},{"lux":47.0,"timestamp":442476619142000},{"lux":47.0,"timestamp":442476789552000},{"lux":47.0,"timestamp":442476965354000},{"lux":47.0,"timestamp":442477133703000},{"lux":91.0,"timestamp":442477300297000},{"lux":91.0,"timestamp":442477469477000},{"lux":93.0,"timestamp":442477638625000},{"lux":94.0,"timestamp":442477819689000},{"lux":95.0,"timestamp":442477978056000},{"lux":95.0,"timestamp":442478158708000},{"lux":97.0,"timestamp":442478320514000},{"lux":99.0,"timestamp":442478494730000},{"lux":99.0,"timestamp":442478664810000},{"lux":99.0,"timestamp":442478828096000},{"lux":99.0,"timestamp":442479002056000},{"lux":133.0,"timestamp":442479168402000},{"lux":133.0,"timestamp":442479343447000},{"lux":134.0,"timestamp":442479518143000},{"lux":137.0,"timestamp":442479679972000},{"lux":139.0,"timestamp":442479852566000},{"lux":143.0,"timestamp":442480026403000},{"lux":147.0,"timestamp":442480191332000},{"lux":152.0,"timestamp":442480367135000},{"lux":158.0,"timestamp":442480529174000},{"lux":165.0,"timestamp":442480704567000},{"lux":165.0,"timestamp":442480875223000},{"lux":165.0,"timestamp":442481042324000},{"lux":165.0,"timestamp":442481208056000},{"lux":269.0,"timestamp":442481382961000},{"lux":270.0,"timestamp":442481548576000},{"lux":274.0,"timestamp":442481722598000},{"lux":280.0,"timestamp":442481896491000},{"lux":285.0,"timestamp":442482061069000},{"lux":288.0,"timestamp":442482228813000},{"lux":285.0,"timestamp":442482403319000},{"lux":280.0,"timestamp":442482573055000},{"lux":280.0,"timestamp":442482738855000},{"lux":280.0,"timestamp":442482917334000},{"lux":280.0,"timestamp":442483082978000},{"lux":18.0,"timestamp":442483252914000},{"lux":18.0,"timestamp":442483421003000},{"lux":18.0,"timestamp":442483592600000},{"lux":18.0,"timestamp":442483759874000},{"lux":11.0,"timestamp":442483936942000},{"lux":10.0,"timestamp":442484105597000},{"lux":10.0,"timestamp":442484268122000},{"lux":10.0,"timestamp":442484442455000},{"lux":10.0,"timestamp":442484608737000},{"lux":10.0,"timestamp":442484782142000},{"lux":10.0,"timestamp":442484951259000},{"lux":10.0,"timestamp":442485130250000},{"lux":10.0,"timestamp":442485288450000},{"lux":10.0,"timestamp":442485466407000},{"lux":10.0,"timestamp":442485632221000},{"lux":10.0,"timestamp":442485802078000},{"lux":10.0,"timestamp":442485969250000},{"lux":10.0,"timestamp":442486144399000},{"lux":25.0,"timestamp":442486318759000},{"lux":25.0,"timestamp":442486482111000},{"lux":25.0,"timestamp":442486648982000},{"lux":25.0,"timestamp":442486819482000},{"lux":26.0,"timestamp":442487001888000},{"lux":27.0,"timestamp":442487161753000},{"lux":27.0,"timestamp":442487331983000},{"lux":28.0,"timestamp":442487498315000},{"lux":28.0,"timestamp":442487669617000},{"lux":27.0,"timestamp":442487852784000},{"lux":27.0,"timestamp":442488008125000},{"lux":27.0,"timestamp":442488183036000},{"lux":27.0,"timestamp":442488349103000},{"lux":27.0,"timestamp":442488518627000},{"lux":7.0,"timestamp":442488691229000},{"lux":7.0,"timestamp":442488861626000},{"lux":7.0,"timestamp":442489029257000},{"lux":7.0,"timestamp":442489199000000},{"lux":13.0,"timestamp":442489371002000},{"lux":12.0,"timestamp":442489544073000},{"lux":12.0,"timestamp":442489709208000},{"lux":12.0,"timestamp":442489879017000},{"lux":12.0,"timestamp":442490049800000},{"lux":12.0,"timestamp":442490222723000},{"lux":12.0,"timestamp":442490391684000},{"lux":25.0,"timestamp":442490559221000},{"lux":25.0,"timestamp":442490730739000},{"lux":25.0,"timestamp":442490909633000},{"lux":25.0,"timestamp":442491067781000},{"lux":25.0,"timestamp":442491241424000},{"lux":49.0,"timestamp":442491409314000},{"lux":49.0,"timestamp":442491578420000},{"lux":51.0,"timestamp":442491758226000},{"lux":51.0,"timestamp":442491918324000},{"lux":52.0,"timestamp":442492092082000},{"lux":52.0,"timestamp":442492258619000},{"lux":52.0,"timestamp":442492435935000},{"lux":52.0,"timestamp":442492604585000},{"lux":52.0,"timestamp":442492769255000},{"lux":52.0,"timestamp":442492947006000},{"lux":52.0,"timestamp":442493108460000},{"lux":26.0,"timestamp":442493289510000},{"lux":26.0,"timestamp":442493449766000},{"lux":26.0,"timestamp":442493629687000},{"lux":26.0,"timestamp":442493789903000},{"lux":6.0,"timestamp":442493965598000},{"lux":6.0,"timestamp":442494132419000},{"lux":6.0,"timestamp":442494301434000},{"lux":6.0,"timestamp":442494469985000},{"lux":9.0,"timestamp":442494640384000},{"lux":9.0,"timestamp":442494811342000},{"lux":9.0,"timestamp":442494981687000},{"lux":8.0,"timestamp":442495157084000},{"lux":8.0,"timestamp":442495319528000},{"lux":8.0,"timestamp":442495488127000},{"lux":8.0,"timestamp":442495667048000},{"lux":8.0,"timestamp":442495828056000},{"lux":8.0,"timestamp":442496002580000},{"lux":8.0,"timestamp":442496168648000},{"lux":8.0,"timestamp":442496343039000},{"lux":8.0,"timestamp":442496511470000},{"lux":8.0,"timestamp":442496682892000},{"lux":10.0,"timestamp":442496849095000},{"lux":10.0,"timestamp":442497019989000},{"lux":10.0,"timestamp":442497191708000},{"lux":10.0,"timestamp":442497361314000},{"lux":10.0,"timestamp":442497534534000},{"lux":10.0,"timestamp":442497699471000},{"lux":17.0,"timestamp":442497868305000},{"lux":17.0,"timestamp":442498043451000},{"lux":17.0,"timestamp":442498208621000},{"lux":17.0,"timestamp":442498386308000},{"lux":29.0,"timestamp":442498548784000},{"lux":29.0,"timestamp":442498726015000},{"lux":29.0,"timestamp":442498889598000},{"lux":30.0,"timestamp":442499062698000},{"lux":30.0,"timestamp":442499228281000},{"lux":30.0,"timestamp":442499404623000},{"lux":30.0,"timestamp":442499570781000},{"lux":30.0,"timestamp":442499743691000},{"lux":30.0,"timestamp":442499908179000},{"lux":30.0,"timestamp":442500078638000},{"lux":29.0,"timestamp":442500251143000},{"lux":29.0,"timestamp":442500422188000},{"lux":28.0,"timestamp":442500591099000},{"lux":28.0,"timestamp":442500771818000},{"lux":27.0,"timestamp":442500926507000},{"lux":27.0,"timestamp":442501110268000},{"lux":27.0,"timestamp":442501268016000},{"lux":27.0,"timestamp":442501442015000},{"lux":8.0,"timestamp":442501608265000},{"lux":7.0,"timestamp":442501782022000},{"lux":7.0,"timestamp":442501951787000},{"lux":7.0,"timestamp":442502122367000},{"lux":7.0,"timestamp":442502289472000},{"lux":7.0,"timestamp":442502465865000},{"lux":7.0,"timestamp":442502631483000},{"lux":7.0,"timestamp":442502801105000},{"lux":5.0,"timestamp":442502971068000},{"lux":5.0,"timestamp":442503138776000},{"lux":5.0,"timestamp":442503317503000},{"lux":5.0,"timestamp":442503478404000},{"lux":10.0,"timestamp":442503651079000},{"lux":10.0,"timestamp":442503819025000},{"lux":10.0,"timestamp":442503994936000},{"lux":10.0,"timestamp":442504166835000},{"lux":9.0,"timestamp":442504330426000},{"lux":9.0,"timestamp":442504502840000},{"lux":9.0,"timestamp":442504669455000},{"lux":9.0,"timestamp":442504845061000},{"lux":9.0,"timestamp":442505011007000},{"lux":9.0,"timestamp":442505181982000},{"lux":9.0,"timestamp":442505349116000},{"lux":19.0,"timestamp":442505525342000},{"lux":19.0,"timestamp":442505694947000},{"lux":19.0,"timestamp":442505866349000},{"lux":19.0,"timestamp":442506030172000},{"lux":19.0,"timestamp":442506199346000},{"lux":19.0,"timestamp":442506367543000},{"lux":19.0,"timestamp":442506542526000},{"lux":19.0,"timestamp":442506715847000},{"lux":20.0,"timestamp":442506879562000},{"lux":20.0,"timestamp":442507049880000},{"lux":20.0,"timestamp":442507221774000},{"lux":20.0,"timestamp":442507392922000},{"lux":20.0,"timestamp":442507565301000},{"lux":19.0,"timestamp":442507730066000},{"lux":19.0,"timestamp":442507912482000},{"lux":19.0,"timestamp":442508069605000},{"lux":19.0,"timestamp":442508242463000},{"lux":8.0,"timestamp":442508411042000},{"lux":7.0,"timestamp":442508578862000},{"lux":7.0,"timestamp":442508752355000},{"lux":7.0,"timestamp":442508926660000},{"lux":7.0,"timestamp":442509093120000},{"lux":7.0,"timestamp":442509259017000},{"lux":7.0,"timestamp":442509429963000},{"lux":7.0,"timestamp":442509603471000},{"lux":7.0,"timestamp":442509771206000},{"lux":7.0,"timestamp":442509941113000},{"lux":7.0,"timestamp":442510112608000},{"lux":7.0,"timestamp":442510290106000},{"lux":7.0,"timestamp":442510449260000},{"lux":7.0,"timestamp":442510621972000},{"lux":7.0,"timestamp":442510789019000},{"lux":7.0,"timestamp":442510968523000},{"lux":7.0,"timestamp":442511131782000},{"lux":7.0,"timestamp":442511305960000},{"lux":7.0,"timestamp":442511470423000},{"lux":7.0,"timestamp":442511638677000},{"lux":7.0,"timestamp":442511814864000},{"lux":7.0,"timestamp":442511981597000},{"lux":7.0,"timestamp":442512151829000},{"lux":14.0,"timestamp":442512318928000},{"lux":14.0,"timestamp":442512489666000},{"lux":14.0,"timestamp":442512661958000},{"lux":14.0,"timestamp":442512831029000},{"lux":38.0,"timestamp":442513002162000},{"lux":38.0,"timestamp":442513169264000},{"lux":39.0,"timestamp":442513338488000},{"lux":40.0,"timestamp":442513511837000},{"lux":40.0,"timestamp":442513686828000},{"lux":40.0,"timestamp":442513850108000},{"lux":40.0,"timestamp":442514019286000},{"lux":41.0,"timestamp":442514196205000},{"lux":41.0,"timestamp":442514364200000},{"lux":41.0,"timestamp":442514529255000},{"lux":41.0,"timestamp":442514707457000},{"lux":41.0,"timestamp":442514875520000},{"lux":41.0,"timestamp":442515042898000},{"lux":41.0,"timestamp":442515214483000},{"lux":41.0,"timestamp":442515378347000},{"lux":17.0,"timestamp":442515549067000},{"lux":17.0,"timestamp":442515722053000},{"lux":17.0,"timestamp":442515896902000},{"lux":17.0,"timestamp":442516061741000},{"lux":9.0,"timestamp":442516229107000},{"lux":9.0,"timestamp":442516408045000},{"lux":9.0,"timestamp":442516571394000},{"lux":9.0,"timestamp":442516744363000},{"lux":8.0,"timestamp":442516909035000},{"lux":8.0,"timestamp":442517079222000},{"lux":8.0,"timestamp":442517249011000},{"lux":8.0,"timestamp":442517423371000},{"lux":8.0,"timestamp":442517591055000},{"lux":8.0,"timestamp":442517759296000},{"lux":8.0,"timestamp":442517936002000},{"lux":8.0,"timestamp":442518102030000},{"lux":8.0,"timestamp":442518272390000},{"lux":8.0,"timestamp":442518439034000},{"lux":8.0,"timestamp":442518609088000},{"lux":8.0,"timestamp":442518786332000},{"lux":8.0,"timestamp":442518952064000},{"lux":8.0,"timestamp":442519121387000},{"lux":8.0,"timestamp":442519289610000},{"lux":8.0,"timestamp":442519459946000},{"lux":25.0,"timestamp":442519637986000},{"lux":25.0,"timestamp":442519799323000},{"lux":25.0,"timestamp":442519972524000},{"lux":25.0,"timestamp":442520138941000},{"lux":25.0,"timestamp":442520314134000},{"lux":77.0,"timestamp":442520481983000},{"lux":77.0,"timestamp":442520651304000},{"lux":78.0,"timestamp":442520820115000},{"lux":79.0,"timestamp":442520988840000},{"lux":81.0,"timestamp":442521161715000},{"lux":81.0,"timestamp":442521331193000},{"lux":81.0,"timestamp":442521502241000},{"lux":80.0,"timestamp":442521669624000},{"lux":80.0,"timestamp":442521839303000},{"lux":80.0,"timestamp":442522012864000},{"lux":80.0,"timestamp":442522182960000},{"lux":10.0,"timestamp":442522349234000},{"lux":9.0,"timestamp":442522518947000},{"lux":9.0,"timestamp":442522693768000},{"lux":9.0,"timestamp":442522868107000},{"lux":9.0,"timestamp":442523031644000},{"lux":9.0,"timestamp":442523201190000},{"lux":9.0,"timestamp":442523368383000},{"lux":9.0,"timestamp":442523544611000},{"lux":9.0,"timestamp":442523711870000},{"lux":7.0,"timestamp":442523882051000},{"lux":7.0,"timestamp":442524054029000},{"lux":7.0,"timestamp":442524222280000},{"lux":7.0,"timestamp":442524394409000},{"lux":7.0,"timestamp":442524559155000},{"lux":6.0,"timestamp":442524732491000},{"lux":6.0,"timestamp":442524906555000},{"lux":6.0,"timestamp":442525071536000},{"lux":6.0,"timestamp":442525243584000},{"lux":9.0,"timestamp":442525409255000},{"lux":9.0,"timestamp":442525579489000},{"lux":9.0,"timestamp":442525749414000},{"lux":9.0,"timestamp":442525921449000},{"lux":9.0,"timestamp":442526093479000},{"lux":9.0,"timestamp":442526259010000},{"lux":9.0,"timestamp":442526429819000},{"lux":9.0,"timestamp":442526601350000},{"lux":9.0,"timestamp":442526771442000},{"lux":12.0,"timestamp":442526950218000},{"lux":12.0,"timestamp":442527108279000},{"lux":12.0,"timestamp":442527279185000},{"lux":12.0,"timestamp":442527454531000},{"lux":12.0,"timestamp":442527626437000},{"lux":20.0,"timestamp":442527790037000},{"lux":20.0,"timestamp":442527960881000},{"lux":20.0,"timestamp":442528133735000},{"lux":20.0,"timestamp":442528303406000},{"lux":20.0,"timestamp":442528469419000},{"lux":21.0,"timestamp":442528650367000},{"lux":20.0,"timestamp":442528809750000},{"lux":21.0,"timestamp":442528981727000},{"lux":20.0,"timestamp":442529151867000},{"lux":20.0,"timestamp":442529321384000},{"lux":20.0,"timestamp":442529490529000},{"lux":20.0,"timestamp":442529661624000},{"lux":20.0,"timestamp":442529833573000},{"lux":19.0,"timestamp":442529998053000},{"lux":19.0,"timestamp":442530174601000},{"lux":19.0,"timestamp":442530345442000},{"lux":19.0,"timestamp":442530514749000},{"lux":6.0,"timestamp":442530684086000},{"lux":6.0,"timestamp":442530849328000},{"lux":6.0,"timestamp":442531018956000},{"lux":6.0,"timestamp":442531199293000},{"lux":8.0,"timestamp":442531360429000},{"lux":8.0,"timestamp":442531531650000},{"lux":8.0,"timestamp":442531699047000},{"lux":8.0,"timestamp":442531869442000},{"lux":8.0,"timestamp":442532042410000},{"lux":8.0,"timestamp":442532211498000},{"lux":8.0,"timestamp":442532385492000},{"lux":8.0,"timestamp":442532560062000},{"lux":8.0,"timestamp":442532718761000},{"lux":16.0,"timestamp":442532891026000},{"lux":16.0,"timestamp":442533061252000},{"lux":16.0,"timestamp":442533229897000},{"lux":16.0,"timestamp":442533399244000},{"lux":41.0,"timestamp":442533571342000},{"lux":41.0,"timestamp":442533742833000},{"lux":41.0,"timestamp":442533908950000},{"lux":41.0,"timestamp":442534082055000},{"lux":141.0,"timestamp":442534248701000},{"lux":142.0,"timestamp":442534424223000},{"lux":143.0,"timestamp":442534591423000},{"lux":143.0,"timestamp":442534759094000},{"lux":142.0,"timestamp":442534929302000},{"lux":138.0,"timestamp":442535103319000},{"lux":138.0,"timestamp":442535272296000},{"lux":138.0,"timestamp":442535441233000},{"lux":138.0,"timestamp":442535609249000},{"lux":31.0,"timestamp":442535780076000},{"lux":31.0,"timestamp":442535960505000},{"lux":31.0,"timestamp":442536123158000},{"lux":31.0,"timestamp":442536289551000},{"lux":12.0,"timestamp":442536458985000},{"lux":12.0,"timestamp":442536634474000},{"lux":12.0,"timestamp":442536803651000},{"lux":11.0,"timestamp":442536969014000},{"lux":11.0,"timestamp":442537147478000},{"lux":11.0,"timestamp":442537310769000},{"lux":11.0,"timestamp":442537481676000},{"lux":11.0,"timestamp":442537653813000},{"lux":11.0,"timestamp":442537819064000},{"lux":11.0,"timestamp":442537989426000},{"lux":11.0,"timestamp":442538162214000},{"lux":11.0,"timestamp":442538332428000},{"lux":24.0,"timestamp":442538502088000},{"lux":24.0,"timestamp":442538669163000},{"lux":24.0,"timestamp":442538840319000},{"lux":24.0,"timestamp":442539018246000},{"lux":24.0,"timestamp":442539178872000},{"lux":70.0,"timestamp":442539355174000},{"lux":71.0,"timestamp":442539522710000},{"lux":72.0,"timestamp":442539688529000},{"lux":72.0,"timestamp":442539862721000},{"lux":72.0,"timestamp":442540032122000},{"lux":72.0,"timestamp":442540199352000},{"lux":115.0,"timestamp":442540369879000},{"lux":115.0,"timestamp":442540541060000},{"lux":117.0,"timestamp":442540710724000},{"lux":119.0,"timestamp":442540881442000},{"lux":122.0,"timestamp":442541048479000},{"lux":124.0,"timestamp":442541219133000},{"lux":127.0,"timestamp":442541395450000},{"lux":131.0,"timestamp":442541557500000},{"lux":134.0,"timestamp":442541732366000},{"lux":138.0,"timestamp":442541899843000},{"lux":141.0,"timestamp":442542071447000},{"lux":141.0,"timestamp":442542241265000},{"lux":141.0,"timestamp":442542412374000},{"lux":141.0,"timestamp":442542579171000},{"lux":8.0,"timestamp":442542750908000},{"lux":8.0,"timestamp":442542923369000},{"lux":8.0,"timestamp":442543091447000},{"lux":8.0,"timestamp":442543258973000},{"lux":12.0,"timestamp":442543429154000},{"lux":11.0,"timestamp":442543602750000},{"lux":11.0,"timestamp":442543774229000},{"lux":11.0,"timestamp":442543940943000},{"lux":11.0,"timestamp":442544109002000},{"lux":11.0,"timestamp":442544283649000},{"lux":11.0,"timestamp":442544451047000},{"lux":11.0,"timestamp":442544626613000},{"lux":11.0,"timestamp":442544789777000},{"lux":11.0,"timestamp":442544960685000},{"lux":11.0,"timestamp":442545131101000},{"lux":11.0,"timestamp":442545301606000},{"lux":78.0,"timestamp":442545472110000},{"lux":78.0,"timestamp":442545639563000},{"lux":78.0,"timestamp":442545809645000},{"lux":78.0,"timestamp":442545982446000},{"lux":320.0,"timestamp":442546151341000},{"lux":325.0,"timestamp":442546318886000},{"lux":331.0,"timestamp":442546489417000},{"lux":336.0,"timestamp":442546662399000},{"lux":337.0,"timestamp":442546831630000},{"lux":334.0,"timestamp":442547006924000},{"lux":334.0,"timestamp":442547169710000},{"lux":334.0,"timestamp":442547339466000},{"lux":334.0,"timestamp":442547521056000},{"lux":72.0,"timestamp":442547681294000},{"lux":72.0,"timestamp":442547852214000},{"lux":72.0,"timestamp":442548021158000},{"lux":72.0,"timestamp":442548188034000},{"lux":10.0,"timestamp":442548365551000},{"lux":10.0,"timestamp":442548530880000},{"lux":10.0,"timestamp":442548704312000},{"lux":10.0,"timestamp":442548870155000},{"lux":12.0,"timestamp":442549045375000},{"lux":11.0,"timestamp":442549211005000},{"lux":11.0,"timestamp":442549382951000},{"lux":11.0,"timestamp":442549548737000},{"lux":11.0,"timestamp":442549718656000},{"lux":7.0,"timestamp":442549896357000},{"lux":7.0,"timestamp":442550060902000},{"lux":7.0,"timestamp":442550229149000},{"lux":7.0,"timestamp":442550399044000},{"lux":9.0,"timestamp":442550571858000},{"lux":9.0,"timestamp":442550741362000},{"lux":9.0,"timestamp":442550914511000},{"lux":9.0,"timestamp":442551078423000},{"lux":8.0,"timestamp":442551258628000},{"lux":8.0,"timestamp":442551418044000},{"lux":8.0,"timestamp":442551591662000},{"lux":8.0,"timestamp":442551758923000},{"lux":17.0,"timestamp":442551933182000},{"lux":17.0,"timestamp":442552101982000},{"lux":17.0,"timestamp":442552272722000},{"lux":17.0,"timestamp":442552441525000},{"lux":93.0,"timestamp":442552609826000},{"lux":93.0,"timestamp":442552785333000},{"lux":93.0,"timestamp":442552951477000},{"lux":93.0,"timestamp":442553121337000},{"lux":255.0,"timestamp":442553289123000},{"lux":255.0,"timestamp":442553459475000},{"lux":255.0,"timestamp":442553635605000},{"lux":254.0,"timestamp":442553802445000},{"lux":249.0,"timestamp":442553972794000},{"lux":249.0,"timestamp":442554140992000},{"lux":249.0,"timestamp":442554309471000},{"lux":249.0,"timestamp":442554482957000},{"lux":109.0,"timestamp":442554652292000},{"lux":109.0,"timestamp":442554819074000},{"lux":109.0,"timestamp":442554989726000},{"lux":109.0,"timestamp":442555161803000},{"lux":6.0,"timestamp":442555331288000},{"lux":6.0,"timestamp":442555507355000},{"lux":6.0,"timestamp":442555670044000},{"lux":6.0,"timestamp":442555839413000},{"lux":4.0,"timestamp":442556019347000},{"lux":4.0,"timestamp":442556178243000},{"lux":4.0,"timestamp":442556353008000},{"lux":4.0,"timestamp":442556531071000},{"lux":1.0,"timestamp":442556689856000},{"lux":1.0,"timestamp":442556862053000},{"lux":1.0,"timestamp":442557036826000},{"lux":1.0,"timestamp":442557199132000},{"lux":4.0,"timestamp":442557369603000},{"lux":4.0,"timestamp":442557542154000},{"lux":4.0,"timestamp":442557713530000},{"lux":4.0,"timestamp":442557879077000},{"lux":3.0,"timestamp":442558049484000},{"lux":3.0,"timestamp":442558225538000},{"lux":3.0,"timestamp":442558391823000},{"lux":3.0,"timestamp":442558569709000},{"lux":9.0,"timestamp":442558729030000},{"lux":9.0,"timestamp":442558899482000},{"lux":9.0,"timestamp":442559072670000},{"lux":9.0,"timestamp":442559251650000},{"lux":42.0,"timestamp":442559408826000},{"lux":42.0,"timestamp":442559578757000},{"lux":42.0,"timestamp":442559757664000},{"lux":42.0,"timestamp":442559920352000},{"lux":190.0,"timestamp":442560092944000},{"lux":193.0,"timestamp":442560259009000},{"lux":193.0,"timestamp":442560429677000},{"lux":193.0,"timestamp":442560603318000},{"lux":198.0,"timestamp":442560777242000},{"lux":201.0,"timestamp":442560938776000},{"lux":201.0,"timestamp":442561126143000},{"lux":2.0,"timestamp":442564172372000},{"lux":3.0,"timestamp":442564341924000},{"lux":3.0,"timestamp":442564510628000},{"lux":3.0,"timestamp":442564683380000},{"lux":3.0,"timestamp":442564852406000},{"lux":11.0,"timestamp":442565024352000},{"lux":11.0,"timestamp":442565194135000},{"lux":11.0,"timestamp":442565365352000},{"lux":11.0,"timestamp":442565532130000},{"lux":11.0,"timestamp":442565701777000},{"lux":11.0,"timestamp":442565873533000},{"lux":22.0,"timestamp":442566041784000},{"lux":22.0,"timestamp":442566212253000},{"lux":22.0,"timestamp":442566384111000},{"lux":22.0,"timestamp":442566551813000},{"lux":22.0,"timestamp":442566724368000},{"lux":122.0,"timestamp":442566892000000},{"lux":122.0,"timestamp":442567063699000},{"lux":122.0,"timestamp":442567232997000},{"lux":122.0,"timestamp":442567402282000},{"lux":355.0,"timestamp":442567575550000},{"lux":353.0,"timestamp":442567743026000},{"lux":358.0,"timestamp":442568097317000},{"lux":363.0,"timestamp":442568253490000},{"lux":366.0,"timestamp":442568426297000},{"lux":365.0,"timestamp":442568592167000},{"lux":365.0,"timestamp":442568760755000},{"lux":365.0,"timestamp":442568931496000},{"lux":365.0,"timestamp":442569106235000},{"lux":142.0,"timestamp":442569275202000}] \ No newline at end of file diff --git a/test/Sensor_datas/2024-12-04_12-25-40.txt b/test/Sensor_datas/2024-12-04_12-25-40.txt deleted file mode 100644 index 4642113..0000000 --- a/test/Sensor_datas/2024-12-04_12-25-40.txt +++ /dev/null @@ -1 +0,0 @@ -[{"lux":128.0,"timestamp":442583210650000},{"lux":125.0,"timestamp":442583383448000},{"lux":122.0,"timestamp":442583550382000},{"lux":121.0,"timestamp":442583732396000},{"lux":120.0,"timestamp":442583895669000},{"lux":119.0,"timestamp":442584067378000},{"lux":120.0,"timestamp":442584233423000},{"lux":121.0,"timestamp":442584401061000},{"lux":123.0,"timestamp":442584577455000},{"lux":126.0,"timestamp":442584748043000},{"lux":129.0,"timestamp":442584911594000},{"lux":132.0,"timestamp":442585082083000},{"lux":136.0,"timestamp":442585258353000},{"lux":138.0,"timestamp":442585430360000},{"lux":139.0,"timestamp":442585590755000},{"lux":141.0,"timestamp":442585769195000},{"lux":141.0,"timestamp":442585933196000},{"lux":142.0,"timestamp":442586104677000},{"lux":143.0,"timestamp":442586274350000},{"lux":144.0,"timestamp":442586447180000},{"lux":146.0,"timestamp":442586611673000},{"lux":147.0,"timestamp":442586786413000},{"lux":148.0,"timestamp":442586954553000},{"lux":150.0,"timestamp":442587124911000},{"lux":153.0,"timestamp":442587290838000},{"lux":156.0,"timestamp":442587461631000},{"lux":158.0,"timestamp":442587634568000},{"lux":158.0,"timestamp":442587806213000},{"lux":159.0,"timestamp":442587970792000},{"lux":159.0,"timestamp":442588149992000},{"lux":160.0,"timestamp":442588312860000},{"lux":160.0,"timestamp":442588484475000},{"lux":159.0,"timestamp":442588659180000},{"lux":157.0,"timestamp":442588825269000},{"lux":154.0,"timestamp":442589002651000},{"lux":151.0,"timestamp":442589161029000},{"lux":147.0,"timestamp":442589335904000},{"lux":144.0,"timestamp":442589504932000},{"lux":140.0,"timestamp":442589670805000},{"lux":137.0,"timestamp":442589843259000},{"lux":136.0,"timestamp":442590014463000},{"lux":136.0,"timestamp":442590183809000},{"lux":136.0,"timestamp":442590359800000},{"lux":136.0,"timestamp":442590534882000},{"lux":380.0,"timestamp":442590701193000},{"lux":380.0,"timestamp":442590860696000},{"lux":380.0,"timestamp":442591033304000},{"lux":380.0,"timestamp":442591206755000},{"lux":601.0,"timestamp":442591370813000},{"lux":603.0,"timestamp":442591544840000},{"lux":600.0,"timestamp":442591715689000},{"lux":593.0,"timestamp":442591882763000},{"lux":578.0,"timestamp":442592050671000},{"lux":578.0,"timestamp":442592222051000},{"lux":578.0,"timestamp":442592394437000},{"lux":578.0,"timestamp":442592563982000},{"lux":190.0,"timestamp":442592736366000},{"lux":190.0,"timestamp":442592900861000},{"lux":190.0,"timestamp":442593069857000},{"lux":190.0,"timestamp":442593243885000},{"lux":34.0,"timestamp":442593416649000},{"lux":34.0,"timestamp":442593581410000},{"lux":34.0,"timestamp":442593757046000},{"lux":33.0,"timestamp":442593924099000},{"lux":33.0,"timestamp":442594093960000},{"lux":32.0,"timestamp":442594264560000},{"lux":32.0,"timestamp":442594431499000},{"lux":32.0,"timestamp":442594612659000},{"lux":31.0,"timestamp":442594771227000},{"lux":31.0,"timestamp":442594949163000},{"lux":30.0,"timestamp":442595115576000},{"lux":30.0,"timestamp":442595289002000},{"lux":29.0,"timestamp":442595454390000},{"lux":28.0,"timestamp":442595625287000},{"lux":27.0,"timestamp":442595799211000},{"lux":27.0,"timestamp":442595961507000},{"lux":26.0,"timestamp":442596131340000},{"lux":26.0,"timestamp":442596311591000},{"lux":26.0,"timestamp":442596471044000},{"lux":25.0,"timestamp":442596644417000},{"lux":24.0,"timestamp":442596811321000},{"lux":24.0,"timestamp":442596989179000},{"lux":23.0,"timestamp":442597153213000},{"lux":23.0,"timestamp":442597326344000},{"lux":23.0,"timestamp":442597490605000},{"lux":23.0,"timestamp":442597663357000},{"lux":23.0,"timestamp":442597843824000},{"lux":23.0,"timestamp":442598001891000},{"lux":23.0,"timestamp":442598179239000},{"lux":23.0,"timestamp":442598346417000},{"lux":23.0,"timestamp":442598520258000},{"lux":23.0,"timestamp":442598683664000},{"lux":23.0,"timestamp":442598854071000},{"lux":23.0,"timestamp":442599021586000},{"lux":23.0,"timestamp":442599196435000},{"lux":23.0,"timestamp":442599365582000},{"lux":23.0,"timestamp":442599535791000},{"lux":131.0,"timestamp":442599700855000},{"lux":131.0,"timestamp":442599876786000},{"lux":131.0,"timestamp":442600048026000},{"lux":131.0,"timestamp":442600214217000},{"lux":475.0,"timestamp":442600390009000},{"lux":482.0,"timestamp":442600556495000},{"lux":494.0,"timestamp":442600724398000},{"lux":508.0,"timestamp":442600894863000},{"lux":519.0,"timestamp":442601069514000},{"lux":524.0,"timestamp":442601232916000},{"lux":522.0,"timestamp":442601401273000},{"lux":514.0,"timestamp":442601571054000},{"lux":514.0,"timestamp":442601746542000},{"lux":514.0,"timestamp":442601914972000},{"lux":514.0,"timestamp":442602081005000},{"lux":135.0,"timestamp":442602260394000},{"lux":135.0,"timestamp":442602425337000},{"lux":135.0,"timestamp":442602594870000},{"lux":135.0,"timestamp":442602764998000},{"lux":24.0,"timestamp":442602931107000},{"lux":23.0,"timestamp":442603100556000},{"lux":23.0,"timestamp":442603274801000},{"lux":23.0,"timestamp":442603443830000},{"lux":24.0,"timestamp":442603615355000},{"lux":24.0,"timestamp":442603780973000},{"lux":24.0,"timestamp":442603951046000},{"lux":25.0,"timestamp":442604124332000},{"lux":25.0,"timestamp":442604293923000},{"lux":26.0,"timestamp":442604462075000},{"lux":26.0,"timestamp":442604630911000},{"lux":27.0,"timestamp":442604804143000},{"lux":27.0,"timestamp":442604975616000},{"lux":28.0,"timestamp":442605144217000},{"lux":29.0,"timestamp":442605311152000},{"lux":29.0,"timestamp":442605489983000},{"lux":29.0,"timestamp":442605661920000},{"lux":29.0,"timestamp":442605825930000},{"lux":29.0,"timestamp":442605991390000},{"lux":43.0,"timestamp":442606162491000},{"lux":43.0,"timestamp":442606339209000},{"lux":44.0,"timestamp":442606505353000},{"lux":45.0,"timestamp":442606674488000},{"lux":45.0,"timestamp":442606841020000},{"lux":45.0,"timestamp":442607012991000},{"lux":45.0,"timestamp":442607184513000},{"lux":70.0,"timestamp":442607354434000},{"lux":70.0,"timestamp":442607524685000},{"lux":71.0,"timestamp":442607691428000},{"lux":72.0,"timestamp":442607864512000},{"lux":74.0,"timestamp":442608038376000},{"lux":74.0,"timestamp":442608201455000},{"lux":74.0,"timestamp":442608373908000},{"lux":74.0,"timestamp":442608541464000},{"lux":130.0,"timestamp":442608715376000},{"lux":133.0,"timestamp":442608884038000},{"lux":133.0,"timestamp":442609058927000},{"lux":133.0,"timestamp":442609222810000},{"lux":133.0,"timestamp":442609392066000},{"lux":459.0,"timestamp":442609570078000},{"lux":459.0,"timestamp":442609731037000},{"lux":459.0,"timestamp":442609904017000},{"lux":459.0,"timestamp":442610070843000},{"lux":803.0,"timestamp":442610246082000},{"lux":802.0,"timestamp":442610423034000},{"lux":794.0,"timestamp":442610581761000},{"lux":779.0,"timestamp":442610754964000},{"lux":756.0,"timestamp":442610922311000},{"lux":756.0,"timestamp":442611098598000},{"lux":756.0,"timestamp":442611265776000},{"lux":756.0,"timestamp":442611430896000},{"lux":308.0,"timestamp":442611604088000},{"lux":301.0,"timestamp":442611778384000},{"lux":301.0,"timestamp":442611947597000},{"lux":301.0,"timestamp":442612111024000},{"lux":301.0,"timestamp":442612285094000},{"lux":152.0,"timestamp":442612453094000},{"lux":150.0,"timestamp":442612626456000},{"lux":147.0,"timestamp":442612794326000},{"lux":142.0,"timestamp":442612964705000},{"lux":138.0,"timestamp":442613131210000},{"lux":138.0,"timestamp":442613301434000},{"lux":138.0,"timestamp":442613475117000},{"lux":138.0,"timestamp":442613644172000},{"lux":41.0,"timestamp":442613810842000},{"lux":41.0,"timestamp":442613980952000},{"lux":41.0,"timestamp":442614159834000},{"lux":41.0,"timestamp":442614324400000},{"lux":29.0,"timestamp":442614493383000},{"lux":28.0,"timestamp":442614661007000},{"lux":28.0,"timestamp":442614832451000},{"lux":27.0,"timestamp":442615009385000},{"lux":27.0,"timestamp":442615171792000},{"lux":26.0,"timestamp":442615349647000},{"lux":26.0,"timestamp":442615515117000},{"lux":25.0,"timestamp":442615685807000},{"lux":25.0,"timestamp":442615858616000},{"lux":24.0,"timestamp":442616021050000},{"lux":24.0,"timestamp":442616194771000},{"lux":24.0,"timestamp":442616361504000},{"lux":24.0,"timestamp":442616535166000},{"lux":24.0,"timestamp":442616705618000},{"lux":24.0,"timestamp":442616871301000},{"lux":24.0,"timestamp":442617047570000},{"lux":25.0,"timestamp":442617212108000},{"lux":25.0,"timestamp":442617384673000},{"lux":25.0,"timestamp":442617553436000},{"lux":25.0,"timestamp":442617724253000},{"lux":92.0,"timestamp":442617890809000},{"lux":92.0,"timestamp":442618069717000},{"lux":92.0,"timestamp":442618231029000},{"lux":92.0,"timestamp":442618408685000},{"lux":389.0,"timestamp":442618571629000},{"lux":396.0,"timestamp":442618741604000},{"lux":396.0,"timestamp":442618915621000},{"lux":396.0,"timestamp":442619084234000},{"lux":396.0,"timestamp":442619254060000},{"lux":407.0,"timestamp":442619422055000},{"lux":412.0,"timestamp":442619596111000},{"lux":410.0,"timestamp":442619769452000},{"lux":410.0,"timestamp":442619931205000},{"lux":410.0,"timestamp":442620108015000},{"lux":410.0,"timestamp":442620272780000},{"lux":112.0,"timestamp":442620446321000},{"lux":112.0,"timestamp":442620613505000},{"lux":112.0,"timestamp":442620784239000},{"lux":112.0,"timestamp":442620950864000},{"lux":24.0,"timestamp":442621125854000},{"lux":24.0,"timestamp":442621297704000},{"lux":24.0,"timestamp":442621462247000},{"lux":23.0,"timestamp":442621636792000},{"lux":23.0,"timestamp":442621801152000},{"lux":23.0,"timestamp":442621974336000},{"lux":23.0,"timestamp":442622144318000},{"lux":23.0,"timestamp":442622319121000},{"lux":22.0,"timestamp":442622484446000},{"lux":22.0,"timestamp":442622651681000},{"lux":22.0,"timestamp":442622832405000},{"lux":23.0,"timestamp":442622998855000},{"lux":23.0,"timestamp":442623160544000},{"lux":23.0,"timestamp":442623334315000},{"lux":22.0,"timestamp":442623507382000},{"lux":22.0,"timestamp":442623674809000},{"lux":23.0,"timestamp":442623846459000},{"lux":23.0,"timestamp":442624011590000},{"lux":23.0,"timestamp":442624181619000},{"lux":23.0,"timestamp":442624354332000},{"lux":23.0,"timestamp":442624525653000},{"lux":24.0,"timestamp":442624692770000},{"lux":23.0,"timestamp":442624861527000},{"lux":23.0,"timestamp":442625035201000},{"lux":23.0,"timestamp":442625205192000},{"lux":23.0,"timestamp":442625376210000},{"lux":24.0,"timestamp":442625542737000},{"lux":24.0,"timestamp":442625713015000},{"lux":24.0,"timestamp":442625889212000},{"lux":24.0,"timestamp":442626050791000},{"lux":24.0,"timestamp":442626224312000},{"lux":24.0,"timestamp":442626391461000},{"lux":62.0,"timestamp":442626570444000},{"lux":62.0,"timestamp":442626738466000},{"lux":62.0,"timestamp":442626900535000},{"lux":62.0,"timestamp":442627075820000},{"lux":294.0,"timestamp":442627247258000},{"lux":300.0,"timestamp":442627415790000},{"lux":300.0,"timestamp":442627584548000},{"lux":300.0,"timestamp":442627753890000},{"lux":300.0,"timestamp":442627921217000},{"lux":472.0,"timestamp":442628096726000},{"lux":467.0,"timestamp":442628271609000},{"lux":456.0,"timestamp":442628431474000},{"lux":456.0,"timestamp":442628603904000},{"lux":456.0,"timestamp":442628771375000},{"lux":456.0,"timestamp":442628945473000},{"lux":93.0,"timestamp":442629119493000},{"lux":93.0,"timestamp":442629285076000},{"lux":93.0,"timestamp":442629451997000},{"lux":93.0,"timestamp":442629621829000},{"lux":40.0,"timestamp":442629801486000},{"lux":40.0,"timestamp":442629966384000},{"lux":41.0,"timestamp":442630133237000},{"lux":42.0,"timestamp":442630301407000},{"lux":43.0,"timestamp":442630472504000},{"lux":44.0,"timestamp":442630645089000},{"lux":45.0,"timestamp":442630814132000},{"lux":46.0,"timestamp":442630983294000},{"lux":47.0,"timestamp":442631156877000},{"lux":48.0,"timestamp":442631330461000},{"lux":50.0,"timestamp":442631497692000},{"lux":51.0,"timestamp":442631661417000},{"lux":51.0,"timestamp":442631831575000},{"lux":52.0,"timestamp":442632010124000},{"lux":53.0,"timestamp":442632175098000},{"lux":54.0,"timestamp":442632344267000},{"lux":56.0,"timestamp":442632511107000},{"lux":57.0,"timestamp":442632681483000},{"lux":58.0,"timestamp":442632856044000},{"lux":60.0,"timestamp":442633024167000},{"lux":62.0,"timestamp":442633193844000},{"lux":64.0,"timestamp":442633361008000},{"lux":66.0,"timestamp":442633530692000},{"lux":67.0,"timestamp":442633713468000},{"lux":69.0,"timestamp":442633871496000},{"lux":70.0,"timestamp":442634051916000},{"lux":72.0,"timestamp":442634212883000},{"lux":74.0,"timestamp":442634388794000},{"lux":74.0,"timestamp":442634553394000},{"lux":75.0,"timestamp":442634727069000},{"lux":75.0,"timestamp":442634892072000},{"lux":75.0,"timestamp":442635061301000},{"lux":75.0,"timestamp":442635237832000},{"lux":75.0,"timestamp":442635400916000},{"lux":75.0,"timestamp":442635575259000},{"lux":74.0,"timestamp":442635749073000},{"lux":73.0,"timestamp":442635920307000},{"lux":71.0,"timestamp":442636081091000},{"lux":70.0,"timestamp":442636253975000},{"lux":69.0,"timestamp":442636421783000},{"lux":68.0,"timestamp":442636596624000},{"lux":66.0,"timestamp":442636764947000},{"lux":64.0,"timestamp":442636934999000},{"lux":62.0,"timestamp":442637101165000},{"lux":60.0,"timestamp":442637270800000},{"lux":58.0,"timestamp":442637441015000},{"lux":56.0,"timestamp":442637615066000},{"lux":56.0,"timestamp":442637788933000},{"lux":56.0,"timestamp":442637955341000},{"lux":56.0,"timestamp":442638132750000},{"lux":37.0,"timestamp":442638292117000},{"lux":37.0,"timestamp":442638464969000},{"lux":37.0,"timestamp":442638633916000},{"lux":38.0,"timestamp":442638801532000},{"lux":39.0,"timestamp":442638980081000},{"lux":39.0,"timestamp":442639144552000},{"lux":39.0,"timestamp":442639319609000},{"lux":39.0,"timestamp":442639484770000},{"lux":39.0,"timestamp":442639653447000},{"lux":38.0,"timestamp":442639824090000},{"lux":38.0,"timestamp":442639997029000},{"lux":38.0,"timestamp":442640161330000},{"lux":38.0,"timestamp":442640336376000},{"lux":37.0,"timestamp":442640500545000},{"lux":38.0,"timestamp":442640674028000},{"lux":38.0,"timestamp":442640844427000},{"lux":38.0,"timestamp":442641012240000},{"lux":38.0,"timestamp":442641181344000},{"lux":152.0,"timestamp":442641353940000},{"lux":152.0,"timestamp":442641524007000},{"lux":152.0,"timestamp":442641694396000},{"lux":152.0,"timestamp":442641860974000},{"lux":562.0,"timestamp":442642031471000},{"lux":574.0,"timestamp":442642204476000},{"lux":574.0,"timestamp":442642374153000},{"lux":574.0,"timestamp":442642541389000},{"lux":574.0,"timestamp":442642711077000},{"lux":1736.0,"timestamp":442642884647000},{"lux":1750.0,"timestamp":442643055303000},{"lux":1772.0,"timestamp":442643227311000},{"lux":1791.0,"timestamp":442643393235000},{"lux":1795.0,"timestamp":442643561690000},{"lux":1780.0,"timestamp":442643734480000},{"lux":1746.0,"timestamp":442643907095000},{"lux":1746.0,"timestamp":442644077109000},{"lux":1746.0,"timestamp":442644249942000},{"lux":1746.0,"timestamp":442644411105000},{"lux":740.0,"timestamp":442644587382000},{"lux":725.0,"timestamp":442644750942000},{"lux":725.0,"timestamp":442644941498000},{"lux":725.0,"timestamp":442645091391000},{"lux":725.0,"timestamp":442645265108000},{"lux":125.0,"timestamp":442645438572000},{"lux":128.0,"timestamp":442645600843000},{"lux":131.0,"timestamp":442645774319000},{"lux":134.0,"timestamp":442645941321000},{"lux":137.0,"timestamp":442646114645000},{"lux":140.0,"timestamp":442646284078000},{"lux":143.0,"timestamp":442646452022000},{"lux":146.0,"timestamp":442646621732000},{"lux":149.0,"timestamp":442646794208000},{"lux":152.0,"timestamp":442646963933000},{"lux":155.0,"timestamp":442647133973000},{"lux":155.0,"timestamp":442647301665000},{"lux":155.0,"timestamp":442647471346000},{"lux":154.0,"timestamp":442647644405000},{"lux":154.0,"timestamp":442647819533000},{"lux":154.0,"timestamp":442647982470000},{"lux":154.0,"timestamp":442648151318000},{"lux":154.0,"timestamp":442648328420000},{"lux":154.0,"timestamp":442648494863000},{"lux":154.0,"timestamp":442648664173000},{"lux":154.0,"timestamp":442648830887000},{"lux":154.0,"timestamp":442649002269000},{"lux":153.0,"timestamp":442649178951000},{"lux":153.0,"timestamp":442649342400000},{"lux":154.0,"timestamp":442649515686000},{"lux":152.0,"timestamp":442649689490000},{"lux":149.0,"timestamp":442649851358000},{"lux":149.0,"timestamp":442650024791000},{"lux":149.0,"timestamp":442650199341000},{"lux":149.0,"timestamp":442650361431000},{"lux":28.0,"timestamp":442650531340000},{"lux":27.0,"timestamp":442650708029000},{"lux":27.0,"timestamp":442650874073000},{"lux":27.0,"timestamp":442651044113000},{"lux":27.0,"timestamp":442651211451000},{"lux":19.0,"timestamp":442651381267000},{"lux":19.0,"timestamp":442651554503000},{"lux":18.0,"timestamp":442651727211000},{"lux":18.0,"timestamp":442651891398000},{"lux":18.0,"timestamp":442652061325000},{"lux":18.0,"timestamp":442652241317000},{"lux":18.0,"timestamp":442652401607000},{"lux":18.0,"timestamp":442652575119000},{"lux":19.0,"timestamp":442652741005000},{"lux":19.0,"timestamp":442652911480000},{"lux":19.0,"timestamp":442653084245000},{"lux":19.0,"timestamp":442653254856000},{"lux":19.0,"timestamp":442653421721000},{"lux":65.0,"timestamp":442653591426000},{"lux":64.0,"timestamp":442653764659000},{"lux":63.0,"timestamp":442653935609000},{"lux":62.0,"timestamp":442654109042000},{"lux":62.0,"timestamp":442654272173000},{"lux":61.0,"timestamp":442654441326000},{"lux":61.0,"timestamp":442654622919000},{"lux":61.0,"timestamp":442654782646000},{"lux":61.0,"timestamp":442654959390000},{"lux":61.0,"timestamp":442655129239000},{"lux":60.0,"timestamp":442655298409000},{"lux":60.0,"timestamp":442655464175000},{"lux":60.0,"timestamp":442655636456000},{"lux":59.0,"timestamp":442655801001000},{"lux":59.0,"timestamp":442655970816000},{"lux":60.0,"timestamp":442656150644000},{"lux":60.0,"timestamp":442656310784000},{"lux":60.0,"timestamp":442656489287000},{"lux":61.0,"timestamp":442656652295000},{"lux":61.0,"timestamp":442656822811000},{"lux":60.0,"timestamp":442656996358000},{"lux":60.0,"timestamp":442657165782000},{"lux":61.0,"timestamp":442657330895000},{"lux":61.0,"timestamp":442657502410000},{"lux":62.0,"timestamp":442657679383000},{"lux":62.0,"timestamp":442657846593000},{"lux":62.0,"timestamp":442658010779000},{"lux":63.0,"timestamp":442658184687000},{"lux":64.0,"timestamp":442658362568000},{"lux":64.0,"timestamp":442658524411000},{"lux":65.0,"timestamp":442658695896000},{"lux":65.0,"timestamp":442658861395000},{"lux":65.0,"timestamp":442659031342000},{"lux":65.0,"timestamp":442659201663000},{"lux":66.0,"timestamp":442659374405000},{"lux":67.0,"timestamp":442659545022000},{"lux":67.0,"timestamp":442659711435000},{"lux":68.0,"timestamp":442659881893000},{"lux":69.0,"timestamp":442660057772000},{"lux":70.0,"timestamp":442660224192000},{"lux":70.0,"timestamp":442660394013000},{"lux":70.0,"timestamp":442660561604000},{"lux":71.0,"timestamp":442660732299000},{"lux":70.0,"timestamp":442660904665000},{"lux":70.0,"timestamp":442661076195000}] \ No newline at end of file diff --git a/test/Sensor_datas/2024-12-11_16-54-17.txt b/test/Sensor_datas/2024-12-11_16-54-17.txt new file mode 100644 index 0000000..4f72c17 --- /dev/null +++ b/test/Sensor_datas/2024-12-11_16-54-17.txt @@ -0,0 +1 @@ +[{"timestamp":21559264,"lux":859.0,"lux_fast":866.443115234375,"lux_slow":865.9920654296875},{"timestamp":21559435,"lux":862.0,"lux_fast":865.5049438476562,"lux_slow":865.8953247070312},{"timestamp":21559606,"lux":861.0,"lux_fast":864.6867065429688,"lux_slow":865.715576171875},{"timestamp":21559783,"lux":861.0,"lux_fast":863.8596801757812,"lux_slow":865.3721313476562},{"timestamp":21559946,"lux":856.0,"lux_fast":862.8765258789062,"lux_slow":864.7476806640625},{"timestamp":21560117,"lux":856.0,"lux_fast":861.747802734375,"lux_slow":863.9203491210938},{"timestamp":21560286,"lux":856.0,"lux_fast":860.7324829101562,"lux_slow":863.1176147460938},{"timestamp":21560456,"lux":851.0,"lux_fast":859.4774169921875,"lux_slow":862.0917358398438},{"timestamp":21560625,"lux":854.0,"lux_fast":858.3753051757812,"lux_slow":861.0859985351562},{"timestamp":21560797,"lux":848.0,"lux_fast":857.157958984375,"lux_slow":859.9296264648438},{"timestamp":21560967,"lux":848.0,"lux_fast":855.818115234375,"lux_slow":858.6588134765625},{"timestamp":21561135,"lux":846.0,"lux_fast":854.5357666015625,"lux_slow":857.3875122070312},{"timestamp":21561306,"lux":856.0,"lux_fast":853.9351806640625,"lux_slow":856.5968627929688},{"timestamp":21561477,"lux":868.0,"lux_fast":854.568359375,"lux_slow":856.7896118164062},{"timestamp":21561646,"lux":878.0,"lux_fast":856.2320556640625,"lux_slow":857.8897094726562},{"timestamp":21561817,"lux":892.0,"lux_fast":859.2162475585938,"lux_slow":859.9998779296875},{"timestamp":21561985,"lux":908.0,"lux_fast":863.7128295898438,"lux_slow":863.2532958984375},{"timestamp":21562156,"lux":934.0,"lux_fast":870.625,"lux_slow":868.2315673828125},{"timestamp":21562326,"lux":958.0,"lux_fast":879.8460083007812,"lux_slow":875.016357421875},{"timestamp":21562498,"lux":984.0,"lux_fast":891.5134887695312,"lux_slow":883.6578979492188},{"timestamp":21562668,"lux":1012.0,"lux_fast":905.57421875,"lux_slow":894.0540771484375},{"timestamp":21562835,"lux":1042.0,"lux_fast":921.7825927734375,"lux_slow":906.1678466796875},{"timestamp":21563005,"lux":1065.0,"lux_fast":940.4432983398438,"lux_slow":920.0069580078125},{"timestamp":21563175,"lux":1090.0,"lux_fast":960.769775390625,"lux_slow":935.1451416015625},{"timestamp":21563346,"lux":1120.0,"lux_fast":983.0991821289062,"lux_slow":951.8866577148438},{"timestamp":21563519,"lux":1143.0,"lux_fast":1006.725830078125,"lux_slow":970.0703125},{"timestamp":21563686,"lux":1166.0,"lux_fast":1030.201904296875,"lux_slow":988.5780029296875},{"timestamp":21563856,"lux":1187.0,"lux_fast":1054.567138671875,"lux_slow":1008.1631469726562},{"timestamp":21564025,"lux":1206.0,"lux_fast":1078.8284912109375,"lux_slow":1028.154296875},{"timestamp":21564199,"lux":1224.0,"lux_fast":1103.398193359375,"lux_slow":1049.0279541015625},{"timestamp":21564368,"lux":1238.0,"lux_fast":1126.2923583984375,"lux_slow":1069.34423828125},{"timestamp":21564535,"lux":1256.0,"lux_fast":1148.1756591796875,"lux_slow":1089.4801025390625},{"timestamp":21564706,"lux":1274.0,"lux_fast":1169.845947265625,"lux_slow":1110.1839599609375},{"timestamp":21564875,"lux":1293.0,"lux_fast":1190.5460205078125,"lux_slow":1130.743408203125},{"timestamp":21565047,"lux":1305.0,"lux_fast":1210.5162353515625,"lux_slow":1151.3526611328125},{"timestamp":21565217,"lux":1326.0,"lux_fast":1229.7672119140625,"lux_slow":1171.5728759765625},{"timestamp":21565386,"lux":1346.0,"lux_fast":1248.661376953125,"lux_slow":1191.7257080078125},{"timestamp":21565556,"lux":1368.0,"lux_fast":1267.4200439453125,"lux_slow":1212.060791015625},{"timestamp":21565728,"lux":1388.0,"lux_fast":1286.3392333984375,"lux_slow":1232.61328125},{"timestamp":21565900,"lux":1419.0,"lux_fast":1305.8740234375,"lux_slow":1253.57421875},{"timestamp":21566065,"lux":1446.0,"lux_fast":1325.630615234375,"lux_slow":1274.293212890625},{"timestamp":21566238,"lux":1479.0,"lux_fast":1347.5047607421875,"lux_slow":1296.6435546875},{"timestamp":21566406,"lux":1510.0,"lux_fast":1370.1566162109375,"lux_slow":1319.132080078125},{"timestamp":21566575,"lux":1543.0,"lux_fast":1394.3765869140625,"lux_slow":1342.515380859375},{"timestamp":21566751,"lux":1576.0,"lux_fast":1420.8272705078125,"lux_slow":1367.60302734375},{"timestamp":21566915,"lux":1609.0,"lux_fast":1446.8125,"lux_slow":1391.8472900390625},{"timestamp":21567087,"lux":1652.0,"lux_fast":1475.8441162109375,"lux_slow":1418.482177734375},{"timestamp":21567256,"lux":1702.0,"lux_fast":1507.17919921875,"lux_slow":1446.5450439453125},{"timestamp":21567424,"lux":1766.0,"lux_fast":1541.8175048828125,"lux_slow":1477.1514892578125},{"timestamp":21567597,"lux":1832.0,"lux_fast":1581.4761962890625,"lux_slow":1511.77880859375},{"timestamp":21567769,"lux":1832.0,"lux_fast":1620.6654052734375,"lux_slow":1546.1290283203125},{"timestamp":21567936,"lux":1832.0,"lux_fast":1655.58740234375,"lux_slow":1577.2352294921875},{"timestamp":21568106,"lux":1832.0,"lux_fast":1687.6143798828125,"lux_slow":1606.6993408203125},{"timestamp":21568275,"lux":2655.0,"lux_fast":1768.2724609375,"lux_slow":1673.5108642578125},{"timestamp":21568451,"lux":2669.0,"lux_fast":1883.8636474609375,"lux_slow":1767.6826171875},{"timestamp":21568616,"lux":2695.0,"lux_fast":1987.7822265625,"lux_slow":1852.92333984375},{"timestamp":21568787,"lux":2735.0,"lux_fast":2092.2392578125,"lux_slow":1939.132568359375},{"timestamp":21568956,"lux":2789.0,"lux_fast":2193.6630859375,"lux_slow":2023.322021484375},{"timestamp":21569125,"lux":2863.0,"lux_fast":2295.042724609375,"lux_slow":2107.82177734375},{"timestamp":21569301,"lux":2938.0,"lux_fast":2400.469970703125,"lux_slow":2196.42626953125},{"timestamp":21569466,"lux":3016.0,"lux_fast":2499.45263671875,"lux_slow":2280.48388671875},{"timestamp":21569637,"lux":3107.0,"lux_fast":2602.130615234375,"lux_slow":2368.85888671875},{"timestamp":21569805,"lux":3203.0,"lux_fast":2704.767822265625,"lux_slow":2457.5361328125},{"timestamp":21569975,"lux":3295.0,"lux_fast":2812.55859375,"lux_slow":2548.749267578125},{"timestamp":21570147,"lux":3373.0,"lux_fast":2924.03759765625,"lux_slow":2641.427490234375},{"timestamp":21570318,"lux":3439.0,"lux_fast":3024.65966796875,"lux_slow":2732.771240234375},{"timestamp":21570485,"lux":3494.0,"lux_fast":3092.60595703125,"lux_slow":2820.29443359375},{"timestamp":21570655,"lux":3541.0,"lux_fast":3162.55126953125,"lux_slow":2906.735107421875},{"timestamp":21570824,"lux":3580.0,"lux_fast":3231.328369140625,"lux_slow":2989.34130859375},{"timestamp":21570997,"lux":3627.0,"lux_fast":3300.153564453125,"lux_slow":3070.463623046875},{"timestamp":21571167,"lux":3686.0,"lux_fast":3366.6591796875,"lux_slow":3147.681884765625},{"timestamp":21571335,"lux":3741.0,"lux_fast":3431.0400390625,"lux_slow":3221.77685546875},{"timestamp":21571505,"lux":3805.0,"lux_fast":3494.853759765625,"lux_slow":3294.731201171875},{"timestamp":21571675,"lux":3888.0,"lux_fast":3558.883056640625,"lux_slow":3366.871337890625},{"timestamp":21571847,"lux":3983.0,"lux_fast":3624.71484375,"lux_slow":3440.101318359375},{"timestamp":21572017,"lux":4089.0,"lux_fast":3692.137939453125,"lux_slow":3513.474609375},{"timestamp":21572186,"lux":4195.0,"lux_fast":3762.36572265625,"lux_slow":3587.46142578125},{"timestamp":21572363,"lux":4300.0,"lux_fast":3839.23095703125,"lux_slow":3665.54833984375},{"timestamp":21572525,"lux":4410.0,"lux_fast":3914.375732421875,"lux_slow":3740.236328125},{"timestamp":21572695,"lux":4522.0,"lux_fast":3998.046142578125,"lux_slow":3821.684326171875},{"timestamp":21572867,"lux":4630.0,"lux_fast":4087.63525390625,"lux_slow":3906.806884765625},{"timestamp":21573038,"lux":4747.0,"lux_fast":4182.07958984375,"lux_slow":3994.266357421875},{"timestamp":21573206,"lux":4872.0,"lux_fast":4280.412109375,"lux_slow":4083.598876953125},{"timestamp":21573375,"lux":4997.0,"lux_fast":4384.333984375,"lux_slow":4176.8779296875},{"timestamp":21573548,"lux":5125.0,"lux_fast":4495.5146484375,"lux_slow":4275.61669921875},{"timestamp":21573717,"lux":5260.0,"lux_fast":4608.90380859375,"lux_slow":4375.81689453125},{"timestamp":21573886,"lux":5408.0,"lux_fast":4727.00341796875,"lux_slow":4480.40966796875},{"timestamp":21574056,"lux":5565.0,"lux_fast":4850.6669921875,"lux_slow":4590.67138671875},{"timestamp":21574225,"lux":5711.0,"lux_fast":4977.556640625,"lux_slow":4704.9423828125},{"timestamp":21574397,"lux":5863.0,"lux_fast":5110.3603515625,"lux_slow":4825.4375},{"timestamp":21574568,"lux":6023.0,"lux_fast":5246.263671875,"lux_slow":4949.8271484375},{"timestamp":21574735,"lux":6199.0,"lux_fast":5384.3564453125,"lux_slow":5076.748046875},{"timestamp":21574907,"lux":6376.0,"lux_fast":5531.92578125,"lux_slow":5212.74462890625},{"timestamp":21575077,"lux":6572.0,"lux_fast":5684.4248046875,"lux_slow":5353.1298828125},{"timestamp":21575247,"lux":6824.0,"lux_fast":5846.9560546875,"lux_slow":5502.28369140625},{"timestamp":21575419,"lux":6824.0,"lux_fast":6007.0,"lux_slow":5650.9853515625},{"timestamp":21575586,"lux":6824.0,"lux_fast":6147.80712890625,"lux_slow":5784.982421875},{"timestamp":21575758,"lux":6824.0,"lux_fast":6277.90283203125,"lux_slow":5912.5224609375},{"timestamp":21575929,"lux":10626.0,"lux_fast":6632.8544921875,"lux_slow":6212.28125},{"timestamp":21576098,"lux":10602.0,"lux_fast":7122.9140625,"lux_slow":6615.9296875},{"timestamp":21576270,"lux":10466.0,"lux_fast":7580.357421875,"lux_slow":6996.6337890625},{"timestamp":21576438,"lux":10393.0,"lux_fast":7987.4072265625,"lux_slow":7338.93896484375},{"timestamp":21576605,"lux":10323.0,"lux_fast":8356.625,"lux_slow":7653.11474609375},{"timestamp":21576776,"lux":10274.0,"lux_fast":8699.990234375,"lux_slow":7949.7568359375},{"timestamp":21576948,"lux":10115.0,"lux_fast":9004.6220703125,"lux_slow":8218.5517578125},{"timestamp":21577120,"lux":9858.0,"lux_fast":9258.2578125,"lux_slow":8450.0166015625},{"timestamp":21577286,"lux":9546.0,"lux_fast":9446.490234375,"lux_slow":8632.5166015625},{"timestamp":21577457,"lux":9255.0,"lux_fast":9585.4375,"lux_slow":8780.033203125},{"timestamp":21577624,"lux":9165.0,"lux_fast":9691.7021484375,"lux_slow":8895.5224609375},{"timestamp":21577797,"lux":9208.0,"lux_fast":9789.7236328125,"lux_slow":9000.0107421875},{"timestamp":21577968,"lux":9437.0,"lux_fast":9846.2998046875,"lux_slow":9102.029296875},{"timestamp":21578139,"lux":9613.0,"lux_fast":9768.353515625,"lux_slow":9206.50390625},{"timestamp":21578310,"lux":9821.0,"lux_fast":9718.830078125,"lux_slow":9313.0576171875},{"timestamp":21578474,"lux":9809.0,"lux_fast":9688.80859375,"lux_slow":9408.201171875},{"timestamp":21578647,"lux":9753.0,"lux_fast":9659.8193359375,"lux_slow":9491.7685546875},{"timestamp":21578821,"lux":9664.0,"lux_fast":9628.72265625,"lux_slow":9556.1025390625},{"timestamp":21578985,"lux":9664.0,"lux_fast":9601.7822265625,"lux_slow":9602.248046875},{"timestamp":21579156,"lux":9664.0,"lux_fast":9585.3544921875,"lux_slow":9639.142578125},{"timestamp":21579325,"lux":9664.0,"lux_fast":9584.8212890625,"lux_slow":9665.03515625},{"timestamp":21579498,"lux":3823.0,"lux_fast":9231.466796875,"lux_slow":9399.96875},{"timestamp":21579667,"lux":3798.0,"lux_fast":8653.501953125,"lux_slow":8945.146484375},{"timestamp":21579840,"lux":3744.0,"lux_fast":8085.25927734375,"lux_slow":8486.7373046875},{"timestamp":21580004,"lux":3662.0,"lux_fast":7558.2939453125,"lux_slow":8057.78466796875},{"timestamp":21580176,"lux":3562.0,"lux_fast":7009.8818359375,"lux_slow":7622.43798828125},{"timestamp":21580349,"lux":3439.0,"lux_fast":6463.79833984375,"lux_slow":7200.0283203125},{"timestamp":21580519,"lux":3306.0,"lux_fast":5933.45458984375,"lux_slow":6798.60888671875},{"timestamp":21580689,"lux":3306.0,"lux_fast":5427.65234375,"lux_slow":6416.98193359375},{"timestamp":21580855,"lux":3306.0,"lux_fast":4965.01513671875,"lux_slow":6067.62939453125},{"timestamp":21581025,"lux":3306.0,"lux_fast":4523.4599609375,"lux_slow":5733.50244140625},{"timestamp":21581198,"lux":1976.0,"lux_fast":4019.466796875,"lux_slow":5353.41748046875},{"timestamp":21581370,"lux":1965.0,"lux_fast":3490.9638671875,"lux_slow":4955.32275390625},{"timestamp":21581536,"lux":1945.0,"lux_fast":3081.510009765625,"lux_slow":4595.111328125},{"timestamp":21581711,"lux":1923.0,"lux_fast":2910.646728515625,"lux_slow":4239.671875},{"timestamp":21581876,"lux":1892.0,"lux_fast":2756.390625,"lux_slow":3926.5087890625},{"timestamp":21582044,"lux":1857.0,"lux_fast":2607.181396484375,"lux_slow":3629.363525390625},{"timestamp":21582219,"lux":1815.0,"lux_fast":2460.808349609375,"lux_slow":3343.607177734375},{"timestamp":21582388,"lux":1773.0,"lux_fast":2328.356689453125,"lux_slow":3091.07958984375},{"timestamp":21582555,"lux":1724.0,"lux_fast":2206.399169921875,"lux_slow":2864.52978515625},{"timestamp":21582726,"lux":1671.0,"lux_fast":2088.890869140625,"lux_slow":2656.1298828125},{"timestamp":21582895,"lux":1615.0,"lux_fast":1974.1483154296875,"lux_slow":2473.262939453125},{"timestamp":21583068,"lux":1566.0,"lux_fast":1858.848876953125,"lux_slow":2310.140869140625},{"timestamp":21583240,"lux":1526.0,"lux_fast":1764.7093505859375,"lux_slow":2172.869873046875},{"timestamp":21583406,"lux":1480.0,"lux_fast":1725.0430908203125,"lux_slow":2063.9658203125},{"timestamp":21583575,"lux":1439.0,"lux_fast":1682.927001953125,"lux_slow":1975.101806640625},{"timestamp":21583746,"lux":1402.0,"lux_fast":1639.508056640625,"lux_slow":1893.20654296875},{"timestamp":21583917,"lux":1368.0,"lux_fast":1595.980712890625,"lux_slow":1816.7098388671875},{"timestamp":21584088,"lux":1340.0,"lux_fast":1553.291259765625,"lux_slow":1745.9364013671875},{"timestamp":21584255,"lux":1314.0,"lux_fast":1512.847412109375,"lux_slow":1682.4063720703125},{"timestamp":21584426,"lux":1289.0,"lux_fast":1473.273681640625,"lux_slow":1623.00537109375},{"timestamp":21584595,"lux":1266.0,"lux_fast":1436.134033203125,"lux_slow":1569.6954345703125},{"timestamp":21584767,"lux":1241.0,"lux_fast":1400.5538330078125,"lux_slow":1520.627685546875},{"timestamp":21584937,"lux":1218.0,"lux_fast":1367.67529296875,"lux_slow":1477.288330078125},{"timestamp":21585107,"lux":1197.0,"lux_fast":1337.121826171875,"lux_slow":1439.3248291015625},{"timestamp":21585273,"lux":1174.0,"lux_fast":1308.94287109375,"lux_slow":1406.992431640625},{"timestamp":21585445,"lux":1150.0,"lux_fast":1281.1435546875,"lux_slow":1375.0107421875},{"timestamp":21585615,"lux":1126.0,"lux_fast":1255.0029296875,"lux_slow":1344.221435546875},{"timestamp":21585788,"lux":1092.0,"lux_fast":1228.8260498046875,"lux_slow":1313.3026123046875},{"timestamp":21585957,"lux":1067.0,"lux_fast":1203.453857421875,"lux_slow":1283.5576171875},{"timestamp":21586125,"lux":1036.0,"lux_fast":1178.220703125,"lux_slow":1254.4305419921875},{"timestamp":21586295,"lux":1008.0,"lux_fast":1152.422119140625,"lux_slow":1225.366455078125},{"timestamp":21586468,"lux":986.0,"lux_fast":1126.34033203125,"lux_slow":1196.603271484375},{"timestamp":21586636,"lux":963.0,"lux_fast":1101.2227783203125,"lux_slow":1169.47900390625},{"timestamp":21586807,"lux":945.0,"lux_fast":1076.129150390625,"lux_slow":1142.8465576171875},{"timestamp":21586975,"lux":933.0,"lux_fast":1052.5303955078125,"lux_slow":1117.9486083984375},{"timestamp":21587147,"lux":922.0,"lux_fast":1029.6826171875,"lux_slow":1093.897705078125},{"timestamp":21587315,"lux":914.0,"lux_fast":1008.7587890625,"lux_slow":1071.839599609375},{"timestamp":21587487,"lux":910.0,"lux_fast":989.1784057617188,"lux_slow":1050.921630859375},{"timestamp":21587660,"lux":904.0,"lux_fast":971.3812866210938,"lux_slow":1031.479736328125},{"timestamp":21587826,"lux":905.0,"lux_fast":956.4207763671875,"lux_slow":1014.4607543945312},{"timestamp":21587996,"lux":907.0,"lux_fast":943.8412475585938,"lux_slow":998.85400390625}] \ No newline at end of file diff --git a/test/Sensor_datas/P_20241204_202152.jpg b/test/Sensor_datas/P_20241204_202152.jpg deleted file mode 100644 index 2a91aba..0000000 Binary files a/test/Sensor_datas/P_20241204_202152.jpg and /dev/null differ diff --git a/test/Sensor_datas/P_20241204_202412.jpg b/test/Sensor_datas/P_20241204_202412.jpg deleted file mode 100644 index 3c2d0c6..0000000 Binary files a/test/Sensor_datas/P_20241204_202412.jpg and /dev/null differ diff --git a/test/Sensor_datas/visualization.html b/test/Sensor_datas/visualization.html index ddde0a1..131902e 100644 --- a/test/Sensor_datas/visualization.html +++ b/test/Sensor_datas/visualization.html @@ -5,21 +5,15 @@ D3.js Multiple Line Chart @@ -28,207 +22,140 @@
\ No newline at end of file