@City IoT Pilveplatvorm




iSys - intelligentsed süsteemid IoT lahendused









IoE.süsteemid

Sisukord

1. Sissejuhatus. 5

1.1 Toetatud seadmetüübid. 5

1.2. Toetatud tootetüübid. 5

1.3. Toetatud sideprotokollid 5

1.4. Toetatud seadmete kommunikatsioonitehnoloogia 6

1.5. @City Cloud Server 6

1.5.1. Server ja side väravad 7

1.5.2 HTTP LoRaWAN-i integreerimine 7

1.5.3. Esiosa liides 8

1.5.3. Serveri juurdepääsuõigused 8

1.6. Nutikad seadmed 9

1.6.1. CIoT - GSM-seadmed 9

1.6.3. BAS, BMS, IoT - Etherneti ja WiFi seadmed 9

1.6.2. IoT -LoRaWAN-seadmed 9

1.7. Ettevõtte vahelised (B2B) võimalused 9

2. @City IoT Platvormi funktsionaalsus 10

3. Põhileht 11

4. Põhivorm 11

4.1. Päis 12

4.1.1. Kodulink - (avab tegelike tulemuste tabeli) 12

4.1.2. "X" märkeruut - avab / sulgeb päringuvormi 12

4.1.3. "V" märkeruut - avab / sulgeb väljade vormi 12

4.1.4. Graafilised ikoonid - lingid visualiseerimise tulemustele (redigeeritavad) 12

4.2. Vorm: 12

4.2.1. "X" märkeruut - avab / sulgeb kogu päringuvormi 12

4.2.2. CSS - valige visualiseerimise teema 12

4.2.3. Nähtavate väljade märkeruut - näitab / peidab väljade filtrite loendi 12

4.2.4. Vahekaart: vahelehe nimi lisamiseks või eemaldamiseks 12

4.2.5. Nuppude lisamine / eemaldamine - vahekaardiväljal 12 nimega vahekaartide lisamine või eemaldamine

4.2.6. Valige südamiku nupp 12

4.2.7. Tühistage kõik nupud 12

4.2.7. Valige nupp Kõik 12

4.2.8. Peida filter - peida kogu vorm 12

4.2.9. Nupp Execute - parameetrite sätete muutmine 13

4.2.10. "V" märkeruut - näita / kõrge filtri väljad. 13

4.3. Vahekaardid 13

4.4. Tabeli sisu 13

4.4.1. Käivita - kuvab tulemuse tüübi 13

4.4.2. Kopeerimine (+/- lingid) 13

4.4.3. Lauarakkude lingid 13

4.5. Andmete järjekord 13

4.6. Näide 13

5. Kaardid 15

5.1. Kaardi initsialiseerimine 15

5.2. 15. päringu valikulised seaded

5.2.1. MAP-i skaala muutmine (suumi tase) 16

5.2.2. IMEI (Valige seadme väli) 16

5.2.3. Lon, Lat (pikkus- ja laiuskraadi koordinaatide väljad) 16

5.2.4. MAP-i stiili muutmine (teema) 16

5.2.5. KUS klausel 16

5.2.6. Käivita (Run Query Button) 16

5.2.7. Tühjendage kõigi valik (eemaldage päringust kõik väljad) 17

5.2.8. "V" märkeruut (avage / sulgege väljavorm) 17

5.2.9. "X" märkeruut (näita / peida päringuvorm) 17

5.3. Näide 17

6. Näita tulemusi tabelis 18

6.1. Tabeli 18 initsialiseerimine

6.2. 19. päringu valikulised seaded

6.2.1. Sorteeri - sortige väli ja järjestage kasvavalt / kahanevalt 19

6.2.2. DB / IMEI - valige seade 19

6.2.3. CSS - valige stiil (visualiseerimise teema) 20

6.2.4. Nähtavad väljad - kuvage / peitke väljade vorm 20

6.2.5. Eemalda tühi - ärge kuvage tühje veerge 20

6.2.6. "X" märkeruut (näita / peida päringuvorm) 20

6.2.7. Kus klausel (andmete piiramiseks) 20

6.2.8. Valige südamikunupp (lubage kõige tavalisemad väljad) 20

6.2.9. Tühjendage kõigi nuppude valik (eemaldage päringust kõik väljad) 20

6.2.10. Käivita (Run Query Button) 20

6.2.11. "V" märkeruut (avage / sulgege väljavorm) 20

7. Baaritabelid. 21

8. Ajaloolised graafikud. 22

8.1. Ajalooliste graafikute initsialiseerimine 22

8.2. Ajalooliste diagrammide valikulised seadistused 23

8.2.1. IMEI - (ajalooliste andmete kuvamiseks valige seade) 23

8.2.2. Esimese välja 23 minimaalne piirmiinimum

8.2.3. Max - esimese välja maksimaalne väärtus 23

8.2.4. "V" - väljade kuvamine / peitmine vorm 23

8.2.5. Alates: määrake minimaalne kuupäev / kellaaeg (*) 23

8.2.6. Saaja: maksimaalse kuupäeva / kellaaja määramine (*) 23

