@City IoT Cloud Platform




iSys - Mga Matalinong Sistema IoT Mga Solusyon









IoE.Systems

Talaan ng nilalaman

1. Panimula. 5

1.1 Mga sinusuportahang uri ng aparato. 5

1.2. Mga uri ng sinusuportahang produkto. 5

1.3. Mga sinusuportahang protokol ng komunikasyon 5

1.4. Sinusuportahang Teknolohiya ng Komunikasyon ng Mga Device 6

1.5. @City Cloud Server 6

1.5.1. Mga gateway ng server at komunikasyon 7

1.5.2 pagsasama-sama ng HTTP LoRaWAN 7

1.5.3. Front-end interface 8

1.5.3. Mga karapatan sa pag-access ng server 8

1.6. Mga Smart Device 9

1.6.1. CIoT - Mga aparato ng GSM 9

1.6.3. BAS, BMS, IoT - Mga aparatong Ethernet at WiFi 9

1.6.2. Devices -LoRaWAN aparato 9

1.7. Mga pagpipilian sa Negosyo sa Negosyo (B2B) 9

2. @City IoT Pag-andar ng Platform 10

3. Pangunahing Pahina 11

4. Pangunahing Pormularyo 11

4.1. Header 12

4.1.1. Link sa Home - (bubukas ang talahanayan ng mga tunay na resulta) 12

4.1.2. "X" checkbox - bubukas / isara ang Query Form 12

4.1.3. "V" checkbox - bubukas / isara ang Fields Form 12

4.1.4. Mga graphic na icon - mga link sa mga resulta ng pagpapakita (mai-edit) 12

4.2. Form: 12

4.2.1. "X" checkbox - bubukas / isara ang buong Query Form 12

4.2.2. CSS - Piliin ang Tema ng Pagpapakita 12

4.2.3. Nakikita ang checkbox ng Mga Patlang - ipinapakita / itinatago ang Listahan ng Filter ng Patlang 12

4.2.4. Tab: Pangalan ng Tab upang idagdag o alisin ang 12

4.2.5. Magdagdag / Mag-alis ng Mga Pindutan - Magdagdag o mag-alis ng mga tab na may pangalan sa Tab na larangan 12

4.2.6. Piliin ang Core Button 12

4.2.7. Alisin sa pagkakapili ang Lahat ng Button 12

4.2.7. Piliin ang Lahat ng Button 12

4.2.8. Itago ang Filter - Itago ang buong Form 12

4.2.9. Pagpapatupad ng Button - Baguhin ang mga setting ng mga parameter 13

4.2.10. "V" checkbox - ipakita / mataas na mga patlang ng filter. 13

4.3. Mga Tab 13

4.4. Mga Nilalaman sa Talahanayan 13

4.4.1. Patakbuhin - mga resulta ng pagtingin uri 13

4.4.2. Kopyahin (+/- mga link) 13

4.4.3. Mga Link ng Talaan ng Cell 13

4.5. Order ng Data 13

4.6. Halimbawa 13

5. Mapa 15

5.1. Simulang Pagpapakilala sa Mapa 15

5.2. Opsyonal na Mga setting para sa query 15

5.2.1. Baguhin ang scale ng MAP (Antas ng Pag-zoom) 16

5.2.2. IMEI (Piliin ang Patlang ng Device) 16

5.2.3. Lon, Lat (Latitude, Latitude coordinate field) 16

5.2.4. Baguhin ang Estilo ng MAP (Tema) 16

5.2.5. SAAN Sugnay 16

5.2.6. Ipatupad (Patakbuhin ang Button ng Query) 16

5.2.7. Alisin sa pagkakapili ang Lahat (Alisin ang lahat ng mga patlang mula sa query) 17

5.2.8. Checkbox na "V" (Buksan / Isara ang Form ng Patlang) 17

5.2.9. Checkbox na "X" (Ipakita / Itago ang Form ng Query) 17

5.3. Halimbawa 17

6. Ipakita ang Mga Resulta sa Talahanayan 18

6.1. Inisyalisasyon ng talahanayan 18

6.2. Opsyonal na Mga setting para sa query 19

6.2.1. Pagbukud-bukurin - pag-uri-uriin ang patlang at pagkakasunud-sunod ng pataas / pababang 19

6.2.2. DB / IMEI - Piliin ang Device 19

6.2.3. CSS - piliin ang istilo (Tema sa Pagpapakita) 20

6.2.4. Nakikitang Mga Patlang - Ipakita / Itago ang Form ng Mga Patlang 20

6.2.5. Alisin ang Walang laman - Huwag ipakita ang walang laman na mga haligi 20

6.2.6. Checkbox na "X" (Ipakita / Itago ang Form ng Query) 20

6.2.7. Kung saan ang sugnay (para sa limitasyon ng data) 20

6.2.8. Piliin ang Core Button (Paganahin ang pinaka-karaniwang mga patlang) 20

6.2.9. Alisin sa pagkakapili ang Lahat ng Button (Alisin ang lahat ng mga patlang mula sa query) 20

6.2.10. Ipatupad (Patakbuhin ang Button ng Query) 20

6.2.11. Checkbox na "V" (Buksan / Isara ang Form ng Patlang) 20

7. Mga Chart ng Bar. 21

8. Mga Chart ng Pangkasaysayan. 22

8.1. Inisyalisasyon ng mga tsart na Pangkasaysayan 22

8.2. Opsyonal na Mga Setting ng Mga Chart ng Kasaysayan 23

8.2.1. IMEI - (Piliin ang Device upang ipakita ang makasaysayang data) 23

8.2.2. Min - limitahan ang kaunting halaga ng unang patlang 23

8.2.3. Max - limitahan ang pinakamataas na halaga ng unang patlang 23

8.2.4. "V" - Ipakita / Itago ang Form ng Mga Patlang 23

8.2.5. Mula sa: magtakda ng kaunting petsa / oras (*) 23

