@City IoT Cloud Platform




iSys - Inteligentni sustavi lutions Rješenja









IoE.Sustavi

Sadržaj

1. Uvod. 5

1.1 Podržane vrste uređaja. 5

1.2. Podržane vrste proizvoda. 5

1.3. Podržani komunikacijski protokoli 5

1.4. Podržana komunikacijska tehnologija uređaja 6

1.5. @City Cloud Server 6

1.5.1. Poslužiteljski i komunikacijski pristupnici 7

1.5.2 HTTP LoRaWAN integracija 7

1.5.3. Sučelje sučelja 8

1.5.3. Prava pristupa poslužitelju 8

1.6. Pametni uređaji 9

1.6.1. CIoT - GSM uređaji 9

1.6.3. BAS, BMS, IoT - Ethernet i WiFi uređaji 9

1.6.2. IoT -LoRaWAN uređaji 9

1.7. Opcije za poduzetništvo (B2B) 9

2. @City IoT Funkcionalnost platforme 10

3. Glavna stranica 11

4. Glavni obrazac 11

4.1. Zaglavlje 12

4.1.1. Domaća poveznica - (otvara tablicu stvarnih rezultata) 12

4.1.2. Potvrdni okvir "X" - otvara / zatvara obrazac za upit 12

4.1.3. Potvrdni okvir "V" - otvara / zatvara polja Obrazac 12

4.1.4. Grafičke ikone - poveznice do rezultata vizualizacije (moguće uređivanje) 12

4.2. Obrazac: 12

4.2.1. Potvrdni okvir "X" - otvara / zatvara cijeli obrazac za upit 12

4.2.2. CSS - Odaberite temu vizualizacije 12

4.2.3. Potvrdni okvir Vidljiva polja - prikazuje / skriva popis filtara polja 12

4.2.4. Kartica: Naziv kartice za dodavanje ili uklanjanje 12

4.2.5. Gumbi za dodavanje / uklanjanje - dodajte ili uklonite kartice s imenom u polju kartice 12

4.2.6. Odaberite Core Button 12

4.2.7. Poništi odabir gumba Sve 12

4.2.7. Odaberite gumb 12

4.2.8. Sakrij filtar - sakrij cijeli obrazac 12

4.2.9. Gumb Izvrši - Promjena postavki parametara 13

4.2.10. Potvrdni okvir "V" - prikaži / polja visokog filtra. 13

4.3. Kartice 13

4.4. Sadržaj tablice 13

4.4.1. Pokreni - pregledava tip rezultata 13

4.4.2. Kopija (+/- poveznice) 13

4.4.3. Linkovi tabličnih stanica 13

4.5. Redoslijed podataka 13

4.6. Primjer 13

5. Karte 15

5.1. Inicijalizacija karte 15

5.2. Izborne postavke za upit 15

5.2.1. Izmijenite MAP ljestvicu (razina zumiranja) 16

5.2.2. IMEI (Odaberite polje uređaja) 16

5.2.3. Lon, Lat (Zemljopisna dužina, koordinatna polja) 16

5.2.4. Izmijeni MAP stil (tema) 16

5.2.5. GDJE Klauzula 16

5.2.6. Izvrši (gumb za pokretanje upita) 16

5.2.7. Poništi odabir svega (Ukloni sva polja iz upita) 17

5.2.8. Potvrdni okvir "V" (obrazac za otvaranje / zatvaranje polja) 17

5.2.9. Potvrdni okvir "X" (Prikaži / sakrij obrazac upita) 17

5.3. Primjer 17

6. Prikaži rezultate u tablici 18

6.1. Inicijalizacija tablice 18

6.2. Izborne postavke za upit 19

6.2.1. Poredaj - sortiraj polje i redoslijed uzlazno / silazno 19

6.2.2. DB / IMEI - Odaberite uređaj 19

6.2.3. CSS - odabir stila (tema vizualizacije) 20

6.2.4. Vidljiva polja - Pokaži / sakrij polja, obrazac 20

6.2.5. Ukloni prazno - Ne prikazuj prazne stupce 20

6.2.6. Potvrdni okvir "X" (Prikaži / sakrij obrazac upita) 20

6.2.7. Klauzula (za ograničenje podataka) 20

6.2.8. Odaberite Core Button (Omogući najčešća polja) 20

6.2.9. Poništi odabir gumba All (Ukloni sva polja iz upita) 20

6.2.10. Izvrši (gumb za pokretanje upita) 20

6.2.11. Potvrdni okvir "V" (obrazac za otvaranje / zatvaranje polja) 20

7. Grafikoni. 21

8. Povijesne karte. 22

8.1. Inicijalizacija povijesnih karata 22

8.2. Neobvezna podešavanja povijesnih karata 23

8.2.1. IMEI - (Odaberite uređaj za prikaz povijesnih podataka) 23

8.2.2. Min - granična minimalna vrijednost prvog polja 23

