@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


1. Inleiding.

@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.

1.1 Ondersteunde tipes toestelle.

@City IoT platform is toegewyd aan die volgende iSys.PL produkte



1.2. Ondersteunde tipes produkte.

@City (eCity) Cloud IoT Platform is verskillende grootte stelsels vir IP IoT produkte (saam genoem as @City Hardeware of CioT-toestelle ):


1.3. Ondersteunde kommunikasieprotokolle

@City IoT platform ondersteun die volgende protokolle vir kommunikasie:

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.) ).


1.4. Ondersteunde kommunikasietegnologie van die toestelle

@City IoT platform ondersteun:


@City IoT Platform is toegewy aan toestelle / nodusse:


1.5. @City Cloud Server

@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):


Verskeie variante van VPS bestaan ​​afhangend van:


Tientalle toegewyde bedieners bestaan ​​afhangend van:


Die @City IoT platform is toegewy aan enkele klante:


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.

1.5.1. Bedienings- en kommunikasiepoorte

Kommunikasie van @City Server word gerealiseer op grond van lae toepassing vir prestasie-maksimalisering.

Belangrikste kenmerke van die @City Server-toepassing is:

@City Server-sagteware is dieselfde vir elke gebruiker en kan nie vir verskillende klante aangepas word nie.

1.5.2 HTTP LoRaWAN integrasie

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.

1.5.3. Front-end koppelvlak

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.

1.5.3. Toegangsregte vir bediener

Kliënttoegangsregte (tot fisiese bediener) is beperk.

Lêertoegang slegs vir die "templates" -gids (oorspronklike tekslêers - .txt, .js, .css, .html):

Ander toegangsregte:


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.


1.6. Slim toestelle

1.6.1. CIoT - GSM-toestelle

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".


1.6.3. BAS, BMS, IoT - Ethernet- en WiFi-toestelle


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


1.6.2. IoT - LoRaWAN-toestelle

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.

1.7. Business to Business (B2B) opsies


Daar is verskillende opsies vir besigheid en samewerking:

2. @City IoT Platformfunksionaliteit

@City-platform ondersteun aanpasbare front-end-sjabloon vir data-visualisering, navraag, beperking en verwerking (huidige / geskiedenisdata):


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.


3. Hoofblad

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


4. Hoofvorm

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)

4.1. Kopskrif

4.1.1. Tuisskakel - (maak die werklike resultate-tabel oop)

4.1.2. "X" regmerkie - open / sluit navraagvorm

4.1.3. "V" regmerkie - open / sluit Veldvorm

4.1.4. Grafiese ikone - skakels na visualiseringsresultate (wysigbaar)


4.2. Vorm:

4.2.1. "X" regmerkie - maak die hele navraagvorm oop / toe

4.2.2. CSS - Kies Visualiseringstema

Verander die Visualization Theme CSS-lêer moet bestaan ​​in "templates / css /" gids - outomaties gelys.

4.2.3 Sigbare velde regmerkie - wys / verberg veldfilterlys

4.2.4. Oortjie: Tab Naam om by te voeg of te verwyder

4.2.5. Voeg by / verwyder Knoppies - Voeg oortjies by of verwyder die naam in Tab veld

4.2.6. Kies Core Knoppie

Kies die hoofvelde wat op die tabel sigbaar is. Dit is opgedateer outomaties.

4.2.7. Ontkies alles Knoppie

Ontkies alle velde (moet gevolg word deur sommige daarvan handmatig te kies)

4.2.7. Kies Alles Knoppie

Kies alle velde (moet gevolg word deur sommige van hulle handmatig te deselekteer)

4.2.8. Versteek filter - Versteek die hele vorm

Dit is gelykstaande aan alle (X) -kassie

4.2.9. Voer uit Knoppie - Verander parametersinstellings

4.2.10. "V" regmerkie - wys / hoë filter velde.


4.3. Tabs

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).


4.4. Inhoudsopgawe

Vertoon alle velde wat deur Veldfilter beperk word.


