Остановите DataLogger, если нет движения

У Movesense небольшая память. При непрерывной записи с двух осей память заполняется через 13 минут. Есть идея остановить ведение журнала, когда Movesense не перемещается (очень маленький ход), и восстановить данные после получения по Timestamp.

Реализовано ведение журнала по двум осям и запись start-stop по команде с Android. Нужна помощь для реализации записи старт-стоп при определенных условиях внутри Movesense, когда Android отключен от датчика.

        DataLoggerConfig.DataEntry[] entries = {
                new DataLoggerConfig.DataEntry("/Meas/Acc/13"),
                new DataLoggerConfig.DataEntry("/Meas/Gyro/13")
        };
        DataLoggerConfig config = new DataLoggerConfig(new DataLoggerConfig.Config(new DataLoggerConfig.DataEntries(entries)));
        String jsonConfig = new Gson().toJson(config,DataLoggerConfig.class);
        getMDS().put(configUri, jsonConfig, new MdsResponseListener() {
            @Override
            public void onSuccess(String data) {
            }

            @Override
            public void onError(MdsException e) {
            }
        });

На датчике Movesense:

OPTIONAL_CORE_MODULE(DataLogger, true)
OPTIONAL_CORE_MODULE(Logbook, true)

person Igor    schedule 10.07.2019    source источник
comment
Вы пробовали сделать в прошивке кастомный сервис? Тогда вы сможете сделать это довольно легко. Самой сложной частью будет внутренняя настройка бортового журнала и регистратора данных на датчике.   -  person Morten    schedule 19.07.2019
comment
Создан индивидуальный сервис с некоторой ценностью. Подключено к этой службе по приведенному выше коду. Но у меня только одно (последнее) значение. Вы имеете в виду, что я должен внедрить регистратор данных в Movesense, чтобы получать все значения?   -  person Igor    schedule 19.07.2019
comment
Если ваша служба начинает регистрировать данные при подключении службы, вы должны получить все зарегистрированные данные при чтении журнала со стороны телефона.   -  person Morten    schedule 03.08.2019
comment
Проверьте точный вопрос об этом stackoverflow.com/questions/57610986/   -  person Igor    schedule 22.08.2019


Ответы (1)


DataLogger можно запускать и останавливать несколько раз с помощью PUT / Mem / DataLogger / State API. Для обнаружения движения вы можете подписаться на / System / States / 0 (= MOVEMENT) api и начать и остановить запись на основе событий изменения состояния (запись будет продолжаться в том же журнале). Это может быть реализовано как на мобильном устройстве, так и в коде датчика.

Полная информация: я работаю в команде Movesense

person PetriL    schedule 01.11.2019