@City IoT Nuba Platformo




iSys - Inteligentaj Sistemoj IoT Solvoj









IoE.Sistemoj

Enhavtabelo

1. Enkonduko. 5

1.1 Subtenitaj aparataj tipoj. 5

1.2. Subtenitaj produktoj. 5

1.3. Subtenitaj komunikaj protokoloj 5

1.4. Subtenita Komunika Teknologio de la Aparatoj 6

1.5. @ Urba Nuba Servilo 6

1.5.1. Servilo kaj komunikaj enirejoj 7

1.5.2 Integriĝo de HTTP LoRaWAN 7

1.5.3. Interfaca interfaco 8

1.5.3. Servaj alirrajtoj 8

1.6. Inteligentaj Aparatoj 9

1.6.1. CIoT - GSM-aparatoj 9

1.6.3. BAS, BMS, IoT - Ethernet kaj WiFi-aparatoj 9

1.6.2. IoT -LoRaWAN-aparatoj 9

1.7. Elektoj de Komerco al Kompanio (B2B) 9

2. @City IoT Platform Funkcieco 10

3. Ĉefa Paĝo 11

4. Ĉefa Formo 11

4.1. Titolo 12

4.1.1. Hejma Ligilo - (malfermas realan rezultotabelon) 12

4.1.2. Markobutono "X" - malfermas / fermas Demandformularon 12

4.1.3. Markobutono "V" - malfermas / fermas Kampan Formon 12

4.1.4. Grafikaj ikonoj - ligoj al rezultoj de videbleco (redakteblaj) 12

4.2. Formo: 12

4.2.1. Markobutono "X" - malfermas / fermas tutan Demandoformon 12

4.2.2. CSS - Elektu Vidigan Temon 12

4.2.3 Markobutono Videblaj Kampoj - montras / kaŝas Kampan Filtran Liston 12

4.2.4. Klapeto: Klapeta Nomo por aldoni aŭ forigi 12

4.2.5. Aldoni / Forigi Butonojn - Aldoni aŭ forigi langetojn kun la nomo en Tab-kampo 12

4.2.6. Elektu Kernan Butonon 12

4.2.7. Deselektu Ĉiu Butono 12

4.2.7. Elektu Ĉiu Butono 12

4.2.8. Kaŝi Filtrilon - Kaŝi tutan Formon 12

4.2.9. Ekzekuti Butonon - Ŝanĝi agordojn de parametroj 13

4.2.10. Markobutono "V" - montri / altajn filtrilajn kampojn. 13

4.3. Klapetoj 13

4.4. Enhavo de tabelo 13

4.4.1. Kuru - vidu rezultan tipon 13

4.4.2. Kopiu (+/- ligoj) 13

4.4.3. Ligaj Ĉelaj Ligiloj 13

4.5. Datuma Ordo 13

4.6. Ekzemplo 13

5. Mapoj 15

5.1. Mapa Inicialigo 15

5.2. Laŭvolaj Agordoj por konsulto 15

5.2.1. Modifi MAP-skalon (Zoma Nivelo) 16

5.2.2. IMEI (Elektu Aparatan Kampon) 16

5.2.3. Lon, Lat (Longitudo, Latitudaj koordinataj kampoj) 16

5.2.4. Modifi MAP-Stilon (Temo) 16

5.2.5. KIE Klaŭzo 16

5.2.6. Ekzekuti (Ruli Demandobutonon) 16

5.2.7. Malelektu Ĉion (Forigu ĉiujn kampojn de konsulto) 17

5.2.8. Markobutono "V" (Malfermi / Fermi Kampan Formon) 17

5.2.9. Markobutono "X" (Montri / Kaŝi Demandformularon) 17

5.3. Ekzemplo 17

6. Montri Rezultojn en la Tabelo 18

6.1. Inicialigo de tabelo 18

6.2. Laŭvolaj Agordoj por pridemando 19

6.2.1. Ordigi - ordigi kampon kaj ordigi supren / malsupren 19

6.2.2. DB / IMEI - Elektu Aparaton 19

6.2.3. CSS - elektu stilon (Vidiga Temo) 20

6.2.4. Videblaj Kampoj - Montri / Kaŝi Kampojn Formo 20

6.2.5. Forigi Malplenan - Ne aperigu malplenajn kolumnojn 20

6.2.6. Markobutono "X" (Montri / Kaŝi Demandformularon) 20

6.2.7. Kie Klaŭzo (por limigo de datumoj) 20

6.2.8. Elektu Kernan Butonon (Ebligu plej oftajn kampojn) 20

6.2.9. Deselektu Ĉiun Butonon (Forigu ĉiujn kampojn de konsulto) 20

6.2.10. Ekzekuti (Ruli Demandobutonon) 20

6.2.11. Markobutono "V" (Malfermi / Fermi Kampan Formon) 20

7. Trinkejoj. 21

8. Historiaj Furorlistoj. 22

8.1. Inicialigo de Historiaj Diagramoj 22

8.2. Laŭvolaj Agordoj de Historiaj Grafikoj 23

8.2.1. IMEI - (Elektu Aparaton por montri historiajn datumojn) 23

8.2.2. Min - limigu minimuman valoron de unua kampo 23

