@City IoT Platformă cloud




iSys - Sisteme inteligente IoT Soluții









IoE.Systems

Cuprins

1. Introducere. 5

1.1 Tipuri de dispozitive acceptate. 5

1.2. Tipuri de produse acceptate. 5

1.3. Protocoale de comunicare acceptate 5

1.4. Tehnologia de comunicare acceptată a dispozitivelor 6

1.5. @City Cloud Server 6

1.5.1. Server și gateway-uri de comunicații 7

1.5.2 Integrare HTTP LoRaWAN 7

1.5.3. Interfață frontală 8

1.5.3. Drepturi de acces la server 8

1.6. Dispozitive inteligente 9

1.6.1. CIoT - dispozitive GSM 9

1.6.3. BAS, BMS, IoT - Dispozitive Ethernet și WiFi 9

1.6.2. Dispozitive IoT -LoRaWAN 9

1.7. Opțiuni Business to Business (B2B) 9

2. @City IoT Funcționalitatea platformei 10

3. Pagina principală 11

4. Formularul principal 11

4.1. Antetul 12

4.1.1. Link principal - (deschide tabelul cu rezultate efective) 12

4.1.2. Caseta de selectare „X” - deschide / închide formularul de interogare 12

4.1.3. Caseta de selectare „V” - deschide / închide formularul 12 câmpuri

4.1.4. Pictograme grafice - linkuri către rezultatele vizualizării (modificabile) 12

4.2. Formular: 12

4.2.1. Caseta de selectare „X” - deschide / închide întregul formular de interogare 12

4.2.2. CSS - Selectați tema de vizualizare 12

4.2.3 Caseta de selectare Câmpuri vizibile - afișează / ascunde Lista de filtre de câmp 12

4.2.4. Fila: Nume filă pentru a adăuga sau a elimina 12

4.2.5. Adăugare / eliminare butoane - Adăugați sau eliminați file cu numele în câmpul Tab 12

4.2.6. Selectați butonul de bază 12

4.2.7. Deselectați butonul Toate 12

4.2.7. Selectați butonul Toate 12

4.2.8. Ascunde filtrul - Ascunde întregul formular 12

4.2.9. Buton Execute - Modificați setările parametrilor 13

4.2.10. Caseta de selectare „V” - afișează / câmpuri cu filtru înalt. 13

4.3. Filele 13

4.4. Cuprinsul tabelului 13

4.4.1. Executare - afișează rezultatul tip 13

4.4.2. Copiere (+/- linkuri) 13

4.4.3. Legături de celule de tabel 13

4.5. Ordinea de date 13

4.6. Exemplul 13

5. Hărți 15

5.1. Inițializarea hărții 15

5.2. Setări opționale pentru interogarea 15

5.2.1. Modificați scala MAP (nivel de zoom) 16

5.2.2. IMEI (Selectați câmpul dispozitivului) 16

5.2.3. Lon, Lat (câmpuri de coordonate longitudine, latitudine) 16

5.2.4. Modificați stilul MAP (temă) 16

5.2.5. UNDE Clauza 16

5.2.6. Executați (butonul Executare interogare) 16

5.2.7. Deselectați toate (Eliminați toate câmpurile din interogare) 17

5.2.8. Caseta de selectare „V” (formularul Deschidere / Închidere câmp) 17

5.2.9. Caseta de selectare „X” (Afișați / ascundeți formularul de interogare) 17

5.3. Exemplul 17

6. Afișați rezultatele în tabelul 18

6.1. Inițializarea tabelului 18

6.2. Setări opționale pentru interogarea 19

6.2.1. Sortare - sortarea câmpului și ordinea crescătoare / descendentă 19

6.2.2. DB / IMEI - Selectați dispozitivul 19

6.2.3. CSS - selectați stilul (Tema de vizualizare) 20

6.2.4. Câmpuri vizibile - Afișați / ascundeți câmpul Formular 20

6.2.5. Eliminați golul - Nu afișați coloanele goale 20

6.2.6. Caseta de selectare „X” (Afișați / ascundeți formularul de interogare) 20

6.2.7. Clauza unde (pentru limitarea datelor) 20

6.2.8. Selectați butonul de bază (activați cele mai frecvente câmpuri) 20

6.2.9. Deselectați butonul Toate (Eliminați toate câmpurile din interogare) 20

6.2.10. Executați (butonul Run Query) 20

6.2.11. Caseta de selectare „V” (formularul Deschidere / Închidere câmp) 20

7. Grafice de bare. 21

8. Diagramele istorice. 22

8.1. Inițializarea graficelor istorice 22

8.2. Setări opționale ale diagramelor istorice 23

8.2.1. IMEI - (Selectați dispozitivul pentru a afișa datele istorice) 23

8.2.2. Min - valoarea minimă limită a primului câmp 23

8.2.3. Max - limită maximă a valorii primului câmp 23

8.2.4. „V” - Afișați / ascundeți câmpul Formular 23

8.2.5. De la: setați data / ora minimă (*) 23

8.2.6. Pentru: setați data / ora maximă (*) 23

