@City IoT Debesų platforma




„iSys“ - intelektualiųjų sistemų sprendimai









IoE.Sistemos

Turinys

1. Įvadas. 5

1.1 Palaikomi įrenginių tipai. 5

1.2. Palaikomų produktų tipai. 5

1.3. Palaikomi ryšio protokolai 5

1.4. Palaikoma prietaisų ryšio technologija 6

1.5. @City Cloud Server 6

1.5.1. Serverio ir ryšio šliuzai 7

1.5.2 HTTP „LoRaWAN“ integracija 7

1.5.3. Priekinė sąsaja 8

1.5.3. Serverio prieigos teisės 8

1.6. Išmanieji įrenginiai 9

1.6.1. CIoT - GSM įrenginiai 9

1.6.3. BAS, BMS, IoT - „Ethernet“ ir „WiFi“ įrenginiai 9

1.6.2. IoT -LoRaWAN įrenginiai 9

1.7. Verslo verslui (B2B) galimybės 9

2. @City IoT Platformos funkcionalumas 10

3. Pagrindinis 11 puslapis

4. Pagrindinė 11 forma

4.1. 12 antraštė

4.1.1. „Home Link“ - (atidaro faktinių rezultatų lentelę) 12

4.1.2. „X“ žymės langelis - atidaro / uždaro 12 užklausos formą

4.1.3. "V" žymės langelis - atidaro / uždaro 12 formos laukus

4.1.4. Grafinės piktogramos - nuorodos į vizualizacijos rezultatus (redaguojamos) 12

4.2. Forma: 12

4.2.1. „X“ žymės langelis - atidaro / uždaro visą 12 užklausos formą

4.2.2. CSS - pasirinkite 12 vizualizacijos temą

4.2.3. „Visible Fields“ žymimasis laukelis - rodo / slepia 12 lauko filtrų sąrašą

4.2.4. Skirtukas: skirtuko pavadinimas, jei norite pridėti arba pašalinti 12

4.2.5. Pridėti / pašalinti mygtukus - 12 skirtukų laukelyje pridėkite arba pašalinkite skirtukus su pavadinimu

4.2.6. Pasirinkite pagrindinį mygtuką 12

4.2.7. Panaikinkite visų mygtuko 12 pasirinkimą

4.2.7. Pasirinkite mygtuką 12

4.2.8. Slėpti filtrą - slėpti visą 12 formą

4.2.9. Vykdyti mygtuką - pakeisti parametrų nustatymus 13

4.2.10. "V" žymės langelis - rodyti / aukšto filtro laukus. 13

4.3. 13 skirtukai

4.4. Lentelės turinys 13

4.4.1. Vykdyti - peržiūros rezultato tipas 13

4.4.2. Kopijuoti (+/- nuorodos) 13

4.4.3. Lentelės langelių nuorodos 13

4.5. Duomenų tvarka 13

4.6. 13 pavyzdys

5. Žemėlapiai 15

5.1. Žemėlapio inicijavimas 15

5.2. Pasirenkami 15 užklausos nustatymai

5.2.1. Keisti žemėlapio skalę (mastelio lygis) 16

5.2.2. IMEI (Pasirinkite įrenginio lauką) 16

5.2.3. Lon, Lat (ilgumos, platumos koordinačių laukai) 16

5.2.4. Keisti žemėlapio stilių (tema) 16

5.2.5. KUR 16 straipsnis

5.2.6. Vykdyti (paleisti užklausos mygtuką) 16

5.2.7. Panaikinkite visų pasirinkimą (pašalinkite visus laukus iš užklausos) 17

5.2.8. "V" žymimasis laukelis (Atidaryti / Uždaryti lauko formą) 17

5.2.9. „X“ žymimasis laukelis (Rodyti / slėpti užklausos formą) 17

5.3. 17 pavyzdys

6. Rodyti rezultatus 18 lentelėje

6.1. 18 lentelės inicijavimas

6.2. Pasirinktiniai 19 užklausos nustatymai

6.2.1. Rūšiuoti - rūšiuoti lauką ir tvarka didėjančia / mažėjančia tvarka 19

6.2.2. DB / IMEI - pasirinkite „Device 19“

6.2.3. CSS - pasirinkite stilių (vizualizacijos tema) 20

6.2.4. Matomi laukai - Rodyti / slėpti laukų 20 formą

6.2.5. Pašalinti tuščią - nerodyti tuščių 20 stulpelių

6.2.6. „X“ žymimasis laukelis (Rodyti / slėpti užklausos formą) 20

6.2.7. Kur sąlyga (dėl duomenų apribojimo) 20

6.2.8. Pasirinkite pagrindinį mygtuką (įjungti dažniausiai naudojamus laukus) 20

6.2.9. Panaikinkite visų mygtukų pasirinkimą (pašalinkite visus laukus iš užklausos) 20

6.2.10. Vykdyti (paleisti užklausos mygtuką) 20

6.2.11. „V“ žymimasis laukelis (Atidaryti / Uždaryti lauko formą) 20

7. Baro diagramos. 21

8. Istorinės diagramos. 22

8.1. Istorinių diagramų inicijavimas 22

8.2. Neprivalomi istorinių diagramų nustatymai 23

8.2.1. IMEI - (Pasirinkite įrenginį, kad būtų rodomi istoriniai duomenys) 23

8.2.2. Minimali pirmojo lauko 23 minimali vertė

8.2.3. Maksimali riba - maksimali pirmojo lauko reikšmė 23