8.2.3. Maksimuma - limo maksimuma valoro de unua kampo 23

8.2.4. "V" - Montri / Kaŝi Kampan Formon 23

8.2.5. De: agordi minimuman daton / horon (*) 23

8.2.6. Al: agordi maksimuman daton / horon (*) 23

8.2.7. Markobutono "X" (Montri / Kaŝi Demandformularon) 23

8.2.8. "Kie" Klaŭzo 23

8.2.9. Malelektu Ĉiun Butonon (Forigu ĉiujn kampojn de konsulto) 23

8.2.10. Ekzekutu (Ruli Demandobutonon) 23

8.2.11. Markobutono "V" (Malfermi / Fermi Kampan Formon) 24

8.3. Varianto de Stangoj: (montras nur disponeblajn datumojn) 24

8.4. Kontinua varianto (kun la samaj datumoj): 24

9. Kongruo de TTT-legilo 25

10. Temoj Personigo 26

11. Ĝisdatigo de Algoritmoj 27

12. Datumbaza Strukturo 28

12.1. "ithings_" kaj "*" tabeloj strukturas 29

12.2. Komandoj de aparatoj (Eventoj) atendigas tabelon "* _c" - strukturo 30

12.3. Alirante rezultojn de datumbazoj - Meznivela (Legado de Datumoj) 30

12.3.1. Akiru aktualajn statojn de ĉiuj aparatoj 30

12.3.2. Akiru Historiajn datumojn por la Aparato 31

12.3.3. Akiru liston de aparatoj - ununura kampo de aktualaj statoj kun limigo 32


1. Enkonduko.

@City IoT Cloud Platform estas dediĉita "mikro-nubo" sistemo por individuaj klientoj. Platformo ne estas dividinda kaj nur unu kliento havas aliron al fizika aŭ virtuala servilo (VPS aŭ dediĉitaj serviloj). Kliento povas elekti unu el dekdu datumcentroj en Eŭropo aŭ en la mondo.

1.1 Subtenitaj aparataj tipoj.

@City IoT-platformo dediĉas sin al sekvi iSys.PL-produktojn



1.2. Subtenitaj produktoj.

@City (eCity) Cloud IoT Platform estas diversa grandeca sistemo por IP IoT produktoj (nomataj kune kiel @ Urba Aparataro CioT-Aparatoj ):


1.3. Subtenitaj komunikaj protokoloj

@City IoT-platformo subtenas jenajn protokolojn por komunikado:

Datumoj senditaj de regilo al nuba servilo kaj inverse estas ĉifritaj en unika duuma formato por plej malalta datuma grandeco kaj pliigita sekureco. Ĉiu partnero ricevas sian propran unikan ĉifran ŝlosilon por aparata rajtigo, kontrolado de datumoj validaj, ktp.


Por ne-eHouse / eCity-aparatoj ni povas provizi individuajn ĉifradajn algoritmojn ( "C" fontkodo) por ĉiu partnero por mikroprocesoro por protekti datumojn antaŭ komunikado.

Ĉi-kaze datumoj estas tute sekuraj dum dudirekta komunikado per publikaj komunikiloj (interreto, aero, ktp.) ).


1.4. Subtenita Komunika Teknologio de la Aparatoj

@City IoT-platformo subtenas:


@City IoT Platform estas dediĉita al aparatoj / nodoj:


1.5. @City Cloud Server

@City-programaro funkcias per Linuksa VPS (Virtuala Privata Servilo) aŭ Diligenta Servilo ĉe interreta flanko, depende de petita agado de la Servilo (nomata posta Servilo):


Pluraj variantoj de VPS ekzistas depende de:


Dekoj de Diligenta servilo ekzistas depende de:


La platformo @City IoT estas dediĉita al ununura kliento:


Ĉar ĝi ne estas interŝanĝebla Servilo inter klientoj, ĝi simpligas sekurecajn alirajn kaj agadajn problemojn. Pro ĉi tiu kialo nur kliento respondecas pri efika sekureco, stabileco, efikeco, datuma fluo, ktp. En kazo de nesufiĉa agado, kliento povas aĉeti pli altan planon (VPS aŭ Diligenta Servilo), pli optimuma ol atendataj funkcieco kaj agado.

En specialaj kazoj "Cloud to cloud" komunikado povus esti efektivigita por tutmondiĝo kaj centralizo de datumoj al pli grandaj areoj anstataŭ multklienta nubo.

1.5.1. Servilo kaj komunikaj enirejoj

Komunikado de @City Server estas realigita surbaze de malaltnivela aplikaĵo por maksimumigi rendimenton.

Ĉefaj ecoj de @City Server-apliko estas:

@City-Servila programaro samas por ĉiu uzanto kaj ne povas esti adaptita por malsamaj klientoj.

1.5.2 HTTP-LoRaWAN-integriĝo

Regiloj LoRaWAN estas integritaj kun la @City-nubo per la HTTP-interfaco (rethokoj) havebla sur la reto / aplika servilo LoRaWAN.

Pluraj specoj de reto / aplika servilo estas subtenataj:

TTN (limigita tempo "En la aero" kaj la maksimuma nombro da ordonoj senditaj al la ŝoforo kaj ne subtenas ĝisdatigon de firmvaro)