8.2.3. Max - ograniči maksimalnu vrijednost prvog polja 23

8.2.4. "V" - Prikaži / sakrij polja obrazac 23

8.2.5. Od: postavi minimalni datum / vrijeme (*) 23

8.2.6. Za: postavljanje maksimalnog datuma / vremena datuma (*) 23

8.2.7. Potvrdni okvir "X" (Prikaži / sakrij obrazac upita) 23

8.2.8. "Gdje" Klauzula 23

8.2.9. Poništi odabir gumba Sve (Ukloni sva polja iz upita) 23

8.2.10. Izvrši (gumb za pokretanje upita) 23

8.2.11. Potvrdni okvir "V" (obrazac za otvaranje / zatvaranje polja) 24

8.3. Varijanta trake: (prikazuje samo dostupne podatke) 24

8.4. Kontinuirana varijanta (s istim podacima): 24

9. Kompatibilnost web preglednika 25

10. Prilagođavanje tema 26

11. Ažuriranje algoritama 27

12. Struktura baze podataka 28

12.1. Struktura tablica "ithings_" i "*" 29

12.2. Tablica reda naredbi uređaja (Događaji) "* _c" - struktura 30

12.3. Pristup rezultatima iz baza podataka - srednja razina (čitanje podataka) 30

12.3.1. Dohvatite trenutne statuse svih uređaja 30

12.3.2. Dohvatite povijesne podatke za uređaj 31

12.3.3. Dohvatite popis uređaja - jedno polje iz trenutnih statusa s ograničenjem 32


1. Uvod.

@City dedicated Cloud Platform je posvećen "mikro oblak" sustav za pojedinačne kupce. Platforma se ne može dijeliti i samo jedan kupac ima pristup fizičkom ili virtualnom poslužitelju (VPS ili namjenski poslužitelji). Kupac može odabrati jedan od desetaka podatkovnih centara u Europi ili u svijetu.

1.1 Podržane vrste uređaja.

Platforma @City is posvećena je praćenju proizvoda iSys.PL



1.2. Podržane vrste proizvoda.

@City (eCity) Cloud IoT Platforma je sustav različitih veličina za IP IoT proizvode (koji se zajedno nazivaju @City Hardware ili CioT uređaji ):


1.3. Podržani komunikacijski protokoli

Platforma @City supports podržava sljedeće protokole za komunikaciju:

Podaci poslani s kontrolera na cloud server i obrnuto šifrirani su u jedinstvenom binarnom formatu za najmanju veličinu podataka i povećanu sigurnost. Svaki partner dobiva svoj jedinstveni ključ za šifriranje za autorizaciju uređaja, provjeru valjanosti podataka itd.


Za uređaje koji nisu eHouse / eCity možemo isporučiti pojedinačne algoritme za šifriranje ( "C" izvorni kod) za svakog partnera za mikroprocesor za zaštitu podataka prije komunikacije.

U ovom su slučaju podaci potpuno sigurni tijekom dvosmjerne komunikacije putem javnih komunikacijskih medija (Internet, Air, itd.) ).


1.4. Podržana komunikacijska tehnologija uređaja

@City IoT platforma podržava:


@City IoT Platforma je namijenjena uređajima / čvorovima:


1.5. @City Cloud Server

Softver @City radi na VPS baziranom na Linuxu (virtualni privatni poslužitelj) ili namjenskom poslužitelju na internetskoj strani, ovisno o traženim performansama Poslužitelj (kasnije nazvan Poslužitelj):


Postoji nekoliko varijanti VPS-a, ovisno o:


Deseci namjenskog poslužitelja postoje ovisno o:


Platforma @City is posvećena je jednom kupcu:


Budući da nije poslužitelj za zajedničko korištenje između kupaca, to pojednostavljuje sigurnosni pristup i probleme s izvedbom. Iz tog razloga samo je kupac odgovoran za učinkovitu sigurnost, stabilnost, učinkovitost, protok podataka itd. U slučaju nedovoljne izvedbe, kupac može kupiti veći plan (VPS ili namjenski poslužitelj), optimalniji od očekivane funkcionalnosti i performansi.

U posebnim slučajevima "Cloud to cloud" komunikacija se može primijeniti za globalizaciju i centralizaciju podataka na veća područja umjesto u oblak za više korisnika.

1.5.1. Poslužiteljski i komunikacijski pristupnici

Komunikacija @City servera ostvarena je na temelju niskorazinske aplikacije za maksimalizaciju performansi.

Glavne značajke aplikacije @City Server su:

Softver @City Server jednak je za svakog korisnika i ne može se prilagoditi različitim kupcima.

1.5.2 HTTP LoRaWAN integracija

LoRaWAN kontroleri integrirani su s oblakom @City putem HTTP sučelja (webhooks) dostupnog na mreži LoRaWAN / poslužitelju aplikacija.

Podržano je nekoliko vrsta mrežnog / aplikacijskog poslužitelja:

TTN (ograničeno vrijeme "U eteru" i maksimalan broj naredbi poslanih upravljačkom programu i ne podržavaju nadogradnju firmvera)

LoraWAN-Stack (zahtijeva hosting na fizičkom uređaju s pristupom internetu).

LoraServer.Io (Zahtijeva hosting na fizičkom uređaju s pristupom internetu - samo slanje podataka na poslužitelj i ne podržava nadogradnju firmvera)



Kontroleri @City Cloud za LoRaWAN podijeljeni su na isti način kao i za ostala sučelja. O tome se govori u prethodnom poglavlju.

1.5.3. Sučelje sučelja

Front-end sučelje realizirano je s PHP skriptama za izdvajanje prilagođenih podataka iz @City Cloud Database. Koristi vrlo elastičan mehanizam pretraživanja, zasnovan na izvornim SQL upitima, kako bi ograničio željene podatke. Sučelje daje rezultate upita u JSON formatu za daljnje dekodiranje i obradu putem application Front-end web „aplikacije“.

Izvorno sučelje sučelja je isto za svakog korisnika i ne može se prilagoditi različitim kupcima.

Sučelje za prekrivanje može stvoriti naše osoblje ili u suradnji kako bi se osiguralo prilagođavanje kupca.

1.5.3. Prava pristupa poslužitelju

Korisnička prava pristupa (na fizički poslužitelj) su ograničena.

Pristup datoteci samo za direktorij "predlošci" (izvorne tekstualne datoteke - .txt, .js, .css, .html):

Ostala prava pristupa:


iSys - osoblje inteligentnih sustava - ima neograničen pristup cijelom poslužitelju, uključujući root račun i puni DB pristup za održavanje.

U određenim okolnostima iSys može dodijeliti dodatna ograničena prava kupcu (PHP skripte, datoteke) nakon provjere izvornog koda, pokretanja testova, ako to ne utječe na cjelokupnu sigurnost sustava, stabilnost i performanse.


1.6. Pametni uređaji

1.6.1. CIoT - GSM uređaji

Naši uređaji sadrže mikrokontroler i GSM / GPS / GNSS modul (2G..4G, NBIoT, CATM1) za komunikaciju. Mikrokontroler sadrži šifrirani bootloader za sigurnu nadogradnju OTA firmvera. To omogućuje stvaranje mnogih inačica sustava temeljenih na istima "CIoT Smart uređaj".


1.6.3. BAS, BMS, IoT - Ethernet i WiFi uređaji


Ethernet i WiFi kontroleri omogućuju IP komunikaciju u sustav (bez naplate prijenosa podataka GSM operateru). Ovi uređaji imaju i šifrirani bootloader, a uređaji se mogu ažurirati putem izvornog sučelja. Za WiFi ima OTA nadogradnju firmvera s glavnog poslužitelja


1.6.2. IoT - LoRaWAN uređaji

LoRaWAN omogućuje prijenos podataka na vrlo velike udaljenosti (do cca. 15km). Ovaj raspon ovisi o brzini prijenosa podataka, količini podataka, urbanizaciji područja i učinkovitosti radio staza uređaja.

Naši uređaji uključuju mikrokontroler i LoRaWAN modul za komunikaciju. Mikrokontroler sadrži šifrirani pokretački program za sigurno ažuriranje OTA softvera. To vam omogućuje stvaranje više varijanti sustava temeljenih na istoj "IoT smart device". Uređaji rade u otvorenom opsegu ISM-a bez dodatnih pretplata. LoRaWAN Gateways potrebno je koristiti za pokrivanje cijelog područja pristupom Internetu. U slučaju postojećih LoRaWAN ulaza unutar dometa uređaja (konfiguriranih za TTN poslužitelj), moguće je putem njih poslati podatke. Nadogradnja firmvera zahtijeva vlastitu mrežu / aplikaciju LoRaWAN poslužitelj i dobar domet za komunikaciju.

1.7. Opcije za poslovanje (B2B)


Postoji nekoliko mogućnosti za poslovanje i suradnju:

2. @City IoT Funkcionalnost platforme

@City platforma podržava prilagodljivi prednji predložak za vizualizaciju podataka, upite, ograničavanje i obradu (trenutni / povijesni podaci):


Korisnički front-end dostupan je putem statičke IP ili DNS preusmjeravajuće domene / poddomene / datoteke ako je dostupna.


Uzorna i demo instalacija (Omogućena je samo potencijalnim kupcima).

Obavijestite nas kada to želite testirati - kako biste omogućili javni pristup platformi.

Mogao bi zahtijevati statički IP udaljenog računala kako bi se omogućila komunikacija na platformu @City.


3. Glavna stranica

Glavna stranica namjerno ostaje prazna iz sigurnosnih razloga: http: //% YourIP% / IoT /

Može se pojedinačno omogućiti i uređivati ​​te sadržavati veze na sve dostupne usluge tvrtke @City IoT platforma ako je potrebno