8.2.7. "X" märkeruut (näita / peida päringuvorm) 23

8.2.8. "Kus" Klausel 23

8.2.9. Tühjendage kõigi nuppude valik (eemaldage päringust kõik väljad) 23

8.2.10. Käivita (Run Query Button) 23

8.2.11. "V" märkeruut (avage / sulgege väljavorm) 24

8.3. Baaride variant: (kuvab ainult saadaolevad andmed) 24

8.4. Pidev variant (samade andmetega): 24

9. Veebibrauseri ühilduvus 25

10. Teemad Kohandamine 26

11. Algoritmide värskendus 27

12. Andmebaasi struktuur 28

12.1. "iithings_" ja "*" tabelite struktuur 29

12.2. Seadme käskude (sündmused) järjekord "* _c" tabel - struktuur 30

12.3. Juurdepääs andmebaaside tulemustele - kesktase (andmete lugemine) 30

12.3.1. Hankige kõigi seadmete praegused olekud 30

12.3.2. Hankige seadme 31 ajaloolised andmed

12.3.3. Hankige seadmete loend - üks väli praegustest olekutest piiranguga 32


1. Sissejuhatus.

@City IoT Pilveplatvorm on pühendatud "mikropilv" süsteem üksikute klientide jaoks. Platvormi ei saa jagada ja ainult ühel kliendil on juurdepääs füüsilisele või virtuaalserverile (VPS või spetsiaalsed serverid). Klient võib valida ühe kümnetest andmekeskustest Euroopas või maailmas.

1.1 Toetatud seadmetüübid.

@City IoT platvorm on pühendatud iSys.PL toodete jälgimisele



1.2. Toetatud tootetüübid.

@City (eCity) Cloud IoT platvorm on erineva suurusega süsteem IP IoT toodete jaoks (neid nimetatakse kokku kui @City riistvara või CioT seadmed ):


1.3. Toetatud sideprotokollid

@City IoT platvorm toetab suhtlemiseks järgmisi protokolle:

Andmed, mis saadetakse kontrollerilt pilveserverisse ja vastupidi, krüpteeritakse unikaalses binaarses vormingus, et tagada andmete väikseim suurus ja suurem turvalisus. Iga partner saab oma ainulaadse krüptovõtme seadme autoriseerimiseks, andmete kehtivuse kontrollimiseks jne.


Mitte-eHouse / eCity seadmete jaoks saame pakkuda individuaalseid krüpteerimisalgoritme ( "C" lähtekood) iga partneri jaoks mikroprotsessori jaoks, et kaitsta andmeid enne suhtlust.

Sellisel juhul on andmed kahesuunalise suhtluse ajal avaliku suhtluskandja kaudu (Internet, Air jne) täiesti turvalised. ).


1.4. Toetatud seadmete kommunikatsioonitehnoloogia

@City IoT platvorm toetab:


@City IoT Platvorm on pühendatud seadmetele / sõlmedele:


1.5. @City Cloud Server

@City tarkvara töötab Interneti-põhisel Linux-põhisel VPS-il (Virtual Private Server) või spetsiaalsel serveril, sõltuvalt Server (nimetatakse hiljem serveriks):


Sõltuvalt:


Kümned spetsiaalsed serverid eksisteerivad sõltuvalt:


@City IoT platvorm on pühendatud üksikkliendile:


Kuna see pole klientide vahel jagatav server, lihtsustab see turvalisusele juurdepääsu ja jõudlusega seotud probleeme. Seetõttu vastutab efektiivse turvalisuse, stabiilsuse, tõhususe, andmeedastuse jms eest ainult klient. Ebapiisava jõudluse korral võib klient osta kõrgema paketi (VPS või spetsiaalne server), mis on oodatud funktsionaalsuse ja jõudluse suhtes optimaalsem.

Erijuhtudel "Cloud to cloud" teabevahetus võib olla rakendatud globaliseerumiseks ja andmete tsentraliseerimiseks suurematele piirkondadele mitme kliendi pilve asemel.

1.5.1. Server ja side väravad

@City Serveri suhtlus toimub jõudluse maksimeerimiseks madala taseme rakenduse põhjal.

@City Serveri rakenduse peamised omadused on:

@City Serveri tarkvara on iga kasutaja jaoks sama ja seda ei saa erinevate klientide jaoks kohandada.

1.5.2 HTTP LoRaWAN-i integreerimine

LoRaWAN-i kontrollerid on integreeritud @City pilvega LoRaWAN-i võrgus / rakendusserveris saadaval oleva HTTP-liidese (veebikonksude) kaudu.

Toetatakse mitut tüüpi võrku / rakendusservereid:

TTN (piiratud aeg "Eetris" ja maksimaalne draiverile saadetud käskude arv, mis ei toeta püsivara uuendamist)

LoraWAN-Stack (nõuab hostimist Interneti-juurdepääsuga füüsilises seadmes).

LoraServer.Io (nõuab hostimist Interneti-juurdepääsuga füüsilises seadmes - andmete saatmine ainult serverisse ja ei toeta püsivara uuendamist)