LoraWAN-Stack (Postulas gastigadon sur fizika aparato kun interreta aliro).

LoraServer.Io (Postulas gastigadon sur fizika aparato kun interreta aliro - nur sendante datumojn al la servilo kaj ne subtenas ĝisdatigon de firmvaro)



La @City Cloud por regiloj LoRaWAN estas dividita same kiel por aliaj interfacoj. Ĝi estas diskutita en la antaŭa ĉapitro.

1.5.3. Interfaca interfaco

Interfaca interfaco estas realigita per PHP-skriptoj por ĉerpi personecigitajn datumojn de @City Cloud Database. Ĝi uzas tre elastan serĉmekanismon, bazitan sur originalaj SQL-demandoj por limigi deziratajn datumojn. Interfaco liveras demandajn rezultojn en formato JSON por plua malkodado kaj prilaborado per JavaScript Interreta "aplikaĵo".

Originala fasadinterfaco estas la sama por ĉiu uzanto kaj ne adapteblas por malsamaj klientoj.

Paŭsa interfaco povas esti kreita de nia personaro aŭ kunlabore por certigi personigon por la kliento.

1.5.3. Servaj alirrajtoj

Klientaj alirrajtoj (al fizika Servilo) estas limigitaj.

Dosiera aliro nur por "ŝablonoj" dosierujo (denaskaj tekstdosieroj - .txt, .js, .css, .html):

Aliaj rajtoj de aliro:


iSys - Personaro de Inteligentaj Sistemoj - havas senliman aliron al tuta servilo inkluzive de radika konto kaj plena DB-aliro por bontenado.

En iuj cirkonstancoj iSys povus doni pliajn limigitajn rajtojn al kliento (PHP-skriptoj, dosieroj) post kontrolado de fontkodo, ekzekutado de testoj, se ĝi ne influas ĝeneralan sisteman sekurecon, stabilecon kaj rendimenton.


1.6. Inteligentaj Aparatoj

1.6.1. CIoT - GSM-aparatoj

Niaj aparatoj enhavas mikroregilon kaj GSM / GPS / GNSS-modulon (2G..4G, NBIoT, CATM1) por komunikado. Mikroregilo enhavas ĉifritan startŝargilon por sekura ĝisdatigo de OTA-firmvaro. Ĉi tio ebligas krei multajn sistemajn variantojn bazitajn sur la sama "Inteligenta aparato CIoT".


1.6.3. BAS, BMS, IoT - Ethernet kaj WiFi-aparatoj


Ethernet kaj WiFi-regiloj permesas IP-bazitan komunikadon al la sistemo (sen ŝarĝo por transdono de datumoj al la GSM-operatoro). Ĉi tiuj aparatoj ankaŭ ĉifris startŝargilon kaj aparatoj povus esti ĝisdatigitaj per ĝia denaska interfaco. Por WiFi ĝi havas OTA-ĝisdatigan firmvaron de ĉefa servilo


1.6.2. IoT - LoRaWAN-aparatoj

LoRaWAN ebligas transdonon de datumoj sur tre longaj distancoj (ĝis ĉ. 15km). Ĉi tiu gamo dependas de la rapideco de transdono de datumoj, la kvanto de datumoj, urbanizado de la areo kaj la efikeco de la radiaj vojoj de la aparatoj.

Niaj aparatoj inkluzivas mikroregilon kaj LoRaWAN-modulon por komunikado. La mikroregilo enhavas ĉifritan startŝargilon por sekura ĝisdatigo de OTA-programoj. Ĉi tio ebligas al vi krei plurajn sistemajn variantojn bazitajn sur la sama "IoT smart device". La aparatoj funkcias en la malferma bando ISM sen aldonaj abonpagoj. Necesas uzi LoRaWAN-Enirejojn por kovri la tutan areon per aliro al Interreto. En la kazo de ekzistantaj pordoj LoRaWAN ene de la gamo de aparatoj (agorditaj por TTN-servilo), eblas sendi informojn per ili. Ĝisdatiga firmvaro postulas propran servilon LoRaWAN de reto / aplikaĵo kaj bonan gamon por komunikado.

1.7. Komercaj Komercaj (B2B) opcioj


Estas pluraj ebloj por komerco kaj kunlaboro:

2. @City IoT Platforma Funkcieco

@City-platformo subtenas agordeblan front-ŝablonon por datuma bildigo, konsulto, limigado kaj prilaborado (aktualaj / historiaj datumoj):


Front-End de uzanto estas alirebla per statika IP aŭ DNS-alidirekta domajno / subdomajno / dosiero se havebla.


Ekzempla kaj Demo-instalado (Ĝi estas ebligita nur por eventualaj klientoj).

Bonvolu informi nin, kiam vi volas testi ĝin - por ebligi publikan aliron al la platformo.

Ĝi povus postuli statikan IP de fora komputilo por ebligi komunikadon al @City-platformo.


3. Ĉefpaĝo

Ĉefa paĝo estas lasita malplena intence pro sekurecaj kialoj: http: //% YourIP% / IoT /

Ĝi povus esti individue ebligita kaj redaktita kaj enhavi ligojn al ĉiuj disponeblaj servoj de @City IoT Platformo se ĝi estas postulata


