0
Answered

Логирование сенсоров

Anonymous 9 years ago updated by Igor (Core developer) 9 years ago 6

Добрый день!

Для логирования сенсоров создал файл user.track следующего содержания:

<?xml version="1.0" encoding='utf-8'?><sensor-track id="user" name="test"><track sensor="OBD2.Speed" period='1000'/><track sensor="FuelEconomy_instant" period='1000'/></sensor-track>

В результате OBD2.Speed логируется согласно настройкам раз в секунду, а FuelEconomy_instant с какой-то непредсказуемой периодичностью, намного реже. В чем ошибка?

Answer

Answer
Answered
В текущей версии небольшая логическая ошибка, из за которой этот сенсор считается "накопительным".
Накопительные сенсоры (например TripTime - время поездки) не логируются каждую секунду - сохраняется лишь последнее значение раз в несколько минут.

В последних бета версиях (неофициальных) ошибка с FuelEconomy_instant исправлена, и он будет работать как вы хотите.
Можете попробовать: http://hobdrive.com/download/hobd/hobd-1.0.15.zip
Answer
Answered
В текущей версии небольшая логическая ошибка, из за которой этот сенсор считается "накопительным".
Накопительные сенсоры (например TripTime - время поездки) не логируются каждую секунду - сохраняется лишь последнее значение раз в несколько минут.

В последних бета версиях (неофициальных) ошибка с FuelEconomy_instant исправлена, и он будет работать как вы хотите.
Можете попробовать: http://hobdrive.com/download/hobd/hobd-1.0.15.zip

Добрый день!

Скачал версию, поставил её, проверил, что это дейтвительно 1.0.15. Но FuelEconomy_instant все равно лигирует непредсказуемо. Что посоветуете? Конфиги такие:

<?xml version="1.0" encoding='utf-8'?><sensor-track id="user" name="test">  <track sensor="OBD2.Speed" period='1000'/>  <track sensor="FuelEconomy_instant" period='1000'/></sensor-track>
Только что проверил - в моем случае честно раз в секунду сенсор стал отдавать значение.
По умолчанию этот сенсор не считает данные в простое - возможно в этом кажущаяся причина непредсказуемости?
При ненулевой скорости все логируется регулярно.

Добрый день!

Проверил предположение о ненулевой скорости - не подтвердилось. В тех отсчетах, где была нулевая скорость выводится сообщение "бесконечность". Вот примеры трэйсов на одни момент времени.

FuelEconomy_instant:

2011 11 29 08:25:00.6620 1644308 20,42301

2011 11 29 08:25:03.3920 1647038 18,91637

2011 11 29 08:25:06.1840 1649830 17,52826

Speed:

2011 11 29 08:25:00.3980 1647917 35
2011 11 29 08:25:01.1990 1648718 35
2011 11 29 08:25:02.2930 1649812 33
Очевидно, что частота логирования не совпадает, причем у обоих параметров она отличается от 1000, как должно быть согласно конфигу. Есть предположения?

Частота логирования зависит от многих факторов. То что вы указываете в конфиге - это рекомендуемое минимальное значение. Реальный интервал будет зависеть от количества одновременно считываемых датчиков, текущего активного экрана, и т.д.

У скорости как видите интервал весьма близок к указанному. У FuelEconomy интервал больше - причина в том что это агрегируемый датчик, и для снижения нагрузки он обсчитывает изменения в базовых датчиках с интервалом 2сек. Так что все нормально судя по куску вашего лога.


Добрый день!

Раз FuelEconomy опрашивается раз в 2 секунды попробовал поставить в конфиге частоту опроса параметров 2000 микросекунд. Результат странный - FuelEconomy стал опрашиваться примерно раз в секунду, а Speed - раз в пол секунды. Когда время опроса было 1000, оба эти параметра снимались реже! Может я неправильно понимаю смысл параметра period? Это частота опроса в микросекундах или нет?

Мне собственно нужно снять скорось и расход с одинаковой частотой, чтобы потом посчитать расход на разных режимах. Как это сделать (снять эти параметры с одинаковой частотой), может лучше какие-то другие параметры снимать?

Частота опроса Speed не зависит от частоты опроса FuelEconomy - вероятно что-то еще изменилось - может вы убрали лишние опрашиваемые сенсоры? или например в этот момент был активным экран без сенсоров.. Как следствие частота опроса выросла..

В общем я не думаю что вам стоит гнаться и пытаться выровнять периодичность опроса этих параметров - в зависимости от условий езды, активного экрана - она в любом случае будет плавать. И это никак не будет мешать анализу данных.

Конечная мысль у вас верная - посмотреть расход при движении с разной скоростью. Я бы посоветовал во первых использовать FuelEconomy_short - он показывает более сглаженный расход за последнюю минуту. Во вторых сравнивать показания нужно при устоявшемся равномерном движении на каждом интервале скоростей. Я бы посоветовал построить графики (в excel легко строится) обоих параметров - так визуально легче отследить пологие интервалы и именно на их основе судить о расходе.