4. Glavni obrazac

Glavni obrazac namijenjen je stvaranju novih unaprijed postavljenih postavki i kartica: http: //%IP%/IoT/que.php

Ovo je početni obrazac za stvaranje rezultata, pogleda i kartica za svaku konfiguraciju




Opisi (od gore i slijeva udesno)

4.1. Zaglavlje

4.1.1. Početna poveznica - (otvara tablicu stvarnih rezultata)

4.1.2. "X" potvrdni okvir - otvara / zatvara obrazac za upit

4.1.3. "V" potvrdni okvir - otvara / zatvara Obrazac polja

4.1.4. Grafičke ikone - poveznice na rezultate vizualizacije (moguće uređivanje)


4.2. Oblik:

4.2.1. "X" potvrdni okvir - otvara / zatvara cijeli obrazac upita

4.2.2. CSS - Odaberite temu vizualizacije

Izmijeni CSS datoteku teme teme vizualizacije mora postojati u "predlošci / css /" direktorij - automatski se navodi.

4.2.3.Vidljiva polja potvrdni okvir - prikazuje / skriva popis filtara polja

4.2.4. Kartica: Naziv kartice za dodavanje ili uklanjanje

4.2.5. Dodaj / ukloni Gumbi - dodajte ili uklonite kartice s imenom u Tab polje

4.2.6. Odaberite Core Dugme

Odaberite glavna polja vidljiva na tablici. To se ažurira automatski.

4.2.7. Odznači sve Dugme

Poništite odabir svih polja (mora se slijediti ručnim odabirom nekih od njih)

4.2.7. Odaberi sve Dugme

Odaberite sva polja (mora se slijediti i ručno poništiti odabir nekih od njih)

4.2.8. Sakrij filtar - Sakrij cijeli obrazac

Ovo je ekvivalentno svim potvrdnim okvirima (X)

4.2.9. Izvršiti Gumb - Promjena postavki parametara

4.2.10. "V" potvrdni okvir - prikaži / polja visokog filtra.


4.3. Kartice

Pojedinačno stvorene kartice s imenima i unaprijed postavljenim postavkama (pohranjene u sustavu Windows cfg / tabs.cfg datoteka).

Datoteka zapravo sadrži ime i URL (odvojene znakom tabulatora).


4.4. Sadržaj tablice

Prikazuje sva polja ograničena filtrom polja.


Polja u tablici:

4.4.1. Trčanje - vrsta rezultata rezultata

karta- mapiranje rezultata na karti (može se odabrati jedno ili više polja)

povijesti - povijesne karte (može se odabrati jedno ili više polja)

tab - prikazuje tablicu (može se odabrati bilo koja kombinacija polja)

bar - na trakasti grafikonu prikazano je samo jedno polje

Pritiskom na jednu od njegovih vrijednosti otvorit će se novi rezultati s odabranim poljima (za trenutni redak).


4.4.2. Kopiraj (+/- poveznice)

Dodavanje / uklanjanje kartice s imenom postavljenim u Tab polje. Koristi samo polja odabrana u istom retku tablice.


4.4.3. Linkovi tabličnih stanica

Pritiskom na bilo koje drugo ime polja pokrenut će se Vizualizacija podataka odabranog polja za odabrani redak.


4.5. Redoslijed podataka


Redoslijed prikazanih polja je kao redoslijed u obliku polja (međutim tm polje se uvijek šalje na kraj teksta). Ovaj se redoslijed može promijeniti samo izravnim uređivanjem parametara URL-a (dio narudžbe polja).


4.6. Primjer

Na primjer: Postavljanje kartice s Praćenje imovine ime i sadrži kartu s vremenom i brzinom na karti

Sav opis koji se odnosi na redak gdje "Map" tekst je u "Trčanje" stupac.

  1. Unesite ime "Praćenje imovine" u Tab polje (bez navodnika)

  2. Provjerite nisu li odabrani svi stupci u retku

  3. Odaberi tm, gps_speed_km samo u redu

  4. pritisnite + gumb gdje je u redu






5. Karte

Karte se mogu pokrenuti iz MainForma s predkonfiguracijom


5.1. Inicijalizacija karte