4. Ĉefa Formo

Ĉefa Formo celas krei novajn antaŭselektojn kaj langetojn: http: //%IP%/IoT/que.php

Ĉi tiu estas komenca formo por krei rezultojn, vidojn kaj langetojn por ĉiu agordo




Priskriboj (De supre kaj maldekstre dekstren)

4.1. Kaplinio

4.1.1. Hejma Ligilo - (malfermas realan rezultan tabelon)

4.1.2. "X" markobutono - malfermas / fermas Demandoformon

4.1.3. "V" markobutono - malfermas / fermas Kampan Formon

4.1.4. Grafikaj ikonoj - ligoj al vidigaj rezultoj (redakteblaj)


4.2. Formo:

4.2.1. "X" markobutono - malfermas / fermas tutan Demandoformon

4.2.2. CSS - Elektu Bildigan Temon

Modifi Bildigan Temon CSS-dosiero devas ekzisti en "ŝablonoj / css /" dosierujo - listigita aŭtomate.

4.2.3.Videblaj Kampoj markobutono - montras / kaŝas Kampan Filtran Liston

4.2.4. Klapeto: Klapeta Nomo por aldoni aŭ forigi

4.2.5. Aldoni / Forigi Butonoj - Aldoni aŭ forigi langetojn kun la nomo en Tab kampo

4.2.6. Elektu Kernon Butono

Elektu ĉefajn kampojn videblajn sur la tablo. Ĝi estas ĝisdatigita aŭtomate.

4.2.7. Malelektu Ĉion Butono

Malelektu ĉiujn kampojn (devas esti sekvita elektante iujn el ili permane)

4.2.7. Elekti ĉiujn Butono

Elektu ĉiujn kampojn (devas esti sekvataj per malelekto de iuj el ili permane)

4.2.8. Kaŝi Filtrilon - Kaŝi tutan Formon

Ĉi tio estas ekvivalenta al ĉiuj (X) markobutono

4.2.9. Ekzekutu Butono - Ŝanĝi agordojn de parametroj

4.2.10. "V" markobutono - montri / altajn filtrilajn kampojn.


4.3. Klapetoj

Individue kreitaj langetoj kun nomoj kaj antaŭdifinitaj (konservitaj en cfg / tabs.cfg dosiero).

La dosiero efektive enhavas nomon kaj URL (apartigitaj per tab-signo).


4.4. Enhavo de tabelo

Montras ĉiujn kampojn limigitajn de Kampa Filtrilo.


Kampoj en la tabelo:

4.4.1. Kuri - vidoj rezulta tipo

mapo- mapaj rezultoj sur la mapo (unu aŭ pluraj kampoj povas esti elektitaj)

historio - historiaj leteroj (unu aŭ pluraj kampoj povas esti elektitaj)

tab - montras tabelon (iu ajn kombinaĵo de kampoj povas esti elektita)

trinkejo - nur unu kampo estas montrata sur la stango-diagramo

Premante unu el ĝiaj valoroj, ĝi malfermos novajn rezultojn kun elektitaj kampoj (por aktuala vico).


4.4.2. Kopiu (+/- ligoj)

Aldono / forigo de Tab kun la nomo enmetita Tab kampo. Ĝi uzas nur kampojn elektitajn en la sama vico de la tabelo.


4.4.3. Tabelaj Ĉelaj Ligiloj

Premi iun ajn alian kampan nomon komencos Datuman Vidigon de elektita kampo por elektita vico.


4.5. Datuma Ordo


Ordo de montrataj kampoj estas kiel ĝia ordo en kampoformularo (tamen tm kampo estas ĉiam sendita al la fino de teksto). Ĉi tiu ordo povas esti ŝanĝita nur per rekta redaktado de URL-parametroj (kampa mendo-parto).


4.6. Ekzemplo

Ekzemple: Agordi Tab kun Aktiva Spurado nomu kaj enhavas mapon kun tempo kaj rapideco sur la mapo

Ĉiu priskribo rilate al vico kie "Map" teksto estas en "Kuri" kolumno.

  1. Enigu nomon "Aktiva Spurado" en Tab kampo (sen citiloj)

  2. Certigu, ke ĉiuj kolumnoj estas malelektitaj en la vico

  3. elektu tm, gps_speed_km nur en la vico

  4. gazetaro + butono kie en la vico






5. Mapoj

Mapoj povas esti lanĉitaj de MainForm kun antaŭ-agordo


5.1. Mapa Inicialigo