8.2.6. Sa: itakda ang pinakamataas na petsa ng petsa / oras (*) 23

8.2.7. Checkbox na "X" (Ipakita / Itago ang Form ng Query) 23

8.2.8. "Kung saan" Sugnay 23

8.2.9. Alisin sa pagkakapili ang Lahat ng Button (Alisin ang lahat ng mga patlang mula sa query) 23

8.2.10. Ipatupad (Patakbuhin ang Button ng Query) 23

8.2.11. Checkbox na "V" (Buksan / Isara ang Form ng Patlang) 24

8.3. Variant ng Mga Bar: (ipinapakita lamang ang magagamit na data) 24

8.4. Patuloy na variant (na may parehong data): 24

9. Pagkatugma sa web browser 25

10. Mga Tema sa Pagpapasadya 26

11. Mga Update sa Algorithm 27

12. Istraktura ng Database 28

12.1. "ithings_" at "*" na istraktura ng mga talahanayan 29

12.2. Ang mga utos ng aparato (Mga Kaganapan) ay pumila sa talahanayan na "* _c" - istraktura 30

12.3. Pag-access sa mga resulta mula sa mga database - Mid-Level (Pagbasa ng Data) 30

12.3.1. Kumuha ng mga kasalukuyang katayuan ng lahat ng mga aparato 30

12.3.2. Kumuha ng makasaysayang data para sa Device 31

12.3.3. Kumuha ng listahan ng mga aparato - solong patlang mula sa kasalukuyang mga katayuan na may limitasyon 32


1. Panimula.

@City IoT Ang Cloud Platform ay nakatuon "micro-cloud" system para sa mga indibidwal na customer. Ang platform ay hindi maibabahagi at isang customer lamang ang may access sa pisikal o virtual server (VPS o dedikadong mga server). Maaaring pumili ang customer ng isa sa mga dose-dosenang mga data-center sa Europa o sa mundo.

1.1 Mga sinusuportahang uri ng aparato.

Ang platform ng @City IoT ay nakatuon sa pagsunod sa mga produktong iSys.PL



1.2. Mga uri ng sinusuportahang produkto.

@City (eCity) Cloud IoT Ang platform ay iba't ibang laki ng system para sa mga produktong IP IoT (tinawag na magkasama bilang @City Hardware o Mga CioT Device ):


1.3. Mga sinusuportahang protokol ng komunikasyon

Sinusuportahan ng platform ng @City IoT ang mga sumusunod na mga protokol para sa komunikasyon:

Ipinapadala ang data mula sa controller sa cloud server at vice versa ay naka-encrypt sa natatanging binary format para sa pinakamababang sukat ng data at nadagdagan ang seguridad. Ang bawat kasosyo ay nakakakuha ng sarili nitong natatanging key ng pag-encrypt para sa pahintulot ng aparato, pagsuri sa bisa ng data, atbp.


Para sa mga hindi eHouse / eCity na aparato maaari naming ibigay ang mga indibidwal na algorithm ng pag-encrypt ( "C" source code) para sa bawat kasosyo para sa microprocessor upang maprotektahan ang data bago makipag-usap.

Sa kasong ito ang data ay ganap na ligtas sa panahon ng komunikasyon sa bidirectional sa publikong komunikasyon media (internet, Air, atbp. ).


1.4. Sinusuportahang Teknolohiya ng Komunikasyon ng Mga Device

Sinusuportahan ng platform ng @City IoT:


@City IoT Ang platform ay nakatuon sa mga aparato / node:


1.5. @City Cloud Server

Gumagana ang @City software sa Linux batay sa VPS (Virtual Private Server) o Dedicated Server sa panig ng internet, depende sa hiniling na pagganap ng Server (tinatawag na mamaya Server):


Mayroong maraming mga variant ng VPS depende sa:


Dose-dosenang Dedicated server ay umiiral depende sa:


Ang @City IoT platform ay nakatuon sa solong customer:


Dahil hindi ito maibabahagi ng Server sa pagitan ng mga customer, pinapasimple nito ang mga isyu sa seguridad sa pag-access at pagganap. Dahil sa kadahilanang ito ang customer lamang ang responsable para sa mabisang seguridad, katatagan, kahusayan, throughput ng data, atbp. Sa kaso ng hindi sapat na pagganap, maaaring bumili ang customer ng mas mataas na plano (VPS o Dedicated Server), mas mahusay sa inaasahang pagpapaandar at pagganap.

Sa mga espesyal na kaso "Cloud to cloud" ang komunikasyon ay maaaring ipatupad para sa globalisasyon at sentralisasyon ng data sa mas malalaking lugar sa halip na multi-customer cloud.

1.5.1. Mga gateway ng server at komunikasyon

Ang komunikasyon ng @City Server ay napagtanto batay sa mababang antas ng aplikasyon para sa pag-maximize ng pagganap.

Pangunahing tampok ng application ng @City Server ay:

Ang software ng @City Server ay pareho para sa bawat gumagamit at hindi maaaring ipasadya para sa iba't ibang mga customer.

1.5.2 pagsasama-sama ng HTTP LoRaWAN

Ang mga Controller ng LoRaWAN ay isinama sa @City cloud sa pamamagitan ng interface ng HTTP (webhooks) na magagamit sa LoRaWAN network / application server.

Maraming mga uri ng network / application server ang sinusuportahan:

TTN (limitadong oras "Nasa himpapawid" at ang maximum na bilang ng mga utos na ipinadala sa driver at huwag suportahan ang pag-upgrade ng firmware)

LoraWAN-Stack (Nangangailangan ng pagho-host sa isang pisikal na aparato na may access sa internet).

LoraServer.Io (Nangangailangan ng pagho-host sa isang pisikal na aparato na may access sa internet - nagpapadala lamang ng data sa server at hindi sinusuportahan ang pag-upgrade ng firmware)



