Представлення даних
Основною метою Fledge і плагінів є маніпулювання даними, які передаються системою та представлені кількома способами. У цьому розділі буде представлено формати представлення даних, які використовуються в різних місцях у системі Fledge. Концептуально одиницею даних, яку ми використовуємо, є зчитування. Зчитування відображає стан контрольованого пристрою в певний момент часу та складається з кількох елементів.
| Назва | Опис |
|---|---|
| asset | Назва активу або пристрою, до якого відносяться дані |
| timestamp | Момент часу, коли спостерігаються ці значення |
| data points | Набір іменованих значень для даних, що зберігаються для активу |
У зчитуванні фактично є дві позначки часу, і вони можуть відрізнятися. Існує user_ts, який є часом, призначеним плагіном для даних читання, і може надходити від самого пристрою та ts. Мітка часу ts встановлюється системою, коли дані зчитуються у Fledge. Якщо плагін не може визначити мітку часу з пристрою, user_ts зазвичай збігається з ts.
Самі точки даних — це набір пар імен і значень, при цьому значення підтримують кілька різних типів даних. Вони будуть описані нижче.
Дані для читання номінально зберігаються та передаються між API за допомогою JSON, однак для зручності доступ до них різними способами в межах різних мов можна використовувати для впровадження компонентів і плагінів Fledge. У JSON читання представлено як JSON DICT, тоді як у C++ Зчитування є класом, як і точка даних. Спосіб представлення різних типів точок даних наведено нижче.
| Тип | JSON | C++ | Python |
|---|---|---|---|
| Цілий | An integer | An int | An integer |
| З плаваючею точкою | A floating point value | A double | A floating point |
| Логічний | A string either "true" or "false" | A bool | A boolean |
| Рядок | A string | A std::string pointer | A string |
| Список чисел | An array of floating point values | A std::vector<double> | A list of floating point values |
| Дворозмірний список чисел | A list of lists of floating point values | A std::vector of std::vector<double> pointers | A list of lists of floating point values |
| Буфер даних | A base64 encoded string with a header | A Databuffer class | A 1 dimensional numpy array of values |
| Зображення | A base64 encoded string with a header | A DPImage class | A 2 dimensional numpy array of pixels. In the case of RGB images each pixels is an array |