8.2.4. „V“ - rodyti / slėpti laukų 23 formą

8.2.5. Nuo: nustatykite minimalią datą / laiką (*) 23

8.2.6. Norėdami: nustatyti maksimalią datos datą ir laiką (*) 23

8.2.7. "X" žymimasis laukelis (rodyti / slėpti užklausos formą) 23

8.2.8. "Kur" 23 straipsnis

8.2.9. Panaikinkite visų mygtuko pasirinkimą (pašalinkite visus laukus iš užklausos) 23

8.2.10. Vykdyti (paleisti užklausos mygtuką) 23

8.2.11. "V" žymimasis laukelis (Atidaryti / Uždaryti lauko formą) 24

8.3. Barų variantas: (rodomi tik turimi duomenys) 24

8.4. Nuolatinis variantas (su tais pačiais duomenimis): 24

9. Tinklalapio suderinamumas 25

10. Temų pritaikymas 26

11. Algoritmų atnaujinimas 27

12. Duomenų bazės struktūra 28

12.1. 29 lentelių struktūra „itith__“ ir „*“

12.2. Įrenginio komandų (įvykių) eilė „* _c“ lentelė - 30 struktūra

12.3. Prieiga prie duomenų bazių rezultatų - vidutinio lygio (duomenų skaitymas) 30

12.3.1. Gaukite visų įrenginių dabartines būsenas 30

12.3.2. Gaukite 31 įrenginio istorinius duomenis

12.3.3. Gauti įrenginių sąrašą - vienas laukas iš dabartinių būsenų su 32 apribojimu


1. Įvadas.

@City IoT Debesų platforma yra skirta "mikro debesis" sistema individualiems klientams. Platforma nėra dalijama ir tik vienas klientas turi prieigą prie fizinio ar virtualaus serverio (VPS arba tam skirtų serverių). Klientas gali pasirinkti vieną iš dešimčių duomenų centrų Europoje ar pasaulyje.

1.1 Palaikomi įrenginių tipai.

@City IoT platforma skirta sekti „iSys.PL“ produktus



1.2. Palaikomų produktų tipai.

@City (eCity) Debesų platforma yra įvairių dydžių sistema, skirta IP IoT produktams (vadinama kartu kaip @City Hardware arba „CioT“ įrenginiai ):


1.3. Palaikomi ryšio protokolai

@City IoT platforma palaiko šiuos komunikacijos protokolus:

Duomenys, siunčiami iš valdiklio į debesies serverį ir atvirkščiai, yra užšifruoti unikaliu dvejetainiu formatu, kad būtų užtikrintas mažiausias duomenų dydis ir padidintas saugumas. Kiekvienas partneris gauna savo unikalų šifravimo raktą, skirtą prietaiso patvirtinimui, duomenų galiojimo tikrinimui ir kt.


Ne „eHouse“ / „eCity“ įrenginiams galime pateikti atskirus šifravimo algoritmus ( "C" šaltinio kodas) kiekvienam mikroprocesoriaus partneriui, kuris apsaugo duomenis prieš bendravimą.

Šiuo atveju duomenys yra visiškai saugūs per dvikryptį ryšį per viešąją komunikacijos priemonę (internetą, orą ir kt.). ).


1.4. Palaikoma prietaisų ryšio technologija

@City IoT platforma palaiko:


@City IoT Platforma skirta įrenginiams / mazgams:


1.5. @City Cloud Server

„@City“ programinė įranga veikia „Linux“ pagrindu veikiančioje VPS („Virtual Private Server“) arba „Dedicated Server“ interneto pusėje, priklausomai nuo prašomo Serveris (vadinamas vėliau serveriu):


Yra keli VPS variantai, priklausomai nuo:


Yra dešimtys dedikuoto serverio, priklausomai nuo:


@City IoT platforma skirta vienam klientui:


Kadangi tai nėra klientų dalijamas serveris, tai supaprastina prieigą prie saugumo ir našumo problemas. Dėl šios priežasties tik klientas yra atsakingas už efektyvų saugumą, stabilumą, efektyvumą, duomenų pralaidumą ir kt. Nepakankamo našumo atveju klientas gali įsigyti didesnį planą (VPS arba dedikuotą serverį), optimalesnį už numatomą funkcionalumą ir našumą.

Ypatingais atvejais "Cloud to cloud" komunikacija gali būti įgyvendinta globalizacijai ir duomenų centralizavimui didesnėse srityse, o ne kelių klientų debesyje.

1.5.1. Serverio ir ryšio šliuzai

„@City Server“ ryšys realizuojamas remiantis žemo lygio programa, siekiant maksimalaus našumo.

Pagrindinės „@City Server“ programos savybės yra šios:

„@City Server“ programinė įranga kiekvienam vartotojui yra vienoda ir negali būti pritaikyta skirtingiems klientams.

1.5.2 HTTP „LoRaWAN“ integracija

„LoRaWAN“ valdikliai yra integruoti su „@City“ debesimi per HTTP sąsają („webhooks“), esančią LoRaWAN tinklo / programų serveryje.

Palaikomi keli tinklo / programų serverių tipai:

TTN (ribotas laikas "Eteryje" ir maksimalų komandų, nusiųstų tvarkyklei, skaičių ir nepalaiko programinės aparatinės įrangos atnaujinimo)

„LoraWAN-Stack“ (reikalingas talpinimas fiziniame įrenginyje su prieiga prie interneto).