Mapa inicialigo estas farita permane kiam plenumita rekte per ligilo: > http: //%IP%/IoT/maps.php


  1. Uzanto devas malelekti ĉiujn kampojn (Premu Malelektu Butono)

  2. Premu iun markobutonon por montritaj kampoj (ekz. Ain5 (por Smog-nivelo) kaj tm (por mezura dato / tempo)

  3. gazetaro "V" markobutono por kaŝi kampon

  4. gazetaro Ekzekutu butono por lanĉi DB-demandon kaj montri aktualajn informojn de ĉiuj sensiloj / aparatoj

  5. Mapo kun datumoj estas ĝisdatigita post 30 sekundoj aŭ pli.


5.2. Laŭvolaj Agordoj por pridemando

Agordoj priskribitaj de maldekstre dekstren (sur supra ekrankopio).

5.2.1. Modifi MAP-skalon (Zoma Nivelo)

  1. Zomnivelo povus esti modifita per (+/-) butonoj por skalo (aktuala_skalo * 2 aŭ aktuala_skalo / 2 respektive). Premante unu el ĉi tiuj butonoj aŭtomate modifos skalon.

  2. Alia maniero estas elekti Zomnivelon Zomi Kombina Kampo kaj premu Ekzekutu butono. Ĉi-kaze tuta Vido / Mapo estas reŝarĝita kaj refreŝigita (daŭras iom da tempo dum komencado).

5.2.2. IMEI (Elektu Aparatan Kampon)

IMEIkampo enhavas unikan ID de aparato aŭ Unika kaŝnomo por aparato. Apriora agordo estas * (asterisko) kiu montras plej freŝajn valorojn kaj geolokigon por ĉiu aparato.

Agordi IMEI al iu ajn alia valoro, montros historiajn datumojn de elektita aparato. Ĝi havas sencon nur por movaj kaj movaj sensiloj, alie rezultoj interkovros sur la mapo en la sama pozicio.


5.2.3. Lon, Lat (Kampo de longitudo, latitudo)

Agordi centran pozicion de la mapo. Ĉi tiu kampo estas agordita al pozicio de kursoro kiam musbutono estas premita sur la mapo.


5.2.4. Modifi MAP-Stilon (Temo)

Mapstilo / temo estas elektebla el Map Kombina kampo (ekz. Malhela, Griza, Topografia).

Diversaj mapaj temoj eble havas malsamajn maksimumajn zomajn nivelojn, do ĝi povus plenumi taŭgan Temon por pliigi mapan skalon.


5.2.5. KIE Paragrafo

Kie Klaŭzo estas uzata por aldona demanda ĉeno {WHERE parto} por MySQL / MariaDB.

Ĉi tiu klaŭzo estas konsiderata por konstrui kompletan QUERY-ĉenon por datumbaza rezulto. Ĝi povas limigi datumojn, tempon kaj iujn aliajn valorojn per limigado de rezultoj. Originaj tabelaj kamponomoj (ne kaŝnomoj) devas esti uzataj en ĉi tiu kampo. Ekz.

  1. gps_speed_km> 10 // rapido estas pli ol 10km / h

  2. ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)

  3. gps_speed_km> 10 kaj ain6> 5 // rapido estas pli ol 10km / h kaj ain6 estas pli granda ol 5 (tenante 10um da partikloj - smog-nivelo)


5.2.6. Ekzekutu (Ruli Butonon de Demando)

Premi ĉi tiun butonon necesas por ŝanĝi iujn ajn agordojn, parametrojn (krom premi +/- butonoj).

Mapo estas ŝarĝita de la komenco kun novaj antaŭdifinitaj.

Mapo tute ne estas ŝarĝita, kiam neniuj datumoj disponeblas por aktuala demando.

5.2.7. Malelektu Ĉion (Forigu ĉiujn kampojn de konsulto)

Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri rezultojn sur la mapo.


5.2.8. "V" Markobutono (Malfermi / Fermi Kampan Formon)

Ĉi tiu markobutono estas uzata por montri / kaŝi elektilon de montrotaj kampoj.


5.2.9. "X" Markobutono (Montri / Kaŝi Demandformularon)

Ĉi tiu markobutono ebligas kaŝi tutan Formon krom ( +/- butonoj)


La rezultoj sur la mapo estas kontinue refreŝigitaj kaj ĝisdatigitaj per novaj valoroj

5.3. Ekzemplo

Ekz. Smog-rezultoj (Sensilo instalita sur la aŭto): Smog-nivelo 2.5um-partikloj (Ain5), Rapido (gps_speed_km), Dato / Tempo (tm), mapo (2 - topografia), zoma nivelo 16,

Kie klaŭzo:

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

// GPS = validaj 3D-rezultoj & dato = 2019-02-18 & rapideco> 0 km / h



6. Montri Rezultojn en la Tabelo

Montri rezultojn en la tabelo.

Sur "Ĉefa Formo" gazetaro "tablo" ero, post elekto de iuj kampoj por montri antaŭ-agorditan tablon




6.1. Inicialigo de tabelo

Kiam tablo estas malfermita de ligilo http: //%IP%/IoT/que.php? func = langetoj ĝi postulas antaŭan komencigon de agordoj.

Vi povas elekti videblajn kampojn (premante "Videblaj Kampoj" ) markobutono.



  1. Premu ĉiujn necesajn markobutonojn por montritaj kampoj

  2. Premu markobutonon "Videblaj Kampoj" kaŝi kampojn formiĝas

  3. Premu Ekzekuti butonon por lanĉi DB-demandon kaj vidigi tablon


6.2. Laŭvolaj Agordoj por pridemando

Agordoj estas priskribitaj de maldekstre dekstren (sur la ekrankopio).

6.2.1. Ordigi - ordigu kampon kaj ordigu supren / malsupren

Ordiga kampo samvaloras al premado de kolumna titolo.

6.2.2. DB / IMEI - Elektu Aparaton

