@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
@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.
@City IoT-platformo dediĉas sin al sekvi iSys.PL-produktojn
IoT - RF / LoRaWAN (Interreto de Aĵoj)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (Ĉela Interreto de Aĵoj)
WiFi
Ethernet
@City (eCity) Cloud IoT Platform estas diversa grandeca sistemo por IP IoT produktoj (nomataj kune kiel @ Urba Aparataro aŭ CioT-Aparatoj ):
@ Urbo
@Lumo
@Mezurado
@Spuro
@AirQ
@Bin
@City IoT-platformo subtenas jenajn protokolojn por komunikado:
UDP - sugestita por CIoT-sensiloj / aparatoj (precipe NBIoT) - plej malalta uzado de datumoj
TCPIP - sugestita por aparatoj kun dudirekta komunikado - manpremo / konfirmo
HTTP - sugestita nur por datuma aliro / bildigo / eksportado / "nubo al nubo"
HTTP Webhooks - por LoRaWAN-komunikado inter LoRaWAN-Reto / Aplika Servilo kaj @City Cloud.
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.) ).
@City IoT-platformo subtenas:
GSM: 2G, 3G, 4G (LTE), CATM1 (LTEM1), NBIoT - aparatoj (UDP / TCPIP-komunikado)
LoRaWAN-aparatoj (HTTP-rethokoj) - per LoRaWAN-enirejo kaj LoRaWAN-reto / aplikaĵaj serviloj
Ethernet-regiloj (UDP / TCP-komunikado)
WiFi-regiloj (UDP / TCP-komunikado)
Estontaj IP-produktoj
Ne IP-produktoj per aldona loka @ City / eHouse.PRO Aparataro-Enirejo
@City IoT Platform estas dediĉita al aparatoj / nodoj:
Denaskaj iSys-produktoj:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi - dediĉitaj produktoj por @City Platform
Ethernet - dediĉitaj produktoj por @City Platform
Kunproduktaj produktoj (fabrikitaj de triaj sub licenco iSys kaj ekstera marko)
Franĉizaj produktoj (fabrikitaj de triaj sub licenco iSys kun logotipoj iSys)
@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):
privata / publika aliro
entute aparatoj kalkulas
ĝisdatigo de aparata stato-ofteco
datuma refreŝiga rapideco
Pluraj variantoj de VPS ekzistas depende de:
Prezo
datumcentra geolokigo
Virtualaj procesoraj kernoj (1-8)
Virtuala RAM (1-32 GB)
Disko SSD (20GB-1TB)
Dekoj de Diligenta servilo ekzistas depende de:
Prezo
datumcentra geolokigo
Procesoraj kernoj (4 .. 32)
RAM (16 .. 512GB)
SSD / HDD (256GB .. 8 TB)
La platformo @City IoT estas dediĉita al ununura kliento:
lokaj registaroj kaj aŭtoritatoj (urbo, komunumo, lando)
B2B (por tria posedanto)
Ĉ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.
Komunikado de @City Server estas realigita surbaze de malaltnivela aplikaĵo por maksimumigi rendimenton.
Ĉefaj ecoj de @City Server-apliko estas:
nesinkrone ricevi datumojn de aparatoj (per protokoloj: UDP, TCP IP, HTTP)
minimumigi datumuzadon kaj ĝiajn kostojn inter aparatoj kaj Nubo (per uzado de malaltaj nivelaj komunikaj protokoloj UDP, TCP IP)
ricevi ĉifritan staton de aparatoj (per iu ajn komunikilo)
rajtigo kaj validigado de datumoj de aparatoj deĉifrante iliajn statojn
deĉifri staton de aparatoj kaj ĝisdatigi ĝin en tablojn MariaDB / MySQL rekte (en kruda datuma formato)
aktuala datuma tabelo (enhavas nur plej novan staton de ĉiu aparato)
historia datuma tabelo (enhavas ĉiujn statojn por ununura aparato)
sendu pritraktitajn komandojn (Eventoj) al aparatoj
certigante manpremon, konfirmon kaj konfirmojn
@City-Servila programaro samas por ĉiu uzanto kaj ne povas esti adaptita por malsamaj klientoj.
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.
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.
Klientaj alirrajtoj (al fizika Servilo) estas limigitaj.
Dosiera aliro nur por "ŝablonoj" dosierujo (denaskaj tekstdosieroj - .txt, .js, .css, .html):
aldono, forigo, modifo de puraj HTML-dosieroj (Front-End GUI / Interface Development)
aldono, forigo, modifo de puraj JavaScript dosieroj (Front-End GUI / Interfaca Disvolvo kaj Algoritmoj)
aldono, forigo, modifo de puraj CSS-dosieroj (Front-End - Propraj vidpunktoj / Temoj)
aldono, forigo, modifado de tekstdosieroj de ŝablonoj (Front-End GUI)
aldono, forigo, modifo de langetoj, ŝparvojoj, ligoj al datumrezultoj
Aliaj rajtoj de aliro:
Plena aliro al @City Cloud Database MySQL / MariaDB kie ĉiuj datumoj de la aparatoj estas konservitaj
Aliro al Retservoj estas difinita (akreditaĵoj) por kliento.
Kliento ne rajtas transdoni atestilojn al triaj (multnombra aliro de rezultoj povus influi rendimenton, stabilecon kaj sekurecon de ĝenerala sistemo)
Sub specialaj cirkonstancoj kaj uzado de alta rendimento Dediĉita Servilo, publika konto povus esti kreita por observi plej aktualajn datumojn (ne historiajn).
Uzanto povas dupliki datumojn al sia propra MySQL-servilo kaj plenumi propran analizon kaj prilaboradon de datumoj, por ne influi rendimenton de @City Server
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.
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".
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
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.
Estas pluraj ebloj por komerco kaj kunlaboro:
importi / eksporti pretajn produktojn (ŝaltpaneloj, aparatoj) - finajn produktojn
importi / eksporti OEM-produktojn (PCBoj, regiloj, ktp) - mezaj produktoj, rezervaj partoj
franĉizo - produktado surbaze de nia licenco por lokaj merkatoj (ni provizas nur programitajn mikroregilojn) sub iSys - Inteligentaj Sistemaj Markoj
Kunproduktado - (kiel supre) sed sub eksteraj markoj
@City-platformo subtenas agordeblan front-ŝablonon por datuma bildigo, konsulto, limigado kaj prilaborado (aktualaj / historiaj datumoj):
bildigi elektitajn datumojn sur la mapo (geolokigo)
montras elektitajn datumojn kaj rezultojn en la tabeloj
montras elektitajn datumojn en stangaj diagramoj
montras elektitajn datumojn en historiaj diagramoj
eksporti datumojn al triaj programoj kaj plua prilaborado
aliaj funkcioj estos ĝisdatigitaj laŭ individuaj petoj.
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.
Ĉ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
Ĉ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)
Modifi Bildigan Temon CSS-dosiero devas ekzisti en "ŝablonoj / css /" dosierujo - listigita aŭtomate.
Elektu ĉefajn kampojn videblajn sur la tablo. Ĝi estas ĝisdatigita aŭtomate.
Malelektu ĉiujn kampojn (devas esti sekvita elektante iujn el ili permane)
Elektu ĉiujn kampojn (devas esti sekvataj per malelekto de iuj el ili permane)
Ĉi tio estas ekvivalenta al ĉiuj (X) markobutono
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).
Montras ĉiujn kampojn limigitajn de Kampa Filtrilo.
Kampoj en la tabelo:
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).
Aldono / forigo de Tab kun la nomo enmetita Tab kampo. Ĝi uzas nur kampojn elektitajn en la sama vico de la tabelo.
Premi iun ajn alian kampan nomon komencos Datuman Vidigon de elektita kampo por elektita vico.
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).
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.
Enigu nomon "Aktiva Spurado" en Tab kampo (sen citiloj)
Certigu, ke ĉiuj kolumnoj estas malelektitaj en la vico
elektu tm, gps_speed_km nur en la vico
gazetaro + butono kie en la vico
Mapoj povas esti lanĉitaj de MainForm kun antaŭ-agordo
Mapa inicialigo estas farita permane kiam plenumita rekte per ligilo: > http: //%IP%/IoT/maps.php
Uzanto devas malelekti ĉiujn kampojn (Premu Malelektu Butono)
Premu iun markobutonon por montritaj kampoj (ekz. Ain5 (por Smog-nivelo) kaj tm (por mezura dato / tempo)
gazetaro "V" markobutono por kaŝi kampon
gazetaro Ekzekutu butono por lanĉi DB-demandon kaj montri aktualajn informojn de ĉiuj sensiloj / aparatoj
Mapo kun datumoj estas ĝisdatigita post 30 sekundoj aŭ pli.
Agordoj priskribitaj de maldekstre dekstren (sur supra ekrankopio).
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.
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).
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.
Agordi centran pozicion de la mapo. Ĉi tiu kampo estas agordita al pozicio de kursoro kiam musbutono estas premita sur la mapo.
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.
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.
gps_speed_km> 10 // rapido estas pli ol 10km / h
ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)
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)
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.
Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri rezultojn sur la mapo.
Ĉi tiu markobutono estas uzata por montri / kaŝi elektilon de montrotaj kampoj.
Ĉi tiu markobutono ebligas kaŝi tutan Formon krom ( +/- butonoj)
La rezultoj sur la mapo estas kontinue refreŝigitaj kaj ĝisdatigitaj per novaj valoroj
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
Montri rezultojn en la tabelo.
Sur "Ĉefa Formo" gazetaro "tablo" ero, post elekto de iuj kampoj por montri antaŭ-agorditan tablon
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.
Premu ĉiujn necesajn markobutonojn por montritaj kampoj
Premu markobutonon "Videblaj Kampoj" kaŝi kampojn formiĝas
Premu Ekzekuti butonon por lanĉi DB-demandon kaj vidigi tablon
Agordoj estas priskribitaj de maldekstre dekstren (sur la ekrankopio).
Ordiga kampo samvaloras al premado de kolumna titolo.
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.
Ĉ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.
gps_speed_km> 10 // rapido estas pli ol 10km / h
ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)
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)
Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri rezultojn sur la mapo.
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.
Ĉ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.
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.
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.
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.
Premu ĉiujn necesajn markobutonojn por montritaj kampoj
Premu markobutonon "Videblaj Kampoj" kaŝi kampojn formiĝas
Premu Ekzekuti butonon por lanĉi DB-demandon kaj montri la tablon
Eroj priskribitaj de supre kaj de maldekstre dekstren (sur la ekrankopio).
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.
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.
gps_speed_km> 10 // rapido estas pli ol 10km / h
ain5> 3 // ain5 estas pli granda ol 3 (tenante nombron de 2.5um partikloj - fumnivelo)
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)
Post premi ĉi tiun butonon almenaŭ unu kampo devas esti elektita permane por montri historiajn rezultojn.
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.
Ĉi tiu markobutono estas uzata por montri / kaŝi elektilon de montrotaj kampoj.
Musmontrilo montras valorojn de mezuroj kaj dato / horo.
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.
Retpaĝoj baziĝas sur ĝenerala ŝablona dosiero lokita ĉe "ŝablonoj" dosierujo "* .ŝablono".
Aldone ĉiu paĝospeco enhavas:
Dosiero "* .head", kiu konservas kaplinion de la paĝo (ligoj, importitaj CSS, JavaScript dosieroj, ktp. )
"* .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.
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.
@ Urba Datumbazo kun nomo "IoT" aŭ "* 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):
"* _t" - signoj por nuna rajtigo de uzantoj (ne uzataj por nuboj de unu-kliento)
"* _c" - ordonoj (Eventoj) atendovico - sendotaj al la aparato
"*" - ĉiuj deĉifritaj statusaj rezultoj.
Aliaj tabeloj:
"ithings_" tabelo - enhavas deĉifritan nunan staton de ĉiuj aparatoj (ĝi estas kopiita dum iu ajn ĝisdatigo "*" tabloj). Strukturo de ithings_ tablo estas preskaŭ la sama al la "*" tabloj. "ithings_" havas aldonajn kampojn por Poŝta Adreso kaj priskriboj.
tabelo "uzantoj" estas limigita kaj devas esti modifita.
"idx" - indekso
"tm" - aŭtomata tempostampo
"dt" - uniksa tempostampo
"imei" - unika aparata adreso
"rssi" - RSSI-signala nivelo
"rsrp" - RSRP-signalo
"eventoj" - atendante eventojn sendotajn al regilo
"el1" .. "ekstere16" - malkodita eliga stato
"en1" .. "en16" - deĉifrita eniga stato
"Ain1" .. "ain8" - deĉifritaj ADC-valoroj (RAW)
"sens1" .. "sens8" - konvertitaj sensilaj valoroj (dependas de aparata tipo)
"dimm1" .. "dimm8" - malĉifritaj malhelaj valoroj (dependas de aparata tipo)
"int1" .. "int6" - deĉifritaj sumigiloj (dependas de aparata tipo)
"teksto1" .. "teksto6" - deĉifritaj tekstovaloroj (dependas de aparata tipo)
"kreado" - dato / tempo de kreo de aparato
"lasta" - lasta dato / horo
"uzanto" - estonta uzo
"pasi" - estonta uzo
"sn" - gsm seria n-ro
"statuso" - nuna regila stato ne deĉifrita en deksesuma formato
"hash_code" - estonta uzo
"addr" - mallonga aparata adreso
"fwnr" - firmware nr
"malebligita" - malebligita aparato (ne plenumita)
"gsm_nr" - CIoT-gsm-numero
"vendisto" - vendista kodo (por franĉizo / kunproduktado)
"horzono" - Horzona ofseto
"dst" - Uzu Agordojn de Ĉiutaga ŝparado
"gps_lat" - GPS Latitude
"gps_long" - GPS-longitudo
"gps_hdop" - GPS HDOP
"gps_alt" - GPS-Alteco
"gps_fix" - GPS-Fiksado (devas esti 3 - por validaj rezultoj)
"gps_cog" - GPS-Raddento
"gps_speed_km" - GPS-Rapido en [km / h]
"gps_sat" - GPS-satelitoj trovitaj
"kontinento", "lando", "regiono", "subregiono", "subregiono", "urbo", "distrikto", "strato", "strato_nr", "ero_nr" - Klienta adreso kaj priskribaj kampoj (!!!! Ne disponebla por "*" historiaj tabeloj)
"log" - protokolaj datumoj
La kampaj nomoj gravas por krei SQL-demandojn por pliigi serĉfunkcion ĉar originala nomo devas esti uzata en SQL-Deklaro.
Ĉi tiu tabelo estas vico de eventoj / komandoj por ĉiu aparato kaj havas jenan strukturon:
"komando" - ordono sendota aŭ jam sendota al la regilo
"konfirmita" - konfirma flago se ĝi jam estis sendita kaj konfirmita
"dato" - uniksa tempostampo de evento
"ĝisdatigita" - aŭtomata ĝisdatiga flago (tempo-tempo / tempo)
Datumoj atingeblas sen Interreta programo. @City-sistemo enhavas skripton kun meznivelaj funkcioj. Rezultoj estas redonitaj en formato JSON.
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":"" }]
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" }]
Ĉ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" }]