„LoraServer.Io“ (reikalingas talpinimas fiziniame įrenginyje, kuriame yra prieiga prie interneto - duomenys siunčiami tik į serverį ir nepalaikoma programinės aparatinės įrangos atnaujinimas)



„LoRaWAN“ valdiklių „@City Cloud“ padalijamas taip pat, kaip ir kitoms sąsajoms. Jis aptariamas ankstesniame skyriuje.

1.5.3. Priekinė sąsaja

„Front-end“ sąsaja realizuojama naudojant PHP scenarijus, skirtus pritaikytiems duomenims iš „@City Cloud Database“ išgauti. Norint apriboti norimus duomenis, jis naudoja labai elastingą paieškos mechanizmą, pagrįstą originaliomis SQL užklausomis. Sąsajos tiekimo užklausos rezultatai JSON formatu toliau dekoduojami ir apdorojami naudojant „Front-end Web“ programą “.

Originali sąsaja yra ta pati kiekvienam vartotojui ir negali būti pritaikyta skirtingiems klientams.

Perdangos sąsają gali sukurti mūsų darbuotojai arba bendradarbiaudami, kad klientas galėtų pritaikyti.

1.5.3. Serverio prieigos teisės

Kliento prieigos prie fizinio serverio teisės yra ribotos.

Tik katalogų „šablonai“ prieiga prie failų (vietiniai teksto failai - .txt, .js, .css, .html):

Kitos prieigos teisės:


„iSys“ - „Intelligent Systems“ darbuotojai - turi neribotą prieigą prie viso serverio, įskaitant šakninę paskyrą ir pilną prieigą prie DB, kad būtų galima prižiūrėti.

Tam tikromis aplinkybėmis „iSys“ gali suteikti klientui papildomas ribotas teises (PHP scenarijus, failus) patikrinęs šaltinio kodą, atlikęs bandymus, jei tai neturi įtakos bendram sistemos saugumui, stabilumui ir našumui.


1.6. Išmanieji įrenginiai

1.6.1. CIoT - GSM įrenginiai

Mūsų prietaisuose yra mikrovaldiklis ir ryšiui skirtas GSM / GPS / GNSS modulis (2G..4G, NBIoT, CATM1). Mikrokontroleryje yra užkoduotas įkrovos įrankis, skirtas saugiam OTA programinės aparatinės įrangos atnaujinimui. Tai leidžia sukurti daugybę sistemos variantų remiantis tuo pačiu "„CIoT Smart“ įrenginys".


1.6.3. BAS, BMS, IoT - „Ethernet“ ir „WiFi“ įrenginiai


„Ethernet“ ir „WiFi“ valdikliai leidžia palaikyti IP ryšį su sistema (nemokant duomenų perdavimo GSM operatoriui). Šiuose įrenginiuose taip pat yra užšifruotas įkrovos įrankis ir įrenginiai gali būti atnaujinti per savo vietinę sąsają. „Wi-Fi“ jis turi atnaujinti OTA programinę aparatinę įrangą iš pagrindinio serverio


1.6.2. IoT - „LoRaWAN“ įrenginiai

„LoRaWAN“ leidžia perduoti duomenis labai dideliais atstumais (iki maždaug 15km). Šis diapazonas priklauso nuo duomenų perdavimo greičio, duomenų kiekio, vietovės urbanizacijos ir prietaisų radijo takų efektyvumo.

Mūsų prietaisuose yra mikrovaldiklis ir „LoRaWAN“ modulis ryšiui palaikyti. Mikrovaldiklyje yra užkoduotas įkrovos įrankis, skirtas saugiam OTA programinės įrangos atnaujinimui. Tai leidžia sukurti kelis sistemos variantus pagal tą patį "IoT smart device". Įrenginiai veikia atviroje ISM juostoje be papildomų abonentinių mokesčių. Būtina naudoti „LoRaWAN Gateways“, kad visa teritorija būtų aprėpta prieiga prie interneto. Esant LoRaWAN vartams, esantiems įrenginių diapazone (sukonfigūruoti TTN serveriui), galima siųsti informaciją per juos. Norint atnaujinti programinę aparatinę įrangą, reikia savo tinklo / programos „LoRaWAN“ serverio ir gero ryšio diapazono.

1.7. Verslo verslui (B2B) galimybės


Yra keletas verslo ir bendradarbiavimo variantų:

2. @City IoT Platformos funkcionalumas

„@City“ platforma palaiko pritaikomą „Front-End“ šabloną duomenų vizualizavimui, užklausoms, ribojimui ir apdorojimui (dabartiniai / istorijos duomenys):


Vartotojo „Front-End“ galima pasiekti naudojant statinį IP arba DNS peradresavimo domeną / padomenį / failą, jei toks yra.


Pavyzdinis ir demonstracinis diegimas (jis įgalinamas tik būsimiems klientams).

Praneškite mums, kai norite tai išbandyti, kad įgalintumėte viešą prieigą prie platformos.

Norint įgalinti ryšį su @City platforma, gali prireikti statinio nuotolinio kompiuterio IP.


3. Pagrindinis puslapis

Saugumo sumetimais pagrindinis puslapis tyčia paliekamas tuščias: http: //% JūsųIP% / IoT /

Tai gali būti įgalinta ir redaguota atskirai, joje gali būti nuorodų į visas galimas @City IoT platforma jei to reikia


4. Pagrindinė forma

Pagrindinė forma skirta sukurti naujus išankstinius nustatymus ir skirtukus: http: //%IP%/IoT/que.php