8.2.7. Caseta de selectare „X” (Afișare / Ascundere formular de interogare) 23

8.2.8. "Unde" Clauza 23

8.2.9. Deselectați butonul Toate (Eliminați toate câmpurile din interogare) 23

8.2.10. Executați (butonul Executare interogare) 23

8.2.11. Caseta de selectare „V” (formularul Deschidere / Închidere câmp) 24

8.3. Bară Variantă: (afișează numai datele disponibile) 24

8.4. Varianta continuă (cu aceleași date): 24

9. Compatibilitate browser web 25

10. Personalizarea temelor 26

11. Actualizarea algoritmilor 27

12. Structura bazei de date 28

12.1. Structura tabelelor "ithings_" și "*" 29

12.2. Comenzile dispozitivului (Evenimente) coadă tabelul "* _c" - structura 30

12.3. Accesarea rezultatelor din baze de date - Nivel mediu (citirea datelor) 30

12.3.1. Obțineți stările actuale ale tuturor dispozitivelor 30

12.3.2. Obțineți date istorice pentru dispozitivul 31

12.3.3. Obțineți lista dispozitivelor - câmp unic din stările curente cu limitarea 32


1. Introducere.

@City IoT Cloud Platform este dedicat "micro-nor" sistem pentru clienți individuali. Platforma nu este partajabilă și un singur client are acces la server fizic sau virtual (VPS sau servere dedicate). Clientul poate selecta unul dintre zeci de centre de date din Europa sau din lume.

1.1 Tipuri de dispozitive acceptate.

Platforma @City IoT este dedicată urmăririi produselor iSys.PL



1.2. Tipuri de produse acceptate.

@City (eCity) Cloud IoT Platform este un sistem de diferite dimensiuni pentru produsele IP called (denumite împreună ca @City Hardware sau Dispozitive CioT ):


1.3. Protocoale de comunicare acceptate

Platforma @City supports acceptă următoarele protocoale de comunicare:

Trimiterea datelor de la controler la serverul cloud și viceversa sunt criptate într-un format binar unic pentru dimensiunea minimă a datelor și securitate sporită. Fiecare partener primește propria cheie de criptare unică pentru autorizarea dispozitivului, verificarea validității datelor etc.


Pentru dispozitivele non-eHouse / eCity putem furniza algoritmi de criptare individuală ( "C" cod sursă) pentru fiecare partener pentru microprocesor pentru a proteja datele înainte de comunicare.

În acest caz, datele sunt complet sigure în timpul comunicării bidirecționale prin mijloacele de comunicare publice (internet, aer etc.) ).


1.4. Tehnologie de comunicare acceptată a dispozitivelor

Platforma @City supports acceptă:


@City IoT Platform este dedicat dispozitivelor / nodurilor:


1.5. @City Cloud Server

Software-ul @City funcționează pe Linux bazat pe VPS (Virtual Private Server) sau Server dedicat pe internet, în funcție de performanța solicitată a Server (numit mai târziu Server):


Există mai multe variante de VPS în funcție de:


Există zeci de server dedicat în funcție de:


Platforma @City IoT este dedicată clientului unic:


Deoarece serverul nu poate fi partajat între clienți, simplifică accesul la securitate și problemele de performanță. Din acest motiv, numai clientul este responsabil pentru securitate, stabilitate, eficiență, transfer de date etc. În cazul unei performanțe insuficiente, clientul poate achiziționa un plan mai mare (VPS sau server dedicat), mai optim decât funcționalitatea și performanța așteptate.

În cazuri speciale "Cloud to cloud" comunicarea ar putea fi implementată pentru globalizare și centralizarea datelor în zone mai mari în loc de cloud multi-clienți.

1.5.1. Server și gateway-uri de comunicații

Comunicarea @City Server se realizează pe baza unei aplicații de nivel scăzut pentru maximizarea performanței.

Principalele caracteristici ale aplicației @City Server sunt:

Software-ul @City Server este același pentru fiecare utilizator și nu poate fi personalizat pentru clienți diferiți.

1.5.2 Integrare HTTP LoRaWAN

Controlerele LoRaWAN sunt integrate cu norul @City prin interfața HTTP (webhooks) disponibile pe serverul de rețea / aplicație LoRaWAN.

Sunt acceptate mai multe tipuri de rețea / server de aplicații:

TTN (timp limitat "In aer" și numărul maxim de comenzi trimise driverului și care nu acceptă actualizarea firmware-ului)

LoraWAN-Stack (Necesită găzduire pe un dispozitiv fizic cu acces la internet).

LoraServer.Io (Necesită găzduire pe un dispozitiv fizic cu acces la internet - trimiterea de date numai către server și nu acceptă actualizarea firmware-ului)



@City Cloud pentru controlere LoRaWAN este împărțit în același mod ca și pentru alte interfețe. Este discutat în capitolul anterior.

1.5.3. Interfață front-end

Interfața front-end este realizată cu scripturi PHP pentru extragerea datelor personalizate din baza de date @City Cloud. Folosește un mecanism de căutare foarte elastic, bazat pe interogări SQL originale pentru a limita datele dorite. Interfața furnizează rezultatele interogării în format JSON pentru decodificare și procesare ulterioară prin „aplicație” web front-end.

