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 |
---|---|---|---|---|
0 BŁĄD |
Nie używane | Dane dotyczące błędu | Nie używane | Nie używane |
1 TEKST |
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ź |
2 DIGIDOWN |
Kod statusu | Długość pliku w bajtach | Nazwa pliku | Identyfikator zlecenia digidown z outbox |
3 TACHOREADER |
Kod statusu | Suma CRCC pliku | Link do pliku | Identyfikator zlecenia tachoreader z outbox |
4 WEKTOR |
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 |
5 MACIERZ |
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 |
6 CONTINENTAL |
Nie używane | Zapisana szesnastkowo struktura: CONTIDATA_T |
Dane z GPS: Time , FixStatus , SatelitesUsed , Latitude , Longitude |
Nie używane (ustawione na zero) |
7 ACTIVITY |
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 |
---|---|---|---|
1 TEKST |
Pole adresata wiadomości, max 16 znaków | Pole wiadomości, max 150 znaków | Nie używane |
2 DIGIDOWN |
Kod zrzutu digidown | Nie używane | Nie używane |
3 TACHOREADER |
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.