LoRaWAN-i kontrollerite @City Cloud on jagatud samamoodi nagu teiste liideste puhul. Seda käsitletakse eelmises peatükis.

1.5.3. Esiosa liides

Eesliides on realiseeritud PHP-skriptidega kohandatud andmete väljavõtmiseks @City Cloud Database'ist. Soovitud andmete piiramiseks kasutatakse väga elastset otsingumehhanismi, mis põhineb algsetel SQL-päringutel. Liidese tarvikute päringu tulemused on JSON-vormingus edasiseks dekodeerimiseks ja töötlemiseks JavaScript esiotsa veebirakenduse abil.

Algne kasutajaliides on iga kasutaja jaoks sama ja seda ei saa erinevate klientide jaoks kohandada.

Overlay-liidese võivad luua meie töötajad või koostöös, et tagada kliendi jaoks kohandamine.

1.5.3. Serveri juurdepääsuõigused

Kliendi juurdepääsuõigused (füüsilisele serverile) on piiratud.

Ainult kataloogi "mallid" juurdepääs failile (algtekstifailid - .txt, .js, .css, .html):

Muud juurdepääsuõigused:


iSys - intelligentsete süsteemide töötajad - saavad hoolduseks piiramatu juurdepääsu tervele serverile, sealhulgas juurkontole ja täielikule DB-le.

Teatud tingimustel võib iSys anda pärast lähtekoodi kontrollimist, testide käivitamist kliendile täiendavaid piiratud õigusi (PHP skriptid, failid), kui see ei mõjuta süsteemi üldist turvalisust, stabiilsust ja jõudlust.


1.6. Nutikad seadmed

1.6.1. CIoT - GSM-seadmed

Meie seadmed sisaldavad suhtlemiseks mikrokontrollerit ja GSM / GPS / GNSS moodulit (2G..4G, NBIoT, CATM1). Mikrokontroller sisaldab krüptitud alglaadurit OTA püsivara turvaliseks täiendamiseks. See võimaldab luua palju süsteemivariante, mis põhinevad samal "CIoT nutiseade".


1.6.3. BAS, BMS, IoT - Etherneti ja WiFi seadmed


Etherneti ja WiFi kontrollerid võimaldavad süsteemiga IP-põhist sidet (ilma GSM-operaatorile andmete edastamise eest tasumata). Sellel seadmel on ka krüpteeritud alglaadur ja seadmeid võidakse värskendada oma loomuliku liidese kaudu. WiFi jaoks on sellel OTA püsivara uuendamine põhiserverist


1.6.2. IoT - LoRaWAN-seadmed

LoRaWAN võimaldab andmeedastust väga pikkade vahemaade korral (kuni umbes 15km). See vahemik sõltub andmeedastuskiirusest, andmete hulgast, piirkonna linnastumisest ja seadmete raadioteede efektiivsusest.

Meie seadmete hulgas on mikrokontroller ja LoRaWAN-moodul suhtlemiseks. Mikrokontroller sisaldab krüptitud alglaadijat OTA-tarkvara turvaliseks värskendamiseks. See võimaldab teil luua mitu süsteemi varianti, mis põhinevad samal "IoT smart device". Seadmed töötavad ISM-i avatud sagedusribas ilma täiendavate liitumistasudeta. LoRaWAN Gatewaysi kasutamiseks on vaja kogu ala Internetile juurdepääsuks katta. Olemasolevate LoRaWAN-i väravate puhul, mis jäävad seadmete vahemikku (konfigureeritud TTN-i serveri jaoks), on võimalik nende kaudu teavet saata. Püsivara uuendamine nõuab oma võrgu / rakenduse LoRaWAN serverit ja suhtlemiseks head leviala.

1.7. Ettevõtte vahelised (B2B) võimalused


Ettevõtluseks ja koostööks on mitu võimalust:

2. @City IoT Platvormi funktsionaalsus

@City platvorm toetab andmete visualiseerimiseks, päringuteks, piiramiseks ja töötlemiseks kohandatavat eesserva malli (praegused / ajalooandmed):


Kasutaja eesmine osa on juurdepääsetav staatilise IP või DNS-i ümbersuunamise domeeni / alamdomeeni / faili kaudu, kui see on saadaval.


Näitlik ja demo installimine (see on lubatud ainult potentsiaalsetele klientidele).

Avaliku juurdepääsu võimaldamiseks platvormile palun teavitage meid, kui soovite seda testida.

@City platvormiga suhtlemise võimaldamiseks võib vaja minna kaugarvuti staatilist IP-d.


3. Pealeht

Avaleht on turvalisuse huvides tahtlikult tühi: http: //% TeieIP% / IoT /

See võib olla eraldi lubatud ja redigeeritud ning sisaldab linke kõigi teenuse @City IoT platvorm kui see on vajalik


4. Põhivorm

Põhivorm on mõeldud uute eelseadistuste ja vahelehtede loomiseks: http: //%IP%/IoT/que.php

See on esialgne vorm tulemuste, vaadete ja vahelehtede loomiseks iga konfiguratsiooni jaoks




Kirjeldused (ülevalt ja vasakult paremale)

4.1. Päis

