@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
@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.
@City IoT platforma skirta sekti „iSys.PL“ produktus
IoT - RF / LoRaWAN (daiktų internetas)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (korinis daiktų internetas)
Bevielis internetas
„Ethernet“
@City (eCity) Debesų platforma yra įvairių dydžių sistema, skirta IP IoT produktams (vadinama kartu kaip @City Hardware arba „CioT“ įrenginiai ):
@City
@ Šviesa
@ Matavimas
@Trace
@AirQ
@Bin
@City IoT platforma palaiko šiuos komunikacijos protokolus:
UDP - siūloma CIoT jutikliams / prietaisams (ypač NBIoT) - mažiausias duomenų panaudojimas
TCPIP - siūloma įrenginiams, turintiems dvikryptį ryšį - rankos paspaudimas / patvirtinimas
HTTP - siūloma tik norint pasiekti duomenis / vizualizuoti / eksportuoti / "nuo debesies iki debesies"
„HTTP Webhooks“ - skirtas „LoRaWAN“ ryšiui tarp „LoRaWAN“ tinklo / programų serverio ir „@City Cloud“.
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.). ).
@City IoT platforma palaiko:
GSM: 2G, 3G, 4G (LTE), CATM1 (LTEM1), NBIoT - įrenginiai (UDP / TCPIP ryšys)
„LoRaWAN“ įrenginiai („HTTP Webhooks“) - per „LoRaWAN“ šliuzą ir „LoRaWAN“ tinklo / programų serverius
Ethernet valdikliai (UDP / TCP ryšys)
„WiFi“ valdikliai (UDP / TCP ryšys)
Ateities IP produktai
Ne IP produktai per papildomą vietinį @ City / eHouse.PRO „Hardware Gateway“
@City IoT Platforma skirta įrenginiams / mazgams:
„Native iSys“ produktai:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT („LoRaWAN“)
„WiFi“ - specialūs produktai „@City“ platformai
„Ethernet“ skirti produktai, skirti „@City“ platformai
Bendros gamybos produktai (pagaminti trečiųjų šalių pagal „iSys“ licenciją ir išorinį prekės ženklą)
Franšizės produktai (pagaminti trečiųjų šalių pagal „iSys“ licenciją su „iSys“ logotipais)
„@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):
privati / vieša prieiga
bendras prietaisų skaičius
prietaisų būsenos dažnio atnaujinimas
duomenų atnaujinimo dažnis
Yra keli VPS variantai, priklausomai nuo:
Kaina
duomenų centro geografinė lokalizacija
Virtualiojo procesoriaus šerdys (1–8)
Virtuali RAM (1–32 GB)
SSD diskas (20GB-1TB)
Yra dešimtys dedikuoto serverio, priklausomai nuo:
Kaina
duomenų centro geografinė lokalizacija
Procesoriaus šerdys (4 .. 32)
RAM (16 .. 512 GB)
SSD / HDD (256 GB .. 8 TB)
@City IoT platforma skirta vienam klientui:
vietos valdžia ir valdžios institucijos (miestas, bendruomenė, šalis)
B2B (trečiosios šalies savininkui)
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.
„@City Server“ ryšys realizuojamas remiantis žemo lygio programa, siekiant maksimalaus našumo.
Pagrindinės „@City Server“ programos savybės yra šios:
asinchroniškai gauti duomenis iš įrenginių (per protokolus: UDP, TCP IP, HTTP)
sumažinti duomenų naudojimą ir jų išlaidas tarp įrenginių ir „Cloud“ (naudojant žemo lygio ryšio protokolus UDP, TCP IP)
gauti šifruotą įrenginių būseną (per bet kokias komunikacijos priemones)
leidimas ir duomenų iš įrenginių patvirtinimas iššifruojant jų būsenas
iššifruoti įrenginių būseną ir tiesiogiai ją atnaujinti į „MariaDB / MySQL“ lenteles (neapdorotų duomenų formatu)
dabartinė duomenų lentelė (pateikiama tik naujausia kiekvieno įrenginio būsena)
istorinių duomenų lentelė (pateikiamos visos vieno įrenginio būsenos)
siųsti laukiančias komandas (įvykius) į įrenginius
užtikrinant rankos paspaudimą, patikrinimą ir patvirtinimus
„@City Server“ programinė įranga kiekvienam vartotojui yra vienoda ir negali būti pritaikyta skirtingiems klientams.
„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.
„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.
Kliento prieigos prie fizinio serverio teisės yra ribotos.
Tik katalogų „šablonai“ prieiga prie failų (vietiniai teksto failai - .txt, .js, .css, .html):
grynų HTML failų pridėjimas, pašalinimas, modifikavimas („Front-End“ GUI / sąsajos kūrimas)
grynų JavaScript failų pridėjimas, pašalinimas, modifikavimas („Front-End“ GUI / sąsajos kūrimas ir algoritmai)
grynų CSS failų pridėjimas, pašalinimas, modifikavimas („Front-End“ - pasirinktiniai rodiniai / temos)
šablonų tekstinių failų pridėjimas, pašalinimas, modifikavimas („Front-End“ GUI)
skirtukų, nuorodų, nuorodų į duomenų rezultatus pridėjimas, pašalinimas, modifikavimas
Kitos prieigos teisės:
Visateisė prieiga prie „@City Cloud“ duomenų bazės „MySQL / MariaDB“, kurioje saugomi visi įrenginių duomenys
Klientui yra apibrėžta prieiga prie žiniatinklio paslaugų (prisijungimo duomenys).
Klientui neleidžiama perduoti įgaliojimų trečiosioms šalims (daugkartinė prieiga prie rezultatų gali turėti įtakos visos sistemos veikimui, stabilumui ir saugumui)
Esant ypatingoms aplinkybėms ir naudojant didelio našumo dedikuotą serverį, gali būti sukurta viešoji paskyra, kad būtų galima stebėti naujausius duomenis (ne istorinius).
Vartotojas gali nukopijuoti duomenis į savo „MySQL“ serverį ir atlikti savo duomenų analizę bei apdorojimą, kad nepakenktų „@City Server“ veikimui.
„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.
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".
„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
„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.
Yra keletas verslo ir bendradarbiavimo variantų:
gatavų produktų importas / eksportas (skirstomieji skydai, prietaisai) - galutiniai produktai
importuoti / eksportuoti OEM produktus (PCB, valdiklius ir kt.) - tarpinius produktus, atsargines dalis
franšizė - gamyba pagal licenciją vietinėms rinkoms (tiekiame tik užprogramuotus mikrovaldiklius) pagal „iSys“ - „Intelligent Systems Brands“
Bendra gamyba - (kaip aukščiau), bet pagal išorinius prekių ženklus
„@City“ platforma palaiko pritaikomą „Front-End“ šabloną duomenų vizualizavimui, užklausoms, ribojimui ir apdorojimui (dabartiniai / istorijos duomenys):
vizualizuoti pasirinktus duomenis žemėlapyje (geografinė lokalizacija)
rodo pasirinktus duomenis ir rezultatus lentelėse
rodo pasirinktus duomenis juostų diagramose
rodo pasirinktus duomenis istorinėse diagramose
eksportuoti duomenis į trečiųjų šalių programas ir tolesnį apdorojimą
kitos funkcijos bus atnaujintos pagal atskiras užklausas.
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.
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
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ę)
Keisti vizualizacijos temą CSS failas turi būti "šablonai / css /" katalogas - pateikiamas automatiškai.
Pasirinkite pagrindinius lentelėje matomus laukus. Tai yra atnaujinta automatiškai.
Panaikinti visų laukų pasirinkimą (reikia sekti kai kuriuos iš jų pasirinkus rankiniu būdu)
Pasirinkite visus laukus (turi būti laikomasi, kai kuriuos iš jų pažymėjus rankiniu būdu)
Tai atitinka visus (X) žymės langelius
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).
Rodomi visi lauko filtro ribojami laukai.
Laukai lentelėje:
ž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).
Skirtuko su nustatytu pavadinimu pridėjimas / pašalinimas Tab srityje. Naudojami tik toje pačioje lentelės eilutėje pasirinkti laukai.
Paspaudus bet kurį kitą lauko pavadinimą bus inicijuojamas pasirinktos eilutės pasirinkto lauko duomenų vizualizavimas.
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).
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į.
Įveskite vardą "Turto stebėjimas" į Tab laukas (be kabučių)
Įsitikinkite, kad visi stulpeliai nepažymėti eilutėje
pasirinkite tm, gps_speed_km tik iš eilės
paspauskite + mygtuką, kur eilutėje
Žemėlapius galima paleisti iš „MainForm“ su išankstine konfigūracija
Žemėlapio inicijavimas atliekamas rankiniu būdu, kai atliekamas tiesiogiai su nuoroda: > http: //%IP%/IoT/maps.php
Vartotojas turėtų panaikinti visų laukų pasirinkimą (paspauskite Panaikinkite pasirinkimą Mygtukas)
Paspauskite kai kuriuos žymimųjų langelių laukelius (pvz., Ain5 (smogo lygiui) ir tm (matavimo datai / laikui)
paspauskite „V“ žymimasis laukelis paslėpti laukų formą
paspauskite Vykdyti mygtukas paleisti DB užklausą ir rodyti dabartinę informaciją iš visų jutiklių / įrenginių
Žemėlapis su duomenimis atnaujinamas po 30 ar daugiau sekundžių.
Nustatymai, aprašyti iš kairės į dešinę (viršuje esančioje ekrano kopijoje).
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.
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).
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.
Nustatykite žemėlapio vidurio padėtį. Šis laukas nustatomas į žymeklio padėtį, kai žemėlapyje paspaudžiamas pelės mygtukas.
Ž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.
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.
gps_speed_km> 10 // greitis yra didesnis nei 10 km / h
ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)
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)
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ą.
Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad rezultatai būtų rodomi žemėlapyje.
Šis žymimasis laukelis naudojamas rodyti / slėpti rodomų laukų parinkiklį.
Šis žymimasis laukelis leidžia slėpti visą formą, išskyrus ( +/- mygtukai)
Žemėlapio rezultatai nuolat atnaujinami ir atnaujinami naujomis reikšmėmis
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
Rodyti rezultatus lentelėje.
Įjungta "Pagrindinė forma" paspauskite "stalo" elementą, pasirinkę keletą laukų, kuriuose bus rodoma iš anksto sukonfigūruota lentelė
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.
Paspauskite visus būtinus rodomų laukelių žymimuosius laukelius
Paspauskite žymimąjį laukelį "Matomi laukai" paslėpti laukų formą
Norėdami paleisti DB užklausą ir rodyti lentelę, paspauskite mygtuką Vykdyti
Nustatymai aprašomi iš kairės į dešinę (ekrano kopijoje).
Rūšiuoti laukas atitinka stulpelio antraštės paspaudimą.
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.
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.
gps_speed_km> 10 // greitis yra didesnis nei 10 km / h
ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)
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)
Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad rezultatai būtų rodomi žemėlapyje.
Paspaudus šį mygtuką reikia pakeisti bet kokius nustatymus, parametrus (išskyrus paspaudimą +/- mygtukai).
Lentelė nuo pat pradžių yra įkraunama su naujais išankstiniais nustatymais.
Š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.
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į.
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.
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.
Paspauskite visus būtinus rodomų laukelių žymimuosius laukelius
Paspauskite žymimąjį laukelį "Matomi laukai" paslėpti laukų formą
Norėdami paleisti DB užklausą ir parodyti lentelę, paspauskite mygtuką Vykdyti
Elementai, aprašyti iš viršaus ir iš kairės į dešinę (ekrano kopijoje).
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.
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.
gps_speed_km> 10 // greitis yra didesnis nei 10 km / h
ain5> 3 // ain5 yra didesnis nei 3 (sulaikant 2,5 um dalelių skaičių - smogo lygis)
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)
Paspaudus šį mygtuką, bent vienas laukas turi būti pasirinktas rankiniu būdu, kad būtų rodomi istoriniai rezultatai.
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.
Šis žymimasis laukelis naudojamas rodyti / slėpti rodomų laukų parinkiklį.
Pelės žymeklis rodo matavimų vertes ir datą / laiką.
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.
Tinklalapiai yra pagrįsti bendru šablono failu, esančiu „šablonai“ katalogas "* .template".
Be to, kiekviename puslapio tipe yra:
"* .head" failas, kuriame saugoma puslapio antraštė (nuorodos, importuotas CSS, JavaScript failai ir kt. )
"* .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.
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.
@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):
"* _t" - dabartinio vartotojo autorizacijos žetonai (nenaudojami vieno kliento debesims)
"* _c" - komandų (įvykių) eilė - išsiųsti į įrenginį
„*“ - visi iššifruoti būsenos rezultatai.
Kitos lentelės:
„išankstiniai_“ lentelė - pateikiama dekoduota dabartinė visų įrenginių būsena (ji nukopijuojama atnaujinant bet kurį iš „*“ lentelės). JK struktūra devynias_ lentelė yra beveik tokia pati kaip „*“ stalai. „išankstiniai_“ turi papildomus laukus Pašto adresas ir aprašai.
„Vartotojų“ lentelė yra ribota ir turėtų būti modifikuota.
„idx“ - indeksas
„tm“ - automatinė laiko žyma
„dt“ unix laiko žymė
„imei“ - unikalus įrenginio adresas
„rssi“ - RSSI signalo lygis
„rsrp“ - RSRP signalas
„įvykiai“ - laukimo įvykiai bus siunčiami valdikliui
„out1“ .. „out16“ - iššifruotų išėjimų būsena
„in1“ .. „in16“ - iššifruotų įėjimų būsena
„ain1“ .. „ain8“ - iššifruotos ADC vertės (RAW)
„sens1“ .. „sens8“ - konvertuotos jutiklio vertės (priklauso nuo įrenginio tipo)
„dimm1“ .. „dimm8“ - iššifruotų reguliatorių vertės (priklauso nuo įrenginio tipo)
„int1“ .. „int6“ - iššifruotų skaitiklių vertės (priklauso nuo įrenginio tipo)
„text1“ .. „text6“ - iššifruotos teksto vertės (priklauso nuo įrenginio tipo)
„kūryba“ - prietaiso sukūrimo data / laikas
„paskutinis“ - paskutinė data / laikas
„vartotojas“ - naudojimas ateityje
„leidimas“ - naudojimas ateityje
"sn" - GSM serijos Nr
"statusas" - dabartinė valdiklio būsena nėra dekoduojama šešioliktainiu formatu
"hash_code" - naudojimas ateityje
„addr“ - trumpas įrenginio adresas
"fwnr" - programinės aparatinės įrangos Nr
„išjungtas“ - išjungtas įrenginys (neatliktas)
"gsm_nr" - CIoT gsm numeris
„pardavėjas“ - pardavėjo kodas (franšizei / bendrai gamybai)
„laiko juosta“ - laiko juostos poslinkis
„dst“ - naudokite Dienos taupymo nustatymus
"gps_lat" - GPS platuma
"gps_long" - GPS ilguma
"gps_hdop" - GPS HDOP
„gps_alt“ - GPS aukštis
"gps_fix" - GPS fiksavimas (turi būti 3 - norint gauti tinkamus rezultatus)
"gps_cog" - GPS ratukas
„gps_speed_km“ - GPS greitis [km / h]
„gps_sat“ - rasti GPS palydovai
„žemynas“, „šalis“, „regionas“, „paregionis“, „paregionis“, „miestas“, „rajonas“, „gatvė“, „gatvės_nr“, „prekė_nr“ - Kliento adresas ir aprašo laukai (!!!! Nėra „*“ istorinės lentelės)
„žurnalas“ - žurnalo duomenys
Laukų pavadinimai yra svarbūs kuriant SQL užklausas siekiant padidinti paieškos funkcionalumą, nes SQL sakinyje turi būti naudojamas originalus pavadinimas.
Ši lentelė yra kiekvieno įrenginio įvykių / komandų eilė ir jos struktūra:
"komanda" - komanda, kurią reikia siųsti arba jau išsiųsti valdikliui
"patvirtinta" - patvirtinimo vėliava, jei ji jau buvo išsiųsta ir patvirtinta
„data“ - unix įvykio laiko žyma
"atnaujinta" - automatinio atnaujinimo žyma (laiko žymos data / laikas)
Duomenis galima pasiekti be „Front-end“ žiniatinklio programos. @City sistemoje yra scenarijus su vidutinio lygio funkcijomis. Rezultatai pateikiami JSON formatu.
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“:"" }]
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" }]
Š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" }]