Interfața front-end originală este aceeași pentru fiecare utilizator și nu poate fi personalizată pentru clienți diferiți.

Interfața de acoperire poate fi creată de personalul nostru sau în cooperare pentru a asigura personalizarea pentru client.

1.5.3. Drepturi de acces la server

Drepturile de acces ale clienților (la serverul fizic) sunt limitate.

Acces la fișiere numai pentru directorul „șabloane” (fișiere text native - .txt, .js, .css, .html):

Alte drepturi de acces:


iSys - Personalul sistemelor inteligente - are acces nelimitat la întregul server, inclusiv contul root și acces complet la DB pentru întreținere.

În anumite circumstanțe, iSys ar putea acorda clienților drepturi suplimentare limitate (scripturi PHP, fișiere) după verificarea codului sursă, efectuarea testelor, dacă nu afectează securitatea, stabilitatea și performanța generală a sistemului.


1.6. Dispozitive inteligente

1.6.1. CIoT - dispozitive GSM

Dispozitivele noastre conțin microcontroler și modul GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) pentru comunicare. Microcontrolerul conține bootloader criptat pentru actualizarea securizată a firmware-ului OTA. Aceasta permite crearea multor variante de sistem bazate pe aceleași "Dispozitiv inteligent CIoT".


1.6.3. BAS, BMS, IoT - Dispozitive Ethernet și WiFi


Controlerele Ethernet și WiFi permit comunicarea bazată pe IP către sistem (fără taxare pentru transferul de date către operatorul GSM). Aceste dispozitive au, de asemenea, bootloader criptat și dispozitivele ar putea fi actualizate prin intermediul interfeței sale native. Pentru WiFi are upgrade de firmware OTA de pe serverul principal


1.6.2. IoT - Dispozitive LoRaWAN

LoRaWAN permite transmiterea datelor pe distanțe foarte mari (până la aprox. 15 km). Această gamă depinde de viteza de transmitere a datelor, de cantitatea de date, de urbanizarea zonei și de eficiența căilor radio ale dispozitivelor.

Dispozitivele noastre includ un microcontroler și un modul LoRaWAN pentru comunicare. Microcontrolerul conține un bootloader criptat pentru actualizarea securizată a software-ului OTA. Acest lucru vă permite să creați mai multe variante de sistem bazate pe aceleași "IoT smart device". Dispozitivele funcționează în banda deschisă ISM fără taxe suplimentare de abonament. Este necesar să utilizați gateway-urile LoRaWAN pentru a acoperi întreaga zonă cu acces la Internet. În cazul porților LoRaWAN existente în gama de dispozitive (configurate pentru serverul TTN), este posibil să se trimită informații prin intermediul acestora. Actualizarea firmware necesită propriul server de rețea / aplicație LoRaWAN și o gamă bună de comunicare.

1.7. Opțiuni Business to Business (B2B)


Există mai multe opțiuni pentru afaceri și cooperare:

2. @City IoT Funcționalitatea platformei

Platforma @City acceptă șablonul front-end personalizabil pentru vizualizarea, interogarea, limitarea și procesarea datelor (date curente / istorice):


Front-End-ul utilizatorului este accesibil prin IP / domeniu / subdomeniu / fișier de redirecționare DNS static, dacă este disponibil.


Exemplare și instalare demonstrativă (este activată numai pentru clienții potențiali).

Vă rugăm să ne informați când doriți să-l testați - pentru a permite accesul public la platformă.

Ar putea necesita IP static al computerului la distanță pentru a permite comunicarea către platforma @City.


3. Pagina principală

Pagina principală este lăsată goală în mod intenționat din motive de securitate: http: //% YourIP% / IoT /

Poate fi activat și editat individual și conține linkuri către toate serviciile disponibile ale @City IoT Platformă dacă este necesar


4. Formular principal

Main Form este destinat să creeze noi presetări și file: http: //%IP%/IoT/que.php

Aceasta este o formă inițială pentru crearea de rezultate, vizualizări și file pentru fiecare configurație




Descrieri (de sus și de la stânga la dreapta)

4.1. Antet

4.1.1. Link principal - (deschide tabelul cu rezultate efective)

4.1.2. "X" casetă de selectare - deschide / închide formularul de interogare

4.1.3. „V” casetă de selectare - deschide / închide formularul Câmpuri

4.1.4. Icoane grafice - linkuri către rezultatele vizualizării (modificabile)


4.2. Formă:

4.2.1. "X" casetă de selectare - deschide / închide întregul formular de interogare

4.2.2. CSS - Selectați Tema de vizualizare

Fișierul CSS Modify Visualization Theme trebuie să existe în "șabloane / css /" director - listat automat.

4.2.3.Câmpuri vizibile casetă de selectare - afișează / ascunde lista de filtre de câmp

4.2.4. Filă: Nume filă de adăugat sau eliminat

4.2.5. Adăugați / eliminați Butoane - Adăugați sau eliminați file cu numele în Tab camp

4.2.6. Selectați Core Buton