Tai yra pradinė kiekvienos konfigūracijos rezultatų, rodinių ir skirtukų kūrimo forma




Aprašymai (iš viršaus ir kairės į dešinę)

4.1. Antraštė

4.1.1. „Home Link“ - (atidaro faktinių rezultatų lentelę)

4.1.2. „X“ žymės langelis - atidaro / uždaro užklausos formą

4.1.3. „V“ žymės langelis - atidaro / uždaro laukų formą

4.1.4. Grafinės piktogramos - nuorodos į vizualizacijos rezultatus (redaguojamas)


4.2. Forma:

4.2.1. „X“ žymės langelis - atidaro / uždaro visą užklausos formą

4.2.2. CSS - Pasirinkite Vizualizacijos tema

Keisti vizualizacijos temą CSS failas turi būti "šablonai / css /" katalogas - pateikiamas automatiškai.

4.2.3. Matomi laukai žymės langelis - rodo / slepia laukų filtrų sąrašą

4.2.4. Skirtukas: Skirtuko pavadinimas, kurį norite pridėti arba pašalinti

4.2.5. Pridėti / pašalinti Mygtukai - pridėkite arba pašalinkite skirtukus su pavadinimu Tab srityje

4.2.6. Pasirinkite „Core“ Mygtukas

Pasirinkite pagrindinius lentelėje matomus laukus. Tai yra atnaujinta automatiškai.

4.2.7. Atzymeti visus pasirinkimus Mygtukas

Panaikinti visų laukų pasirinkimą (reikia sekti kai kuriuos iš jų pasirinkus rankiniu būdu)

4.2.7. Pasirinkti viską Mygtukas

Pasirinkite visus laukus (turi būti laikomasi, kai kuriuos iš jų pažymėjus rankiniu būdu)

4.2.8. Slėpti filtrą - Slėpti visą formą

Tai atitinka visus (X) žymės langelius

4.2.9. Vykdyti Mygtukas - pakeisti parametrų parametrus

4.2.10. „V“ žymės langelis - rodyti / aukšto filtro laukus.


4.3. Skirtukai

Individualiai sukurti skirtukai su pavadinimais ir išankstiniais nustatymais (saugomi cfg / tabs.cfg byla).

Faile iš tikrųjų yra vardas ir URL (atskirti tabuliavimo ženklu).


4.4. Lentelės turinys

Rodomi visi lauko filtro ribojami laukai.


Laukai lentelėje:

4.4.1. Vykdyti - peržiūrų rezultatų tipas

žemėlapis- žemėlapio rezultatai žemėlapyje (gali būti pasirinktas vienas ar keli laukai)

istorija - istorinės diagramos (gali būti pasirinktas vienas ar keli laukai)

tab - rodo lentelę (gali būti pasirinktas bet koks laukų derinys)

baras - juostų diagramoje rodomas tik vienas laukas

Paspaudus vieną iš jos vertės, bus atidaryti nauji rezultatai su pasirinktais laukais (dabartinei eilutei).


4.4.2. Kopijuoti (+/- nuorodos)

Skirtuko su nustatytu pavadinimu pridėjimas / pašalinimas Tab srityje. Naudojami tik toje pačioje lentelės eilutėje pasirinkti laukai.


4.4.3. Lentelės langelių nuorodos

Paspaudus bet kurį kitą lauko pavadinimą bus inicijuojamas pasirinktos eilutės pasirinkto lauko duomenų vizualizavimas.


4.5. Duomenų tvarka


Rodomų laukų tvarka yra tokia pati kaip laukų tvarka (tačiau tm laukelis visada siunčiamas iki teksto pabaigos). Ši tvarka gali būti pakeista tik tiesiogiai redaguojant URL parametrus (laukų užsakymo dalis).


4.6. Pavyzdys

Pvz .: Nustatymo kortelė su Turto stebėjimas pavadinimą ir jame yra žemėlapis su laiku ir greičiu

Visas aprašymas, nurodantis eilutę kur "Map" tekstas yra "Bėk" stulpelį.

  1. Įveskite vardą "Turto stebėjimas" į Tab laukas (be kabučių)

  2. Įsitikinkite, kad visi stulpeliai nepažymėti eilutėje

  3. pasirinkite tm, gps_speed_km tik iš eilės

  4. paspauskite + mygtuką, kur eilutėje






5. Žemėlapiai

Žemėlapius galima paleisti iš „MainForm“ su išankstine konfigūracija


5.1. Žemėlapio inicijavimas