Ang @City Cloud para sa mga taga-kontrol ng LoRaWAN ay nahahati sa parehong paraan tulad ng para sa iba pang mga interface. Tinalakay ito sa nakaraang kabanata.

1.5.3. Front-end interface

Ang interface ng front-end ay napagtanto sa mga script ng PHP para sa pagkuha ng na-customize na data mula sa @City Cloud Database. Gumagamit ito ng napaka nababanat na mekanismo ng paghahanap, batay sa orihinal na mga query sa SQL upang limitahan ang nais na data. Naghahatid ang mga resulta ng query ng query sa format na JSON para sa karagdagang pag-decode at pagproseso ng JavaScript Front-end na "application" ng Web.

Ang orihinal na interface na front-end ay pareho para sa bawat gumagamit at hindi maaaring ipasadya para sa iba't ibang mga customer.

Ang interface ng overlay ay maaaring nilikha ng aming staff o sa kooperasyon upang masiguro ang pagpapasadya para sa customer.

1.5.3. Mga karapatan sa pag-access ng server

Ang mga karapatan sa pag-access ng customer (sa pisikal na Server) ay limitado.

Pag-access lamang sa file para sa direktoryo ng "mga template" (katutubong mga file ng teksto - .txt, .js, .css, .html):

Iba pang mga karapatan sa pag-access:


iSys - Mga tauhan ng Intelligent Systems - may walang limitasyong pag-access sa buong server kasama ang root account at buong pag-access sa DB para sa pagpapanatili.

Sa ilalim ng ilang mga pangyayari ay maaaring magbigay ang iSys ng karagdagang limitadong mga karapatan sa customer (mga script ng PHP, mga file) pagkatapos suriin ang source code, pagpapatakbo ng mga pagsubok, kung hindi ito nakakaapekto sa pangkalahatang seguridad ng system, katatagan at pagganap.


1.6. Mga Smart Device

1.6.1. CIoT - Mga aparato ng GSM

Naglalaman ang aming mga aparato ng microcontroller at GSM / GPS / GNSS module (2G..4G, NBIoT, CATM1) para sa komunikasyon. Naglalaman ang Microcontroller ng naka-encrypt na bootloader para sa ligtas na pag-upgrade ng firmware ng OTA. Nagbibigay-daan ito sa paglikha ng maraming mga variant ng system batay sa pareho "CIoT Smart aparato".


1.6.3. BAS, BMS, IoT - Mga aparatong Ethernet at WiFi


Pinapayagan ng mga taga-kontrol ang Ethernet at WiFi ang nakabatay sa komunikasyon sa IP sa system (nang walang singilin para sa paglilipat ng data sa operator ng GSM). Ang mga aparato ay naka-encrypt din ng bootloader at ang mga aparato ay maaaring ma-update sa pamamagitan ng katutubong interface. Para sa WiFi mayroon itong pag-upgrade ng OTA firmware mula sa pangunahing server


1.6.2. IoT - Mga aparatong LoRaWAN

Pinapayagan ng LoRaWAN ang paghahatid ng data sa napakatagal na distansya (hanggang sa humigit-kumulang. 15km). Ang saklaw na ito ay nakasalalay sa bilis ng paghahatid ng data, ang dami ng data, urbanisasyon ng lugar at ang kahusayan ng mga landas sa radyo ng mga aparato.

Ang aming mga aparato ay nagsasama ng isang microcontroller at LoRaWAN module para sa komunikasyon. Naglalaman ang microcontroller ng isang naka-encrypt na bootloader para sa ligtas na pag-update ng OTA software. Pinapayagan kang lumikha ng maraming mga variant ng system batay sa pareho "IoT smart device". Nagpapatakbo ang mga aparato sa bukas na bandang ISM nang walang karagdagang bayarin sa subscription. Kinakailangan na gumamit ng LoRaWAN Gateways upang masakop ang buong lugar na may access sa Internet. Sa kaso ng mga umiiral na mga pintuan ng LoRaWAN sa loob ng saklaw ng mga aparato (na-configure para sa TTN server), posible na magpadala ng impormasyon sa pamamagitan ng mga ito. Ang pag-upgrade ng firmware ay nangangailangan ng sariling server / LoRaWAN server ng server at mahusay na saklaw para sa komunikasyon.

1.7. Mga pagpipilian sa Negosyo sa Negosyo (B2B)


Mayroong maraming mga pagpipilian para sa negosyo at kooperasyon:

2. @City IoT Pag-andar ng Platform

Sinusuportahan ng platform ng @City ang napapasadyang template ng Front-End para sa visualization ng data, query, paglilimita at pagproseso (Kasalukuyan / data ng kasaysayan):


Ang Front-End ng User ay maa-access sa pamamagitan ng static IP o DNS redirection domain / subdomain / file kung magagamit.


Halimbawang at Demo na pag-install (Pinapagana lamang ito para sa mga prospective na customer).

Mangyaring ipagbigay-alam sa amin kung nais mong subukan ito - upang paganahin ang pampublikong pag-access sa platform.

Maaaring mangailangan ito ng static IP ng remote computer upang paganahin ang komunikasyon sa @City platform.


3. Pangunahing Pahina

Ang pangunahing pahina ay naiwang walang laman na sadya para sa mga kadahilanang panseguridad: http: //% IyongIP% / IoT /

Maaari itong isa-isang paganahin at mai-edit at naglalaman ng mga link sa lahat ng mga magagamit na serbisyo ng @City IoT Platform kung ito ay kinakailangan


4. Pangunahing Porma

Inilaan ang Pangunahing Form upang lumikha ng mga bagong preset at tab: http: //%IP%/IoT/que.php

Ito ang paunang form para sa paglikha ng mga resulta, view at tab para sa bawat pagsasaayos




Mga paglalarawan (Mula sa itaas at kaliwa hanggang kanang direksyon)

4.1. Header