IMEIkampo enhavas unikan ID de aparato aŭ Unika kaŝnomo por aparato. Kun malplena valoro ĝi montras tabelon de plej freŝaj valoroj.

Agordi IMEI al iu ajn alia valoro, montros historiajn datumojn de elektita aparato.


6.2.3. CSS - elektu stilon (Bildiga Temo)

6.2.4. Videblaj Kampoj - Formo Montri / Kaŝi Kampojn

6.2.5. Forigi Malplenan - Ne vidigu malplenajn kolumnojn

6.2.6. "X" Markobutono (Montri / Kaŝi Demandformularon)

6.2.7. Kie Klaŭzo (por datuma limigo)

Ĉi tio estas sufikso por MySQL / MariaDB aldona konsulta ĉeno {WHERE part}

Ĉi tiu klaŭzo estas konsiderata por konstrui kompletan QUERY-ĉenon por datumbaza rezulto. Ĝi povas limigi datumojn, tempon kaj iujn aliajn valorojn per limigado de rezultoj. Originaj tabelaj kamponomoj (ne kaŝnomoj) devas esti uzataj en ĉi tiu kampo. Ekz.

  1. gps_speed_km> 10 // rapido estas pli ol 10km / h

  2. ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)

  3. gps_speed_km> 10 kaj ain6> 5 // rapido estas pli ol 10km / h kaj ain6 estas pli granda ol 5 (tenante 10um da partikloj - smog-nivelo)


6.2.8. Elektu Kernon Butono (Ebligi plej oftajn kampojn)


6.2.9. Malelektu Ĉion Butono (Forigu ĉiujn kampojn de konsulto)

Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri rezultojn sur la mapo.


6.2.10. Ekzekutu (Ruli Butonon de Demando)

Premi ĉi tiun butonon necesas por ŝanĝi iujn ajn agordojn, parametrojn (krom premi +/- butonoj).

Tablo estas reŝargita de la komenco kun novaj antaŭdifinitaj.



6.2.11. "V" Markobutono (Malfermi / Fermi Kampan Formon)

Ĉi tiu markobutono estas uzata por montri / kaŝi elektilon de montrotaj kampoj.



Rezultoj en la tabelo estas ordigitaj laŭ Ordigi kampa agordo. Ordiga ordo povas esti ŝanĝita premante vicokapon (unufoje por unu direkto dufoje por alia direkto).

Iuj rezultoj en kolumnoj ligas al pliaj bildigaj ekranoj (malmol-kodigitaj).


Montrante historiajn datumojn por aparato ĝi devas esti limigita por ne montri tutan historian informon, ĉar ĝi povas konduki al agado aŭ memoro.


7. Trinkejoj.

Stangaj leteroj estu plenumataj de Ĉefa Formo premante ununuran kampon en vico "Stango".

Ĝi montras ordigitajn stangojn normaligitaj al maksimuma valoro, montrante de plej alta al plej malalta ordo.

Ĝi utilas por rapide kontroli ekstremajn rezultojn kaj fari iujn agojn.





Mouse Over-evento montros aldonajn informojn por la aparato.


8. Historiaj Furorlistoj.

Historiaj diagramoj povas esti iniciatitaj de la Ĉefformo kiam oni premas elektitan kolumnon en vico "Historio" (por ununura kampo).

Por Pluraj kampoj en vico "Historio" dezirataj kampoj devas esti kontrolitaj kaj ligilo "Historio" devas esti premita en kolumno "Ruli".

Historiaj rezultoj estas limigitaj por daŭri 24 horojn + venontajn 24 horojn (por eventualaj refreŝigaj leteroj), kiam neniuj limoj estis starigitaj.

8.1. Inicialigo de Historiaj Diagramoj


Historiaj leteroj kiam malfermitaj de ĉefa ligo postulas komencigon kiel aliaj rezultoj, kiam malfermitaj de ligo sen preferaj parametroj.

Pluraj kampoj povas esti elektitaj por montri diversajn erojn. Ĝi ankaŭ povas esti agordita en Kampa Filtrila Formo.




  1. Premu ĉiujn necesajn markobutonojn por montritaj kampoj

  2. Premu markobutonon "Videblaj Kampoj" kaŝi kampojn formiĝas

  3. Premu Ekzekuti butonon por lanĉi DB-demandon kaj montri la tablon


8.2. Laŭvolaj Agordoj de Historiaj Grafikaĵoj

Eroj priskribitaj de supre kaj de maldekstre dekstren (sur la ekrankopio).

8.2.1. IMEI - (Elektu Aparaton por montri historiajn datumojn)

IMEIkampo enhavas unikan ID de aparato aŭ Unika kaŝnomo por aparato. Kun * (asterikso) valoro ĝi montras tabelon de plej freŝaj valoroj, kiuj havas neniun sencon.

Agordi IMEI al iu ajn alia valoro, montros historiajn datumojn de elektita aparato.

8.2.2. Min - limigi minimuman valoron de unua kampo

8.2.3. Maksimumo - limigi maksimuman valoron de unua kampo

8.2.4. "V" - Formo Montri / Kaŝi Kampojn

8.2.5. De: agordi minimuman daton / horon (*)

8.2.6. Al: agordi maksimuman daton / horon (*)