Žemėlapio inicijavimas atliekamas rankiniu būdu, kai atliekamas tiesiogiai su nuoroda: > http: //%IP%/IoT/maps.php


  1. Vartotojas turėtų panaikinti visų laukų pasirinkimą (paspauskite Panaikinkite pasirinkimą Mygtukas)

  2. Paspauskite kai kuriuos žymimųjų langelių laukelius (pvz., Ain5 (smogo lygiui) ir tm (matavimo datai / laikui)

  3. paspauskite „V“ žymimasis laukelis paslėpti laukų formą

  4. paspauskite Vykdyti mygtukas paleisti DB užklausą ir rodyti dabartinę informaciją iš visų jutiklių / įrenginių

  5. Žemėlapis su duomenimis atnaujinamas po 30 ar daugiau sekundžių.


5.2. Pasirenkami užklausos nustatymai

Nustatymai, aprašyti iš kairės į dešinę (viršuje esančioje ekrano kopijoje).

5.2.1. Keisti žemėlapio mastelį (mastelio lygis)

  1. Mastelio lygis gali būti pakeistas naudojant mastelio mygtukus (+/-) (dabartinis_skalė * 2 arba dabartinis_skalė / 2). Paspaudus vieną iš šių mygtukų, skalė bus automatiškai pakeista.

  2. Kitas būdas yra pasirinkti mastelio keitimo lygį Mastelis „Combo Box“ lauką ir paspauskite Vykdyti mygtuką. Tokiu atveju visas vaizdas / žemėlapis yra įkeliamas ir atnaujinamas (inicijuojant užtrunka šiek tiek laiko).

5.2.2. IMEI (Pasirinkite įrenginio lauką)

IMEIlauke yra įrenginio unikalus ID arba unikalus įrenginio pseudonimas. Numatytasis nustatymas yra * (žvaigždutė), rodanti naujausias kiekvieno įrenginio vertes ir geografinę vietą.

Nustačius IMEI bet kurią kitą vertę, bus rodomi pasirinkto įrenginio istoriniai duomenys. Tai turi prasmę tik mobiliesiems ir judantiems jutikliams, kitaip rezultatai žemėlapyje sutaps toje pačioje vietoje.


5.2.3. Lon, lot (Ilgumos, platumos koordinačių laukai)

Nustatykite žemėlapio vidurio padėtį. Šis laukas nustatomas į žymeklio padėtį, kai žemėlapyje paspaudžiamas pelės mygtukas.


5.2.4. Keisti žemėlapio stilių (tema)

Žemėlapio stilių / temą galima pasirinkti iš Map „ComboBox“ laukas (pvz. Tamsus, pilkas, topografinis).

Įvairių žemėlapių temų maksimalus mastelio keitimo lygis gali būti skirtingas, todėl gali būti pritaikyta tinkama tema, kad padidėtų žemėlapio mastelis.


5.2.5. KUR sąlyga

Kur sąlyga naudojama papildomai MySQL / MariaDB užklausos eilutei {WHERE part}.

Į šią sąlygą atsižvelgiama kuriant visą QUERY eilutę duomenų bazės rezultatui. Tai gali apriboti duomenis, laiką ir kitas vertes, ribodama rezultatų skaičių. Šiame lauke turi būti naudojami originalūs lentelių laukų pavadinimai (ne slapyvardžiai). Pvz.

  1. gps_speed_km> 10 // greitis yra didesnis nei 10 km / h

  2. ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)

  3. gps_speed_km> 10 ir ain6> 5 // greitis yra didesnis nei 10 km / h, o ain6 yra didesnis nei 5 (sulaikant 10um dalelių - smogo lygis)


5.2.6. Vykdyti (Vykdyti užklausos mygtuką)

Paspaudus šį mygtuką reikia pakeisti bet kokius nustatymus, parametrus (išskyrus paspaudimą +/- mygtukai).

Žemėlapis nuo pat pradžių yra įkeltas su naujais nustatymais.

Žemėlapis visiškai neįkeliamas, kai nėra duomenų apie dabartinę užklausą.

5.2.7. Atzymeti visus pasirinkimus (Pašalinti visus laukus iš užklausos)

Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad rezultatai būtų rodomi žemėlapyje.


5.2.8. „V“ Žymimasis laukelis (atidaryti / uždaryti lauko formą)

Šis žymimasis laukelis naudojamas rodyti / slėpti rodomų laukų parinkiklį.


5.2.9. „X“ Žymimasis langelis (Rodyti / slėpti užklausos formą)

Šis žymimasis laukelis leidžia slėpti visą formą, išskyrus ( +/- mygtukai)


Žemėlapio rezultatai nuolat atnaujinami ir atnaujinami naujomis reikšmėmis

5.3. Pavyzdys

Pvz., „Smogo“ rezultatai (jutiklis įmontuotas automobilyje): smogo lygis - 2.5um dalelės (Ain5), greitis (gps_speed_km), data / laikas (tm), žemėlapis (2 - topografinis), 16 mastelio mastelis

Kur sąlyga:

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

// GPS = galiojantys 3D rezultatai ir data = 2019-02-18 ir greitis> 0 km / h



6. Rodyti rezultatus lentelėje

Rodyti rezultatus lentelėje.

Įjungta "Pagrindinė forma" paspauskite "stalo" elementą, pasirinkę keletą laukų, kuriuose bus rodoma iš anksto sukonfigūruota lentelė




6.1. Stalo inicijavimas

Kai lentelė atidaryta iš nuorodos http: //%IP%/IoT/que.php? func = skirtukai tam reikia išankstinio nustatymų inicijavimo.

Galite pasirinkti matomus laukus (paspausdami "Matomi laukai" ) žymimasis langelis.



  1. Paspauskite visus būtinus rodomų laukelių žymimuosius laukelius

  2. Paspauskite žymimąjį laukelį "Matomi laukai" paslėpti laukų formą

  3. Norėdami paleisti DB užklausą ir rodyti lentelę, paspauskite mygtuką Vykdyti


6.2. Pasirenkami užklausos nustatymai

Nustatymai aprašomi iš kairės į dešinę (ekrano kopijoje).

6.2.1. Rūšiuoti - rūšiuoti lauką ir tvarka didėjančia / mažėjančia tvarka

Rūšiuoti laukas atitinka stulpelio antraštės paspaudimą.

6.2.2. DB / IMEI - Pasirinkite Įrenginys