Inicijalizacija karte vrši se ručno kada se izvodi izravno s vezom: > http: //%IP%/IoT/maps.php


  1. Korisnik bi trebao poništiti odabir svih polja (Pritisnite Poništi odabir Dugme)

  2. Pritisnite neki potvrdni okvir za prikazana polja (npr. Ain5 (za razinu smoga) i tm (za datum / vrijeme mjerenja)

  3. pritisnite "V" potvrdni okvir za sakrivanje obrazaca polja

  4. pritisnite Izvršiti gumb za pokretanje DB upita i prikaz trenutnih podataka sa svih senzora / uređaja

  5. Karta s podacima ažurira se nakon 30 sekundi ili više.


5.2. Izborne postavke za upit

Postavke opisane slijeva udesno (na gornjoj snimci zaslona).

5.2.1. Izmijeni MAP ljestvicu (razina zumiranja)

  1. Razina zumiranja može se izmijeniti pomoću tipki (+/-) za mjerilo (trenutna_skala * 2 odnosno trenutna_skala / 2). Pritiskom na jedan od ovih gumba automatski će se izmijeniti skala.

  2. Drugi način je odabir Razine zumiranja Zum Polje kombiniranog okvira i pritisnite Izvršiti dugme. U ovom se slučaju cijeli View / Map ponovno učitava i osvježava (traje neko vrijeme tijekom inicijalizacije).

5.2.2. IMEI (Odaberite polje uređaja)

IMEIpolje sadrži jedinstveni ID uređaja ili jedinstveni zamjenski naziv uređaja. Zadana postavka je * (zvjezdica) koja prikazuje najnovije vrijednosti i geolokaciju za svaki uređaj.

Ako IMEI postavite na bilo koju drugu vrijednost, prikazat će se povijesni podaci odabranog uređaja. Ima smisla samo za pokretne i pokretne senzore, inače će se rezultati preklapati na karti na istom položaju.


5.2.3. Lon, lat (Zemljopisna dužina, koordinatna polja)

Postavite središnji položaj karte. Ovo je polje postavljeno na položaj kursora kad se na karti pritisne tipka miša.


5.2.4. Izmijeni MAP stil (tema)

Može se odabrati stil / tema karte Map Polje ComboBox (npr. Tamna, Siva, Topografska).

Različite teme karata mogu imati različite maksimalne razine zumiranja, pa bi moglo nametnuti odgovarajuću temu za povećanje razmjera karte.


5.2.5. Klauzula WHERE

Gdje se klauzula koristi za dodatni niz upita {WHERE part} za MySQL / MariaDB.

Ova se klauzula uzima u obzir za konstrukciju kompletnog niza QUERY za rezultat baze podataka. Može ograničiti podatke, vrijeme i bilo koje druge vrijednosti ograničavanjem broja rezultata. U ovom se polju moraju koristiti izvorna imena polja tablice (ne alias). Npr.

  1. gps_speed_km> 10 // brzina je veća od 10km / h

  2. ain5> 3 // ain5 je veći od 3 (zadržavanje broja čestica od 2.5um - razina smoga)

  3. gps_speed_km> 10 i ain6> 5 // brzina je veća od 10 km / h i ain6 je veća od 5 (zadržavanje broja 10 čestica - razina smoga)


5.2.6. Izvršiti (Gumb za pokretanje upita)

Pritiskom na ovaj gumb potrebno je promijeniti bilo koje postavke, parametre (osim pritiska na +/- gumbi).

Karta se učitava od početka s novim unaprijed postavljenim postavkama.

Karta se uopće ne učitava kada za trenutni upit nisu dostupni podaci.

5.2.7. Odznači sve (Ukloni sva polja iz upita)

Nakon pritiska ove tipke mora se ručno odabrati najmanje jedno polje za prikaz rezultata na karti.


5.2.8. "V" Potvrdni okvir (obrazac za otvaranje / zatvaranje polja)

Ovaj potvrdni okvir koristi se za prikaz / sakrivanje selektora polja za prikaz.


5.2.9. "X" Potvrdni okvir (Prikaži / sakrij obrazac upita)

Ovaj potvrdni okvir omogućuje sakrivanje cijelog obrasca, osim ( +/- gumbi)


Rezultati na karti kontinuirano se osvježavaju i ažuriraju novim vrijednostima

5.3. Primjer

Npr. Rezultati smoga (senzor instaliran na automobilu): čestice razine smoga 2.5um (Ain5), brzina (gps_speed_km), datum / vrijeme (tm), karta (2 - topografska), razina zumiranja 16,

Klauzula where:

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

// GPS = važeći 3D rezultati & datum = 2019-02-18 & brzina> 0 km / h



6. Prikaži rezultate u tablici

Prikaži rezultate u tablici.

Na "Glavni obrazac" pritisnite "stol" stavku, nakon odabira nekih polja za prikaz unaprijed konfigurirane tablice




6.1. Inicijalizacija tablice

Kada je tablica otvorena s veze http: //%IP%/IoT/que.php? func = tabs potrebna je prethodna inicijalizacija postavki.

Možete odabrati vidljiva polja (pritiskom na "Vidljiva polja" ) potvrdni okvir.



  1. Pritisnite sve potrebne potvrdne okvire za prikazana polja

  2. Pritisnite potvrdni okvir "Vidljiva polja" sakriti obrazac polja

  3. Pritisnite gumb Izvrši za pokretanje DB upita i prikaza tablice


6.2. Izborne postavke za upit

Postavke su opisane slijeva udesno (na snimci zaslona).

6.2.1. Poredaj - polje za sortiranje i redoslijed uzlazno / silazno

Polje sortiranja ekvivalentno je pritisku zaglavlja stupca.

6.2.2. DB / IMEI - Odaberite Uređaj

IMEIpolje sadrži jedinstveni ID uređaja ili jedinstveni zamjenski naziv uređaja. S praznom vrijednošću prikazuje tablicu najnovijih vrijednosti.

Ako IMEI postavite na bilo koju drugu vrijednost, prikazat će se povijesni podaci odabranog uređaja.


6.2.3. CSS - odaberite stil (tema vizualizacije)

6.2.4. Vidljiva polja - Prikaži / sakrij obrazac polja

6.2.5. Ukloni prazno - Ne prikazuj prazne stupce

6.2.6. "X" Potvrdni okvir (Prikaži / sakrij obrazac upita)

6.2.7. Gdje Klauzula (za ograničenje podataka)

Ovo je sufiks za dodatni niz upita MySQL / MariaDB {WHERE part}

Ova se klauzula uzima u obzir za izradu kompletnog niza QUERY za rezultat baze podataka. Može ograničiti podatke, vrijeme i bilo koje druge vrijednosti ograničavanjem broja rezultata. U ovom se polju moraju koristiti izvorna imena polja tablice (ne alias). Npr.

  1. gps_speed_km> 10 // brzina je veća od 10km / h

  2. ain5> 3 // ain5 je veći od 3 (zadržavanje broja čestica od 2.5um - razina smoga)

  3. gps_speed_km> 10 i ain6> 5 // brzina je veća od 10 km / h i ain6 je veća od 5 (zadržavanje broja 10 čestica - razina smoga)


6.2.8. Odaberite Core Gumb (Omogući najčešća polja)


6.2.9. Odznači sve Gumb (Ukloni sva polja iz upita)

Nakon pritiska ove tipke mora se ručno odabrati najmanje jedno polje za prikaz rezultata na karti.


6.2.10. Izvršiti (Gumb za pokretanje upita)

Pritiskom na ovaj gumb potrebno je promijeniti bilo koje postavke, parametre (osim pritiska na +/- gumbi).

Tablica se od početka učitava novim unaprijed postavljenim postavkama.



6.2.11. "V" Potvrdni okvir (obrazac za otvaranje / zatvaranje polja)

Ovaj potvrdni okvir koristi se za prikaz / sakrivanje selektora polja za prikaz.



Rezultati u tablici poredani su prema Vrsta postavka polja. Redoslijed sortiranja može se promijeniti pritiskom na zaglavlje retka (jednom za jedan smjer dva puta za drugi smjer).

Neki rezultati u stupcima vode na daljnje zaslone vizualizacije (tvrdo kodirani).


Prilikom prikazivanja povijesnih podataka za uređaj treba ga ograničiti kako se ne bi prikazivale cijele povijesne informacije, jer to može dovesti do problema s performansama ili nedostatka memorije.


7. Grafikoni.

Trakasti grafikoni trebaju se izvršiti iz glavnog obrasca pritiskom na jedno polje u retku "Traka".

Prikazuje sortirane trake normalizirane na maksimalnu vrijednost, prikazujući od najvišeg do najnižeg reda.

Korisno je za brzu provjeru ekstremnih rezultata i poduzimanje nekih radnji.





Događaj miša prikazat će dodatne informacije za uređaj.


8. Povijesne karte.

Povijesne se karte mogu pokrenuti iz glavnog obrasca pritiskom na odabrani stupac u retku "Povijest" (za jedno polje).

Za više polja u retku "Povijest" potrebno je označiti željena polja i pritisnuti vezu "Povijest" u stupcu "Pokreni".

Povijesni rezultati ograničeni su na zadnja 24 sata + sljedeća 24 sata (za eventualne osvježavajuće karte), kada nisu postavljena ograničenja.

8.1. Inicijalizacija povijesnih karata


Povijesne grafikone kada se otvaraju s glavne veze zahtijevaju inicijalizaciju kao i drugi rezultati, kada se otvaraju s veze bez parametara preferencija.

Za prikaz različitih stavki može se odabrati više polja. Može se postaviti i u Obrascu za filtriranje polja.




  1. Pritisnite sve potrebne potvrdne okvire za prikazana polja

  2. Pritisnite potvrdni okvir "Vidljiva polja" sakriti obrazac polja

  3. Pritisnite gumb Izvrši za pokretanje DB upita i prikaz tablice


8.2. Izborne postavke povijesnih karata

Stavke opisane od vrha i slijeva nadesno (na snimci zaslona).

8.2.1. IMEI - (Odaberite uređaj za prikaz povijesnih podataka)

IMEIpolje sadrži jedinstveni ID uređaja ili jedinstveni zamjenski naziv uređaja. Vrijednošću * (asterix) prikazuje tablicu najnovijih vrijednosti koja nema smisla.

Ako IMEI postavite na bilo koju drugu vrijednost, prikazat će se povijesni podaci odabranog uređaja.

8.2.2. Min - ograničiti minimalnu vrijednost prvog polja

8.2.3. Max - ograničiti maksimalnu vrijednost prvog polja

8.2.4. "V" - Prikaži / sakrij obrazac polja

8.2.5. Iz: postavi minimalni datum / vrijeme (*)

8.2.6. Do: postavi datum / vrijeme maksimalnog datuma (*)

8.2.7. "X" Potvrdni okvir (Prikaži / sakrij obrazac upita)

8.2.8. "Gdje" Klauzula

Klauzula za ograničavanje rezultata podataka MySQL / MariaDB dodatni niz upita {WHERE dio}.

Ova se klauzula uzima u obzir za konstrukciju kompletnog niza QUERY za rezultat baze podataka. Može ograničiti podatke, vrijeme i bilo koje druge vrijednosti ograničavanjem broja rezultata. U ovom se polju moraju koristiti izvorna imena polja tablice (ne alias) i valjana SQL sintaksa. Npr.

  1. gps_speed_km> 10 // brzina je veća od 10km / h

  2. ain5> 3 // ain5 je veći od 3 (zadržavanje broja čestica od 2.5um - razina smoga)

  3. gps_speed_km> 10 i ain6> 5 // brzina je veća od 10 km / h i ain6 je veća od 5 (zadržavanje broja 10 čestica - razina smoga)


8.2.9. Odznači sve Gumb (Ukloni sva polja iz upita)

Nakon pritiska ove tipke mora se ručno odabrati najmanje jedno polje za prikaz povijesnih rezultata.


8.2.10. Izvršiti (Gumb za pokretanje upita)

Pritisak na ovaj gumb potreban je za promjenu bilo kojih postavki, parametara (osim prikazivanja polja ili ploče s upitima). Tablica se od početka učitava novim unaprijed postavljenim postavkama.

8.2.11. "V" Potvrdni okvir (obrazac za otvaranje / zatvaranje polja)

Ovaj potvrdni okvir koristi se za prikaz / sakrivanje selektora polja za prikaz.


8.3. Barovi Varijanta: (prikazuje samo dostupne podatke)



8.4. Stalan varijanta (s istim podacima):



Pokazivač miša prikazuje vrijednosti mjerenja i datum / vrijeme.

9. Kompatibilnost web preglednika


Funkcija / WWW preglednik

Chrome 72

FireFox 65

Rub

Opera 58

Karte

+

+

+

+

Povijesni

+

+ (*)

+

+

Barovi

+

+

+

+

Kartice

+

+

+

+


* - Firefox ne podržava alat za odabir datuma / vremena (tekstno polje mora se ručno uređivati ​​u odgovarajućem formatu datuma i vremena).

Internet Explorer nije podržan (koristite Rub umjesto toga)

Ostali web preglednici nisu testirani.



10. Prilagođavanje tema

Web stranice temelje se na općenitoj datoteci predloška koja se nalazi na "predlošci" direktorij "* .template".

Uz to svaka vrsta stranice sadrži:

  1. Datoteka "* .head" koja pohranjuje zaglavlje stranice (veze, uvezeni CSS, JavaScript datoteke itd.) )

  2. Datoteke "* .foot" u kojima se nalazi podnožje stranice (veze itd.) )