8.2.7. "X" Markobutono (Montri / Kaŝi Demandformularon)

8.2.8. "Kie" Klaŭzo

Klaŭzo por limigi datumajn rezultojn MySQL / MariaDB-aldonan demandan ĉenon {WHERE part}.

Ĉi tiu klaŭzo estas konsiderata por konstrui kompletan QUERY-ĉenon por datumbaza rezulto. Ĝi povas limigi datumojn, tempon kaj iujn aliajn valorojn per limigado de rezultoj. Originaj tabelaj kamponomoj (ne kaŝnomoj) devas esti uzataj en ĉi tiu kampo kaj valida SQL-sintakso. Ekz.

  1. gps_speed_km> 10 // rapido estas pli ol 10km / h

  2. ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)

  3. gps_speed_km> 10 kaj ain6> 5 // rapido estas pli ol 10km / h kaj ain6 estas pli granda ol 5 (tenante 10um da partikloj - smog-nivelo)


8.2.9. Malelektu Ĉion Butono (Forigu ĉiujn kampojn de konsulto)

Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri historiajn rezultojn.


8.2.10. Ekzekutu (Ruli Butonon de Demando)

Premi ĉi tiun butonon necesas por ŝanĝi iujn ajn agordojn, parametrojn (krom montri kampojn aŭ demandpanelon). Tablo estas reŝargita de la komenco kun novaj antaŭdifinitaj.

8.2.11. "V" Markobutono (Malfermi / Fermi Kampan Formon)

Ĉi tiu markobutono estas uzata por montri / kaŝi elektilon de montrotaj kampoj.


8.3. Trinkejoj Varianto: (montras nur disponeblajn datumojn)



8.4. Kontinua varianto (kun la samaj datumoj):



Musmontrilo montras valorojn de mezuroj kaj dato / horo.

9. Kongruo de TTT-legilo


Funkcio / TTT-legilo

Kromo 72

Fajrovulpo 65

Rando

Opero 58

Mapoj

+

+

+

+

Historia

+

+ (*)

+

+

Trinkejoj

+

+

+

+

Klapetoj

+

+

+

+


* - Fajrovulpo ne subtenas datan / horan elektilon (tekstokampo devas esti mane redaktita uzante taŭgan dathoran formaton).

Interreta Esplorilo ne subtenas (uzu Rando anstataŭe)

Aliaj retumiloj ne estis provitaj.



10. Temoj Personigo

Retpaĝoj baziĝas sur ĝenerala ŝablona dosiero lokita ĉe "ŝablonoj" dosierujo "* .ŝablono".

Aldone ĉiu paĝospeco enhavas:

  1. Dosiero "* .head", kiu konservas kaplinion de la paĝo (ligoj, importitaj CSS, JavaScript dosieroj, ktp. )

  2. "* .foot" dosieroj, kiuj konservas piedlinion de la paĝo (ligoj, ktp.) )


Bildiga Temo povas esti ŝanĝita laŭ uzaj preferoj per traktado kaj modifado de CSS-dosieroj. CSS-dosieroj troviĝas en "ŝablonoj / css" dosierujo. Malsamaj Retpaĝaj Temoj povus esti uzataj por krei optimumigitajn ekz. presantaj ŝablonoj de SmartPhones, PADs.


Table vidpunktoj - havas elekteblan kampon por elekti CSS-dosieron por kompleta modifo de temo (konservita en "ŝablonoj / css / langetoj" dosierujo).




Map vidpunktoj - ĝenerala temo estas elektita de "mapo" tajpu kombokeston. Aldone estas defaŭlta CSS-dosiero "ŝablonoj / css / map.css" kiu enhavas iujn aldonajn funkciojn kiel kaŝi / kolorigi rezultojn bazitajn sur ĝiaj valoroj. La resto de ĉi tiu CSS-dosiero estas preskaŭ limigita al demandoj kaj kampaj formoj.


Plejparto de @ Urba Platformo PHP-dosieroj por bildigo akceptas cssparametro kun valoro de dosiernomo por la Temo (sen etendaĵo). Dosiero devas troviĝi en dosierujo "ŝablonoj / css" kaj la nomo distingas majusklojn.


Iuj elementoj de Temo-montrado troviĝas rekte en JavaScript dosiero en "ŝablono / js" dosierujo.

Ĉefa @ Urbo skripto"@ City.js" situas en supra dosierujo. Estas neniu modifa eblo en ĉi tio loko, tamen skripto povas esti kopiita al "ŝablonoj / js" dosierujo kaj modifita tie. Uzo de individua skripto postulas ĝisdatigi ĉiujn kapdosierojn.

11. Ĝisdatigo de Algoritmoj


Iuj unikaj sensiloj eble postulas dediĉitajn kalkulajn funkciojn.

Ne estas eblo ĝisdatigi kaj konservi plurajn variantojn de @City-Servila Programaro, Interfaca PHP-interfaco, kiu kaŭzus multajn problemojn, versiojn, erarojn.

Plej bona kaj plej facila maniero atingi ĝin estas ĝisdatigi JavaScript "surmetitajn" dosierojn por taŭga montrado de la valoro / priskribo.