IMEIlauke yra įrenginio unikalus ID arba unikalus įrenginio pseudonimas. Tuščia reikšmė rodo naujausių reikšmių lentelę.

Nustačius IMEI bet kurią kitą vertę, bus rodomi pasirinkto įrenginio istoriniai duomenys.


6.2.3. CSS - pasirinkti stilių (vizualizacijos tema)

6.2.4. Matomi laukai - Rodyti / slėpti laukų formą

6.2.5. Pašalinti tuščią - Nerodyti tuščių stulpelių

6.2.6. „X“ Žymimasis langelis (Rodyti / slėpti užklausos formą)

6.2.7. Kur Išlyga (duomenų apribojimui)

Tai papildomos „MySQL / MariaDB“ užklausos eilutės {WHERE part} sufiksas

Į šią sąlygą atsižvelgiama kuriant visą QUERY eilutę duomenų bazės rezultatui. Tai gali apriboti duomenis, laiką ir kitas vertes, ribodama rezultatų skaičių. Šiame lauke turi būti naudojami originalūs lentelių laukų pavadinimai (ne slapyvardžiai). Pvz.

  1. gps_speed_km> 10 // greitis yra didesnis nei 10 km / h

  2. ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)

  3. gps_speed_km> 10 ir ain6> 5 // greitis yra didesnis nei 10 km / h, o ain6 yra didesnis nei 5 (sulaikant 10um dalelių - smogo lygis)


6.2.8. Pasirinkite „Core“ Mygtukas (įgalinti dažniausiai naudojamus laukus)


6.2.9. Atzymeti visus pasirinkimus Mygtukas (pašalinti visus laukus iš užklausos)

Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad rezultatai būtų rodomi žemėlapyje.


6.2.10. Vykdyti (Vykdyti užklausos mygtuką)

Paspaudus šį mygtuką reikia pakeisti bet kokius nustatymus, parametrus (išskyrus paspaudimą +/- mygtukai).

Lentelė nuo pat pradžių yra įkraunama su naujais išankstiniais nustatymais.



6.2.11. „V“ Žymimasis laukelis (atidaryti / uždaryti lauko formą)

Šis žymimasis laukelis naudojamas rodyti / slėpti rodomų laukų parinkiklį.



Rezultatai lentelėje yra rūšiuojami pagal Rūšiuoti lauko nustatymas. Rūšiavimo tvarką galima pakeisti paspaudus eilutės antraštę (vieną kartą vienai krypčiai du kartus kitai krypčiai).

Kai kurie stulpelių rezultatai nukreipia į kitus vizualizavimo ekranus (užkoduoti).


Rodant įrenginio istorinius duomenis, jis turėtų būti ribojamas, kad nebūtų rodoma visa istorijos informacija, nes tai gali sukelti našumą arba gali trūkti atminties.


7. Baro diagramos.

Juostinės diagramos turėtų būti vykdomos iš pagrindinės formos, eilutėje „Juosta“ paspaudus vieną lauką.

Čia rodomos rūšiuojamos juostos, normalizuotos pagal maksimalią vertę, rodomos nuo didžiausios iki žemiausios eilės.

Tai naudinga norint greitai patikrinti ekstremalius rezultatus ir atlikti kai kuriuos veiksmus.





„Mouse Over“ įvykyje bus rodoma papildoma informacija apie įrenginį.


8. Istorinės diagramos.

Istorines diagramas galima inicijuoti iš „MainForm“, paspaudus pasirinktą stulpelį „Istorija“ eilutėje (vienam laukui).

Jei lauke „Istorija“ yra keli laukai, reikia pažymėti norimus laukus, o stulpelyje „Vykdyti“ reikia paspausti nuorodą „Istorija“.

Istoriniai rezultatai apsiriboja paskutinėmis 24 valandomis ir kitomis 24 valandomis (jei norite atnaujinti diagramas), kai apribojimai nebuvo nustatyti.

8.1. Istorinių diagramų inicijavimas


Istorinėms diagramoms, atidarytoms iš pagrindinės nuorodos, reikia inicijuoti kaip kitus rezultatus, kai atidaromos iš nuorodos be preferencinių parametrų.

Gali būti pasirinkti keli laukai, kad būtų rodomi įvairūs elementai. Tai taip pat galima nustatyti lauko filtro formoje.




  1. Paspauskite visus būtinus rodomų laukelių žymimuosius laukelius

  2. Paspauskite žymimąjį laukelį "Matomi laukai" paslėpti laukų formą

  3. Norėdami paleisti DB užklausą ir parodyti lentelę, paspauskite mygtuką Vykdyti


8.2. Pasirenkami istorinių diagramų nustatymai

Elementai, aprašyti iš viršaus ir iš kairės į dešinę (ekrano kopijoje).

8.2.1. IMEI - (Pasirinkite įrenginį, kad būtų rodomi istoriniai duomenys)

IMEIlauke yra įrenginio unikalus ID arba unikalus įrenginio pseudonimas. Su * (asterix) reikšme rodoma naujausių reikšmių lentelė, neturinti prasmės.

Nustačius IMEI bet kurią kitą vertę, bus rodomi pasirinkto įrenginio istoriniai duomenys.

8.2.2. Min. - apriboti minimalią pirmojo lauko vertę

8.2.3. Maks. - apriboti maksimalią pirmojo lauko vertę

8.2.4. „V“ - Rodyti / slėpti laukų formą