Selectați câmpurile principale vizibile pe masă. Aceasta este actualizat automat.

4.2.7. Deselectați toate Buton

Deselectați toate câmpurile (trebuie urmat selectând manual unele dintre ele)

4.2.7. Selectează tot Buton

Selectați toate câmpurile (trebuie urmat cu deselectarea manuală a unora dintre ele)

4.2.8. Ascunde filtrul - Ascundeți întregul formular

Aceasta este echivalentă cu toate (X) caseta de selectare

4.2.9. A executa Buton - Modificați setările parametrilor

4.2.10. „V” casetă de selectare - afișare / câmpuri de filtru ridicat


4.3. Filele

Filele create individual cu nume și presetări (stocate în cfg / tabs.cfg dosar).

Fișierul conține de fapt numele și adresa URL (separate prin tab tab).


4.4. Cuprinsul tabelului

Afișează toate câmpurile limitate de Field Filter.


Câmpurile din tabel:

4.4.1. Alerga - vizualizări tip de rezultat

Hartă- cartografierea rezultatelor pe hartă (poate fi selectat unul sau mai multe câmpuri)

istorie - diagrame istorice (poate fi selectat unul sau mai multe câmpuri)

tab - afișează tabelul (orice combinație de câmpuri poate fi selectată)

bar - un singur câmp este afișat pe graficul cu bare

La apăsarea uneia dintre valori, va deschide rezultate noi cu câmpurile selectate (pentru rândul curent).


4.4.2. Copiați (+/- linkuri)

Adăugarea / eliminarea unei file cu numele setat în Tab camp. Folosește numai câmpuri selectate în același rând al tabelului.


4.4.3. Legături de celule de tabel

Apăsarea oricărui alt nume de câmp va iniția Vizualizarea datelor câmpului selectat pentru rândul selectat.


4.5. Comandă de date


Ordinea câmpurilor afișate este ca ordine în formularul de câmpuri (totuși tm câmpul este trimis întotdeauna la sfârșitul textului). Această ordine poate fi modificată numai cu editarea directă a parametrilor URL (partea comenzii câmpurilor).


4.6. Exemplu

De exemplu: Setarea filei cu Gasirea bunurilor nume și conține harta cu timpul și viteza pe hartă

Toate descrierile referitoare la rândul unde "Map" textul este în "Alerga" coloană.

  1. Introdu numele "Gasirea bunurilor" în Tab câmp (fără ghilimele)

  2. Asigurați-vă că toate coloanele sunt neselectate în rând

  3. Selectați tm, gps_speed_km numai pe rând

  4. presa + butonul unde este pe rând






5. Hărți

Hărțile pot fi lansate din MainForm cu preconfigurare


5.1. Inițializare hartă