4.1.1. Avaleht - (avab tegelike tulemuste tabeli)

4.1.2. "X" märkeruut - avab / sulgeb päringuvormi

4.1.3. "V" märkeruut - avab / sulgeb väljade vormi

4.1.4. Graafilised ikoonid - lingid visualiseerimise tulemustele (redigeeritav)


4.2. Vorm:

4.2.1. "X" märkeruut - avab / sulgeb kogu päringuvormi

4.2.2. CSS - Valige Visualiseerimise teema

Muuda visualiseerimise teema CSS-fail peab olema "mallid / css /" kataloog - loetletakse automaatselt.

4.2.3. Nähtavad väljad märkeruut - näitab / peidab väljafiltrite loendi

4.2.4. Vahekaart: Vahekaardi nimi lisamiseks või eemaldamiseks

4.2.5. Lisa / eemalda Nupud - lisage või eemaldage vahelehed nimega Tab valdkonnas

4.2.6. Valige Core Nupp

Valige tabelis nähtavad peamised väljad. See on uuendatud automaatselt.

4.2.7. Tühjendage kõigi valik Nupp

Tühistage kõigi väljade valik (tuleb järgida mõne neist käsitsi valimisega)

4.2.7. Vali kõik Nupp

Valige kõik väljad (tuleb järgida, tühistades mõne neist käsitsi)

4.2.8. Peida filter - Peida kogu vorm

See võrdub kõigi (X) märkeruutudega

4.2.9. Täitke Nupp - parameetrite sätete muutmine

4.2.10. "V" märkeruut - näita / kõrge filtri väljad.


4.3. Vahelehed

Individuaalselt loodud vahekaardid nimede ja eelseadistustega (salvestatud kataloogi cfg / tabs.cfg fail).

Fail sisaldab tegelikult nime ja URL-i (eraldatud tabeldusklahviga).


4.4. Tabeli sisu

Kuvab kõik väljafiltriga piiratud väljad.


Tabeli väljad:

4.4.1. Joosta - vaadete tulemuse tüüp

kaart- tulemuste kaardistamine kaardil (võib valida ühe või mitu välja)

ajalugu - ajaloolised graafikud (võib valida ühe või mitu välja)

tab - kuvab tabeli (võib valida mis tahes väljakombinatsiooni)

baar - ribadiagrammil kuvatakse ainult üks väli

Ühe selle väärtuse vajutamisel avaneb see valitud väljadega (praeguse rea jaoks) uued tulemused.


4.4.2. Kopeeri (+/- lingid)

Sisestatud nimega vahelehe lisamine / eemaldamine Tab valdkonnas. See kasutab ainult tabeli samas reas valitud välju.


4.4.3. Tabelirakkude lingid

Mis tahes muu välja nime vajutamine algatab valitud rea andmete kuvamise.


4.5. Andmete järjekord


Kuvatud väljade järjekord on selle järjestus väljade kujul (siiski tm väli saadetakse alati teksti lõppu). Seda järjekorda saab muuta ainult URL-i parameetrite otsese muutmisega (väljad tellimuse osa).


4.6. Näide

Näiteks: vahelehe seadistamine Vara jälgimine nimi ja sisaldab kaardi aja ja kiirusega

Kogu kirjeldus viitab reale kus "Map" tekst on sees "Jookse" veerg.

  1. Sisestage nimi "Vara jälgimine" aastal Tab väli (jutumärkideta)

  2. Veenduge, et kõik veerud oleksid reas valimata

  3. valige tm, gps_speed_km ainult reas

  4. vajutage + nupp, kus reas






5. Kaardid

Kaarte saab käivitada MainFormist eelkonfiguratsiooniga


5.1. Kaardi initsialiseerimine