4.1.1. Link sa Home - (magbubukas ng aktwal na talahanayan ng mga resulta)

4.1.2. "X" checkbox - bubukas / isara ang Form ng Query

4.1.3. "V" checkbox - bubukas / isara ang Form ng Mga Patlang

4.1.4. Mga graphic na icon - Mga link sa mga resulta sa pagpapakita (mai-e-edit)


4.2. Form:

4.2.1. "X" checkbox - bubukas / isara ang buong Form ng Query

4.2.2. CSS - Piliin ang Tema ng Pagpapakita

Dapat baguhin ang Visualization Theme CSS file sa "mga template / css /" direktoryo - awtomatikong nakalista.

4.2.3. Nakikitang Mga Patlang checkbox - ipinapakita / itinatago ang Listahan ng Filter ng Patlang

4.2.4. Tab: Pangalan ng Tab upang idagdag o alisin

4.2.5. Idagdag / Alisin Mga Pindutan - Magdagdag o mag-alis ng mga tab na may pangalan sa Tab patlang

4.2.6. Piliin ang Core Pindutan

Piliin ang pangunahing mga patlang na makikita sa talahanayan. Ito ay nai-update awtomatiko

4.2.7. Alisin sa pagkakapili ang Lahat Pindutan

Alisin sa pagkakapili ang lahat ng mga patlang (dapat sundin sa pamamagitan ng pagpili ng ilan sa mga ito nang manu-mano)

4.2.7. Piliin lahat Pindutan

Piliin ang lahat ng mga patlang (dapat sundin nang alisin ang pagkakapili ng ilan sa mga ito nang manu-mano)

4.2.8. Itago ang Filter - Itago ang buong Form

Katumbas ito ng lahat ng (X) checkbox

4.2.9. Magpatupad Button - Baguhin ang mga setting ng mga parameter

4.2.10. "V" checkbox - ipakita / mataas na mga patlang ng filter.


4.3. Mga Tab

Indibidwal na nilikha ang mga tab na may mga pangalan at preset (nakaimbak sa cfg / tabs.cfg file)

Naglalaman talaga ang file ng pangalan at URL (pinaghiwalay ng tab char).


4.4. Mga Nilalaman sa Talahanayan

Ipinapakita ang lahat ng mga patlang na limitado ng Filter ng Patlang.


Mga patlang sa talahanayan:

4.4.1. Patakbuhin - view uri ng resulta

mapa- mga resulta sa pagmamapa sa mapa (maaaring mapili ang isa o higit pang patlang)

kasaysayan - mga chart ng kasaysayan (maaaring mapili ang isa o higit pang larangan)

tab - Ipinapakita ang talahanayan (maaaring mapili ang anumang kumbinasyon ng mga patlang)

bar - isang patlang lamang ang ipinapakita sa tsart ng bar

Sa pagpindot sa isa sa halaga nito magbubukas ito ng mga bagong resulta sa mga napiling patlang (para sa kasalukuyang hilera).


4.4.2. Kopyahin (+/- mga link)

Pagdaragdag / pag-aalis ng isang Tab na nakaayos ang pangalan Tab patlang Gumagamit lamang ito ng mga patlang na napili sa parehong hilera ng talahanayan.


4.4.3. Mga Link ng Cell Cell

Ang pagpindot sa anumang iba pang pangalan ng patlang ay magpapasimula sa Data Visualization ng napiling patlang para sa napiling hilera.


4.5. Pagkakasunud-sunod ng Data


Ang pagkakasunud-sunod ng mga ipinakitang patlang ay bilang pagkakasunud-sunod nito sa form na mga patlang (gayunpaman tm ang patlang ay palaging ipadala sa dulo ng teksto). Ang order na ito ay mababago lamang sa direktang pag-edit ng mga parameter ng URL (bahagi ng order ng mga patlang).


4.6. Halimbawa

Halimbawa: Ang Setting Tab na may Pagsubaybay sa Asset pangalan at naglalaman ng mapa na may oras at bilis sa mapa

Lahat ng paglalarawan na tumutukoy sa hilera kung saan "Map" ang teksto ay nasa "Takbo" haligi

  1. Ilagay ang pangalan "Pagsubaybay sa Asset" sa Tab patlang (walang mga panipi)

  2. Tiyaking ang lahat ng mga haligi ay hindi napili sa hilera

  3. pumili ka tm, gps_speed_km sa hilera lang

  4. pindutin + pindutan kung saan sa hilera






5. Mga Mapa

Maaaring mailunsad ang mga mapa mula sa MainForm na may paunang pag-configure


5.1. Initialization ng Mapa