Inițializarea hărții se realizează manual când este executată direct cu linkul: > http: //%IP%/IoT/maps.php


  1. Utilizatorul ar trebui să deselecteze toate câmpurile (apăsați Deselectați Buton)

  2. Apăsați câteva casete de selectare pentru câmpurile afișate (de ex. Ain5 (pentru nivelul Smog) și tm (pentru data / ora măsurării)

  3. presa „V” caseta de selectare pentru a ascunde formularul câmpurilor

  4. presa A executa butonul pentru a rula interogarea DB și pentru a afișa informațiile curente de la toți senzorii / dispozitivele

  5. Harta cu date este actualizată după 30 de secunde sau mai mult.


5.2. Setări opționale pentru interogare

Setări descrise de la stânga la dreapta (în imaginea de mai sus).

5.2.1. Modificați scala MAP (nivel de zoom)

  1. Nivelul de zoom poate fi modificat folosind butoanele (+/-) pentru scară (current_scale * 2 sau current_scale / 2 respectiv). Apăsarea unuia dintre aceste butoane va modifica automat scala.

  2. Un alt mod este să selectați Zoom Level in Zoom Combo Box și apăsați A executa buton. În acest caz întregul View / Map este reîncărcat și reîmprospătat (durează ceva timp în timpul inițializării).

5.2.2. IMEI (Selectați câmpul dispozitivului)

IMEIcâmpul conține ID unic dispozitiv sau alias unic pentru un dispozitiv. Setarea implicită este * (asterisc) care arată cele mai recente valori și geolocalizare pentru fiecare dispozitiv.

Setarea IMEI la orice altă valoare va afișa datele istorice ale dispozitivului selectat. Are sens doar pentru senzorii mobili și în mișcare, altfel rezultatele se vor suprapune pe hartă în aceeași poziție.


5.2.3. Lon, Lat (Câmpuri de longitudine, coordonate de latitudine)

Setați poziția centrală a hărții. Acest câmp este setat la poziția cursorului atunci când butonul mouse-ului este apăsat pe hartă.


5.2.4. Modificare stil MAP (temă)

Stilul / tema hărții poate fi selectat din Map Câmp ComboBox (de ex. Întunecat, Gri, Topografic).

Diverse teme ale hărții pot avea niveluri de zoom maxime diferite, astfel încât s-ar putea impune Tema adecvată pentru a crește scala hărții.


5.2.5. Clauza WHERE

Where Clause este utilizată pentru șirul de interogare suplimentar {WHERE part} pentru MySQL / MariaDB.

Această clauză este luată în considerare pentru construirea șirului QUERY complet pentru rezultatul bazei de date. Poate limita datele, timpul și orice alte valori prin limitarea numărului de rezultate. Numele câmpurilor de tabel originale (nu alias) trebuie utilizate în acest câmp. De exemplu.

  1. gps_speed_km> 10 // viteza este mai mare de 10km / h

  2. ain5> 3 // ain5 este mai mare decât 3 (care deține un număr de particule de 2,5um - nivel de smog)

  3. gps_speed_km> 10 și ain6> 5 // viteza este mai mare de 10km / h și ain6 este mai mare de 5 (deținând 10um număr de particule - nivel de smog)


5.2.6. A executa (Butonul Executare interogare)

Apăsarea acestui buton este necesară pentru a modifica orice setări, parametri (cu excepția apăsării +/- butoane).

Harta este încărcată de la început cu noi presetări.

Harta nu este deloc încărcată, atunci când nu sunt disponibile date pentru interogarea curentă.

5.2.7. Deselectați toate (Eliminați toate câmpurile din interogare)

După apăsarea acestui buton, cel puțin un câmp trebuie selectat manual pentru a afișa rezultatele pe hartă.


5.2.8. „V” Casetă de selectare (formularul Deschidere / Închidere câmp)

Această casetă de selectare este utilizată pentru a afișa / ascunde selectorul câmpurilor de afișat.


5.2.9. "X" Casetă de selectare (Afișare / Ascundere formular de interogare)

Această casetă de selectare permite ascunderea întregului formular, cu excepția ( +/- butoane)


Rezultatele de pe hartă sunt actualizate continuu și actualizate cu noi valori

5.3. Exemplu

De exemplu, rezultate smog (senzor instalat pe mașină): nivel de smog particule 2,5um (Ain5), viteză (gps_speed_km), dată / oră (tm), hartă (2 - topografică), nivel de zoom 16,

Clauza unde:

"gps_fix = 3 și tm> "2019-02-18 00:00:00" și tm <"2019-02-19 00:00:00" și gps_speed_km> 0".

// GPS = rezultate 3D valide și data = 18.02.2019 și viteză> 0 km / h



6. Afișați rezultatele în tabel

Afișați rezultatele în tabel.

Pe "Formular principal" presa "masa" element, după selectarea câmpurilor pentru a afișa tabelul preconfigurat




6.1. Inițializarea tabelului

Când tabelul este deschis de la link http: //%IP%/IoT/que.php? func = tabs necesită inițializarea prealabilă a setărilor.

Puteți selecta câmpuri vizibile (apăsând "Câmpuri vizibile" ) Caseta de bifat.



  1. Apăsați toate casetele de selectare necesare pentru câmpurile afișate

  2. Apăsați caseta de selectare "Câmpuri vizibile" pentru a ascunde forma câmpurilor

  3. Apăsați butonul Executare pentru a rula interogarea DB și afișarea tabelului


6.2. Setări opționale pentru interogare

Setările sunt descrise de la stânga la dreapta (în captura de ecran).

6.2.1. Fel - sortați câmpul și ordonați ascendent / descendent

Câmpul de sortare este echivalent cu apăsarea antetului coloanei.

6.2.2. DB / IMEI - Selecteaza dispozitivul

IMEIcâmpul conține ID unic dispozitiv sau alias unic pentru un dispozitiv. Cu valoarea goală, se afișează tabelul celor mai recente valori.

Setarea IMEI la orice altă valoare va afișa datele istorice ale dispozitivului selectat.


6.2.3. CSS - selectați stilul (Tema de vizualizare)

6.2.4. Câmpuri vizibile - Afișați / ascundeți formularul de câmpuri

6.2.5. Eliminați golul - Nu afișați coloane goale

6.2.6. "X" Casetă de selectare (Afișare / Ascundere formular de interogare)

6.2.7. Unde Clauză (pentru limitarea datelor)

Acesta este sufixul pentru șirul de interogare suplimentar MySQL / MariaDB {WHERE part}

Această clauză este luată în considerare pentru a construi șirul QUERY complet pentru rezultatul bazei de date. Poate limita datele, timpul și orice alte valori prin limitarea numărului de rezultate. Numele câmpurilor de tabel originale (nu alias) trebuie utilizate în acest câmp. De exemplu.

  1. gps_speed_km> 10 // viteza este mai mare de 10km / h

  2. ain5> 3 // ain5 este mai mare decât 3 (care deține un număr de particule de 2,5um - nivel de smog)

  3. gps_speed_km> 10 și ain6> 5 // viteza este mai mare de 10km / h și ain6 este mai mare de 5 (deținând 10um număr de particule - nivel de smog)


6.2.8. Selectați Core Buton (Activați cele mai frecvente câmpuri)


6.2.9. Deselectați toate Buton (Eliminați toate câmpurile din interogare)

După apăsarea acestui buton, cel puțin un câmp trebuie selectat manual pentru a afișa rezultatele pe hartă.


6.2.10. A executa (Butonul Executare interogare)

Apăsarea acestui buton este necesară pentru a modifica orice setări, parametri (cu excepția apăsării +/- butoane).

Tabelul este reîncărcat de la început cu noi presetări.



6.2.11. „V” Casetă de selectare (formularul Deschidere / Închidere câmp)

Această casetă de selectare este utilizată pentru a afișa / ascunde selectorul câmpurilor de afișat.



Rezultatele din tabel sunt sortate în funcție de Fel setarea câmpului. Ordinea de sortare poate fi modificată apăsând antetul rândului (o dată pentru o direcție de două ori pentru altă direcție).

Unele rezultate din coloane se leagă de ecrane de vizualizare ulterioare (codate hard).


La afișarea datelor istorice pentru dispozitiv, ar trebui să fie limitată pentru a nu afișa informații complete despre istoric, deoarece acestea pot duce la performanțe sau probleme de memorie.


7. Grafice de bare.

Diagramele cu bare trebuie executate din formularul principal apăsând un singur câmp în rândul „Bară”.

Afișează bare sortate normalizate la valoarea maximă, afișând de la cea mai mare la cea mai mică ordine.

Este util pentru verificarea rapidă a rezultatelor extreme și efectuarea unor acțiuni.





Evenimentul Mouse Over va afișa informații suplimentare pentru dispozitiv.


8. Diagramele istorice.

Diagramele istorice pot fi inițiate din MainForm atunci când apăsați coloana selectată în rândul „Istoric” (pentru un singur câmp).

Pentru câmpurile multiple din rândul „Istoric”, câmpurile dorite trebuie verificate și linkul „Istoric” trebuie apăsat în coloana „Executare”.

Rezultatele istorice sunt limitate la ultimele 24 de ore + următoarele 24 de ore (pentru eventuale diagrame reîmprospătate), când nu au fost stabilite limite.

8.1. Inițializarea graficelor istorice


Diagramele istorice atunci când sunt deschise de la linkul principal necesită inițializarea ca alte rezultate, atunci când sunt deschise de la link fără parametri de preferințe.

Pot fi selectate mai multe câmpuri pentru a afișa diverse elemente. Poate fi setat și în Formular filtru câmp.




  1. Apăsați toate casetele de selectare necesare pentru câmpurile afișate

  2. Apăsați caseta de selectare "Câmpuri vizibile" pentru a ascunde forma câmpurilor

  3. Apăsați butonul Executare pentru a rula interogarea DB și pentru a afișa tabelul


8.2. Setări opționale ale diagramelor istorice

Elemente descrise de sus și de la stânga la dreapta (pe captura de ecran).

8.2.1. IMEI - (Selectați dispozitivul pentru a afișa datele istorice)

IMEIcâmpul conține ID unic dispozitiv sau alias unic pentru un dispozitiv. Cu valoarea * (asterix) arată tabelul celor mai recente valori care nu are sens.

Setarea IMEI la orice altă valoare va afișa datele istorice ale dispozitivului selectat.

8.2.2. Min - limitează valoarea minimă a primului câmp

8.2.3. Max - limitează valoarea maximă a primului câmp

8.2.4. „V” - Afișați / ascundeți formularul de câmpuri

8.2.5. Din: setați data / ora minimă (*)

8.2.6. La: setați data / ora maximă a datei (*)

8.2.7. "X" Casetă de selectare (Afișare / Ascundere formular de interogare)

8.2.8. "Unde" Clauză

Clauză pentru limitarea rezultatelor datelor MySQL / MariaDB șir de interogare suplimentar {WHERE part}.

Această clauză este luată în considerare pentru construirea șirului QUERY complet pentru rezultatul bazei de date. Poate limita datele, timpul și orice alte valori prin limitarea numărului de rezultate. Numele câmpurilor de tabel originale (nu alias) trebuie utilizate în acest câmp și o sintaxă SQL validă. De exemplu.

  1. gps_speed_km> 10 // viteza este mai mare de 10km / h

  2. ain5> 3 // ain5 este mai mare decât 3 (care deține un număr de particule de 2,5um - nivel de smog)

  3. gps_speed_km> 10 și ain6> 5 // viteza este mai mare de 10km / h și ain6 este mai mare de 5 (deținând 10um număr de particule - nivel de smog)


8.2.9. Deselectați toate Buton (Eliminați toate câmpurile din interogare)

După apăsarea acestui buton, cel puțin un câmp trebuie selectat manual pentru a afișa rezultatele istorice.


8.2.10. A executa (Butonul Executare interogare)

Apăsarea acestui buton este necesară pentru a modifica setările, parametrii (cu excepția afișării câmpurilor sau a panoului de interogare). Tabelul este reîncărcat de la început cu noi presetări.

8.2.11. „V” Casetă de selectare (formularul Deschidere / Închidere câmp)

Această casetă de selectare este utilizată pentru a afișa / ascunde selectorul câmpurilor de afișat.


8.3. Baruri Varianta: (afișează doar datele disponibile)



8.4. Continuu varianta (cu aceleași date):



Indicatorul mouse-ului afișează valorile măsurătorilor și data / ora.

9. Compatibilitate browser web


Funcție / Browser WWW

Chrome 72

FireFox 65

Margine

Opera 58

Hărți

+

+

+

+

Istoric

+

+ (*)

+

+

Baruri

+

+

+

+

Filele

+

+

+

+


* - Firefox nu acceptă selectorul de dată / oră (câmpul de text trebuie editat manual folosind formatul corect de dată).

Internet Explorer nu este acceptat (utilizați Margine in schimb)

Alte browsere web nu au fost testate.



10. Personalizarea temelor

Paginile web se bazează pe fișierul șablon general situat la „șabloane” directorul „* .sablon”.

În plus, fiecare tip de pagină conține:

  1. Fișierul „* .head” care stochează antetul paginii (link-uri, CSS importat, JavaScript Fișiere etc. )

  2. Fișierele „* .foot” care stochează subsolul paginii (linkuri etc.) )


