Internet of Things Integration Platform
Remote Monitoring, M2M and Device Management Software Platform

передача time series data из агента

вопросы, относящиеся к использованию SDK AggreGate, AggreGate Driver Development Kit (DDK), AggreGate Plugin SDK, Agent SDK и Server API для Java, NET, C/C++, Android, Tibbo BASIC и т.д.

передача time series data из агента

Postby axch/mail_ru » Wed Feb 22, 2017 9:44 am

Здравствуйте! Мне нужно реализовать передачу из агента и сохранение в AggreGate Server данных с метками времени (например, пар <дата-время, float>).

Попытался определить переменную с форматом таблицы <date, float>, для которой задал некоторый History Storage Time. В getter переменной возвращаю новые (полученные агентом после предыдущего вызова) данные. В результате на сервере, если посмотреть Variable History, вижу набор записей <Time, Value>, где в каждом Value содержится некоторое количество моих записей <date, float>. С такими данными работать неудобно. Например, не знаю, возможно ли и как построить chart, в котором будет выводиться единый временнОй ряд, независимо от того, какими "порциями" его части передавались.

Попробовал передавать данные через getHistory: в HistoricalValue.timestamp передаю метку времени, в value - значение. Наверно, это не очень эффективно (DataTable на каждое значение), но результат почти устраивает. Проблема в том, что getHistory вызывается только один раз, при начальной синхронизации. Постоянно делать connect/disconnect не хотелось бы.

Думаю, задача довольно стандартная и мои затруднения происходят из-за недостатка знаний о системе; подскажете, как решать?
axch/mail_ru
 
Posts: 1
Joined: Mon Feb 20, 2017 1:32 pm

Re: передача time series data из агента

Postby anton_logoyskiy/tibbo_com » Wed Mar 01, 2017 8:19 am

Добрый день!

Судя по всему, реализованный Вами getter возвращает таблицу с несколькими записями, а эта таблица сохраняется как историческое значение переменной. Необходимо реализовать getter так, чтобы возвращаемая им таблица содержала только одну запись. Однако в этом случае история переменной будет содержать значения только на моменты синхронизации. Если Вам необходимо сохранять все значения, можно использовать асинхронное обновление переменной. Пример можно посмотреть в AggreGate SDK для Java.

С уважением,
Антон Логойский
Tibbo Systems
anton_logoyskiy/tibbo_com
 
Posts: 96
Joined: Wed Jul 22, 2015 10:05 am


Return to Разработка и интеграция

Who is online

Users browsing this forum: No registered users and 0 guests