8.2.5. Nuo: nustatykite minimalią datą / laiką (*)

8.2.6. Į: nustatykite maksimalią datos / laiko datą (*)

8.2.7. „X“ Žymimasis langelis (Rodyti / slėpti užklausos formą)

8.2.8. "Kur" Išlyga

Duomenų rezultatų apribojimo sąlyga „MySQL / MariaDB“ papildoma užklausos eilutė {WHERE part}.

Į šią sąlygą atsižvelgiama kuriant visą QUERY eilutę duomenų bazės rezultatui. Tai gali apriboti duomenis, laiką ir kitas vertes, ribodama rezultatų skaičių. Šiame lauke turi būti naudojami originalūs lentelės laukų pavadinimai (ne slapyvardžiai) ir galiojanti SQL sintaksė. Pvz.

  1. gps_speed_km> 10 // greitis yra didesnis nei 10 km / h

  2. ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)

  3. gps_speed_km> 10 ir ain6> 5 // greitis yra didesnis nei 10 km / h, o ain6 yra didesnis nei 5 (sulaikant 10um dalelių - smogo lygis)


8.2.9. Atzymeti visus pasirinkimus Mygtukas (pašalinti visus laukus iš užklausos)

Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad būtų rodomi istoriniai rezultatai.


8.2.10. Vykdyti (Vykdyti užklausos mygtuką)

Paspaudus šį mygtuką reikia pakeisti bet kokius nustatymus, parametrus (išskyrus rodomus laukus ar užklausos skydelį). Lentelė nuo pat pradžių yra įkraunama su naujais išankstiniais nustatymais.

8.2.11. „V“ Žymimasis laukelis (atidaryti / uždaryti lauko formą)

Šis žymimasis laukelis naudojamas rodyti / slėpti rodomų laukų parinkiklį.


8.3. Barai Variantas: (rodo tik turimus duomenis)



8.4. Nuolatinis variantas (su tais pačiais duomenimis):



Pelės žymeklis rodo matavimų vertes ir datą / laiką.

9. Tinklalapio suderinamumas


Funkcija / WWW naršyklė

„Chrome“ 72

„Firefox 65“

Briauna

Opera 58

Žemėlapiai

+

+

+

+

Istorinis

+

+ (*)

+

+

Barai

+

+

+

+

Skirtukai

+

+

+

+


* - „Firefox“ nepalaiko datos / laiko rinkiklio (teksto lauką reikia rankiniu būdu redaguoti naudojant tinkamą datos ir laiko formatą).

„Internet Explorer“ nepalaikoma (naudokite Briauna vietoj to)

Kitos žiniatinklio naršyklės nebuvo išbandytos.



10. Temų pritaikymas

Tinklalapiai yra pagrįsti bendru šablono failu, esančiu „šablonai“ katalogas "* .template".

Be to, kiekviename puslapio tipe yra:

  1. "* .head" failas, kuriame saugoma puslapio antraštė (nuorodos, importuotas CSS, JavaScript failai ir kt. )

  2. "* .foot" failai, kuriuose saugoma puslapio poraštė (nuorodos ir kt.) )


Vizualizacijos temą galima pakeisti atsižvelgiant į vartotojo pageidavimus, kopijuojant ir modifikuojant CSS failus. CSS failai yra "templates / css" kataloge. Skirtingos tinklalapio temos gali būti naudojamos kuriant optimizuotas pvz. spausdinimas, „SmartPhones“, PAD šablonai.


Table peržiūros - turi pasirenkamą lauką CSS rinkmenai pasirinkti, kad galėtumėte visiškai modifikuoti temą (saugoma "templates / css / tabs" katalogas).




Map Peržiūrų - bendrą temą parenka "žemėlapis" tipo kombinuota dėžutė. Be to, yra numatytasis CSS failas "templates / css / map.css" kuriame yra keletas papildomų funkcijų, tokių kaip rezultatų slėpimas / dažymas, atsižvelgiant į jo vertes. Likusi šio CSS failo dalis yra apribota užklausų ir laukų formomis.


Dauguma @City platforma PHP failai vizualizavimui priima cssparametras su temos failo pavadinimo verte (be plėtinio). Failas turi būti kataloge „templates / css“, o pavadinimas skiriamas didžiosiomis ir mažosiomis raidėmis.


Kai kurie temos rodymo elementai yra tiesiai JavaScript faile, esančiame „template / js“ kataloge.

Pagrindinis @City scenarijus„@ City.js“ yra viršutiniame kataloge. Čia nėra jokios modifikavimo galimybės vietą, tačiau scenarijų galima nukopijuoti "templates / js" kataloge ir ten modifikuotas. Norint naudoti atskirą scenarijų, reikia atnaujinti visus antraštės failus.

11. Algoritmų atnaujinimas


Kai kuriems unikaliems jutikliams gali prireikti specialių skaičiavimo funkcijų.

Nėra galimybės atnaujinti ir išlaikyti kelių versijų @City Server programinė įranga, Priekinė PHP sąsaja, kuris sukeltų daug klausimų, versijų, klaidų.

Geriausias ir lengviausias būdas tai pasiekti yra atnaujinti „perdangos“ failus, kad būtų tinkamai rodoma vertė / aprašas.

Originalūs JS scenarijai yra atviras teksto failas ir gali būti pritaikyti pagal klientų poreikius. Kaip nurodyta ankstesniame skyriuje, juos reikia nukopijuoti "templates / js" katalogas, kuriame klientas turi prieigos teises modifikuoti.