Tema vizualizacije može se mijenjati prema željama korisnika suočavanjem i izmjenom CSS datoteka. CSS datoteke nalaze se u "predlošci / css" imenik. Za izradu optimiziranih za npr. Mogu se koristiti različite teme web stranica. ispis, pametni telefoni, predlošci PAD-ova.


Table pogledi - imaju odabirljivo polje za odabir CSS datoteke za cjelovitu izmjenu teme (pohranjene u "predlošci / css / kartice" imenik).




Map pogleda - opću temu odabire "karta" tip kombinirani okvir. Uz to postoji i zadana CSS datoteka "predlošci / css / map.css" koji sadrži neke dodatne funkcije poput rezultata skrivanja / bojanja na temelju njegovih vrijednosti. Ostatak ove CSS datoteke praktički je ograničen na obrasce upita i polja.


Većina @City platforma PHP datoteke za vizualizaciju prihvaćaju cssparametar s vrijednošću naziva datoteke za temu (bez nastavka). Datoteka se mora nalaziti u direktoriju "templates / css", a naziv razlikuje velika i mala slova.


Neki se elementi prikaza teme nalaze izravno u datoteci located koja se nalazi u "predložak / js" imenik.

Glavni @Grad skripta"@ City.js" nalazi se u gornjem direktoriju. U tome nema mogućnosti preinake mjesto, međutim skripta se može kopirati na "predlošci / js" direktorij i tamo izmijenjen. Korištenje pojedinačne skripte zahtijeva ažuriranje svih datoteka zaglavlja.