Tema de vizualizare poate fi modificată în funcție de preferințele utilizatorului prin copierea și modificarea fișierelor CSS. Fișierele CSS sunt localizate în „șabloane / css” director. Diferite teme de pagini web ar putea fi utilizate pentru a crea optimizate de exemplu. tipărire, telefoane inteligente, șabloane PAD-uri.


Table vizualizări - au câmp selectabil pentru alegerea fișierului CSS pentru modificarea completă a temei (stocată în „șabloane / css / file” director).




Map vederi - tema generală este selectată de "Hartă" tastați caseta combinată. În plus, există fișier CSS implicit „șabloane / css / map.css” care conține unele funcționalități suplimentare, cum ar fi rezultatele ascunderii / colorării pe baza valorilor sale. Restul acestui fișier CSS este practic limitat la formularele de interogare și câmp.


Majoritatea @City Platform Fișierele PHP pentru vizualizare acceptă cssparametru cu valoarea numelui fișierului pentru temă (fără extensie). Fișierul trebuie localizat în directorul „șabloane / css”, iar numele este diferențiat de majuscule și minuscule.


Unele elemente ale afișării temei se află direct în fișierul located aflat în „șablon / js” director.

Principal @Oraș scenariu„@ City.js” se află în directorul superior. Nu există nicio posibilitate de modificare în acest sens locație, cu toate acestea scriptul poate fi copiat în „șabloane / js” director și modificat acolo. Utilizarea scriptului individual necesită actualizarea tuturor fișierelor antet.