Techninis programavimo aspektas @City sistema nėra šio dokumento tema, tačiau žiniatinklio kūrėjas, turintis pagrindinių HTML ir JS žinių, gali pritaikyti „Front-end“ žiniatinklio programą pagal individualius klientų poreikius.


12. Duomenų bazės struktūra


@City duomenų bazė su pavadinimu „DI“ arba „* IoT“ yra padalintas į lenteles (kur asteriksas yra priešdėlis, atsižvelgiant į prieglobos serverį - jei reikia). „DataBase“ gali būti stebima PHPAdmin (žiniatinklio programoje), naudojant nuorodą http: //% IP% / phpmyadmin




Kiekvienam įrenginiui nustatytos lentelės (kur * {asterix} yra IMEI adresas - unikalus ID):

Kitos lentelės:



12.1. Lentelių „ithings_“ ir „*“ struktūra

12.2. Įrenginio komandų (įvykių) eilė „* _c“ lentelė - struktūra


Ši lentelė yra kiekvieno įrenginio įvykių / komandų eilė ir jos struktūra:



12.3. Prieiga prie duomenų bazių rezultatų - vidutinio lygio (duomenų skaitymas)


Duomenis galima pasiekti be „Front-end“ žiniatinklio programos. @City sistemoje yra scenarijus su vidutinio lygio funkcijomis. Rezultatai pateikiami JSON formatu.


12.3.1. Gaukite dabartinę visų įrenginių būsenas

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


Užklausa grąžinama visa "_ithings" lentelė (dabartinės visų įrenginių būsenos) JSON formatu:

[{ "Šalis":"", "miestas":"", "žemyną":"", "Šalis":"", "regione":"", "paregionis":"", "paregionis":"", "miestas":"", "rajonas":"", "gatvėje":"", "gatvė_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", „tm“:"2019-02-10 12:56:23", „kūryba“:"2019-02-09 18:12:38", „paskutinis“:"0000-00-00 00:00:00", „įvykiai“:"", "Vartotojas":"", "praeiti":"", „imei“:"351580051067110", "sn":"", "statusas":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c200000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c02560040030", "hash_code":"", "adresas":"", "fwnr":"", "neįgalus":"", "gsm_nr":"", "pardavėjas":"", "laiko zona":"", "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“:"", „įvykiai“:"", „out1“:"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "6.":"0", "7":"0", "8":"0", "9":"0", "out10":"1", "out11":"0", "out12":"0", "out13":"0", "14":"0", "out15":"0", „out16“:"0", „in1“:"0", "2":"0", "3":"0", "in4":"0", "5":"0", "6":"0", "7":"0", "8":"0", "9":"0", "10":"0", "11":"0", "12":"0", "13":"0", "14":"0", "15":"0", „in16“:"0", „ain1“:"3894", "ain2":"51", "ain3":"616", "ain4":"36", "a5":"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", "7":"255", „dimm8“:"255", „int1“:"-16776767", "int2":"450", "int3":"", "int4":"", "int5":"", „int6“:"0", „text1“:"", "tekstas2":"", "tekstas3":"", "tekstas4":"", "tekstas5":"", „text6“:"" }]

12.3.2. Gaukite įrenginio istorinius duomenis

IMEI užklausa apie vieno įrenginio istorinius duomenis:

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


Kadangi visoje lentelėje gali būti milijonai eilučių, ji turėtų būti apribota WHERE sąlyga, kad nebūtų pakabintas serveris.

Papildomi parametrų URL parametrai:

func - imeijsonas

imei - prietaiso IMEI

srityje - laukai, kurie bus rodomi rezultatuose (koma atskirtas sąrašas)

min - minimali pirmojo sąrašo lauko vertė

maks - didžiausia pirmojo sąrašo lauko vertė

sarbat - laukas rūšiuoti

tm - laukas automatiškai pridedamas prie rezultatų.

where - kur ribotų duomenų išlyga


Pavyzdys:

Mes norime gauti tokį rezultatą

įrenginiui su imei=356345080018095

rodyti laukus: ain5, ain6, gps_lat, gps_long

ir apriboti a5 diapazone ( 1, 10000 ) - turi būti pirmasis laukas sąraše

ir GPS turėti galiojančius duomenis (gps_fix = 3)

ir data / laikas (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Sukurta URL eilutė:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& laukas =a5, ain6, gps_lat, gps_long& min =1& max =1000& kur =gps_fix = 3 ir tm> "2019-02-14 23:00:19" ir tm <"2019-02-15 00:00:00"


Užklausos rezultatai:

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

12.3.3. Gauti įrenginių sąrašą - vienas laukas iš esamų būsenų su apribojimais

Ši funkcija pateikia ribotus duomenis iš lentelės „_ithings“


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



Parametrai:

func - laukinis

srityje - laukas, kuris bus rodomas rezultatuose - imei ir tm automatiškai pridedami

min - minimali lauko vertė

maks - didžiausia lauko vertė


Ankstesnėje užklausos eilutėje ji grąžinama rezultatai ain5, imei, tm laukai:

jei a5 yra diapazone (13.5000)


Užklausos rezultatai:

[{„imei“:"353080090069142", „tm“:"2019-03-14 11:51:01", "a5":"14" },

{„imei“:"356345080018095", „tm“:"2019-02-20 09:13:04", "a5":"115" },

{„imei“:"karczew", „tm“:"2019-03-07 13:08:22", "a5":"103" }]