11. Ažuriranje algoritama


Neki jedinstveni senzori mogu zahtijevati namjenske funkcije izračuna.

Ne postoji mogućnost ažuriranja i održavanja više varijanti @City Server softver, Prednje PHP sučelje, što bi uzrokovalo mnogo problema, verzija, pogrešaka.

Najbolji i najjednostavniji način da se to postigne je ažuriranje JavaScript "overlay" datoteka za pravilan prikaz vrijednosti / opisa.

Izvorne JS skripte su otvorena tekstualna datoteka i mogu se prilagoditi potrebama kupaca. Kao što je navedeno u prethodnom poglavlju, u njih se moraju kopirati "predlošci / js" direktorij u kojem kupac ima prava pristupa za izmjenu.


Tehnički aspekt programiranja @Grad sustav nije predmet ovog dokumenta, međutim web programer s osnovnim znanjem HTML-a i JS-a može prilagoditi Front-end web aplikaciju individualnim potrebama kupaca.


12. Struktura baze podataka


Baza podataka @City s imenom "IoT" ili "* IoT" podijeljen je u tablice (gdje je asterix prefiks, ovisno o poslužitelju hostinga - ako je potrebno). Baza podataka može se vidjeti u PHPAdmin (web aplikacija) na poveznici http: //% IP% / phpmyadmin