11. Actualizare algoritmi


Unii senzori unici pot necesita funcții de calcul dedicate.

Nu există nicio posibilitate de a actualiza și menține mai multe variante de Software-ul @City Server, Interfață PHP front-end, ceea ce ar cauza o mulțime de probleme, versiuni, erori.

Cel mai bun și mai simplu mod de a-l atinge este actualizarea fișierelor over „suprapuse” pentru afișarea corectă a valorii / descrierii.

Scripturile originale JS sunt un fișier text deschis și pot fi adoptate în funcție de nevoile clienților. După cum sa menționat în capitolul anterior, acestea trebuie copiate „șabloane / js” director unde clientul are drepturi de acces pentru modificare.


Aspect tehnic privind programarea @Oraș sistemul nu face obiectul acestui document, totuși dezvoltatorul web cu cunoștințe de bază despre HTML și JS poate personaliza aplicația Web front-end pentru nevoile individuale ale clienților.


12. Structura bazei de date


@City Database cu un nume „IoT” sau „* IoT” este împărțit în tabele (unde asterixul este prefix în funcție de serverul de găzduire - dacă este necesar). DataBase poate fi observat în PHPAdmin (aplicație web) la link http: //% IP% / phpmyadmin




Set de tabele pentru fiecare dispozitiv (Unde * {asterix} este adresa IMEI - ID unic):

Alte mese:



12.1. Structura tabelelor „ithings_” și „*”

12.2. Comenzile dispozitivului (Evenimente) coadă tabelul "* _c" - structură


Acest tabel este coada de evenimente / comenzi pentru fiecare dispozitiv și are următoarea structură:



12.3. Accesarea rezultatelor din bazele de date - Nivel mediu (citirea datelor)


Datele pot fi accesibile fără aplicație Web front-end. Sistemul @City conține script cu funcții de nivel mediu. Rezultatele sunt returnate în format JSON.


12.3.1. Obțineți stările actuale ale tuturor dispozitivelor

http: //%IP%/IoT/que.php? func = devsjson


Interogarea revine întreagă „_ithings” tabel (stările curente ale tuturor dispozitivelor) în format JSON:

