@City IoT Wolkplatform
iSys - Intelligente stelsels IoT Oplossings
IoE.Sistels
INHOUDSOPGAWE
1. Inleiding. 5
1.1 Ondersteunde tipes toestelle. 5
1.2. Ondersteunde tipes produkte. 5
1.3. Ondersteunde kommunikasieprotokolle 5
1.4. Ondersteunde kommunikasietegnologie van die toestelle 6
1.5. @City Cloud Server 6
1.5.1. Bedienings- en kommunikasiepoorte 7
1.5.2 HTTP LoRaWAN-integrasie 7
1.5.3. Front-end koppelvlak 8
1.5.3. Toegangsregte vir bediener 8
1.6. Slim toestelle 9
1.6.1. CIoT - GSM-toestelle 9
1.6.3. BAS, BMS, IoT - Ethernet- en WiFi-toestelle 9
1.6.2. IoT -LoRaWAN toestelle 9
1.7. Besigheid tot besigheid (B2B) opsies 9
2. @City IoT Platformfunksionaliteit 10
3. Hoofblad 11
4. Hoofvorm 11
4.1. Kopstuk 12
4.1.1. Tuisskakel - (open die werklike resultate-tabel) 12
4.1.2. 'X' regmerkie - open / sluit navraagvorm 12
4.1.3. "V" regmerkie - open / sluit Veldvorm 12 in
4.1.4. Grafiese ikone - skakels na visualiseringsresultate (wysigbaar) 12
4.2. Vorm: 12
4.2.1. 'X' regmerkie - maak die hele navraagvorm 12 oop / toe
4.2.2. CSS - Kies Visualiseringstema 12
4.2.3 Merkblokkie sigbare velde - toon / verberg veldfilterlys 12
4.2.4. Tab: Tab Naam om 12 by te voeg of te verwyder
4.2.5. Knoppies byvoeg / verwyder - Voeg tabs met die naam in Tabblad veld 12 by of verwyder dit
4.2.6. Kies kernknoppie 12
4.2.7. Ontkies alle knoppie 12
4.2.7. Kies Alles-knoppie 12
4.2.8. Versteek filter - verberg hele vorm 12
4.2.9. Uitvoerknop - Verander parametersinstellings 13
4.2.10. "V" regmerkie - vertoon / hoë filter velde. 13
4.3. Tabs 13
4.4. Inhoudsopgawe 13
4.4.1. Resultaat tipe 13 van Run-views
4.4.2. Kopie (+/- skakels) 13
4.4.3. Tafelselskakels 13
4.5. Gegevensbestel 13
4.6. Voorbeeld 13
5. Kaarte 15
5.1. Initialisasie van kaart 15
5.2. Opsionele instellings vir navraag 15
5.2.1. Verander MAP-skaal (zoomvlak) 16
5.2.2. IMEI (Kies toestelveld) 16
5.2.3. Lon, Lat (koördinaatvelde vir lengtegraad, breedtegraad) 16
5.2.4. Verander MAP-styl (tema) 16
5.2.5. WAAR Klousule 16
5.2.6. Voer uit (Run Query Button) 16
5.2.7. Deselekteer alles (verwyder alle velde uit die navraag) 17
5.2.8. "V" regmerkie (Veldvorm oop / sluit) 17
5.2.9. 'X' regmerkie (wys / verberg navraagvorm) 17
5.3. Voorbeeld 17
6. Toon resultate in tabel 18
6.1. Inisialisering van tabel 18
6.2. Opsionele instellings vir navraag 19
6.2.1. Sorteer - sorteer veld en volg op / af 19
6.2.2. DB / IMEI - Kies Toestel 19
6.2.3. CSS - kies styl (Visualiseringstema) 20
6.2.4. Sigbare velde - wys / verberg velde vorm 20
6.2.5. Verwyder leeg - moenie leë kolomme 20 vertoon nie
6.2.6. 'X' regmerkie (wys / verberg navraagvorm) 20
6.2.7. Waar klousule (vir databeperking) 20
6.2.8. Kies kernknop (Skakel die mees algemene velde in) 20
6.2.9. Ontkies alle knoppie (verwyder alle velde uit die navraag) 20
6.2.10. Voer uit (Run Query Button) 20
6.2.11. "V" regmerkie (oop / sluit veldvorm) 20
7. Staafgrafieke. 21
8. Historiese kaarte. 22
8.1. Inisialisering van historiese kaarte 22
8.2. Opsionele instellings van historiese grafieke 23
8.2.1. IMEI - (Kies toestel om historiese data te vertoon) 23
8.2.2. Min - beperk minimale waarde van eerste veld 23
8.2.3. Maks - maksimum maksimum waarde van eerste veld 23
8.2.4. "V" - Toon / verberg velde vorm 23
8.2.5. Van: stel minimale datum / tyd in (*) 23
8.2.6. Aan: stel die datum / tyd van die maksimum datum in (*) 23
8.2.7. 'X' regmerkie (wys / verberg navraagvorm) 23
8.2.8. "Waar" Klousule 23
8.2.9. Ontkies alle knoppie (verwyder alle velde uit die navraag) 23
8.2.10. Voer uit (Run Query Button) 23
8.2.11. "V" regmerkie (Veldvorm oop / sluit) 24
8.3. Staafvariant: (vertoon slegs beskikbare data) 24
8.4. Deurlopende variant (met dieselfde data): 24
9. Verenigbaarheid van die webblaaier 25
10. Aanpassing van temas 26
11. Opdatering van algoritmes 27
12. Databasisstruktuur 28
12.1. struktuur "ithings_" en "*" tabelle 29
12.2. Toestelopdragte (gebeure) tou "* _c" tabel - struktuur 30
12.3. Toegang tot resultate vanaf databasisse - middelvlak (leesdata) 30
12.3.1. Kry huidige status van alle toestelle 30
12.3.2. Kry historiese data vir die toestel 31
12.3.3. Kry 'n lys toestelle - enkele veld vanaf huidige status met beperking 32
@City IoT Cloud Platform word toegewy "mikro-wolk" stelsel vir individuele klante. Platform kan nie gedeel word nie en slegs een klant het toegang tot 'n fisiese of virtuele bediener (VPS of toegewyde bedieners). Die kliënt kan een van die tientalle datasentrums in Europa of in die wêreld kies.
@City IoT platform is toegewyd aan die volgende iSys.PL produkte
IoT - RF / LoRaWAN (internet van dinge)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (selfoon van dinge)
WiFi
Ethernet
@City (eCity) Cloud IoT Platform is verskillende grootte stelsels vir IP IoT produkte (saam genoem as @City Hardeware of CioT-toestelle ):
@Stad
@ Lig
@Metering
@ Spoor
@AirQ
@Bin
@City IoT platform ondersteun die volgende protokolle vir kommunikasie:
UDP - voorgestel vir CIoT-sensors / toestelle (veral NBIoT) - die laagste gebruik van data
TCPIP - voorgestel vir toestelle met tweerigtingkommunikasie - handdruk / bevestiging
HTTP - slegs voorgestel vir toegang tot data / visualisering / uitvoer / "wolk na wolk"
HTTP Webhooks - vir LoRaWAN-kommunikasie tussen LoRaWAN Network / Application Server en @City Cloud.
Data wat van die beheerder na die wolkbediener gestuur word en omgekeerd word in unieke binêre formaat geïnkripteer vir die laagste datagrootte en verhoogde sekuriteit. Elke maat kry sy eie unieke enkripsiesleutel vir toestemmings van toestelle, datageldigheidskontrole, ens.
Vir nie-eHouse / eCity-toestelle kan ons individuele koderingsalgoritmes verskaf ( "C" bronkode) vir elke maat vir die mikroprosessor om data te beskerm voor kommunikasie.
In hierdie geval is data heeltemal veilig tydens tweerigtingkommunikasie oor die openbare kommunikasiemedia (internet, lug, ens.) ).
@City IoT platform ondersteun:
GSM: 2G, 3G, 4G (LTE), CATM1 (LTEM1), NBIoT - toestelle (UDP / TCPIP-kommunikasie)
LoRaWAN-toestelle (HTTP Webhooks) - via LoRaWAN-gateway en LoRaWAN-netwerk- / toepassingsbedieners
Ethernet-beheerders (UDP / TCP-kommunikasie)
WiFi-beheerders (UDP / TCP-kommunikasie)
Toekomstige IP-produkte
Nie IP-produkte via bykomende plaaslike @ City / eHouse.PRO Hardeware-gateway
@City IoT Platform is toegewy aan toestelle / nodusse:
Native iSys-produkte:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi - toegewyde produkte vir @City Platform
Ethernet - toegewyde produkte vir @City Platform
Sameproduksieprodukte (vervaardig deur derde partye onder iSys-lisensie en eksterne handelsmerk)
Franchise-produkte (vervaardig deur derdes onder iSys-lisensie met iSys-logo's)
@City-sagteware werk op Linux-gebaseerde VPS (Virtual Private Server) of toegewyde bediener aan die internet, afhangende van die prestasie van die Bediener (later genoem Server):
privaat / openbare toegang
algehele toestelle tel
opdatering van toestelle se statusfrekwensie
data-opdateringsnelheid
Verskeie variante van VPS bestaan afhangend van:
Prys
data-sentrum geo-lokalisering
Virtuele verwerkerkerne (1-8)
Virtuele RAM (1-32 GB)
SSD-skyf (20 GB-1 TB)
Tientalle toegewyde bedieners bestaan afhangend van:
Prys
data-sentrum geo-lokalisering
Verwerkerskern (4 .. 32)
RAM (16 .. 512GB)
SSD / HDD (256 GB .. 8 TB)
Die @City IoT platform is toegewy aan enkele klante:
plaaslike regerings en owerhede (stad, gemeenskap, land)
B2B (vir derdeparty-eienaar)
Omdat dit nie bedien kan word tussen bedieners tussen klante nie, vereenvoudig dit sekuriteitstoegang en prestasieprobleme. Om hierdie rede is slegs die kliënt verantwoordelik vir effektiewe sekuriteit, stabiliteit, doeltreffendheid, data-deurset, ens. In geval van onvoldoende prestasie, kan die kliënt 'n hoër plan (VPS of 'n toegewyde bediener) koop, wat beter is as die verwagte funksionaliteit en prestasie.
In spesiale gevalle "Cloud to cloud" kommunikasie kan geïmplementeer word vir globalisering en sentralisering van data na groter gebiede in plaas van multiklantwolk.
Kommunikasie van @City Server word gerealiseer op grond van lae toepassing vir prestasie-maksimalisering.
Belangrikste kenmerke van die @City Server-toepassing is:
ontvang data asinkronies vanaf toestelle (via protokolle: UDP, TCP IP, HTTP)
die benutting van data en die koste daarvan tussen toestelle en Cloud tot die minimum beperk (deur die gebruik van lae vlak kommunikasieprotokolle UDP, TCP IP)
kry geïnkripteerde status van toestelle (via enige kommunikasiemedia)
magtiging en validering van data vanaf toestelle deur hul status te dekripteer
dekodeer toestelle se status en dit direk in MariaDB / MySQL-tabelle op te dateer (in rou data-formaat)
huidige datatabel (bevat slegs die nuutste status van elke toestel)
historiese datatabel (bevat alle statusse vir enkele toestel)
stuur hangende opdragte (gebeure) na toestelle
versekering en bevestiging van handdruk
@City Server-sagteware is dieselfde vir elke gebruiker en kan nie vir verskillende klante aangepas word nie.
LoRaWAN-beheerders is geïntegreer in die @City-wolk via die HTTP-koppelvlak (webhooks) wat beskikbaar is op die LoRaWAN-netwerk / toepassingsbediener.
Verskeie tipes netwerk- / toepassingsbediener word ondersteun:
TTN (beperkte tyd "Op die lug" en die maksimum aantal opdragte wat na die bestuurder gestuur word en nie die opgradering van firmware ondersteun nie)
LoraWAN-Stack (vereis hosting op 'n fisiese toestel met internettoegang).
LoraServer.Io (vereis hosting op 'n fisiese toestel met internettoegang - stuur slegs data na die bediener en ondersteun nie firmware-opgradering nie)
Die @City Cloud for LoRaWAN-beheerders is op dieselfde manier verdeel as vir ander koppelvlakke. Dit word in die vorige hoofstuk bespreek.
Front-end-koppelvlak word gerealiseer met PHP-skrifte om aangepaste data uit @City Cloud-databasis te onttrek. Dit gebruik 'n baie elastiese soekmeganisme, gebaseer op oorspronklike SQL-navrae om die gewenste data te beperk. Interface verskaf navraagresultate in JSON-formaat vir verdere dekodering en verwerking deur JavaScript Front-end Web "toepassing".
Die oorspronklike voorkant-koppelvlak is dieselfde vir elke gebruiker en kan nie vir verskillende klante aangepas word nie.
Oorleg-koppelvlak kan deur ons personeel geskep word of in samewerking om aanpassing vir die kliënt te verseker.
Kliënttoegangsregte (tot fisiese bediener) is beperk.
Lêertoegang slegs vir die "templates" -gids (oorspronklike tekslêers - .txt, .js, .css, .html):
suiwer HTML-lêers byvoeg, verwyder, wysig (Front-End GUI / Interface Development)
suiwer JavaScript-lêers byvoeg, verwyder, wysig (Front-End GUI / Interface Development and Algorithms)
suiwer CSS-lêers byvoeg, verwyder, wysig (Front-End - Custom views / Temas)
tekslêers van sjablone byvoeg, verwyder, wysig (Front-End GUI)
oortjies, kortpaaie, skakels na data-resultate by te voeg, te verwyder, te verander
Ander toegangsregte:
Volledige toegang tot @City Cloud Database MySQL / MariaDB waar alle toesteldata gestoor word
Toegang tot webdienste word vir die kliënt (geloofsbriewe) gedefinieer.
Klante mag nie geloofsbriewe aan derde partye deurgee nie (veelvuldige toegang tot resultate kan die prestasie, stabiliteit en veiligheid van die totale stelsel beïnvloed)
Onder spesiale omstandighede en die gebruik van hoëprestasie-toegewyde bediener, kan 'n publieke rekening ingestel word om die meeste huidige data (nie histories nie) op te let.
Gebruikers mag data na sy eie MySQL-bediener dupliseer en hul eie data ontleed en verwerk, om nie die prestasie van @City Server te beïnvloed nie
iSys - personeel van Intelligent Systems - het onbeperkte toegang tot die hele bediener, insluitend root-rekening en volledige DB-toegang vir onderhoud.
Onder sekere omstandighede kan iSys addisionele beperkte regte aan klante verleen (PHP-skrifte, lêers) nadat die bronkode nagegaan is, en toetse uitgevoer is, as dit nie die algemene stelselsekuriteit, -stabiliteit en -prestasie beïnvloed nie.
Ons toestelle bevat mikrobeheerder en GSM / GPS / GNSS module (2G..4G, NBIoT, CATM1) vir kommunikasie. Microcontroller bevat geïnkripteerde selflaaiprogram vir veilige OTA-firmware-opgradering. Hierdeur kan u baie stelselvariante skep wat op dieselfde gebaseer is "CIoT Slim toestel".
Ethernet- en WiFi-beheerders laat IP-gebaseerde kommunikasie met die stelsel toe (sonder om data oor te dra na die GSM-operateur). Hierdie toestelle het ook 'n geënkripteerde selflaaiprogram en toestelle kan opgedateer word via die oorspronklike koppelvlak. Vir WiFi het dit die OTA-firmware-opgradering vanaf die hoofbediener
LoRaWAN maak data-oordrag oor baie lang afstande moontlik (tot ongeveer 15km). Hierdie omvang hang af van die snelheid van data-oordrag, die hoeveelheid data, verstedeliking van die gebied en die doeltreffendheid van die radiopaaie van die toestelle.
Ons toestelle bevat 'n mikrobeheerder en LoRaWAN-module vir kommunikasie. Die mikrobeheerder bevat 'n geënkripteerde selflaaiprogram vir veilige opdatering van die OTA-sagteware. Dit stel u in staat om meerdere stelselvariante op dieselfde te skep "IoT smart device". Die toestelle werk in die oop ISM-band sonder bykomende intekengeld. Dit is nodig om LoRaWAN Gateways te gebruik om die hele gebied met toegang tot die internet te dek. In die geval van bestaande LoRaWAN-hekke binne die reeks toestelle (ingestel vir TTN-bediener), is dit moontlik om inligting deur hulle te stuur. Firmware-opgradering vereis 'n eie netwerk / toepassing LoRaWAN-bediener en 'n goeie omvang vir kommunikasie.
Daar is verskillende opsies vir besigheid en samewerking:
invoer / uitvoer gereed produkte (skakelborde, toestelle) - finale produkte
invoer / uitvoer van OEM-produkte (PCB's, beheerders, ens.) - tussenprodukte, onderdele
franchise - produksie gebaseer op ons lisensie vir plaaslike markte (ons lewer slegs geprogrammeerde mikrobeheerders) onder iSys - Intelligent Systems Brands
Sameproduksie - (soos hierbo), maar onder eksterne handelsmerke
@City-platform ondersteun aanpasbare front-end-sjabloon vir data-visualisering, navraag, beperking en verwerking (huidige / geskiedenisdata):
geselekteerde data op die kaart visualiseer (geo-lokalisering)
toon geselekteerde data en resultate in die tabelle
toon geselekteerde data in staafgrafieke
toon geselekteerde data in historiese kaarte
data uit te voer na aansoeke van derde partye en verdere verwerking
ander funksies sal op individuele versoeke opgedateer word.
Gebruikers se front-end is toeganklik via statiese IP- of DNS-aanstuurdomein / subdomein / lêer, indien beskikbaar.
Voorbeeld- en demonstrasie-installasie (dit is slegs vir voornemende klante geaktiveer).
Laat weet ons as u dit wil toets - om openbare toegang tot die platform moontlik te maak.
Dit kan statiese IP vereis van afgeleë rekenaars om kommunikasie met @City platform moontlik te maak.
Die hoofblad word om veiligheidsredes doelbewus leeg gelaat: http: //% JouIP% / IoT /
Dit kan individueel geaktiveer en geredigeer word en bevat skakels na alle beskikbare dienste van @City IoT Platform as dit verlang word
Hoofvorm is bedoel om nuwe voorinstellings en oortjies te skep: http: //%IP%/IoT/que.php
Dit is die eerste vorm om resultate, aansigte en oortjies vir elke opset te skep
Beskrywings (van bo en links na regs)
Verander die Visualization Theme CSS-lêer moet bestaan in "templates / css /" gids - outomaties gelys.
Kies die hoofvelde wat op die tabel sigbaar is. Dit is opgedateer outomaties.
Ontkies alle velde (moet gevolg word deur sommige daarvan handmatig te kies)
Kies alle velde (moet gevolg word deur sommige van hulle handmatig te deselekteer)
Dit is gelykstaande aan alle (X) -kassie
Individueel gemaakte oortjies met name en voorinstellings (gestoor in cfg / tabs.cfg lêer).
Die lêer bevat eintlik naam en URL (geskei deur tab-teken).
Vertoon alle velde wat deur Veldfilter beperk word.
Velde in die tabel:
kaart- kartering van resultate op die kaart (een of meer veld kan gekies word)
geskiedenis - historiese kaarte (een of meer velde kan gekies word)
tab - vertoon tabel (enige kombinasie van velde kan gekies word)
kroeg - slegs een veld word in die staafgrafiek vertoon
As u een van die waarde daarvan druk, open dit nuwe resultate met geselekteerde velde (vir huidige ry).
Voeg 'n oortjie by / verwyder met die naam in Tab veld. Dit gebruik slegs velde wat in dieselfde ry van die tabel geselekteer is.
As u op enige ander veldnaam druk, begin die data-visualisering van die geselekteerde veld vir die geselekteerde ry.
Die volgorde van vertoonde velde is soos in die vorm van velde (egter tm veld word altyd aan die einde van die teks gestuur). Hierdie bestelling kan slegs verander word met direkte wysiging van URL-parameters (velde besteldeel).
Byvoorbeeld: Tabblad instel met Batesopsporing naam en bevat kaart met tyd en spoed op die kaart
Alle beskrywings verwys na ry waar "Map" teks is in "Hardloop" kolom.
Voer naam in "Batesopsporing" in Tab veld (sonder aanhalingstekens)
Verseker dat alle kolomme nie in die ry gekies is nie
kies tm, gps_speed_km net in die ry
druk + knoppie waar in die ry
Kaarte kan vanaf MainForm geloods word met voorafkonfigurasie
Kaartinitialisering word handmatig uitgevoer wanneer dit direk met die skakel uitgevoer word: > http: //%IP%/IoT/maps.php
Gebruiker moet alle velde deselekteer (druk Ontkies Knoppie)
Druk die een of ander regmerkie vir vertoonde velde (bv. Ain5 (vir Smog-vlak) en tm (vir meetdatum / tyd)
druk "V" regmerkie om velde se vorm te versteek
druk Voer uit knoppie om DB-navraag uit te voer en huidige inligting vanaf alle sensors / toestelle te vertoon
Kaart met data word na 30 sekondes of meer opgedateer.
Instellings beskryf van links na regs (op die kiekie hierbo).
Zoomvlak kan verander word met behulp van (+/-) knoppies vir skaal (onderskeidelik huidige_skaal * 2 of huidige_skaal / 2). Deur op een van hierdie knoppies te druk, verander die skaal outomaties.
'N Ander manier is om Zoomvlak in te kies Zoom Combo Box veld en druk Voer uit knoppie. In hierdie geval word die hele aansig / kaart herlaai en verfris (neem 'n rukkie tydens die inisiëring).
IMEIveld bevat unieke toestel-ID of unieke alias vir 'n toestel. Standaardinstelling is * (sterretjie) wat die nuutste waardes en geolokasie vir elke toestel toon.
As u IMEI op enige ander waarde stel, word historiese data van die geselekteerde toestel vertoon. Dit het net sin vir mobiele en bewegende sensors, anders oorvleuel die resultate op die kaart op dieselfde posisie.
Stel die middelposisie van die kaart in. Hierdie veld is ingestel op die wyserposisie wanneer die muis op die kaart gedruk word.
Kaartstyl / tema kan gekies word uit Map ComboBox-veld (bv. Donker, grys, topografies).
Verskeie kaarttemas kan verskillende maksimum zoomvlakke hê, sodat dit die regte tema kan afdwing om die kaartskaal te verhoog.
Waar klousule gebruik word vir addisionele navraagstringe {WHERE part} vir MySQL / MariaDB.
Hierdie klousule word in aanmerking geneem vir die volledige QUERY-string vir die resultaat van die databasis. Dit kan data, tyd en enige ander waardes beperk deur die aantal resultate te beperk. Oorspronklike tabelveldname (nie alias nie) moet in hierdie veld gebruik word. Bv.
gps_speed_km> 10 // spoed is meer as 10 km / h
ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)
gps_speed_km> 10 en ain6> 5 // spoed is meer as 10 km / h en ain6 is groter as 5 (hou 10um deeltjies op - rookmisvlak)
Om op hierdie knoppie te druk, is nodig om enige instellings, parameters te verander (behalwe om te druk op +/- knoppies).
Kaart word van die begin af gelaai met nuwe voorinstellings.
Kaart word glad nie gelaai as daar geen data beskikbaar is vir die huidige navraag nie.
Nadat u op hierdie knoppie gedruk het, moet minstens een veld handmatig gekies word om die resultate op die kaart te vertoon.
Hierdie regmerkie word gebruik om die selektor van die velde wat vertoon moet word te wys / verberg.
Met hierdie regmerkie kan die hele vorm versteek word, behalwe ( +/- knoppies)
Die resultate op die kaart word deurlopend verfris en opgedateer met nuwe waardes
Bv. Smog-resultate (sensor op die motor geïnstalleer): Smogvlak 2.5um deeltjies (Ain5), snelheid (gps_speed_km), datum / tyd (tm), kaart (2 - topografies), zoomvlak 16,
Waar klousule:
"gps_fix = 3 en tm> "2019-02-18 00:00:00" en tm <"2019-02-19 00:00:00" en gps_speed_km> 0".
// GPS = geldige 3D-uitslae en datum = 18-02-2019 en spoed> 0 km / u
Toon resultate in die tabel.
Aan "Hoofvorm" druk "tafel" item, nadat u sommige velde gekies het om vooraf ingestelde tabel te vertoon
Wanneer die tafel oop is vanaf die skakel http: //%IP%/IoT/que.php? func = tabs dit moet vooraf geïnisialiseer word.
U kan sigbare velde kies (deur op te druk "Sigbare velde" ) regmerkie.
Druk al die vereiste regmerkies vir vertoonde velde
Druk die regmerkie "Sigbare velde" om vorms van velde weg te steek
Druk op die Uitvoer-knoppie om DB-navraag en tabel te vertoon
Instellings word van links na regs (op die kiekie) beskryf.
Sorteerveld is gelykstaande aan die druk van die kolomkop.
IMEIveld bevat unieke toestel-ID of unieke alias vir 'n toestel. Met leë waarde, word die tabel met die mees onlangse waardes getoon.
As u IMEI op enige ander waarde stel, word historiese data van die geselekteerde toestel vertoon.
Dit is byvoegsel vir MySQL / MariaDB addisionele navraagstring {WHERE part}
Hierdie klousule word in ag geneem om 'n volledige QUERY-string vir die resultaat van die databasis te konstrueer. Dit kan data, tyd en enige ander waardes beperk deur die aantal resultate te beperk. Oorspronklike tabelveldname (nie alias nie) moet in hierdie veld gebruik word. Bv.
gps_speed_km> 10 // spoed is meer as 10 km / h
ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)
gps_speed_km> 10 en ain6> 5 // spoed is meer as 10 km / h en ain6 is groter as 5 (hou 10um deeltjies op - rookmisvlak)
Nadat u op hierdie knoppie gedruk het, moet minstens een veld handmatig gekies word om die resultate op die kaart te vertoon.
Om op hierdie knoppie te druk, is nodig om enige instellings, parameters te verander (behalwe om te druk op +/- knoppies).
Tabel word van die begin af herlaai met nuwe presets.
Hierdie regmerkie word gebruik om die selektor van die velde wat vertoon moet word te wys / verberg.
Resultate in die tabel word volgens Sorteer veldinstelling. Sorteervolgorde kan verander word deur die ryopskrif te druk (een keer vir een rigting twee keer vir 'n ander rigting).
Sommige resultate in kolomme skakel na verdere visualisasieskerms (hardgekodeer).
Wanneer u historiese data vir toestelle vertoon, moet dit beperk word om nie die geskiedenisinligting te vertoon nie, want dit kan lei tot prestasie of probleme met geheue.
Staafgrafieke moet vanaf die hoofvorm uitgevoer word deur op een veld in die "Bar" -ry te druk.
Dit vertoon gesorteerde stawe genormaliseer tot maksimum waarde, wat van die hoogste tot die laagste orde getoon word.
Dit is handig om vinnige resultate vinnig na te gaan en aksies te doen.
Muis-oor-geleentheid sal addisionele inligting vir die toestel vertoon.
Historiese kaarte kan vanaf die MainForm begin word wanneer u die geselekteerde kolom in die ry "Geskiedenis" (vir enkele veld) druk.
Vir veelvuldige velde in die ry "Geskiedenis" moet die gewenste velde gekontroleer word en die skakel "Geskiedenis" moet in die kolom "Uitvoer" gedruk word.
Historiese resultate is beperk tot laaste 24 uur + volgende 24 uur (vir uiteindelike verfrissende kaarte), wanneer geen perke opgestel is nie.
Historiese kaarte wanneer dit vanaf die hoofskakel oopgemaak word, vereis dat dit geïnitialiseer moet word as ander resultate, indien dit oop is vanaf die skakel sonder voorkeurenparameters.
Verskeie velde kan gekies word om verskillende items te vertoon. Dit kan ook in die veldfiltervorm gestel word.
Druk al die vereiste regmerkies vir vertoonde velde
Druk die regmerkie "Sigbare velde" om vorms van velde weg te steek
Druk op die Uitvoer-knoppie om DB-navraag uit te voer en die tabel te vertoon
Items beskryf van bo en van links na regs (op die kiekie).
IMEIveld bevat unieke toestel-ID of unieke alias vir 'n toestel. Met die waarde * (asterix) word die tabel met die mees onlangse waardes getoon, wat geen sin het nie.
As u IMEI op enige ander waarde stel, word historiese data van die geselekteerde toestel vertoon.
Klousule vir die beperking van data-resultate MySQL / MariaDB addisionele navraagstring {WHERE part}.
Hierdie klousule word in aanmerking geneem vir die volledige QUERY-string vir die resultaat van die databasis. Dit kan data, tyd en enige ander waardes beperk deur die aantal resultate te beperk. Oorspronklike tabelveldname (nie alias nie) moet in hierdie veld en geldige SQL-sintaksis gebruik word. Bv.
gps_speed_km> 10 // spoed is meer as 10 km / h
ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)
gps_speed_km> 10 en ain6> 5 // spoed is meer as 10 km / h en ain6 is groter as 5 (hou 10um deeltjies op - rookmisvlak)
Nadat u op hierdie knoppie gedruk het, moet ten minste een veld handmatig gekies word om historiese resultate te vertoon.
Om op hierdie knoppie te druk, is nodig om instellings, parameters te verander (behalwe dat die velde of die navraagpaneel vertoon word). Tabel word van die begin af herlaai met nuwe presets.
Hierdie regmerkie word gebruik om die selektor van die velde wat vertoon moet word te wys / verberg.
Muiswyser vertoon waardes van metings en datum / tyd.
Funksie / WWW-blaaier | Chrome 72 | FireFox 65 | Rand | Opera 58 |
Kaarte | + | + | + | + |
Historiese | + | + (*) | + | + |
Kroeë | + | + | + | + |
Tabs | + | + | + | + |
* - Firefox ondersteun nie die datum- / tydkieser nie (die teksveld moet handmatig geredigeer word met die regte datum-formaat).
Internet Explorer word nie ondersteun nie (gebruik Rand in plaas daarvan)
Ander webblaaiers is nie getoets nie.
Webbladsye is gebaseer op algemene sjabloonlêer op "templates" gids "* .template".
Verder bevat elke bladsytipe:
"* .head" lêer wat kop van die bladsy stoor (skakels, ingevoerde CSS, JavaScript lêers, ens. )
"* .foot" lêers wat die voetskrif van die bladsy stoor (skakels, ens.) )
Visualiseringstema kan verander word volgens gebruikersvoorkeure deur CSS-lêers te kopieer en te wysig. CSS lêers is geleë in "templates / css" gids. Verskillende webbladsytemas kan gebruik word om geoptimaliseer te word vir bv. drukwerk, slimfone, PAD's-sjablone.
Table aansigte - kies die seleksieveld vir die keuse van die CSS - lêer vir volledige wysiging van die tema (gestoor in "templates / css / tabs" gids).
Map uitsig - algemene tema word gekies deur "kaart" tik kombinasieboks. Daar is ook 'n standaard CSS-lêer "templates / css / map.css" wat addisionele funksies bevat, soos om die resultate weg te steek / inkleur. Die res van hierdie CSS-lêer is feitlik beperk tot navraag- en veldvorms.
Meeste van @Stadsplatform PHP-lêers vir visualisering aanvaar cssparameter met die waarde van die lêernaam vir die tema (sonder uitbreiding). Lêer moet in die "templates / css" -gids wees en die naam is hooflettergevoelig.
Sommige elemente van die tema-vertoon is direk in die JavaScript-lêer geleë in "sjabloon / js" gids.
Hoof @Stad draaiboek"@ City.js" is in die boonste gids geleë. Daar is geen wysigingsmoontlikheid hierin nie plek, maar die skrif kan egter gekopieër word "templates / js" gids en daar aangepas. Die gebruik van individuele skrif vereis dat alle koplêers opgedateer word.
Sommige unieke sensors benodig toegewyde berekeningsfunksies.
Daar is geen moontlikheid om verskeie variante van op te dateer en in stand te hou nie @City Server sagteware, Front-end PHP-koppelvlak, wat baie probleme, weergawes, foute sou veroorsaak.
Die beste en maklikste manier om dit te bereik, is die opdatering van JavaScript lêers vir die korrekte vertoon van die waarde / beskrywing.
Oorspronklike JS-skrifte is 'n oop tekslêer en kan volgens die behoeftes van die kliënt aanvaar word. Soos in die vorige hoofstuk genoem, moet daar na hulle gekopieër word "templates / js" gids waar die kliënt toegangsregte het vir wysiging.
Tegniese aspek oor programmering van @Stad stelsel is nie die onderwerp van hierdie dokument nie, maar webontwikkelaar met basiese kennis van HTML en JS kan Front-end-webtoepassings aanpas volgens individuele behoeftes van die kliënt.
@City-databasis met 'n naam "IoT" of "* IoT" word in tabelle verdeel (waar asterix die voorvoegsel is, afhangende van die hostingbediener - indien nodig). DataBase kan waargeneem word in PHPAdmin (webtoepassing) by skakel http: //% IP% / phpmyadmin
Tabelle vir elke toestel opgestel (waar * {asterix} is IMEI-adres - unieke ID):
"* _t" - tokens vir magtiging vir huidige gebruikers (word nie gebruik vir wolke vir enkelklante nie)
"* _c" - bevele (gebeure) - om na die toestel te stuur
"*" - alle gedekodeerde statusuitslae.
Ander tabelle:
"ithings_" tabel - bevat die gedekodeerde huidige status van alle toestelle (dit word gekopieer tydens opdatering van een van "*" tafels). Struktuur van ithings_ tafel is amper dieselfde "*" tafels. "ithings_" het addisionele velde vir posadres en beskrywings.
tabel "gebruikers" is beperk en moet gewysig word.
"idx" - indeks
"tm" - outomatiese tydstempel
"dt" - unix-tydstempel
"imei" - unieke toesteladres
"rssi" - RSSI seinvlak
"rsrp" - RSRP sein
"gebeure" - waggebeurtenisse wat aan die beheerder gestuur moet word
"uit1" .. "uit16" - gedekodeerde uitsetstatus
"in1" .. "in16" - gedekodeerde insetstatus
"ain1" .. "ain8" - gedekodeerde ADC-waardes (RAW)
"sens1" .. "sens8" - omgeskakelde sensorwaardes (hang af van die tipe toestel)
"dimm1" .. "dimm8" - gedekodeerde dimmerwaardes (hang af van die tipe toestel)
"int1" .. "int6" - gedekodeerde tellers (hang af van die tipe toestel)
"teks1" .. "teks6" - gedekodeerde tekswaardes (hang af van die tipe toestel)
"skepping" - datum / tyd vir die skepping van toestelle
"laaste" - laaste datum / tyd
"gebruiker" - toekomstige gebruik
"slaag" - toekomstige gebruik
"sn" - gsm reeksnr
"status" - huidige beheerderstatus nie in hex-formaat gedekodeer nie
"hash_code" - toekomstige gebruik
"addr" - kort toesteladres
"fwnr" - firmware nr
"uitgeskakel" - uitgeskakel toestel (nie uitgevoer nie)
"gsm_nr" - CIoT gsm-nommer
"verkoper" - verkoperkode (vir franchise / mede-produksie)
"tydsone" - Tydsone verreken
"dst" - Gebruik daaglikse spaarinstellings
"gps_lat" - GPS Latitude
"gps_long" - GPS-lengtegraad
"gps_hdop" - GPS HDOP
"gps_alt" - GPS-hoogte
"gps_fix" - GPS-bevestiging (moet 3 wees - vir geldige resultate)
"gps_cog" - GPS Cog
"gps_speed_km" - GPS-spoed in [km / h]
"gps_sat" - GPS-satelliete gevind
"continent", "country", "region", "subregion", "subsubregion", "city", "district", "street", "street_nr", "item_nr" - Kliëntadres en beskrywingsvelde (!!!! Nie beskikbaar vir "*" historiese tabelle)
"log" - logdata
Die veldname is belangrik vir die skep van SQL-navrae om soeksfunksionaliteit te verhoog, omdat die oorspronklike naam in SQL-verklaring gebruik moet word.
Hierdie tabel is 'n gebeurtenis / kommando-ry vir elke toestel en het die volgende struktuur:
"opdrag" - opdrag om te stuur of reeds na die beheerder gestuur word
"bevestig" - bevestigingsvlag as dit reeds gestuur en bevestig is
"datum" - unix-tydstempel van die gebeurtenis
"opgedateer" - vlag vir outomatiese opdatering (datum / tyd van die tydstempel)
Data kan toeganklik wees sonder Front-end-webtoepassing. @City-stelsel bevat skrif met middelvlakfunksies. Resultate word in JSON-formaat teruggestuur.
http: //%IP%/IoT/que.php? func = devsjson
Navraag keer heel terug "_dinge" tabel (huidige status van alle toestelle) in JSON-formaat:
[{ "land":"", "Stad":"", "kontinent":"", "land":"", "streek":"", "substreek":"", "substreek":"", "Stad":"", "distrik":"", "straat":"", "straat_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "skepping":"2019-02-09 18:12:38", "laaste":"0000-00-00 00:00:00", "gebeure":"", "gebruiker":"", "slaag":"", "imei":"351580051067110", "sn":"", "status":"73000200000f360033026800240000002c002c002dffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb305320000", "hash_code":"", "addr":"", "fwnr":"", "gestremd":"", "gsm_nr":"", "verkoper":"", "tydsone":"", "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":"", "gebeure":"", "uit1":"0", "uit2":"0", "uit3":"0", "uit4":"0", "uit5":"0", "uit6":"0", "uit7":"0", "uit8":"0", "uit9":"0", "uit10":"1", "uit11":"0", "uit12":"0", "uit13":"0", "uit14":"0", "uit15":"0", "uit16":"0", "in1":"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "in14":"0", "in15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"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", "teks1":"", "teks2":"", "teks3":"", "teks4":"", "teks5":"", "teks6":"" }]
Navraag historiese data van enkele toestelle deur IMEI nr:
http: //%IP%/IoT/que.php? func = imeijson & imei = 356345080018095
Aangesien die hele tabel miljoene rye kan bevat, moet dit beperk word tot die WHERE-bepaling om die bediener nie te laat hang nie.
Bykomende parameters url-parameters:
funksie - imeijson
imei - IMEI van die toestel
veld - velde wat in die resultate vertoon moet word ('n koma-geskeie lys)
min - minimum waarde vir die eerste veld uit die lys
maksimum - maksimum waarde vir die eerste veld uit die lys
soft - veld vir sorteer
tm - veld word outomaties by die resultate gevoeg.
where - waar klousule om data te beperk
Voorbeeld:
Ons wil die volgende resultaat kry
vir toestel met imei=356345080018095
vertoon velde: ain5, ain6, gps_lat, gps_long
en beperk ain5 binne reikafstand ( 1, 10000 ) - moet die eerste veld in die lys wees
en GPS geldige gegewens hê (gps_fix = 3)
en datum / tyd (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00
Konstrueerde URL-string:
http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& veld =ain5, ain6, gps_lat, gps_long& min =1& maks =1000& waar =gps_fix = 3 en tm> "2019-02-14 23:00:19" en tm <"2019-02-15 00:00:00"
Navraagresultate:
[{ "ain5":"66","ain6":"68","gps_lat":"5202.7326N","gps_long":"02115.8073E","tm":"2019-02-14 23:04:31" }, { "ain5":"67","ain6":"76","gps_lat":"5202.7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:05:42" }, { "ain5":"63","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8074E","tm":"2019-02-14 23:06:05" }, { "ain5":"58","ain6":"77","gps_lat":"5202.7328N","gps_long":"02115.8075E","tm":"2019-02-14 23:06:32" }, { "ain5":"58","ain6":"68","gps_lat":"5202.7328N","gps_long":"02115.8076E","tm":"2019-02-14 23:06:55" }]
Hierdie funksie gee beperkte data vanaf die "_ithings" tabel
http: //%IP%/IoT/que.php? func = fieldjson & field = ain5 & min = 13 & max = 5000
Grense:
funksie - fieldjson
veld - veld wat in die uitslae vertoon moet word - imei en tm word outomaties bygevoeg
min - minimum waarde vir die veld
maksimum - maksimum waarde vir die veld
Vir bogenoemde navraagstring gee dit terug resultate van ain5, imei, tm velde:
as ain5 is binne reikafstand (13,5000)
Navraagresultate:
[{"imei":"353080090069142", "tm":"2019-03-14 11:51:01", "ain5":"14" },
{"imei":"356345080018095", "tm":"2019-02-20 09:13:04", "ain5":"115" },
{"imei":"karczew", "tm":"2019-03-07 13:08:22", "ain5":"103" }]