Kaardi lähtestamine toimub käsitsi, kui see viiakse läbi otse lingiga: > http: //%IP%/IoT/maps.php


  1. Kasutaja peaks tühistama kõigi väljade valimise (vajutage Tühistage valik Nupp)

  2. Vajutage kuvatavate väljade jaoks mõnda märkeruutu (nt. Ain5 (sudu taseme jaoks) ja tm (mõõtmise kuupäeva / kellaaja jaoks)

  3. vajutage "V" märkeruut väljade vormi peitmiseks

  4. vajutage Täitke nupp DB-päringu käivitamiseks ja kõigi andurite / seadmete praeguse teabe kuvamiseks

  5. Andmetega kaarti värskendatakse 30 sekundi või kauem.


5.2. Päringu valikulised seaded

Vasakult paremale kirjeldatud seaded (ülaltoodud ekraanipildil).

5.2.1. MAP-i skaala muutmine (suumi tase)

  1. Suumi taset saab muuta, kasutades skaala jaoks nuppe (+/-) (vastavalt praegune_skale * 2 või praegune_skale / 2). Ühe selle nupu vajutamine muudab skaalat automaatselt.

  2. Teine võimalus on valida suumi tase Suum Combo Box väli ja vajutage Täitke nuppu. Sel juhul laaditakse ja värskendatakse kogu vaade / kaart uuesti (lähtestamisel võtab see veidi aega).

5.2.2. IMEI (Valige seadme väli)

IMEIväli sisaldab seadme kordumatut ID-d või seadme unikaalset varjunime. Vaikeseade on * (tärn), mis näitab iga seadme uusimaid väärtusi ja geograafilist asukohta.

Kui määrate IMEI-le mis tahes muu väärtuse, kuvatakse valitud seadme ajaloolised andmed. Sellel on mõtet ainult liikuvate ja liikuvate andurite jaoks, vastasel juhul kattuvad kaardil tulemused samas asendis.


5.2.3. Lon, ladina (Pikkuskraadi, laiuskraadi koordinaatide väljad)

Määra kaardi keskpunkt. Kui hiirenuppu kaardil vajutatakse, määratakse see väli kursori asendisse.


5.2.4. MAP-i stiili muutmine (teema)

Kaardi stiili / teema saab valida Map ComboBoxi väli (nt. Tume, hall, topograafiline).

Erinevatel kaarditeemadel võib olla erinev maksimaalne suumi tase, nii et see võib kaardi skaala suurendamiseks jõustada õige teema.


5.2.5. KUS klausel

Kus klauslit kasutatakse MySQL / MariaDB täiendava päringustringi {WHERE part} jaoks.

Seda klauslit võetakse arvesse andmebaasi tulemuse täieliku stringi QUERY koostamisel. See võib piirata andmeid, aega ja muid väärtusi, piirates tulemuste loendamist. Sellel väljal tuleb kasutada algseid tabeliväljade nimesid (mitte varjunime). Nt.

  1. gps_speed_km> 10 // kiirus on üle 10 km / h

  2. ain5> 3 // ain5 on suurem kui 3 (hoides 2,5um osakesi - sudu tase)

  3. gps_speed_km> 10 ja ain6> 5 // kiirus on üle 10 km / h ja ain6 on suurem kui 5 (hoides 10um osakest - suitsu tase)


5.2.6. Täitke (Käivita päringu nupp)

Selle nupu vajutamine on vajalik seadete ja parameetrite muutmiseks (välja arvatud vajutamine +/- nupud).

Kaart laaditakse algusest peale uute eelseadistustega.

Kaarti ei laadita üldse, kui praeguse päringu jaoks pole andmeid.

5.2.7. Tühjendage kõigi valik (Eemaldage päringust kõik väljad)

Pärast selle nupu vajutamist tuleb tulemuste kuvamiseks kaardil käsitsi valida vähemalt üks väli.


5.2.8. "V" Märkeruut (avage / sulgege välja vorm)

Seda märkeruutu kasutatakse kuvatavate väljade valija kuvamiseks / peitmiseks.


5.2.9. "X" Märkeruut (näita / peida päringuvorm)

See märkeruut võimaldab peita kogu vormi, välja arvatud ( +/- nupud)


Kaardi tulemusi värskendatakse pidevalt ja värskendatakse uute väärtustega

5.3. Näide

Nt sudu tulemused (andur on autole paigaldatud): sudu tase 2,5um osakesi (Ain5), kiirus (gps_speed_km), kuupäev / kellaaeg (tm), kaart (2 - topograafiline), suumi tase 16

Kus klausel:

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

// GPS = kehtivad 3D-tulemused ja kuupäev = 2019-02-18 ja kiirus> 0 km / h



6. Näita tulemusi tabelis

Näita tulemusi tabelis.

Peal "Põhivorm" vajutage "tabel" pärast mõne eelnevalt konfigureeritud tabeli kuvamiseks väljade valimist




6.1. Tabeli initsialiseerimine

Kui tabel on lingilt avatud http: //%IP%/IoT/que.php? func = vahelehed see nõuab seadete eelnevat lähtestamist.

Saate valida nähtavaid välju (vajutades "Nähtavad väljad" ) märkeruut.



  1. Vajutage kuvatavate väljade jaoks kõik vajalikud märkeruudud

  2. Vajutage märkeruutu "Nähtavad väljad" väljade peitmiseks vorm

  3. DB-päringu ja tabeli kuvamiseks vajutage nuppu Execute


6.2. Päringu valikulised seaded

Seadeid kirjeldatakse vasakult paremale (ekraanipildil).

6.2.1. Sorteeri - sortige väli ja järjestage kasvavalt / kahanevalt

Sortimisväli on samaväärne veeru päise vajutamisega.

6.2.2. DB / IMEI - Valige Seade

IMEIväli sisaldab seadme kordumatut ID-d või seadme unikaalset varjunime. Tühja väärtusega näitab see viimaste väärtuste tabelit.

Kui määrate IMEI-le mis tahes muu väärtuse, kuvatakse valitud seadme ajaloolised andmed.


6.2.3. CSS - vali stiil (visualiseerimise teema)

6.2.4. Nähtavad väljad - Näita / peida väljade vorm

6.2.5. Eemalda tühi - Ärge kuvage tühje veerge

6.2.6. "X" Märkeruut (näita / peida päringuvorm)

6.2.7. Kus Klausel (andmete piiramiseks)

See on MySQL / MariaDB täiendava päringustringi {WHERE part} järelliide

Seda klauslit võetakse arvesse andmebaasi tulemuse täieliku stringi QUERY koostamisel. See võib piirata andmeid, aega ja muid väärtusi, piirates tulemuste loendamist. Sellel väljal tuleb kasutada algseid tabeliväljade nimesid (mitte varjunime). Nt.

  1. gps_speed_km> 10 // kiirus on üle 10 km / h

  2. ain5> 3 // ain5 on suurem kui 3 (hoides 2,5um osakesi - sudu tase)

  3. gps_speed_km> 10 ja ain6> 5 // kiirus on üle 10 km / h ja ain6 on suurem kui 5 (hoides 10um osakest - suitsu tase)


6.2.8. Valige Core Nupp (lubab kõige tavalisemad väljad)


6.2.9. Tühjendage kõigi valik Nupp (eemaldage päringust kõik väljad)

Pärast selle nupu vajutamist tuleb tulemuste kuvamiseks kaardil käsitsi valida vähemalt üks väli.


6.2.10. Täitke (Käivita päringu nupp)

Selle nupu vajutamine on vajalik seadete ja parameetrite muutmiseks (välja arvatud vajutamine +/- nupud).

Tabel laaditakse algusest peale uuesti uute eelseadistustega.



6.2.11. "V" Märkeruut (avage / sulgege välja vorm)

Seda märkeruutu kasutatakse kuvatavate väljade valija kuvamiseks / peitmiseks.



Tabeli tulemused on sorteeritud vastavalt Sorteeri välja seadistamine. Sorteerimise järjekorda saab muuta, kui vajutada rea ​​päist (üks suund ühe suuna jaoks kaks korda teise suuna jaoks).

Mõned tulemused annavad veergudele lingi edasiste visualiseerimisekraanide juurde (kodeeritud).


Seadme ajalooliste andmete kuvamisel peaks see olema piiratud, et mitte kuvada kogu ajalooteavet, kuna see võib põhjustada jõudluse või mäluprobleeme.


7. Baaritabelid.

Tulbadiagrammid tuleks käivitada põhivormilt, vajutades üksikut välja "Riba".

See kuvab sorditud ribad, mis on normaliseeritud maksimaalse väärtuseni, näidates kõrgeimast madalamani.

See on kasulik äärmuslike tulemuste kiireks kontrollimiseks ja mõne toimingu tegemiseks.





Mouse Over sündmus kuvab seadme kohta lisateavet.


8. Ajaloolised graafikud.

Ajaloolisi diagramme saab algatada MainFormist, kui vajutate valitud veeru reale "History" (ühe välja jaoks).

Mitme välja reas „Ajalugu” tuleb kontrollida soovitud välju ja veerus „Käivita” vajutada link „Ajalugu”.

Ajaloolised tulemused piirduvad viimase 24 tunni ja järgmise 24 tunniga (võimalike värskendavate diagrammide jaoks), kui piiranguid ei seatud.

8.1. Ajalooliste graafikute initsialiseerimine


Ajaloolised diagrammid, kui need avatakse peamise lingi kaudu, vajavad initsialiseerimist teiste tulemustena, kui lingid on avatud eelistuste parameetriteta.

Erinevate üksuste kuvamiseks võib valida mitu välja. Selle saab määrata ka väljafiltrivormis.




  1. Vajutage kuvatavate väljade jaoks kõik vajalikud märkeruudud

  2. Vajutage märkeruutu "Nähtavad väljad" väljade peitmiseks vorm

  3. DB-päringu käivitamiseks ja tabeli kuvamiseks vajutage nuppu Execute


8.2. Ajalooliste diagrammide valikulised seaded

Ülal ja vasakult paremale (ekraanipildil) kirjeldatud üksused.

8.2.1. IMEI - (Ajalooliste andmete kuvamiseks valige seade)

IMEIväli sisaldab seadme kordumatut ID-d või seadme unikaalset varjunime. * (Tärn) väärtusega näitab see viimaste väärtuste tabelit, millel pole mõtet.

Kui määrate IMEI-le mis tahes muu väärtuse, kuvatakse valitud seadme ajaloolised andmed.

8.2.2. Min - piirata esimese välja minimaalset väärtust

8.2.3. Max - esimese välja maksimaalse väärtuse piiramine

8.2.4. "V" - Näita / peida väljade vorm

8.2.5. Alates: määrake minimaalne kuupäev / kellaaeg (*)

8.2.6. To: määrake maksimaalne kuupäev / kellaaeg (*)

8.2.7. "X" Märkeruut (näita / peida päringuvorm)

8.2.8. "Kus" Klausel

Andmetulemuste piiramise klausel MySQL / MariaDB täiendav päring string {WHERE part}.

Seda klauslit võetakse arvesse andmebaasi tulemuse täieliku stringi QUERY koostamisel. See võib piirata andmeid, aega ja muid väärtusi, piirates tulemuste loendamist. Sellel väljal ja kehtival SQL-i süntaksil tuleb kasutada algseid tabeliväljade nimesid (mitte varjunime). Nt.

  1. gps_speed_km> 10 // kiirus on üle 10 km / h

  2. ain5> 3 // ain5 on suurem kui 3 (hoides 2,5um osakesi - sudu tase)

  3. gps_speed_km> 10 ja ain6> 5 // kiirus on üle 10 km / h ja ain6 on suurem kui 5 (hoides 10um osakest - suitsu tase)


8.2.9. Tühjendage kõigi valik Nupp (eemaldage päringust kõik väljad)

Pärast selle nupu vajutamist tuleb ajalooliste tulemuste kuvamiseks valida vähemalt üks väli käsitsi.


8.2.10. Täitke (Käivita päringu nupp)

Selle nupu vajutamine on vajalik seadete ja parameetrite muutmiseks (välja arvatud väljade või päringupaneeli kuvamine). Tabel laaditakse algusest peale uuesti uute eelseadistustega.

8.2.11. "V" Märkeruut (avage / sulgege välja vorm)

Seda märkeruutu kasutatakse kuvatavate väljade valija kuvamiseks / peitmiseks.


8.3. Baarid Variant: (kuvab ainult saadaolevad andmed)



8.4. Pidev variant (samade andmetega):



Hiirekursor kuvab mõõtmiste väärtused ja kuupäeva / kellaaja.

9. Veebibrauseri ühilduvus


Funktsioon / WWW brauser

Chrome 72

FireFox 65

Edge

Ooper 58

Kaardid

+

+

+

+

Ajalooline

+

+ (*)

+

+

Baarid

+

+

+

+

Vahelehed

+

+

+

+


* - Firefox ei toeta kuupäeva / kellaaja valijat (tekstivälja tuleb käsitsi muuta, kasutades õiget kuupäeva ja kellaaja vormingut).

Internet Explorerit ei toetata (kasutage Edge selle asemel)

Teisi veebibrausereid ei testitud.



10. Teemad Kohandamine

Veebilehed põhinevad üldisel mallifailil, mis asub aadressil "mallid" kataloog "* .template".

Lisaks sisaldab iga lehe tüüp:

  1. "* .head" fail, mis salvestab lehe päise (lingid, imporditud CSS, JavaScript failid jne )

  2. "* .foot" failid, mis salvestavad lehe jalus (lingid jne )


Visualisatsiooni teemat saab vastavalt kasutaja eelistustele muuta CSS-failide kopeerimise ja muutmisega. CSS-failid asuvad "mallid / css" kataloogi. Näiteks veebisaidile optimeeritud loomiseks võidakse kasutada erinevaid veebilehe teemasid. printimine, nutitelefonid, PAD-mallid.


Table vaated - CSS-faili valimiseks on valitav väli teema täielikuks muutmiseks (salvestatud kataloogi "templates / css / tabs" kataloog).




Map vaated - üldteema valib "kaart" tüüpi kombokast. Lisaks on vaikimisi CSS-fail "templates / css / map.css" mis sisaldab lisavõimalusi, näiteks selle väärtuste põhjal peitmine / värvimine. Ülejäänud osa CSS-failist on praktiliselt piiratud päringu- ja väljavormidega.


Enamik @City platvorm PHP-failid visualiseerimiseks aktsepteerivad cssparameeter faili nime väärtusega teemale (ilma laiendita). Fail peab asuma kataloogis "templates / css" ja nimi on tõstutundlik.


Mõni teema kuvamise element asub otse failis, mis asub "mall / js" kataloogi.

Main @City stsenaarium"@ City.js" asub ülemises kataloogis. Selles pole muudatusvõimalust asukoht, kuid skripti võidakse kopeerida "mallid / js" kataloogi ja seal muudetud. Individuaalse skripti kasutamine nõuab kõigi päisefailide värskendamist.

11. Algoritmide värskendamine


Mõni ainulaadne andur võib vajada spetsiaalseid arvutusfunktsioone.

Mitme variandi värskendamiseks ja hooldamiseks pole võimalust @City Serveri tarkvara, Esiosa PHP-liides, mis põhjustaks palju probleeme, versioone, vigu.

Parim ja lihtsaim viis selle saavutamiseks on over "ülekatte" failide värskendamine väärtuse / kirjelduse õigeks kuvamiseks.

Originaalsed JS-skriptid on avatud tekstifailid ja neid võidakse kohandada vastavalt kliendi vajadustele. Nagu eelmises peatükis öeldud, tuleb neile kopeerida "mallid / js" kataloog, kuhu kliendil on juurdepääsuõigused muudatuste tegemiseks.


Tehniline aspekt programmide programmeerimisel @City süsteem ei ole selle dokumendi teema, kuid HTML-i ja JS-i põhiteadmistega veebiarendaja võib kohandada esiotsa veebirakendust vastavalt kliendi vajadustele.


12. Andmebaasi struktuur


@City andmebaas nimega "IoT" või "* IoT" on jagatud tabeliteks (kus tärn on eesliide sõltuvalt hostimisserverist - kui see on vajalik). DataBase'i võib jälgida lingil PHPAdmin (veebirakendus) http: //% IP% / phpmyadmin




Iga seadme jaoks seatud tabelid (kus * {asterix} on IMEI-aadress - kordumatu ID):

Muud tabelid:



12.1. "iithings_" ja "*" tabelite struktuur

12.2. Seadme käskude (sündmused) järjekord "* _c" tabel - struktuur


See tabel on iga seadme sündmuste / käskude järjekord ja selle struktuur on järgmine:



12.3. Juurdepääs andmebaaside tulemustele - kesktase (andmete lugemine)


Andmetele pääseb ligi ilma eesseadme veebirakendusteta. @City süsteem sisaldab kesktaseme funktsioonidega skripti. Tulemused tagastatakse JSON-vormingus.


12.3.1. Hankige kõigi seadmete praegused olekud

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


Päring tagastatakse tervikuna "_ithings" tabel (kõigi seadmete praegused olekud) JSON-vormingus:

[{ "riik":"", "linn":"", "mandril":"", "riik":"", "piirkonnas":"", "allpiirkond":"", "alampiirkond":"", "linn":"", "linnaosa":"", "tänav":"", "tänava_nr":"", "item_nr":"", "gps_lat":"0000,0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "loomine":"2019-02-09 18:12:38", "viimane":"0000-00-00 00:00:00", "sündmused":"", "kasutaja":"", "üle andma":"", "imei":"351580051067110", "sn":"", "staatus":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c200000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c02560040030", "räsikood":"", "addr":"", "fwnr":"", "puudega":"", "gsm_nr":"", "müüja":"", "ajavöönd":"", "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":"", "sündmused":"", "välja1":"0", "välja 2.":"0", "välja 3.":"0", "välja 4.":"0", "välja 5.":"0", "välja 6.":"0", "välja 7.":"0", "välja 8.":"0", "välja 9.":"0", "välja10":"1", "väljapoole11":"0", "välja 12.":"0", "välja13":"0", "välja 14.":"0", "out15":"0", "out16":"0", "in1":"0", "sisse2":"0", "sisse3":"0", "sisse 4":"0", "aastal 5":"0", "sisse6":"0", "aastal7":"0", "aastal8":"0", "aastal 9":"0", "aastal10":"0", "aastal11":"0", "aastal12":"0", "aastal13":"0", "aastal 14":"0", "aastal15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "aaastal 5":"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":"", "tekst2":"", "tekst3":"", "tekst4":"", "tekst5":"", "text6":"" }]

12.3.2. Hankige seadme ajaloolised andmed

IMEI ühe seadme ajaloolised andmed:

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


Kuna terve tabel võib sisaldada miljoneid ridu, peaks see olema piiratud WHERE-klausliga, et serverit mitte üles riputada.

Lisaparameetrite URL-i parameetrid:

func - imeijson

imei - seadme IMEI

valdkonnas - tulemustes kuvatavad väljad (koomas eraldatud loend)

min - loendi esimese välja minimaalne väärtus

max - loendi esimese välja maksimaalne väärtus

svõit - väli sortimiseks

tm - väli lisatakse tulemustele automaatselt.

where - kus klausel piiratud andmetele


Näide:

Soovime saada järgmist tulemust

seadmega koos imei=356345080018095

näita väljad: ain5, ain6, gps_lat, gps_long

ja piirata aaastal 5 vahemikus ( 1, 10000 ) - peab olema loendi esimene väli

ja gps omama kehtivaid andmeid (gps_fix = 3)

ja kuupäev / kellaaeg (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Ehitatud URL-i string:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& väli =aaastal 5, ain6, gps_lat, gps_long& min =1& max =1000& kus =gps_fix = 3 ja tm> "2019-02-14 23:00:19" ja tm <"2019-02-15 00:00:00"


Päringu tulemused:

[{ "aaastal 5":"66","ain6":"68","gps_lat":"5202,7326N","gps_long":"02115.8073E","tm":"2019-02-14 23:04:31" }, { "aaastal 5":"67","ain6":"76","gps_lat":"5202,7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:05:42" }, { "aaastal 5":"63","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8074E","tm":"2019-02-14 23:06:05" }, { "aaastal 5":"58","ain6":"77","gps_lat":"5202,7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:06:32" }, { "aaastal 5":"58","ain6":"68","gps_lat":"5202,7328N","gps_long":"02115.8076E","tm":"2019-02-14 23:06:55" }]

12.3.3. Hankige seadmete loend - üks väli praegustest olekutest koos piirangutega

See funktsioon tagastab tabelist "_ithings" piiratud andmed


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



Parameetrid:

func - fieldjson

valdkonnas - tulemustes kuvatav väli - imei ja tm lisatakse automaatselt

min - välja minimaalne väärtus

max - välja maksimaalne väärtus


Ülaltoodud päringustringi korral see tagastatakse tulemused ain5, imei, tm väljad:

kui aaastal 5 on vahemikus (13,5000)


Päringu tulemused:

[{"imei":"353080090069142", "tm":"2019-03-14 11:51:01", "aaastal 5":"14" },

{"imei":"356345080018095", "tm":"2019-02-20 09:13:04", "aaastal 5":"115" },

{"imei":"karczew", "tm":"2019-03-07 13:08:22", "aaastal 5":"103" }]