@City IoT Cloud Platform




iSys - Inteligentni sustavi IoT Rješenja









IoE.Systems

Sadržaj

1. Uvod. 5

1.1 Podržani tipovi uređaja. 5

1.2. Podržani tipovi proizvoda. 5

1.3. Podržani komunikacijski protokoli 5

1.4. Podržana komunikaciona tehnologija uređaja 6

1.5. @City Cloud Server 6

1.5.1. Serverski i komunikacijski pristupnici 7

1.5.2 HTTP LoRaWAN integracija 7

1.5.3. Prednji interfejs 8

1.5.3. Prava pristupa serveru 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 poslovanje (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 veza - (otvara tabelu 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 - veze 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 za vizualizaciju 12

4.2.3. Potvrdni okvir Vidljiva polja - prikazuje / skriva listu filtera 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 sve dugme 12

4.2.8. Sakrij filtar - sakrij cijeli obrazac 12

4.2.9. Dugme Execute - Promjena postavki parametara 13

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

4.3. Kartice 13

4.4. Sadržaj tabele 13

4.4.1. Pokreni - pregledava tip rezultata 13

4.4.2. Kopija (+/- linkovi) 13

4.4.3. Linkovi tabličnih ćelija 13

4.5. Redoslijed podataka 13

4.6. Primjer 13

5. Mape 15

5.1. Inicijalizacija karte 15

5.2. Neobvezna podešavanja 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 (Geografska dužina, koordinatna polja) 16

5.2.4. Izmijeni MAP stil (tema) 16

5.2.5. GDJE Klauzula 16

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

5.2.7. Poništi izbor svih (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 tabeli 18

6.1. Inicijalizacija tabele 18

6.2. Neobvezna podešavanja za upit 19

6.2.1. Sortiraj - sortiraj polje i poredaj 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 - Prikaž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 Where (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 Sve (Ukloni sva polja iz upita) 20

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

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

7. Bar Charts. 21

8. Istorijske karte. 22

8.1. Inicijalizacija istorijskih karata 22

8.2. Neobvezna podešavanja istorijskih 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: postaviti 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. "Gde" Klauzula 23

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

8.2.10. Izvrši (dugme 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 pregledača 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. Tabela reda naredbi uređaja (događaji) "* _c" tablica - struktura 30

12.3. Pristup rezultatima iz baza podataka - srednji nivo (čitanje podataka) 30

12.3.1. Dohvatite trenutne statuse svih uređaja 30

12.3.2. Dohvatite historijske podatke za uređaj 31

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


1. Uvod.

@City dedicated Cloud Platform je posvećen "mikro oblak" sistem za pojedinačne kupce. Platforma se ne može dijeliti i samo jedan kupac ima pristup fizičkom ili virtualnom serveru (VPS ili namjenski serveri). Kupac može odabrati jedan od desetina data centara u Evropi ili u svijetu.

1.1 Podržani tipovi uređaja.

@City IoT platforma posvećena je praćenju iSys.PL proizvoda



1.2. Podržani tipovi proizvoda.

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


1.3. Podržani komunikacijski protokoli

@City IoT platforma podržava sljedeće protokole za komunikaciju:

Podaci poslati 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 komunikaciona tehnologija uređaja

@City IoT platforma podržava:


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


1.5. @City Cloud Server

@City softver radi na VPS baziranom na Linuxu (Virtual Private Server) ili Namenskom serveru na internetskoj strani, ovisno o traženim performansama Server (nazvan kasnije Server):


Postoji nekoliko varijanti VPS-a ovisno o:


Desetine namjenskih poslužitelja postoje ovisno o:


Platforma @City is posvećena je jednom kupcu:


Budući da nije zajednički server između kupaca, to pojednostavljuje sigurnosni pristup i probleme s performansama. Iz tog razloga samo je kupac odgovoran za efikasnu sigurnost, stabilnost, efikasnost, protok podataka itd. U slučaju nedovoljnih performansi, kupac može kupiti viši plan (VPS ili namjenski server), 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 kupaca.

1.5.1. Server i komunikacijski pristupnici

Komunikacija @City servera ostvarena je na osnovu aplikacije na niskom nivou za maksimalizaciju performansi.

Glavne karakteristike 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 / serveru aplikacija.

Podržano je nekoliko vrsta mrežnog / aplikacijskog servera:

TTN (ograničeno vrijeme "U emitovanju" 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 server 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. Prednje sučelje

Front-end interfejs je realizovan sa PHP skriptama za izdvajanje prilagođenih podataka iz @City Cloud Database. Koristi vrlo elastičan mehanizam pretraživanja, zasnovan na originalnim SQL upitima, kako bi ograničio željene podatke. Interfejs daje rezultate upita u JSON formatu za dalje dekodiranje i obradu putem application Front-end Web „aplikacije“.

Originalni front-end interfejs je isti za svakog korisnika i ne može se prilagoditi različitim kupcima.

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

1.5.3. Prava pristupa serveru

Korisnička prava pristupa (fizičkom serveru) su ograničena.

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

Ostala prava pristupa:


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

Pod 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 ukupnu sigurnost sistema, 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 pokretački program za sigurnu nadogradnju OTA firmvera. To omogućava stvaranje mnogih verzija sistema zasnovanih na istoj "CIoT Smart uređaj".


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


Ethernet i WiFi kontroleri omogućavaju IP komunikaciju zasnovanu na sistemu (bez naplate prenosa podataka GSM operateru). Ovi uređaji imaju i šifrirani pokretački program, a uređaji se mogu ažurirati putem izvornog sučelja. Za WiFi ima OTA nadogradnju firmvera sa glavnog servera


1.6.2. IoT - LoRaWAN uređaji

LoRaWAN omogućava prijenos podataka na vrlo velike udaljenosti (do cca. 15km). Ovaj opseg ovisi o brzini prijenosa podataka, količini podataka, urbanizaciji područja i efikasnosti 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ćava stvaranje više varijanti sistema zasnovanih na istoj "IoT smart device". Uređaji rade u otvorenom opsegu ISM-a bez dodatnih pretplata. Neophodno je koristiti LoRaWAN Gateways za pokrivanje čitavog područja pristupom Internetu. U slučaju postojećih LoRaWAN ulaza unutar dometa uređaja (konfiguriranih za TTN server), moguće je putem njih poslati informacije. Nadogradnja firmvera zahtijeva vlastiti mrežni / aplikacijski LoRaWAN server i dobar domet za komunikaciju.

1.7. Opcije za biznis (B2B)


Postoji nekoliko mogućnosti za poslovanje i saradnju:

2. @City IoT Funkcionalnost platforme

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


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


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

Molimo vas da nas obavjestite kada to želite testirati - kako biste omogućili javni pristup platformi.

Mogla bi biti potrebna statička IP udaljenog računara 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 do svih dostupnih usluga @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 (odozgo i slijeva udesno)

4.1. Zaglavlje

4.1.1. Početna veza - (otvara tabelu 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 - veze do rezultata vizualizacije (moguće uređivanje)


4.2. Obrazac:

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

4.2.2. CSS - Odaberite temu vizualizacije

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

4.2.3.Vidljiva polja potvrdni okvir - prikazuje / skriva listu filtera polja

4.2.4. Tab: 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. Označi sve Dugme

Odaberite sva polja (mora se slijediti ručno poništavanje odabira)

4.2.8. Sakrij filtar - Sakrij cijeli obrazac

Ovo je ekvivalentno svim potvrdnim okvirima (X)

4.2.9. Izvršiti Dugme - Promenite postavke parametara

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


4.3. Kartice

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

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


4.4. Sadržaj tabele

Prikazuje sva polja ograničena filterom polja.


Polja u tabeli:

4.4.1. Run - pregleda rezultat rezultata

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

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


4.4.2. Kopiraj (+/- veze)

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


4.4.3. Linkovi tabličnih ćelija

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


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 sa Praćenje imovine ime i sadrži mapu s vremenom i brzinom na karti

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

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

  2. Provjerite nisu li odabrani svi stupci u redu

  3. odaberite tm, gps_speed_km samo u nizu

  4. pritisnite + dugme u redu






5. Maps

Mape se mogu pokrenuti iz MainForma s predkonfiguracijom


5.1. Inicijalizacija mape

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


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

  2. Pritisnite neko polje za potvrdu za prikazana polja (npr. Ain5 (za nivo smoga) i tm (za datum / vrijeme mjerenja)

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

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

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


5.2. Izborne postavke za upit

Postavke opisane slijeva udesno (na gornjem snimku zaslona).

5.2.1. Izmjena skale MAP (razina zumiranja)

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

  2. Drugi način je odabir nivoa zumiranja Zoom Polje kombiniranog okvira i pritisnite Izvršiti dugme. U ovom slučaju cijeli View / Map se ponovo 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 mapi na istom položaju.


5.2.3. Lon, Lat (Polja dužine, širine koordinata)

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


5.2.4. Izmijeni MAP stil (tema)

Može se odabrati stil / tema mape Map Polje ComboBox (npr. Tamno, sivo, topografsko).

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


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 originalna 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 - nivo smoga)

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


5.2.6. Izvršiti (Dugme za pokretanje upita)

Pritiskom na ovo dugme potrebno je promijeniti bilo koje postavke, parametre (osim pritiska +/- tipke).

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

Mapa 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 ovog gumba mora se ručno odabrati najmanje jedno polje za prikaz rezultata na mapi.


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ćava sakrivanje cijelog obrasca, osim ( +/- tipke)


Rezultati na karti se kontinuirano 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), nivo 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 i brzina> 0 km / h



6. Prikaži rezultate u tabeli

Prikaži rezultate u tabeli.

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




6.1. Inicijalizacija tabele

Kada je tablica otvorena sa veze http: //%IP%/IoT/que.php? func = tabs potrebno je prethodno pokretanje postavki.

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



  1. Pritisnite sva obavezna polja za potvrdu 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 snimku zaslona).

6.2.1. Poredaj - polje sortiranja 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. Sa 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 - Pokaž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. Gde Klauzula (za ograničenje podataka)

Ovo je sufiks za MySQL / MariaDB dodatni niz upita {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 originalna 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 - nivo smoga)

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


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


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

Nakon pritiska ovog gumba mora se ručno odabrati najmanje jedno polje za prikaz rezultata na mapi.


6.2.10. Izvršiti (Dugme za pokretanje upita)

Pritiskom na ovo dugme potrebno je promijeniti bilo koje postavke, parametre (osim pritiska +/- tipke).

Tabela 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 tabeli sortirani su prema Sortiraj podešavanje polja. Redoslijed sortiranja može se promijeniti pritiskom na zaglavlje reda (jednom za jedan smjer dva puta za drugi smjer).

Neki rezultati u stupcima vode do daljnjih zaslona za vizualizaciju (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. Bar Charts.

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

Prikazuje sortirane trake normalizirane na maksimalnu vrijednost, pokazujuć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. Istorijske karte.

Povijesne karte mogu se pokrenuti iz glavnog obrasca pritiskom na odabrani stupac u redu "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 su ograničeni na posljednja 24 sata + sljedeća 24 sata (za eventualne osvježavajuće karte), kada nisu postavljena ograničenja.

8.1. Inicijalizacija istorijskih karata


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

Za prikaz različitih stavki može se odabrati više polja. Takođe se može postaviti u obrascu za filtriranje polja.




  1. Pritisnite sva obavezna polja za potvrdu za prikazana polja

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

  3. Pritisnite dugme Izvrši da biste pokrenuli DB upit i prikazali tablicu


8.2. Neobvezna podešavanja istorijskih karata

Predmeti opisani odozgo i slijeva nadesno (na snimku 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. Sa 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či minimalnu vrijednost prvog polja

8.2.3. Max - ograniči maksimalnu vrijednost prvog polja

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

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

8.2.6. To: postavlja maksimalan datum / datum datuma (*)

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

8.2.8. "Gde" Klauzula

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

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 - nivo smoga)

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


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

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


8.2.10. Izvršiti (Dugme za pokretanje upita)

Pritisak ovog dugmeta potreban je za promjenu bilo kojih postavki, parametara (osim prikazivanja polja ili ploče s upitima). Tabela 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. Kontinuirano varijanta (sa istim podacima):



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

9. Kompatibilnost web pregledača


Funkcija / WWW pretraživač

Chrome 72

FireFox 65

Edge

Opera 58

Maps

+

+

+

+

Istorijski

+

+ (*)

+

+

Barovi

+

+

+

+

Kartice

+

+

+

+


* - Firefox ne podržava birač datuma / vremena (polje za tekst mora biti ručno uređeno u odgovarajućem formatu vremena i datuma).

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

Ostali web pregledači nisu testirani.



10. Prilagođavanje tema

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

Pored toga, svaki tip stranice sadrži:

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

  2. "* .foot" datoteke 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 se nalaze u "predlošci / css" direktorij. Za kreiranje optimiziranih za npr. Mogu se koristiti različite teme web stranica. ispis, SmartPhones, PADs predlošci.


Table pogledi - imaju polje za odabir CSS datoteke za potpunu izmjenu teme (pohranjeno u "templates / css / tabs" direktorij).




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


Večina @City Platform Prihvataju se PHP datoteke za vizualizaciju cssparametar s vrijednošću imena datoteke za temu (bez nastavka). Datoteka se mora nalaziti u direktoriju "templates / css", a ime razlikuje velika i mala slova.


Neki elementi prikaza teme nalaze se direktno u JavaScript datoteci koja se nalazi u "predložak / js" direktorij.

Glavna @City skripta"@ City.js" nalazi se u gornjem direktoriju. U tome ne postoji mogućnost modifikacije lokaciji, 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 proračuna.

Ne postoji mogućnost ažuriranja i održavanja više varijanti @City Server softver, Front-end PHP sučelje, što bi uzrokovalo puno problema, verzija, grešaka.

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

Izvorne JS skripte su otvorena tekstualna datoteka i mogu se usvojiti prema 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 @City Sistem 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 hosting serveru - ako je potrebno). Baza podataka može se vidjeti u PHPAdmin (web aplikacija) na linku http: //% IP% / phpmyadmin




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

Ostale tablice:



12.1. Struktura tablica "ithings_" i "*"

12.2. Tabela reda naredbi uređaja (događaji) "* _c" tablica - struktura


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



12.3. Pristup rezultatima iz baza podataka - srednji nivo (čitanje podataka)


Podaci mogu biti dostupni bez Front-end web aplikacije. @City sistem sadrži skriptu sa srednjim funkcijama. 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 "_ithings" tablica (trenutni statusi svih uređaja) u JSON formatu:

[{ "zemlja":"", "grad":"", "kontinent":"", "zemlja":"", "region":"", "subregion":"", "subregion":"", "grad":"", "okrug":"", "ulica":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "kreacija":"2019-02-09 18:12:38", "zadnji":"0000-00-00 00:00:00", "događaji":"", "korisnik":"", "proći":"", "imei":"351580051067110", "lok":"", "status":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb30532", "hash_code":"", "adresa":"", "fwnr":"", "invalid":"", "gsm_nr":"", "prodavac":"", "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", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "out12":"0", "out13":"0", "out14":"0", "out15":"0", "out16":"0", "in1":"0", "in2":"0", "in3":"0", "in4":"0", "in5":"0", "in6":"0", "in7":"0", "in8":"0", "in9":"0", "in10":"0", "in11":"0", "in12":"0", "in13":"0", "in14":"0", "in15":"0", "in16":"0", "ain1":"3894", "ain2":"51", "ain3":"616", "ain4":"36", "ain5":"0", "ain6":"44", "ain7":"44", "ain8":"45", "sens1":"0", "sens2":"0", "sens3":"0", "sens4":"0", "sens5":"0", "sens6":"0", "sens7":"0", "sens8":"0", "dimm1":"255", "dimm2":"255", "dimm3":"255", "dimm4":"255", "dimm5":"255", "dimm6":"255", "dimm7":"255", "dimm8":"255", "int1":"-16776767", "int2":"450", "int3":"", "int4":"", "int5":"", "int6":"0", "text1":"", "text2":"", "text3":"", "text4":"", "text5":"", "text6":"" }]

12.3.2. Dohvatite historijske podatke za uređaj

Upit za povijesne podatke 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 (lista odvojena zarezom)

min - minimalna vrijednost za prvo polje sa liste

maks - maksimalna vrijednost za prvo polje sa liste

silit - polje za sortiranje

tm - polje se automatski dodaje rezultatima.

where - gdje klauzula o ograničenim podacima


Primjer:

Želimo dobiti sljedeći rezultat

za uređaj sa imei=356345080018095

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

i limit ain5 u dometu ( 1, 10000 ) - mora biti prvo polje na listi

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 =ain5, 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:

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

12.3.3. Nabavite 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 se vraća rezultati ain5, imei, tm polja:

ako ain5 je u dometu (13,5000)


Rezultati upita:

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

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

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