Originaj JS-skriptoj estas malferma tekstdosiero kaj povus esti adoptitaj laŭ klientaj bezonoj. Kiel dirite en antaŭa ĉapitro ili devas esti kopiitaj al "ŝablonoj / js" adresaro kie kliento havas alirrajtojn por modifo.


Teknika aspekto pri programado de @ Urbo sistemo ne estas temo de ĉi tiu dokumento, tamen reteja programisto kun baza scio pri HTML kaj JS povas agordi antaŭan retejan programon laŭ individuaj klientaj bezonoj.


12. Datumbaza Strukturo


@ Urba Datumbazo kun nomo "IoT""* IoT" estas dividita en tabeloj (kie asterikso estas prefikso depende de gastiga servilo - se necese). Datumbazo estas videbla en PHPAdmin (retejo) ĉe ligilo http: //% IP% / phpmyadmin




Tabeloj Agorditaj por ĉiu Aparato (kie * {asterikso} estas IMEI-adreso - unika identigilo):

Aliaj tabeloj:



12.1. Strukturo de tabeloj "ithings_" kaj "*"

12.2. Komandoj de aparatoj (Eventoj) atendigas tabulan strukturon "* _c"


Ĉi tiu tabelo estas vico de eventoj / komandoj por ĉiu aparato kaj havas jenan strukturon:



12.3. Alirante rezultojn de datumbazoj - Meznivela (Legado de Datumoj)


Datumoj atingeblas sen Interreta programo. @City-sistemo enhavas skripton kun meznivelaj funkcioj. Rezultoj estas redonitaj en formato JSON.


12.3.1. Akiru aktualajn statojn de ĉiuj aparatoj

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


Demando redonas tutan "_ithings" tabelo (aktualaj statoj de ĉiuj aparatoj) en JSON-formato:

[{ "lando":"", "urbo":"", "kontinento":"", "lando":"", "regiono":"", "subregiono":"", "subregiono":"", "urbo":"", "Distrikto":"", "strato":"", "strato_nr":"", "ero_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "kreado":"2019-02-09 18:12:38", "lasta":"0000-00-00 00:00:00", "eventoj":"", "uzanto":"", "pasi":"", "imei":"351580051067110", "sn":"", "statuso":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c200000000000000929250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600400", "hash_kodo":"", "ald":"", "fwnr":"", "handikapita":"", "gsm_nr":"", "vendisto":"", "horzono":"", "unua":"", "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":"", "eventoj":"", "el1":"0", "ekstere2":"0", "ekstere3":"0", "ekstere4":"0", "ekstere5":"0", "ekstere6":"0", "ekstere7":"0", "ekstere8":"0", "ekstere9":"0", "ekstere10":"1", "eksteren11":"0", "ekstere12":"0", "ekstere13":"0", "ekstere14":"0", "ekstere15":"0", "ekstere16":"0", "en1":"0", "en2":"0", "en3":"0", "en4":"0", "en5":"0", "en6":"0", "en7":"0", "en8":"0", "en9":"0", "en10":"0", "en11":"0", "en12":"0", "en 13":"0", "en 14":"0", "en 15":"0", "en16":"0", "Ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "aen5":"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", "teksto1":"", "teksto2":"", "teksto3":"", "teksto4":"", "teksto5":"", "teksto6":"" }]

12.3.2. Akiru Historiajn datumojn por la Aparato

Demandu historiajn datumojn de ununura aparato per IMEI-nr:

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


Ĉar tuta tabelo povus enhavi milionojn da vicoj, ĝi estu limigita per WHERE-paragrafo por ne pendigi servilon.

Pliaj parametroj url-parametroj:

func - imeijson

imei - IMEI de aparato

kampo - kampoj montrotaj en la rezultoj (listo kun koma)

min - minimuma valoro por la unua kampo de la listo

maks - maksimuma valoro por la unua kampo de la listo

saŭt - kampo por speco

tm - kampo aŭtomate aldoniĝas al la rezultoj.

where - kie klaŭzo por limigi datumojn


Ekzemplo:

Ni volas ricevi jenan rezulton

por aparato kun imei=356345080018095

montri kampojn: ain5, ain6, gps_lat, gps_long

kaj limo aen5 en distanco ( 1, 10000 ) - devas esti la unua kampo en la listo

kaj gps havas validajn datumojn (gps_fix = 3)

kaj dato / horo (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Konstruita URL-ĉeno:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& kampo =aen5, ain6, gps_lat, gps_long& min =1& maks1000& kie =gps_fix = 3 kaj tm> "2019-02-14 23:00:19" kaj tm <"2019-02-15 00:00:00"


Demandaj Rezultoj:

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

12.3.3. Akiru liston de aparatoj - ununura kampo de aktualaj statoj kun limigo

Ĉi tiu funkcio redonas limigitajn datumojn de la tabelo "_ithings"


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



Parametroj:

func - fieldjson

kampo - kampo montrota en la rezultoj - imei kaj tm estas aŭtomate aldonitaj

min - minimuma valoro por la kampo

maks - maksimuma valoro por la kampo


Por supre konsultĉeno ĝi revenas rezultoj de ain5, imei, tm kampoj:

se aen5 estas en distanco (13,5000)


Demandaj Rezultoj:

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

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

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