Velde in die tabel:

4.4.1. Hardloop - uitsig resultate tipe

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).


4.4.2. Kopieer (+/- skakels)

Voeg 'n oortjie by / verwyder met die naam in Tab veld. Dit gebruik slegs velde wat in dieselfde ry van die tabel geselekteer is.


4.4.3. Skakels vir tafelselle

As u op enige ander veldnaam druk, begin die data-visualisering van die geselekteerde veld vir die geselekteerde ry.


4.5. Data Bestelling


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).


4.6. Voorbeeld

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.

  1. Voer naam in "Batesopsporing" in Tab veld (sonder aanhalingstekens)

  2. Verseker dat alle kolomme nie in die ry gekies is nie

  3. kies tm, gps_speed_km net in die ry

  4. druk + knoppie waar in die ry






5. Kaarte

Kaarte kan vanaf MainForm geloods word met voorafkonfigurasie


5.1. Initialisasie van kaart

Kaartinitialisering word handmatig uitgevoer wanneer dit direk met die skakel uitgevoer word: > http: //%IP%/IoT/maps.php


  1. Gebruiker moet alle velde deselekteer (druk Ontkies Knoppie)

  2. Druk die een of ander regmerkie vir vertoonde velde (bv. Ain5 (vir Smog-vlak) en tm (vir meetdatum / tyd)

  3. druk "V" regmerkie om velde se vorm te versteek

  4. druk Voer uit knoppie om DB-navraag uit te voer en huidige inligting vanaf alle sensors / toestelle te vertoon

  5. Kaart met data word na 30 sekondes of meer opgedateer.


5.2. Opsionele instellings vir navraag

Instellings beskryf van links na regs (op die kiekie hierbo).

5.2.1. Verander MAP-skaal (zoomvlak)

  1. 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.

  2. '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).

5.2.2. IMEI (Kies toestelveld)

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.


5.2.3. Lon, Lat (Lengte-, breedte-koördinaatvelde)

Stel die middelposisie van die kaart in. Hierdie veld is ingestel op die wyserposisie wanneer die muis op die kaart gedruk word.


5.2.4. Verander MAP-styl (tema)

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.


5.2.5. WAAR Klousule

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.

  1. gps_speed_km> 10 // spoed is meer as 10 km / h

  2. ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)

  3. 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)


5.2.6. Voer uit (Voer knoppie uit)

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.

5.2.7. Ontkies alles (Verwyder alle velde uit die navraag)

Nadat u op hierdie knoppie gedruk het, moet minstens een veld handmatig gekies word om die resultate op die kaart te vertoon.


5.2.8. "V" Merkblokkie (oop / sluit veldvorm)

Hierdie regmerkie word gebruik om die selektor van die velde wat vertoon moet word te wys / verberg.


5.2.9. "X" Merkblokkie (wys / verberg navraagvorm)

Met hierdie regmerkie kan die hele vorm versteek word, behalwe ( +/- knoppies)


Die resultate op die kaart word deurlopend verfris en opgedateer met nuwe waardes

5.3. Voorbeeld

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



6. Toon resultate in die tabel

Toon resultate in die tabel.

Aan "Hoofvorm" druk "tafel" item, nadat u sommige velde gekies het om vooraf ingestelde tabel te vertoon




6.1. Inisialisering van tabel

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.



  1. Druk al die vereiste regmerkies vir vertoonde velde

  2. Druk die regmerkie "Sigbare velde" om vorms van velde weg te steek

  3. Druk op die Uitvoer-knoppie om DB-navraag en tabel te vertoon


6.2. Opsionele instellings vir navraag

Instellings word van links na regs (op die kiekie) beskryf.

6.2.1. Sorteer - sorteer veld en volg op / af

Sorteerveld is gelykstaande aan die druk van die kolomkop.

6.2.2. DB / IMEI - Kies Toestel

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.


6.2.3. CSS - kies styl (Visualiseringstema)