Postavljene tablice za svaki uređaj (gdje * {asterix} je IMEI adresa - jedinstveni ID):

Ostale tablice:



12.1. Struktura tablica "ithings_" i "*"

12.2. Naredba uređaja (događaji) red tablica "* _c" tablica - struktura


Ova je tablica red događaja / naredbi za svaki uređaj i ima sljedeću strukturu:



12.3. Pristup rezultatima iz baza podataka - srednja razina (čitanje podataka)


Podaci mogu biti dostupni bez Front-end web aplikacije. Sustav @City sadrži skriptu s funkcijama srednje razine. Rezultati se vraćaju u JSON formatu.


12.3.1. Dohvatite trenutne statuse svih uređaja

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


Upit se vraća cjelovit "_stvari" tablica (trenutni statusi svih uređaja) u JSON formatu:

[{ "zemlja":"", "Grad":"", "kontinent":"", "zemlja":"", "regija":"", "podregija":"", "subregija":"", "Grad":"", "okrug":"", "ulica":"", "ulica_br":"", "artikl_nr":"", "gps_lat":"0000,0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "stvaranje":"2019-02-09 18:12:38", "posljednji":"0000-00-00 00:00:00", "događaji":"", "korisnik":"", "proći":"", "imei":"351580051067110", "s n":"", "status":"73000200000f360033026800240000002c002c002dffffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb30532", "hash_code":"", "adr":"", "fwnr":"", "onemogućeno":"", "gsm_nr":"", "prodavač":"", "Vremenska zona":"", "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":"", "događaji":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "van5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "van12":"0", "out13":"0", "out14":"0", "out15":"0", "out16":"0", "in1":"0", "u2":"0", "in3":"0", "in4":"0", "u5":"0", "in6":"0", "in7":"0", "in8":"0", "u9":"0", "u10":"0", "u11":"0", "u12":"0", "u13":"0", "u14":"0", "u15":"0", "u16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "au5":"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", "tekst1":"", "tekst2":"", "tekst3":"", "tekst4":"", "tekst5":"", "tekst6":"" }]

12.3.2. Dohvatite povijesne podatke za uređaj

Upit povijesnih podataka jednog uređaja prema IMEI br:

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


Budući da cijela tablica može sadržavati milijune redaka, trebala bi biti ograničena klauzulom WHERE kako ne bi prekinula poslužitelj.

Dodatni parametri url parametri:

func - imeijson

imei - IMEI uređaja

polje - polja koja će se prikazati u rezultatima (popis odvojen zarezom)

min - minimalna vrijednost za prvo polje s popisa

maks - maksimalna vrijednost za prvo polje s popisa

silit - polje za sortiranje

tm - polje se automatski dodaje rezultatima.

where - gdje klauzula o limt podacima


Primjer:

Želimo dobiti sljedeći rezultat

za uređaj sa imei=356345080018095

prikaži polja: ain5, ain6, gps_lat, gps_long

i ograničiti au5 u dometu ( 1, 10000 ) - mora biti prvo polje na popisu

i GPS imaju valjane podatke (gps_fix = 3)

i datum / vrijeme (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Konstruirani niz URL-a:

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


Rezultati upita:

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

12.3.3. Dohvatite popis uređaja - jedno polje iz trenutnih statusa s ograničenjima

Ova funkcija vraća ograničene podatke iz tablice "_ithings"


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



Parametri:

func - fieldjson

polje - polje za prikaz u rezultatima - imei i tm automatski se dodaju

min - minimalna vrijednost za polje

maks - maksimalna vrijednost za polje


Za gornji niz upita vraća se rezultati ain5, imei, tm polja:

ako au5 je u dometu (13.5000)


Rezultati upita:

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

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

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