Isinasagawa nang manu-mano ang pagsisimula ng mapa kapag direktang naisakatuparan na may link: > http: //%IP%/IoT/maps.php


  1. Dapat na Alisin sa pagkakapili ng user ang lahat ng mga patlang (Pindutin Alisin sa pagkakapili Button)

  2. Pindutin ang ilang checkbox para sa ipinakitang mga patlang (hal. Ain5 (para sa antas ng Smog) at tm (para sa petsa / oras ng pagsukat)

  3. pindutin "V" checkbox upang itago ang form ng mga patlang

  4. pindutin Magpatupad pindutan upang patakbuhin ang query ng DB at ipakita ang kasalukuyang impormasyon mula sa lahat ng mga sensor / aparato

  5. Ang mapa na may data ay na-update makalipas ang 30 segundo o higit pa.


5.2. Opsyonal na Mga Setting para sa query

Inilarawan ang mga setting mula kaliwa hanggang kanan (sa screenshot sa itaas).

5.2.1. Baguhin ang scale ng MAP (Antas ng Pag-zoom)

  1. Maaaring mabago ang antas ng pag-zoom gamit ang (+/-) mga pindutan para sa scale (current_scale * 2 o current_scale / 2 ayon sa pagkakabanggit). Ang pagpindot sa isa sa mga pindutan na ito ay awtomatikong magbabago ng sukat.

  2. Ang isa pang paraan ay piliin ang Antas ng Pag-zoom in Mag-zoom Patlang sa Combo Box at pindutin Magpatupad pindutan Sa kasong ito ang buong View / Map ay nai-reload at na-refresh (tumatagal habang ginaganap).

5.2.2. IMEI (Piliin ang Patlang ng Device)

IMEIang patlang ay naglalaman ng natatanging ID ng aparato o Natatanging alias para sa isang aparato. Ang default na setting ay * (asterisk) na nagpapakita ng pinakahuling mga halaga at geolocation para sa bawat aparato.

Ang pagtatakda ng IMEI sa anumang iba pang halaga, ay magpapakita ng makasaysayang data ng napiling aparato. Mayroon itong katuturan lamang para sa mga mobile at gumagalaw na sensor, kung hindi man ay magkakasama ang mga resulta sa mapa sa parehong posisyon.


5.2.3. Lon, Lat (Mga larangan ng Latitude, coordinate ng Latitude)

Itakda ang gitnang posisyon ng mapa. Ang patlang na ito ay nakatakda sa posisyon ng cursor kapag ang pindutan ng mouse ay pinindot sa mapa.


5.2.4. Baguhin ang Estilo ng MAP (Tema)

Maaaring mapili ang istilo / tema ng mapa Map Patlang sa ComboBox (hal. Madilim, Gray, Topographic).

Ang iba't ibang mga tema ng mapa ay maaaring may iba't ibang mga antas ng pinakamataas na pag-zoom upang maaari itong ipatupad ang wastong Tema upang madagdagan ang sukat ng mapa.


5.2.5. SAAN Sugnay

Kung saan ginagamit ang sugnay para sa karagdagang query string {WHERE part} para sa MySQL / MariaDB.

Ang sugnay na ito ay isinasaalang-alang para sa pagbuo ng kumpletong QUERY string para sa resulta sa database. Maaari nitong limitahan ang data, oras at anumang iba pang mga halaga sa pamamagitan ng paglilimita sa bilang ng mga resulta. Ang mga orihinal na pangalan ng patlang ng talahanayan (hindi alias) ay dapat gamitin sa patlang na ito. Hal.

  1. gps_speed_km> 10 // ang bilis ay higit sa 10km / h

  2. ain5> 3 // ain5 ay mas malaki sa 3 (may hawak na 2.5um na mga particle na bilang - antas ng smog)

  3. gps_speed_km> 10 at ain6> 5 // ang bilis ay higit sa 10km / h at ang ain6 ay mas malaki sa 5 (hawak ang bilang ng 10um na partikulo - antas ng usok)


5.2.6. Magpatupad (Patakbuhin ang Button ng Query)

Ang pagpindot sa pindutan na ito ay kinakailangan upang baguhin ang anumang mga setting, mga parameter (maliban sa pagpindot +/- mga pindutan).

Ang mapa ay nai-load mula sa simula ng mga bagong preset.

Ang mapa ay hindi na-load sa lahat, kapag walang magagamit na data para sa kasalukuyang query.

5.2.7. Alisin sa pagkakapili ang Lahat (Alisin ang lahat ng mga patlang mula sa query)

Pagkatapos ng pagpindot sa pindutan na ito ng hindi bababa sa isang patlang ay dapat na napili nang manu-mano upang maipakita ang mga resulta sa mapa.


5.2.8. "V" Checkbox (Buksan / Isara ang Form ng Patlang)

Ginagamit ang checkbox na ito upang ipakita / itago ang tagapili ng mga patlang upang maipakita.


5.2.9. "X" Checkbox (Ipakita / Itago ang Form ng Query)

Nagbibigay-daan ang checkbox na ito na itago ang buong Form maliban sa ( +/- mga pindutan)


Ang mga resulta sa mapa ay patuloy na nai-refresh at na-update sa mga bagong halaga

5.3. Halimbawa

Hal Mga resulta ng Smog (Na-install ang Sensor sa kotse): Antas ng asong 2.5um na mga partikulo (Ain5), Bilis (gps_speed_km), Petsa / Oras (tm), mapa (2 - topographic), zoom level 16,

Kung saan ang sugnay:

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

// GPS = wastong mga resulta sa 3D at petsa = 2019-02-18 at bilis> 0 km / h



6. Ipakita ang Mga Resulta sa Talahanayan

Ipakita ang mga resulta sa talahanayan.

Sa "Pangunahing Porma" pindutin "mesa" item, pagkatapos pumili ng ilang mga patlang upang ipakita ang pre-configure na talahanayan




6.1. Initialization ng talahanayan

Kapag ang talahanayan ay bukas mula sa link http: //%IP%/IoT/que.php? func = mga tab nangangailangan ito ng paunang pagsisimula ng mga setting.

Maaari kang pumili ng mga nakikitang mga patlang (sa pamamagitan ng pagpindot "Nakikitang Mga Patlang" ) checkbox.



  1. Pindutin ang lahat ng kinakailangang checkbox para sa ipinakitang mga patlang

  2. Pindutin ang checkbox "Nakikitang Mga Patlang" upang itago ang form ng patlang

  3. Pindutin ang pindutan ng Pagpapatupad upang patakbuhin ang query ng DB at ipakita ang talahanayan


6.2. Opsyonal na Mga Setting para sa query

Ang mga setting ay inilarawan mula kaliwa hanggang kanan (sa screenshot).

6.2.1. Pagbukud-bukurin - pag-uri-uriin ang patlang at pagkakasunud-sunod ng pataas / pababang

Ang sort sort ay katumbas ng pagpindot sa header ng haligi.

6.2.2. DB / IMEI - Piliin ang aparato

IMEIang patlang ay naglalaman ng natatanging ID ng aparato o Natatanging alias para sa isang aparato. Sa walang laman na halaga ipinapakita nito ang talahanayan ng pinakahuling mga halaga.

Ang pagtatakda ng IMEI sa anumang iba pang halaga, ay magpapakita ng makasaysayang data ng napiling aparato.


6.2.3. CSS - piliin ang istilo (Tema sa Pagpapakita)

6.2.4. Nakikitang Mga Patlang - Ipakita / Itago ang Form ng Mga Patlang

6.2.5. Tanggalin ang Walang laman - Huwag ipakita ang walang laman na mga haligi

6.2.6. "X" Checkbox (Ipakita / Itago ang Form ng Query)

6.2.7. Kung saan Sugnay (para sa limitasyon ng data)

Ito ang sufix para sa karagdagang karagdagang query string ng MySQL / MariaDB {WHERE part}

Ang sugnay na ito ay isinasaalang-alang upang makagawa ng kumpletong QUERY string para sa resulta sa database. Maaari nitong limitahan ang data, oras at anumang iba pang mga halaga sa pamamagitan ng paglilimita sa bilang ng mga resulta. Ang mga orihinal na pangalan ng patlang ng talahanayan (hindi alias) ay dapat gamitin sa patlang na ito. Hal.

  1. gps_speed_km> 10 // ang bilis ay higit sa 10km / h

  2. ain5> 3 // ain5 ay mas malaki sa 3 (may hawak na 2.5um na mga particle na bilang - antas ng smog)

  3. gps_speed_km> 10 at ain6> 5 // ang bilis ay higit sa 10km / h at ang ain6 ay mas malaki sa 5 (hawak ang bilang ng 10um na partikulo - antas ng usok)


6.2.8. Piliin ang Core Button (Paganahin ang pinaka-karaniwang mga patlang)


6.2.9. Alisin sa pagkakapili ang Lahat Button (Alisin ang lahat ng mga patlang mula sa query)

Pagkatapos ng pagpindot sa pindutan na ito ng hindi bababa sa isang patlang ay dapat na napili nang manu-mano upang maipakita ang mga resulta sa mapa.


6.2.10. Magpatupad (Patakbuhin ang Button ng Query)

Ang pagpindot sa pindutan na ito ay kinakailangan upang baguhin ang anumang mga setting, mga parameter (maliban sa pagpindot +/- mga pindutan).

Ang talahanayan ay na-reload mula sa simula sa mga bagong preset.



6.2.11. "V" Checkbox (Buksan / Isara ang Form ng Patlang)

Ginagamit ang checkbox na ito upang ipakita / itago ang tagapili ng mga patlang upang maipakita.



Ang mga resulta sa talahanayan ay pinagsunod-sunod ayon sa Pagbukud-bukurin setting ng patlang. Ang pagkakasunud-sunod ng pagkakasunud-sunod ay maaaring mabago sa pamamagitan ng pagpindot sa header ng hilera (isang beses para sa isang direksyon ng dalawang beses para sa isa pang direksyon).

Ang ilang mga resulta sa mga haligi ay naka-link sa karagdagang mga screen ng pagpapakita (hard-code).


Kapag nagpapakita ng makasaysayang data para sa aparato dapat itong limitado upang hindi maipakita ang buong impormasyon sa kasaysayan dahil maaari itong humantong sa pagganap o wala sa mga isyu sa memorya.


7. Mga Chart ng Bar.

Ang mga chart ng bar ay dapat na ipatupad mula sa Pangunahing Form sa pamamagitan ng pagpindot sa solong patlang sa row na "Bar".

Ipinapakita nito ang mga pinagsunod-sunod na mga bar na na-normalize hanggang sa pinakamataas na halaga, na ipinapakita mula sa pinakamataas hanggang sa pinakamababang pagkakasunud-sunod.

Ito ay kapaki-pakinabang para sa mabilis na pagsusuri ng matinding mga resulta at gumawa ng ilang mga aksyon.





Ang kaganapan sa Mouse Over ay magpapakita ng karagdagang impormasyon para sa aparato.


8. Mga Chart ng Pangkasaysayan.

Ang mga tsart na pangkasaysayan ay maaaring pasimulan mula sa MainForm kapag pinindot ang napiling haligi sa hilera ng "Kasaysayan" (para sa solong patlang).

Para sa Maramihang mga patlang sa hilera ng "Kasaysayan" na nais na mga patlang ay dapat na naka-check at ang link na "Kasaysayan" ay dapat na pinindot sa haligi ng "Patakbo".

Ang mga resulta sa kasaysayan ay limitado sa huling 24 na oras + susunod na 24 na oras (para sa mga pag-refresh ng tsart sa wakas), kapag walang mga limitasyong na-set up.

8.1. Pauna-unahang mga tsart na Pangkasaysayan


Ang mga chart ng kasaysayan kapag binuksan mula sa pangunahing link ay nangangailangan ng pagsisimula bilang iba pang mga resulta, kapag bukas mula sa link nang walang mga parameter ng kagustuhan.

Maaaring mapili ang maraming mga patlang upang ipakita ang iba't ibang mga item. Maaari rin itong itakda sa Field Filter Form.




  1. Pindutin ang lahat ng kinakailangang checkbox para sa ipinakitang mga patlang

  2. Pindutin ang checkbox "Nakikitang Mga Patlang" upang itago ang form ng patlang

  3. Pindutin ang pindutan ng Pagpapatupad upang patakbuhin ang query ng DB at ipakita ang talahanayan


8.2. Opsyonal na Mga setting ng Mga Chart ng Kasaysayan

Mga item na inilarawan mula sa itaas at mula kaliwa hanggang kanan (sa screenshot).

8.2.1. IMEI - (Piliin ang Device upang ipakita ang makasaysayang data)

IMEIang patlang ay naglalaman ng natatanging ID ng aparato o Natatanging alias para sa isang aparato. Sa halagang * (asterix) ipinapakita nito ang talahanayan ng pinakahuling mga halaga na walang katuturan.

Ang pagtatakda ng IMEI sa anumang iba pang halaga, ay magpapakita ng makasaysayang data ng napiling aparato.

8.2.2. Min - limitahan ang kaunting halaga ng unang patlang

8.2.3. Max - limitahan ang pinakamataas na halaga ng unang patlang

8.2.4. "V" - Ipakita / Itago ang Form ng Mga Patlang

8.2.5. Mula sa: itakda ang kaunting petsa / oras (*)

8.2.6. Sa: itakda ang maximum / date date / time (*)

8.2.7. "X" Checkbox (Ipakita / Itago ang Form ng Query)

8.2.8. "Kung saan" Sugnay

Sugnay para sa paglilimita sa mga resulta ng data na MySQL / MariaDB karagdagang query string {WHERE part}.

Ang sugnay na ito ay isinasaalang-alang para sa pagbuo ng kumpletong QUERY string para sa resulta sa database. Maaari nitong limitahan ang data, oras at anumang iba pang mga halaga sa pamamagitan ng paglilimita sa bilang ng mga resulta. Ang mga orihinal na pangalan ng patlang ng talahanayan (hindi alias) ay dapat gamitin sa patlang na ito at wastong SQL syntax. Hal.

  1. gps_speed_km> 10 // ang bilis ay higit sa 10km / h

  2. ain5> 3 // ain5 ay mas malaki sa 3 (may hawak na 2.5um na mga particle na bilang - antas ng smog)

  3. gps_speed_km> 10 at ain6> 5 // ang bilis ay higit sa 10km / h at ang ain6 ay mas malaki sa 5 (hawak ang bilang ng 10um na partikulo - antas ng usok)


8.2.9. Alisin sa pagkakapili ang Lahat Button (Alisin ang lahat ng mga patlang mula sa query)

Pagkatapos ng pagpindot sa pindutan na ito ng hindi bababa sa isang patlang ay dapat na napili nang manu-mano upang maipakita ang mga resulta ng kasaysayan.


8.2.10. Magpatupad (Patakbuhin ang Button ng Query)

Ang pagpindot sa pindutang ito ay kinakailangan upang baguhin ang anumang mga setting, mga parameter (maliban sa pagpapakita ng mga patlang o query panel). Ang talahanayan ay na-reload mula sa simula sa mga bagong preset.

8.2.11. "V" Checkbox (Buksan / Isara ang Form ng Patlang)

Ginagamit ang checkbox na ito upang ipakita / itago ang tagapili ng mga patlang upang maipakita.


8.3. Mga bar Variant: (ipinapakita lamang ang magagamit na data)



8.4. Tuloy-tuloy variant (na may parehong data):



Ang mga halaga ng pagpapakita ng mouse pointer ng mga sukat at petsa / oras.

9. Pagkatugma sa web browser


Pag-andar / WWW Browser

Chrome 72

FireFox 65

Edge

Opera 58

Mga Mapa

+

+

+

+

Makasaysayang

+

+ (*)

+

+

Mga bar

+

+

+

+

Mga Tab

+

+

+

+


* - Hindi sinusuportahan ng Firefox ang tagapili ng petsa / oras (ang patlang ng teksto ay dapat na manu-manong na-edit gamit ang wastong format ng oras ng petsa).

Hindi suportado ang Internet Explorer (paggamit Edge sa halip)

Ang iba pang mga web browser ay hindi nasubukan.



10. Mga Pagpapasadya ng Mga Tema

Ang mga web page ay batay sa pangkalahatang file ng template na matatagpuan sa "mga template" direktoryo na "* .mag-isip".

Bilang karagdagan ang bawat uri ng pahina ay naglalaman ng:

  1. Ang file na "* .head" na nag-iimbak ng header ng pahina (mga link, na-import na CSS, JavaScript Files, atbp. )

  2. Ang mga file na "* .foot" na nag-iimbak ng footer ng pahina (mga link, atbp. )


Ang Tema ng Pagpapakita ay maaaring mabago alinsunod sa mga kagustuhan ng gumagamit sa pamamagitan ng pagkopya at pagbabago ng mga CSS file. Ang mga file ng CSS ay matatagpuan sa "mga template / css" direktoryo Ang magkakaibang Mga Tema sa Pahina ng Web ay maaaring magamit upang lumikha ng na-optimize para sa hal. pag-print, mga template ng SmartPhones, PADs.


Table mga view - may mapipiling patlang para sa pagpili ng CSS file para sa kumpletong pagbabago ng tema (naka-imbak sa "mga template / css / tab" direktoryo).




Map pananaw - pangkalahatang tema ay pinili ng "mapa" uri ng combo box. Bilang karagdagan mayroong default na CSS file "mga template / css / map.css" na naglalaman ng ilang karagdagang pag-andar tulad ng mga resulta ng pagtatago / pangkulay batay sa mga halaga nito. Ang natitirang file ng CSS na ito ay halos limitado sa mga form ng query at field.


Karamihan ng @City Platform Tumatanggap ang mga file ng PHP para sa visualization cssparameter na may halaga ng pangalan ng file para sa Tema (nang walang extension). Ang file ay dapat na matatagpuan sa direktoryo ng "mga template / css" at ang pangalan ay sensitibo sa case.


Ang ilang mga elemento ng pagpapakita ng Tema ay direktang matatagpuan sa JavaScript file na matatagpuan sa "template / js" direktoryo

Pangunahin @Lungsod iskrip"@ City.js" ay matatagpuan sa itaas na direktoryo. Walang posibilidad ng pagbabago sa ito lokasyon, subalit ang script ay maaaring makopya sa "mga template / js" direktoryo at binago doon. Ang paggamit ng indibidwal na script ay nangangailangan ng pag-update ng lahat ng mga file ng header.

11. Update sa Algorithms


Ang ilang mga natatanging sensor ay maaaring mangailangan ng dedikadong mga pagpapaandar ng pagkalkula.

Walang posibilidad na mag-update at mapanatili ang maraming mga variant ng @City Server Software, Front-end na interface ng PHP, na kung saan ay magiging sanhi ng maraming mga isyu, bersyon, error.

Pinakamahusay at pinakamadaling paraan upang makamit ito, ay ang pag-update ng "overlay" na mga file para sa wastong pagpapakita ng halaga / paglalarawan.

Ang mga orihinal na script ng JS ay bukas na file ng teksto at maaaring gamitin sa mga pangangailangan ng customer. Tulad ng nakasaad sa nakaraang kabanata kailangan silang makopya "mga template / js" direktoryo kung saan ang mga customer ay may mga karapatan sa pag-access para sa pagbabago.


Teknikal na aspeto sa pagprogram ng @Lungsod Ang system ay hindi paksa ng dokumentong ito, subalit ang developer ng Web na may pangunahing kaalaman sa HTML at JS ay maaaring ipasadya ang application ng Front-end na Web sa mga indibidwal na pangangailangan ng customer.


12. Istraktura ng Database


@City Database na may pangalan "IoT" o "* IoT" ay nahahati sa mga talahanayan (kung saan ang asterix ay unlapi depende sa hosting server - kung kinakailangan). Maaaring obserbahan ang DataBase sa PHPAdmin (web application) na naka-link http: //% IP% / phpmyadmin




Itinakda ang mga Talahanayan para sa bawat Device (saan * Ang {asterix} ay IMEI address - natatanging ID):

Iba pang mga talahanayan:



12.1. istraktura ng "ithings_" at "*" na mga talahanayan

12.2. Ang mga utos ng aparato (Mga Kaganapan) ay pumila sa talahanayan na "* _c" - istraktura


Ang talahanayan na ito ay queue ng kaganapan / utos para sa bawat aparato at may sumusunod na istraktura:



12.3. Pag-access sa mga resulta mula sa mga database - Mid-Level (Pagbasa ng Data)


Maaaring ma-access ang data nang walang Front-end na application ng Web. Naglalaman ang system ng @City ng script na may mga pag-andar na mid-level. Ang mga resulta ay naibalik sa format na JSON.


12.3.1. Kumuha ng mga kasalukuyang katayuan ng lahat ng mga aparato

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


Bumalik ang tanong "_ithings" talahanayan (kasalukuyang mga katayuan ng lahat ng mga aparato) sa Format ng JSON:

[{ "bansa":"", "lungsod":"", "kontinente":"", "bansa":"", "rehiyon":"", "subregion":"", "subsubregion":"", "lungsod":"", "distrito":"", "kalye":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "paglikha":"2019-02-09 18:12:38", "huli":"0000-00-00 00:00:00", "mga kaganapan":"", "gumagamit":"", "pumasa":"", "imei":"351580051067110", "sn":"", "katayuan":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb305320000", "hash_code":"", "addr":"", "fwnr":"", "may kapansanan":"", "gsm_nr":"", "nagtitinda":"", "timezone":"", "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":"", "mga kaganapan":"", "out1":"0", "labas2":"0", "palabas3":"0", "palabas4":"0", "palabas5":"0", "labas6":"0", "palabas7":"0", "palabas8":"0", "palabas9":"0", "palabas10":"1", "labas11":"0", "labas12":"0", "palabas13":"0", "palabas14":"0", "labas15":"0", "out16":"0", "in1":"0", "sa2":"0", "sa3":"0", "sa4":"0", "sa5":"0", "sa6":"0", "sa7":"0", "sa8":"0", "sa9":"0", "sa10":"0", "sa11":"0", "sa12":"0", "sa13":"0", "sa14":"0", "sa15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "asa5":"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", "text1":"", "text2":"", "teksto3":"", "teksto4":"", "teksto5":"", "text6":"" }]

12.3.2. Kumuha ng makasaysayang data para sa Device

Humiling ng makasaysayang data ng solong aparato ng IMEI nr:

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


Dahil ang buong talahanayan ay maaaring maglaman ng milyun-milyong mga hilera dapat itong limitahan saANAN sugnay upang hindi mag-hang-up server.

Mga karagdagang parameter ng url na parameter:

humihingal - imeijson

imei - IMEI ng aparato

patlang - mga patlang na ipapakita sa mga resulta (hiwalay na listahan ng koma)

min - minimum na halaga para sa unang patlang mula sa listahan

max - maximum na halaga para sa unang patlang mula sa listahan

sot - patlang para sa pag-uuri

tm - Ang patlang ay awtomatikong idinagdag sa mga resulta.

where - kung saan sugnay upang limt data


Halimbawa:

Nais naming makuha ang sumusunod na resulta

para sa aparato na may imei=356345080018095

ipakita ang mga patlang: ain5, ain6, gps_lat, gps_long

at limitahan asa5 sa saklaw ( 1, 10000 ) - Dapat ay unang patlang sa listahan

at gps may wastong data (gps_fix = 3)

at petsa / oras (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Bumuo ng string ng URL:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& patlang =asa5, ain6, gps_lat, gps_long& min =1& max =1000& saan =gps_fix = 3 at tm> "2019-02-14 23:00:19" at tm <"2019-02-15 00:00:00"


Mga Resulta ng Query:

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

12.3.3. Kumuha ng listahan ng mga aparato - solong patlang mula sa kasalukuyang mga katayuan na may limitasyon

Ang pagpapaandar na ito ay nagbabalik ng limitadong data mula sa talahanayan na "_ithings"


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



Mga Parameter:

humihingal - fieldjson

patlang - patlang na maipakita sa mga resulta - imei at tm ay awtomatikong idinagdag

min - minimum na halaga para sa patlang

max - maximum na halaga para sa patlang


Para sa itaas na string ng query bumalik ito mga resulta ng ain5, imei, tm mga patlang:

kung asa5 nasa saklaw (13,5000)


Mga Resulta ng Query:

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

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

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