6.2.4. Sigbare velde - Toon / verberg velde vorm

6.2.5. Verwyder leeg - Moenie leë kolomme vertoon nie

6.2.6. "X" Merkblokkie (wys / verberg navraagvorm)

6.2.7. Waar Klousule (vir databeperking)

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.

  1. gps_speed_km> 10 // spoed is meer as 10 km / h

  2. ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)

  3. 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)


6.2.8. Kies Core Knoppie (Aktiveer mees algemene velde)


6.2.9. Ontkies alles Knoppie (verwyder alle velde uit die navraag)

Nadat u op hierdie knoppie gedruk het, moet minstens een veld handmatig gekies word om die resultate op die kaart te vertoon.


6.2.10. Voer uit (Voer knoppie uit)

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.



6.2.11. "V" Merkblokkie (oop / sluit veldvorm)

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.


7. Staafgrafieke.

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.


8. Historiese kaarte.

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.

8.1. Inisialisering van historiese kaarte


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.




  1. Druk al die vereiste regmerkies vir vertoonde velde

  2. Druk die regmerkie "Sigbare velde" om vorms van velde weg te steek

  3. Druk op die Uitvoer-knoppie om DB-navraag uit te voer en die tabel te vertoon


8.2. Opsionele instellings van historiese grafieke

Items beskryf van bo en van links na regs (op die kiekie).

8.2.1. IMEI - (Kies toestel om historiese data te vertoon)

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.

8.2.2. Min - beperk die minimum waarde van die eerste veld

8.2.3. Maks - maksimum waarde van eerste veld te beperk

8.2.4. "V" - Toon / verberg velde vorm

8.2.5. Van: stel minimale datum / tyd in (*)

8.2.6. Aan: stel maksimum datum datum / tyd in (*)

8.2.7. "X" Merkblokkie (wys / verberg navraagvorm)

8.2.8. "Waar" Klousule

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.

  1. gps_speed_km> 10 // spoed is meer as 10 km / h

  2. ain5> 3 // ain5 is groter as 3 (hou 2,5um deeltjies in - rookmisvlak)

  3. 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)


8.2.9. Ontkies alles Knoppie (verwyder alle velde uit die navraag)

Nadat u op hierdie knoppie gedruk het, moet ten minste een veld handmatig gekies word om historiese resultate te vertoon.


8.2.10. Voer uit (Voer knoppie uit)

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.

8.2.11. "V" Merkblokkie (oop / sluit veldvorm)

Hierdie regmerkie word gebruik om die selektor van die velde wat vertoon moet word te wys / verberg.


8.3. Kroeë Variant: (vertoon slegs beskikbare data)



8.4. Deurlopend variant (met dieselfde data):



Muiswyser vertoon waardes van metings en datum / tyd.

9. Webblaaier Verenigbaarheid


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.



10. Aanpassing van temas

Webbladsye is gebaseer op algemene sjabloonlêer op "templates" gids "* .template".

Verder bevat elke bladsytipe:

  1. "* .head" lêer wat kop van die bladsy stoor (skakels, ingevoerde CSS, JavaScript lêers, ens. )

  2. "* .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.

11. Algoritme-opdatering


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.


12. Databasisstruktuur


@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):

Ander tabelle:



12.1. struktuur "ithings_" en "*" tabelle

12.2. Toestelopdragte (gebeurtenisse) tou "* _c" tabelstruktuur


Hierdie tabel is 'n gebeurtenis / kommando-ry vir elke toestel en het die volgende struktuur:



12.3. Toegang tot resultate vanaf databasisse - middelvlak (leesdata)


Data kan toeganklik wees sonder Front-end-webtoepassing. @City-stelsel bevat skrif met middelvlakfunksies. Resultate word in JSON-formaat teruggestuur.


12.3.1. Kry huidige status van alle toestelle

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":"" }]

12.3.2. Kry historiese data vir die toestel

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" }]

12.3.3. Kry 'n lys toestelle - enkele veld vanaf huidige status met beperking

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" }]