[{ "țară":"", "oraș":"", "continent":"", "țară":"", "regiune":"", "subregiune":"", "subsubregiune":"", "oraș":"", "district":"", "stradă":"", "strada_nr":"", "item_nr":"", „gps_lat”:"0000.0000N", „gps_long”:"00000.0000E", „tm”:"2019-02-10 12:56:23", "creare":"2019-02-09 18:12:38", "ultimul":"0000-00-00 00:00:00", "evenimente":"", "utilizator":"", "trece":"", "imei":"351580051067110", "sn":"", "stare":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c200000000000000929250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600400", "hash_code":"", "addr":"", "fwnr":"", "dezactivat":"", "gsm_nr":"", "vânzător":"", "fus orar":"", "dst":"", "rssi":"91", "rsrp":"99", „gps_lat”:"0000.0000N", „gps_long”:"00000.0000E", „gps_hdop”:"", „gps_alt”:"", „gps_fix”:"4", „gps_cog”:"", „gps_speed_km”:"", „gps_sat”:"", "evenimente":"", „out1”:"0", "afară2":"0", "afară3":"0", "afară4":"0", "afară5":"0", "afară6":"0", "afară7":"0", "afară8":"0", "afară9":"0", "afară10":"1", "afară11":"0", "afară12":"0", "afară13":"0", "afară14":"0", "afară15":"0", „afară16”:"0", "în 1":"0", "în2":"0", "în3":"0", "în4":"0", "în5":"0", "în6":"0", "în7":"0", "în8":"0", "în9":"0", "în10":"0", "în11":"0", "în12":"0", "în13":"0", "în14":"0", "în 15":"0", „în16”:"0", „ain1”:"3894", "ain2":"51", "ain3":"616", "ain4":"36", "aîn5":"0", "ain6":"44", "ain7":"44", „ain8”:"45", „sens1”:"0", "sens2":"0", "sens3":"0", "sens4":"0", "sens5":"0", "sens6":"0", "sens7":"0", "sens8":"0", „dimm1”:"255", "dimm2":"255", "dimm3":"255", "dimm4":"255", "dimm5":"255", "dimm6":"255", "dimm7":"255", „dimm8”:"255", „int1”:"-16776767", "int2":"450", "int3":"", "int4":"", "int5":"", „int6”:"0", „text1”:"", "text2":"", "text3":"", "text4":"", "text5":"", „text6”:"" }]

12.3.2. Obțineți date istorice pentru dispozitiv

Interogarea datelor istorice ale dispozitivului unic de către IMEI nr:

http: //%IP%/IoT/que.php? func = imeijson & imei = 356345080018095


Deoarece întregul tabel ar putea conține milioane de rânduri, acesta ar trebui limitat cu clauza WHERE pentru a nu închide serverul.

Parametri suplimentari parametri URL:

func - Imeijson

imei - IMEI al dispozitivului

camp - câmpuri care vor fi afișate în rezultate (listă separată de comă)

min - valoarea minimă pentru primul câmp din listă

max - valoarea maximă pentru primul câmp din listă

ssaut - câmp pentru sortare

tm - câmpul este adăugat automat la rezultate.

where - clauza unde pentru a limita datele


Exemplu:

Vrem să obținem următorul rezultat

pentru dispozitiv cu imei=356345080018095

arată câmpurile: ain5, ain6, gps_lat, gps_long

și limită aîn5 în raza ( 1, 10000 ) - trebuie să fie primul câmp din listă

și GPS au date valide (gps_fix = 3)

și data / ora (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Șir de URL construit:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& câmp =aîn5, ain6, gps_lat, gps_long& min =1& max =1000& unde =gps_fix = 3 și tm> "2019-02-14 23:00:19" și tm <"2019-02-15 00:00:00"


Rezultatele interogării:

[{ "aîn5":"66","ain6":"68",„gps_lat”:"5202.7326N",„gps_long”:"02115.8073E",„tm”:"2019-02-14 23:04:31" }, { "aîn5":"67","ain6":"76",„gps_lat”:"5202.7328N",„gps_long”:"02115.8075E",„tm”:"2019-02-14 23:05:42" }, { "aîn5":"63","ain6":"77",„gps_lat”:"5202.7328N",„gps_long”:"02115.8074E",„tm”:"2019-02-14 23:06:05" }, { "aîn5":"58","ain6":"77",„gps_lat”:"5202.7328N",„gps_long”:"02115.8075E",„tm”:"2019-02-14 23:06:32" }, { "aîn5":"58","ain6":"68",„gps_lat”:"5202.7328N",„gps_long”:"02115.8076E",„tm”:"2019-02-14 23:06:55" }]

12.3.3. Obțineți lista de dispozitive - un singur câmp din stările curente cu limitare

Această funcție returnează date limitate din tabelul „_ithings”


http: //%IP%/IoT/que.php? func = fieldjson & field = ain5 & min = 13 & max = 5000



Parametri:

func - fieldjson

camp - câmp care va fi afișat în rezultate - imei și tm sunt adăugate automat

min - valoarea minimă pentru câmp

max - valoarea maximă pentru câmp


Pentru șirul de interogare de mai sus se întoarce Rezultete de la ain5, imei, tm câmpuri:

dacă aîn5 este în raza de acțiune (13.5000)


Rezultatele interogării:

[{"imei":"353080090069142", „tm”:"2019-03-14 11:51:01", "aîn5":"14" },

{"imei":"356345080018095", „tm”:"2019-02-20 09:13:04", "aîn5":"115" },

{"imei":"karczew", „tm”:"2019-03-07 13:08:22", "aîn5":"103" }]