Niniejszy dokument zawiera opis danych pozyskiwanych z serwera komunikacyjnego urządzeń lokalizacyjnych począwszy od Skaut5 DRIVE oraz Skaut5 ECO/CAN i nowsze.
Tablica zawiera dane identyfikacyjne pojedynczego urządzenia Skaut. Rekord jest zapisywany podczas pierwszego połączenia urządzenia z serwerem, a następnie weryfikowany i w razie zmian
aktualizowany przy każdym kolejnym połączeniu (TCP). Stan flagi udpmode monitorowany jest na bieżąco w miarę odbioru kolejnych danych. W przypadku wykrycia wartości różnej od zera urządzenie przechodzi do trybu UDP i pozostaje w nim do czasu wyzerowania flagi.
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | imei |
char(15) |
Numer seryjny lokalizatora |
| 3 | dscr |
varchar(16) |
Tekstowy opis lokalizatora |
| 4 | ccid |
varchar(20) |
Numer seryjny karty SIM |
| 5 | version |
INTEGER |
Wersja firmware rejestratora |
| 6 | udpmode |
INTEGER |
Flaga pracy w trybie UDP |
| 7 | vin |
varchar(17) |
Numer VIN |
| 8 | vrn |
varchar(13) |
Numer rejestracyjny |
| 9 | tachofw |
varchar(15) |
Wersja firmware tachografu |
Zawiera wszystkie dane pomiarowe przesyłane przez urządzenia Skaut. Każdy rekord skojarzony jest z właściwym opisem urządzenia w tablicy devices poprzez klucz obcy device_id.
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | device_id |
INTEGER |
Klucz obcy do tablicy urządzeń |
| 3 | locdatetime |
TIMESTAMP lub DATETIME w przypadku MySQL |
Czas UTC przyjścia ramki na serwer |
| 4 | seqno |
INTEGER |
Numer ramki w czarnej skrzynce |
| 5 | event |
INTEGER |
Kod zdarzenia |
| 6 | fixstat |
INTEGER |
Flaga (0 - niepoprawne 1 - poprawne 2 - poprawne z uwzględnieniem poprawek różnicowych) poprawności danych z GPS |
| 7 | satuse |
INTEGER |
Ilość satelit używanych przez GPS (0-12) |
| 8 | latitude |
FLOAT |
Stopnie długości geograficznej |
| 9 | longitude |
FLOAT |
Stopnie szerokości geograficznej |
| 10 | altitude |
FLOAT |
Wysokość nad poziomem morza |
| 11 | altref |
FLOAT |
Wysokość referencyjna nad poziomem morza |
| 12 | cogt |
FLOAT |
Kierunek ruchu w stopniach |
| 13 | kph |
FLOAT |
Prędkość w km/h |
| 14 | distance |
INTEGER |
Przebyty dystans w m |
| 15 | gpsdatetime |
TIMESTAMP lub DATETIME w przypadku MySQL |
Czas UTC zebrania danych pomiarowych |
| 16 | antstat |
INTEGER |
Status anteny GPS (1 - OK, 2 - SHORT, 3 - OPEN) |
| 17 | rawdin |
INTEGER |
Stan wejść cyfrowych |
| 18 | hidin |
INTEGER |
Stan wejść cyfrowych ze złapanymi 1 |
| 19 | lodin |
INTEGER |
Stan wejść cyfrowych ze złapanymi 0 |
| 20 | power |
FLOAT |
Stan 0 wejścia analogowego w V (zasilanie) |
| 21 | battery |
FLOAT |
Stan 1 wejścia analogowego (akumulator) |
| 22 | analog2 |
FLOAT |
Stan 2 wejścia analogowego w V (wejście zewnętrzne) |
| 23 | analog3 |
FLOAT |
Stan 3 wejścia analogowego w V (temperatura) |
| 24 | sig |
INTEGER |
Poziom sygnału GSM |
| 25 | network |
INTEGER |
Kod sieci do której zalogowany jest GSM |
| 26 | lac |
INTEGER |
Numer LAC stacji bazowej GSM |
| 27 | ci |
INTEGER |
Numer CI stacji bazowej GSM |
| 28 | noiseperms |
INTEGER |
Poziom szumów odbiornika GPS |
| 29 | agccnt |
INTEGER |
Wzmocnienie toru analogowego odbiornika GPS |
| 30 | jamind |
INTEGER |
Wskaźnik zakłóceń odbiornika GPS |
| 31 | canid |
INTEGER |
Identyfikator konfiguracji CAN |
| 32 | spn190 |
FLOAT |
Engine speed |
| 33 | spn84 |
FLOAT |
Wheel based speed |
| 34 | spn917 |
BIGINT |
Vehicle distance |
| 35 | spn96 |
FLOAT |
Fuel level |
| 36 | spn250 |
FLOAT |
Total fuel |
| 37 | spn247 |
FLOAT |
Total engine hours |
| 38 | spn110 |
INTEGER |
Coolant temperature |
| 39 | spn172 |
INTEGER |
Air inlet temp |
| 40 | spn175 |
FLOAT |
Oil temperature |
| 41 | spn91 |
FLOAT |
Accel pedal position |
| 42 | spn521 |
FLOAT |
Brake pedal pos |
| 43 | spn523 |
INTEGER |
Current gear |
| 44 | spn520 |
INTEGER |
Actual retarder |
| 45 | spn595 |
INTEGER |
Cruise ctrl active |
| 46 | spn596 |
INTEGER |
Cruise ctrl enable |
| 47 | spn1611 |
INTEGER |
Vehicle montion |
| 48 | spn1612 |
INTEGER |
Driver 1 state |
| 49 | spn1613 |
INTEGER |
Driver 2 state |
| 50 | rawvirt |
INTEGER |
Wyjścia wirtualne (stacyjka, przekroczenie prędkości) |
| 51 | rawchg |
INTEGER |
Flaga zmiany stanu wyjścia wirtualnego |
| 52 | imp0 |
INTEGER |
Ilość impulsów na wejściu zliczającym 0 |
| 53 | imp1 |
INTEGER |
Ilość impulsów na wejściu zliczającym 1 |
| 54 | imp2 |
INTEGER |
Ilość impulsów na wejściu zliczającym 2 |
| 55 | imp3 |
INTEGER |
Ilość impulsów na wejściu zliczającym 3 |
| 56 | freq0 |
FLOAT |
Częstotliwość impulsów na wejściu zliczającym 0 |
| 57 | freq1 |
FLOAT |
Częstotliwość impulsów na wejściu zliczającym 1 |
| 58 | freq2 |
FLOAT |
Częstotliwość impulsów na wejściu zliczającym 2 |
| 59 | freq3 |
FLOAT |
Częstotliwość impulsów na wejściu zliczającym 3 |
| 60 | tagid |
CHAR(16) |
Numer pastylki Dallas |
| 61 | driverid0 |
CHAR(16) |
Numer karty kierowcy 0 |
| 62 | driverid1 |
CHAR(16) |
Numer karty kierowcy 1 |
| 63 | level0 |
INTEGER |
Poziom paliwa z cyfrowej sondy 0 |
| 64 | level1 |
INTEGER |
Poziom paliwa z cyfrowej sondy 1 |
| 65 | level2 |
INTEGER |
Poziom paliwa z cyfrowej sondy 2 |
| 66 | level3 |
INTEGER |
Poziom paliwa z cyfrowej sondy 3 |
| 67 | acctemp |
INTEGER |
Temperatura z czujnika MEMS |
| 68 | accx |
FLOAT |
Przeciążenie w osi X |
| 69 | accy |
FLOAT |
Przeciążenie w osi Y |
| 70 | accz |
FLOAT |
Przeciążenie w osi Z |
| 71 | spn597 |
INTEGER |
Brake Switch |
| 72 | spn180 |
FLOAT |
Trailer Weight |
| 73 | spn181 |
FLOAT |
Cargo Weight |
| 74 | spn582_0 |
FLOAT |
Axle Weight 0 |
| 75 | spn582_1 |
FLOAT |
Axle Weight 1 |
| 76 | spn582_2 |
FLOAT |
Axle Weight 2 |
| 77 | spn582_3 |
FLOAT |
Axle Weight 3 |
| 78 | ldwr |
INTEGER |
Lane Departure Warning (right) |
| 79 | ldwl |
INTEGER |
Lane Departure Warning (left) |
| 80 | ttc |
INTEGER |
Time To Collision |
| 81 | fcw |
INTEGER |
Forward Collision Warning |
| 82 | brake |
INTEGER |
Ilość gwałtownych hamowań |
| 83 | accel |
INTEGER |
Ilość gwałtownych przyśpieszeń |
| 84 | corner |
INTEGER |
Ilość gwałtownych zakrętów |
| 85 | drivingstate |
INTEGER |
Stan trasy (1 - aktywna jazda, 2 - jazda z rozpędu, 3 - hamowanie, 4 - jazda na tempomacie, 5 - hamowanie retarderem) |
| 86 | ecorating |
INTEGER |
Ocena ekonomiki jazdy (do przyszłościowych zastosowań) |
| 87 | drivingscore |
INTEGER |
Punktacja kierowcy (do przyszłościowych zastosowań) |
| 88 | quantizer1 |
INTEGER |
Kwantyzator 1 |
| 89 | quantizer2 |
INTEGER |
Kwantyzator 2 |
| 90 | quantizer3 |
INTEGER |
Kwantyzator 3 |
| 91 | quantizer4 |
INTEGER |
Kwantyzator 4 |
| 92 | quantichg1 |
INTEGER |
Zmiany kwantyzatorów 1-4 |
| 93 | quantizer5 |
INTEGER |
Kwantyzator 5 |
| 94 | quantizer6 |
INTEGER |
Kwantyzator 6 |
| 95 | quantizer7 |
INTEGER |
Kwantyzator 7 |
| 96 | quantizer8 |
INTEGER |
Kwantyzator 8 |
| 97 | quantichg2 |
INTEGER |
Zmiany kwantyzatorów 5-8 |
| 98 | fixstat2 |
INTEGER |
Status dodatkowych danych z GPS |
| 99 | latitude1 |
FLOAT |
Stopnie długości geograficznej |
| 100 | longitude1 |
FLOAT |
Stopnie szerokości geograficznej |
| 101 | latitude2 |
FLOAT |
Stopnie długości geograficznej |
| 102 | longitude2 |
FLOAT |
Stopnie szerokości geograficznej |
| 103 | latitude3 |
FLOAT |
Stopnie długości geograficznej |
| 104 | longitude3 |
FLOAT |
Stopnie szerokości geograficznej |
| 105 | spn899 |
INTEGER |
Engine torque mode |
| 106 | spn513 |
INTEGER |
Percent torque |
| 107 | Spn169_0 |
FLOAT |
Cargo Temperature 0 |
| 108 | Spn169_1 |
FLOAT |
Cargo Temperature 1 |
| 109 | Spn169_2 |
FLOAT |
Cargo Temperature 2 |
| 110 | Spn169_3 |
FLOAT |
Cargo Temperature 3 |
| 111 | Spn169_4 |
FLOAT |
Cargo Temperature 4 |
| 112 | Spn169_5 |
FLOAT |
Cargo Temperature 5 |
| 113 | Spn169_6 |
FLOAT |
Cargo Temperature 6 |
| 114 | Spn169_7 |
FLOAT |
Cargo Temperature 7 |
| 115 | BBMem |
INTEGER |
Ilość zajętej pamięci – czarna skrzynka |
| 116 | MSGMem |
INTEGER |
Ilość zajętej pamięci – wiadomości |
| 117 | kphstatus |
INTEGER |
Status |
| 118 | kph1 |
FLOAT |
|
| 119 | kph2 |
FLOAT |
|
| 120 | kph3 |
FLOAT |
|
| 121 | freqstatus |
INTEGER |
Status |
| 122 | freq4 |
INTEGER |
|
| 123 | freq5 |
INTEGER |
|
| 124 | freq6 |
INTEGER |
|
| 125 | virt1ontimer |
BIGINT |
Timer |
| 126 | virt1offtimer |
BIGINT |
|
| 127 | virt2ontimer |
BIGINT |
Timer |
| 128 | virt2offtimer |
BIGINT |
|
| 129 | virt3ontmer |
BIGINT |
Timer |
| 130 | vit3offtimer |
BIGINT |
|
| 131 | virt4ontimer |
BIGINT |
Timer |
| 132 | virt5offtimer |
BIGINT |
|
| 133 | spn235 |
FLOAT |
Engine Total Idle Hours |
| 134 | spn1761 |
FLOAT |
Catalyst Tank Level |
| 135 | spn3484 |
INTEGER |
Ignition |
| 136 | userchar1-4 |
INTEGER |
Dane użytkownika, 8-bitów signed |
| 137 | usershort1-4 |
INTEGER |
Dane użytkownika, 16-bitów signed |
| 138 | userint1-4 |
INTEGER |
Dane użytkownika, 32-bitów signed |
| 139 | userlong1-4 |
BIGINT |
Dane użytkownika, 64-bitów signed |
| 140 | userfloat1-4 |
FLOAT |
Dane użytkownika, 32-bity format zmiennoprzecinkowy |
| 141 | userdouble1-4 |
DOUBLE |
Dane użytkownika, 64-bity format zmiennoprzecinkowy, precycyjny |
| 142 | acc1 |
BIGINT |
Parametr akumulacyjny 1 |
| 143 | acc2 |
BIGINT |
Parametr akumulacyjny 2 |
| 144 | shadowacc1 |
FLOAT |
Przeliczony parametr akumulacyjny 1 |
| 145 | shadowacc1 |
FLOAT |
Przeliczony parametr akumulacyjny 2 |
| 146 | stickybits1 |
INTEGER |
Zlepiony parametr bitowy 1 |
| 147 | stickymask1 |
INTEGER |
Maska parametru bitowego 1 |
| 148 | stickychg1 |
INTEGER |
Zmiany w parametrze bitowym 1 |
| 149 | stickybits2 |
INTEGER |
Zlepiony parametr bitowy 2 |
| 150 | stickymask2 |
INTEGER |
Maska parametru bitowego 2 |
| 151 | stickychg2 |
INTEGER |
Zmiany w parametrze bitowym 2 |
Tablica przechowuje dla każdego urządzenia identyfikator ostatniego odebranego rekordu z danymi
pomiarowymi. Jest to tablica nadmiarowa, mająca za zadanie przyspieszenie wyszukiwania najbardziej aktualnych danych pomiarowych w sytuacji dużego obciążenia serwera bazy danych.
Dodatkowo zawiera nadmiarowe pole seqno, o które serwer odpytuje w przypadku urządzeń pracujących w trybie UDP wraz z każdą nową porcją danych (umożliwia wyeliminowanie powtórzonych danych).
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | Id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | device_id |
INTEGER |
Klucz obcy do tablicy urządzeń |
| 3 | locdata_id |
INTEGER |
Klucz obcy do tablicy danych |
| 4 | seqno |
INTEGER |
Kopa numeru ostatniego rekordu |
Tabela przechowuje kopię danych, które sprawiały problemy przy dodawaniu do tabel locdata lub inbox.
Ułatwia ona wyszukiwanie ewentualnych anomalii w danych pomiarowych.
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | Id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | add_date |
TIMESTAMP NULL default NULL |
Data dodania rekordu |
| 3 | device_id |
INTERER |
ID urzadzenia w tabeli devices |
| 4 | name |
VARCHAR(16) |
Nazwa tabeli powodującej błąd |
| 5 | query |
BLOB |
Kopia zapytania SQL, które spowodowało błąd |
Tabela przechowuje wiadomości przychodzące od konkretnych aplikacji skonfigurowanych w urządzeniach Skaut.
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | add_date |
TIMESTAMP lub DATETIME |
Czas dodania rekordu do tabeli |
| 3 | device_id |
INTEGER |
Klucz obcy do tablicy urządzeń |
| 4 | outbox_id |
INTEGER |
Dodatkowy klucz np. index outbox |
| 5 | status |
INTEGER |
Status wiadomości |
| 6 | app_id |
INTEGER |
Identyfikator aplikacji |
| 7 | data0 |
VARCHAR(16) |
Pole z danymi 0 |
| 8 | data1 |
VARCHAR(480) |
Pole z danymi 1 |
| 9 | data2 |
VARCHAR(240) |
Pole z danymi 2 |
Pole status przyjmuje następujące wartości:
1 - odebrana2 - przeczytanaSerwer zawsze wstawia wiadomości do tabeli z wartością pola status = 1. Aplikacja czytająca dane może w zależności od potrzeb zmodyfikować to pole na wartość 2 lub dowolną inną.
W zależności od wartości w polu app_id pola data0 – data2 oraz outbox_id zawierają różne informacje.
app_id |
data0 |
data1 |
data2 |
outbox_id |
|---|---|---|---|---|
0BŁĄD |
Nie używane | Dane dotyczące błędu | Nie używane | Nie używane |
1TEKST |
Pole adresata wiadomości, max 16 znaków | Pole wiadomości, max 150 znaków | Nie używane | Identyfikator wiadomości wysłanej, jeśli to odpowiedź |
2DIGIDOWN |
Kod statusu | Długość pliku w bajtach | Nazwa pliku | Identyfikator zlecenia digidown z outbox |
3TACHOREADER |
Kod statusu | Suma CRCC pliku | Link do pliku | Identyfikator zlecenia tachoreader z outbox |
4WEKTOR |
Numer wektora, długość wektora | Pole danych: liczby uint16_t zapisane szesnastkowo na 4 znakach |
Dane z GPS: Time, FixStatus, SatelitesUsed, Latitude, Longitude |
Identyfikator wektora z konfiguracji rejestratora |
5MACIERZ |
Numer macierzy, długość wektora | Pole danych: liczby uint16_t zapisane szesnastkowo na 4 znakach |
Dane z GPS: Time, FixStatus, SatelitesUsed, Latitude, Longitude |
Identyfikator macierzy z konfiguracji rejestratora |
6CONTINENTAL |
Nie używane | Zapisana szesnastkowo struktura: CONTIDATA_T |
Dane z GPS: Time, FixStatus, SatelitesUsed, Latitude, Longitude |
Nie używane (ustawione na zero) |
7ACTIVITY |
Ilość rekordów z aktywnościami | Rekordy z danymi: Data, Godzina, Status 1, Status 2, Identyfikator 1, Identyfikator 2 |
Nie używane / dodatkowe rekordy ze statusem jazdy | Ilość „zgubionych” rekordów aktywności |
Stan BŁĄD sygnalizuje problem z danymi i jako taki nie powinien występować.
typedef struct
{
uint8_t Pressure[24];
uint8_t Temperature[24];
uint8_t Alarm[24];
uint8_t Flags[24];
uint8_t Position[24];
} CONTIDATA_T;
Sumarycznie struktura zawiera 120 wartości bajtowych typu uint8_t, ale w postaci szesnastkowej każdy bajt zapisywany jest na 4 znakach tak jak ma to miejsce w przypadku macierzy i wektorów.
Tabela przechowuje wiadomości, które zostaną i zostały już wysłane do konkretnych aplikacji w urządzeniu Skaut.
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | add_date |
TIMESTAMP lub DATETIME |
Czas dodania rekordu do tabeli |
| 3 | sent_date |
TIMESTAMP lub DATETIME |
Czas wysłania danych |
| 4 | device_id |
INTEGER |
Klucz obcy do tablicy urządzeń |
| 5 | status |
INTEGER |
Status wiadomości |
| 6 | app_id |
INTEGER |
Identyfikator aplikacji |
| 7 | data0 |
VARCHAR(16) |
Pole z danymi 0 |
| 8 | data1 |
VARCHAR(480) |
Pole z danymi 1 |
| 9 | data2 |
VARCHAR(240) |
Pole z danymi 2 |
Pole status przyjmuje następujące wartości:
1 - nowa2 - wysłana3 - błąd4 - nieznanaapp_id |
data0 |
data1 |
data2 |
|---|---|---|---|
1TEKST |
Pole adresata wiadomości, max 16 znaków | Pole wiadomości, max 150 znaków | Nie używane |
2DIGIDOWN |
Kod zrzutu digidown | Nie używane | Nie używane |
3TACHOREADER |
Kod zrzutu tachoreader | Nie używane | Nie używane |
Tabela przechowuje listę plików, które zostały przesłane z rejestratora (pliki ze skanera USB lub dane z wbudowanego sniffera CAN).
| Lp | Nazwa kolumny | Typ | Opis |
|---|---|---|---|
| 1 | id |
SERIAL NOT NULL UNIQUE |
Unikalny identyfikator rekordu |
| 2 | add_date |
TIMESTAMP lub DATETIME |
Czas dodania rekordu do tabeli |
| 3 | device_id |
INTEGER |
Klucz obcy do tablicy urządzeń |
| 4 | name |
VARCHAR(12) |
Nazwa pliku |
| 5 | dscr |
VARCHAR(16) |
Zawartość pliku opisowego |
| 6 | size |
INTEGER |
Rozmiar pliku w bajtach |
| 7 | crcc1 |
BIGINT |
Suma crcc 1 pliku |
| 8 | crcc2 |
BIGINT |
Suma crcc 2 pliku |
| 9 | completed |
INTEGER |
Postęp transmisji w procentach |
Nazwa pliku na serwerze ma postać: id_name w celu uniknięcia nadpisywania plików o tej samej nazwie.