@City IoT Piattaforma Cloud




iSys - Sistemi Intelligenti IoT Soluzioni









IoE.Sistemi

Table di Cuntenutu

1. Introduzione. 5

1.1 Tipi di dispositivi supportati. 5

1.2. Tipi di prudutti supportati. 5

1.3. Protocolli di cumunicazione supportati 5

1.4. Tecnulugia di Comunicazione Supportata di i Dispositivi 6

1.5. @City Cloud Server 6

1.5.1. Server è gateway di cumunicazione 7

1.5.2 Integrazione HTTP LoRaWAN 7

1.5.3. Interfaccia front-end 8

1.5.3. Diritti d'accessu à u servitore 8

1.6. Dispositivi Smart 9

1.6.1. CIoT - Dispositivi GSM 9

1.6.3. BAS, BMS, IoT - Dispositivi Ethernet è WiFi 9

1.6.2. Dispositivi IoT -LoRaWAN 9

1.7. Opzioni Business to Business (B2B) 9

2. @City IoT Funzionalità di a Piattaforma 10

3. Pagina principale 11

4. Principale Form 11

4.1. Intestazione 12

4.1.1. Link Home - (apre a tabella di risultati effettivi) 12

4.1.2. Casella di selezzione "X" - apre / chjude u Form 12 di Query

4.1.3. Casella di cuntrollu "V" - apre / chjude i Campi Form 12

4.1.4. Icone grafiche - ligami per risultati di visualizazione (modificabile) 12

4.2. Forma: 12

4.2.1. Casella di selezzione "X" - apre / chjude tuttu u Form 12 di Query

4.2.2. CSS - Selezziunate u Tema di Visualizazione 12

4.2.3 Casella di cuntrollu Campi Visibili - mostra / nasconde Lista di Filtri Campi 12

4.2.4. Tab: Tab Name per aghjunghje o eliminà 12

4.2.5. Add / Remove Buttons - Aghjunghjite o sguassate tabulature cù u nome in u campu Tab 12

4.2.6. Selezziunate u Pulsante Core 12

4.2.7. Deselezziunate tuttu u Pulsante 12

4.2.7. Selezziunate Tuttu u Pulsante 12

4.2.8. Nascondite u Filtru - Nascondite a Forma 12 sana

4.2.9. Execute Button - Cambia i paràmetri 13

4.2.10. Casella di cuntrollu "V" - mostra / campi di filtru altu. 13

4.3. Schede 13

4.4. Table Table 13

4.4.1. Run - vede u risultatu tippu 13

4.4.2. Copia (+/- ligami) 13

4.4.3. Ligami di Cellula di Table 13

4.5. Ordine di dati 13

4.6. Esempiu 13

5. Carti 15

5.1. Inizializazione di a carta 15

5.2. Impostazioni Opzionali per a query 15

5.2.1. Mudificà a scala MAP (Livellu Zoom) 16

5.2.2. IMEI (Selezziunà u Campu di Dispositiu) 16

5.2.3. Lon, Lat (Longitudine, campi di coordinate di latitudine) 16

5.2.4. Modificà u Stile MAP (Tema) 16

5.2.5. ONDE Clausula 16

5.2.6. Execute (Run Query Button) 16

5.2.7. Deselezziunate tuttu (Eliminate tutti i campi da a quistione) 17

5.2.8. Casella di selezzione "V" (Apertura / Close Formu di Campu) 17

5.2.9. Casella di selezzione "X" (Mostra / Nascite u Forma di Query) 17

5.3. Esempiu 17

6. Mostra Risultati in a Tabella 18

6.1. Inizializazione di u tavulu 18

6.2. Impostazioni Opzionali per a dumanda 19

6.2.1. Ordina - ordina u campu è ordina ascendente / discendente 19

6.2.2. DB / IMEI - Selezziunà u Dispositivu 19

6.2.3. CSS - selezziunate stile (Tema di Visualizazione) 20

6.2.4. Campi Visibili - Mostra / Nascondi Campi Forma 20

6.2.5. Elimina Vuotu - Ùn vede micca e colonne viote 20

6.2.6. Casella di selezzione "X" (Mostra / Nascite u modulu di quistione) 20

6.2.7. Clausola induve (per limitazione di dati) 20

6.2.8. Selezziunate u Pulsante Core (Attivate i campi più cumuni) 20

6.2.9. Deselezziunate tuttu u Pulsante (Elimina tutti i campi da a quistione) 20

6.2.10. Execute (Run Query Button) 20

6.2.11. Casella di selezzione "V" (Forma di Campu Apertu / Chjuditu)

7. Grafici à barre. 21

8. Grafichi Storichi. 22

8.1. Inizializazione di i grafichi storichi 22

8.2. Impostazioni Opzionali di Grafici Storichi 23

8.2.1. IMEI - (Selezziunà Dispositivu per visualizà i dati storichi) 23

8.2.2. Min - limite u valore minimu di u primu campu 23

8.2.3. Max - limite valore massimu di u primu campu 23

8.2.4. "V" - Mostra / Nascite i Campi Forma 23

8.2.5. Da: stabilisce data / ora minima (*) 23

8.2.6. À: imposta data / ora massima (*) 23

8.2.7. Casella di selezzione "X" (Mostra / Nascite u Modulu di Query) 23

8.2.8. "Induve" Soggiru 23

8.2.9. Deselezziunate tuttu u Pulsante (Elimina tutti i campi da a quistione) 23

8.2.10. Esecutà (Esecutà Query Button) 23

8.2.11. Casella di selezzione "V" (Apertura / Close Formu di Campu) 24

8.3. Variante di Bar: (mostra solu i dati dispunibili) 24

8.4. Variante cuntinua (cù listessi dati): 24

9. Compatibilità di u navigatore Web 25

10. Personalizazione di i Temi 26

11. Actualizazione d'Algoritmi 27

12. Struttura di basa di dati 28

12.1. "ithings_" è "*" tavule struttura 29

12.2. Comandi di dispositivi (Eventi) in coda "* _c" tavula - struttura 30

12.3. Accessu à i risultati da e basi di dati - Livellu Mediu (Lettura di Dati) 30

12.3.1. Uttenite i statuti attuali di tutti i dispositivi 30

12.3.2. Uttenite dati storichi per u Dispositiu 31

12.3.3. Uttenite l'elencu di dispositivi - campu unicu da stati attuali cù limitazione 32


1. Introduzione.

@City IoT Cloud Platform hè dedicatu "micru-nuvulu" sistema per i clienti individuali. A piattaforma ùn hè micca spartibile è solu un cliente hà accessu à u servitore fisicu o virtuale (VPS o servitori dedicati). U Cliente pò selezziunà unu di decine di centri di dati in Europa o in u mondu.

1.1 Tipi di dispositivi supportati.

A piattaforma @City IoT hè dedicata à seguità i prudutti iSys.PL



1.2. Tipi di prudutti supportati.

@City (eCity) Cloud IoT A piattaforma hè un sistema di dimensioni diverse per i prudutti IP called (chjamati inseme cum'è @Materiale di a cità o Dispositivi CioT ):


1.3. Protocolli di cumunicazione supportati

A piattaforma @City supports supporta i seguenti protocolli per a cumunicazione:

L'inviu di dati da u cuntrollore à u servitore in nuvola è vice-versa sò criptati in furmatu binariu unicu per a dimensione più bassa di dati è una sicurezza aumentata. Ogni cumpagnu riceve a so propria chjave di crittografia unica per l'autorizazione di dispositivi, verificazione di validità di dati, ecc.


Per i dispositivi non eHouse / eCity pudemu furnisce algoritmi di crittografia individuale ( "C" codice surghjente) per ogni cumpagnu per microprocessatore per prutege i dati prima di cumunicà.

In questu casu i dati sò cumpletamente sicuri durante a cumunicazione bidirezionale nantu à i media di cumunicazione publica (internet, Air, etc.) ).


1.4. Tecnulugia di Comunicazione Supportata di i Dispositivi

@City IoT piattaforma supporta:


@City IoT A piattaforma hè dedicata à dispositivi / nodi:


1.5. @City Cloud Server

U software @City funziona nantu à VPS basatu in Linux (Server Privatu Virtuale) o Server Dedicatu in Internet, secondu e prestazioni richieste di u Servitore (chjamatu Servitore dopu):


Diversi varianti di VPS esistenu secondu:


Decine di servitori Dedicati esistenu secondu:


A piattaforma @City IoT hè dedicata à un cliente unicu:


Perchè ùn hè micca servitore spartibile trà i clienti, simplifica l'accessu à a sicurezza è e prublemi di prestazione. Per questa ragione solu u cliente hè responsabile di sicurezza efficace, stabilità, efficienza, trasmissione di dati, ecc. In casu di prestazioni insufficienti, u cliente pò cumprà un pianu più altu (VPS o Servitore Dedicatu), più ottimale per a funzionalità è e prestazioni previste.

In casi speciali "Cloud to cloud" A cumunicazione pò esse implementata per a mundialisazione è a centralisazione di i dati in e zone più grandi invece di u cloud multi-cliente.

1.5.1. Server è porte di cumunicazione

A cumunicazione di @City Server hè realizata basatu annantu à l'applicazione di livellu bassu per a massimizazione di e prestazioni.

Caratteristiche principali di l'applicazione @City Server sò:

U software @City Server hè u listessu per ogni utilizatore è ùn pò micca esse persunalizatu per i clienti diversi.

1.5.2 Integrazione HTTP LoRaWAN

I cuntrolli LoRaWAN sò integrati cù u nuvellu @City via l'interfaccia HTTP (webhooks) dispunibule nantu à a rete / servitore d'applicazione LoRaWAN.

Parechji tippi di rete / servitore d'applicazione sò supportati:

TTN (tempu limitatu "In diretta" è u numeru massimu di cumandamenti mandati à u driver è ùn supportanu micca l'upgrade di firmware)

LoraWAN-Stack (Richiede l'ospitu nantu à un dispositivu fisicu cù accessu internet).

LoraServer.Io (Richiede l'ospitu nantu à un dispositivu fisicu cù accessu à Internet - invia solu dati à u servitore è ùn supporta micca l'upgrade di firmware)



U @City Cloud per i controller LoRaWAN hè divisu di listessa manera chì per altre interfacce. Hè discuttu in u capitulu precedente.

1.5.3. Interfaccia front-end

L'interfaccia front-end hè realizata cù script PHP per estrarre dati persunalizati da @City Cloud Database. Utilizza un meccanismu di ricerca assai elasticu, basatu annantu à e richieste SQL originali per limità i dati desiderati. L'interfaccia furnisce risultati di query in furmatu JSON per ulteriore decodificazione è trasfurmazioni da JavaScript "applicazione" Web front-end.

L'interfaccia front-end originale hè listessa per ogni utilizatore è ùn pò micca esse persunalizata per diversi clienti.

L'interfaccia di superposizione pò esse creata da u nostru persunale o in a cooperazione per assicurà a persunalizazione per u cliente.

1.5.3. Diritti di accessu à u servitore

I diritti di accessu à i clienti (à u Server fisicu) sò limitati.

Accessu à u schedariu solu per u cartulare "mudelli" (fugliali di testu nativi - .txt, .js, .css, .html):

Altri diritti d'accessu:


iSys - Staff di Sistemi Intelligenti - anu un accessu illimitatu à tuttu u servitore cumpresu u contu root è l'accessu DB cumpletu per a manutenzione.

In certe circustanze iSys puderia cuncede diritti limitati addiziunali à u cliente (script PHP, fugliali) dopu avè verificatu u còdice surghjente, esaminatu testi, s'ellu ùn affetta micca a sicurezza generale, a stabilità è e prestazioni di u sistema.


1.6. Dispositivi Smart

1.6.1. CIoT - Dispositivi GSM

I nostri dispositivi cuntenenu microcontrollore è modulu GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) per a cumunicazione. U Microcontrollore cuntene bootloader crittografatu per un aghjurnamentu di firmware OTA sicuru. Questu permette di creà molte varianti di sistema basate annantu à u listessu "Dispositiu intelligente CIoT".


1.6.3. BAS, BMS, IoT - Dispositivi Ethernet è WiFi


Controllori Ethernet è WiFi permettenu una cumunicazione basata IP à u sistema (senza carica per u trasferimentu di dati à l'operatore GSM). Questi dispositivi anu ancu criptatu u bootloader è i dispositivi ponu esse aggiornati via a so interfaccia nativa. Per u WiFi hà l'aghjurnamentu di firmware OTA da u servitore principale


1.6.2. IoT - Dispositivi LoRaWAN

LoRaWAN permette a trasmissione di dati nantu à distanze assai lunghe (finu à ca. 15km). Questa gamma dipende da a velocità di trasmissione di dati, a quantità di dati, l'urbanizazione di a zona è l'efficienza di i percorsi radio di i dispositivi.

I nostri dispositivi includenu un microcontrollore è un modulu LoRaWAN per a cumunicazione. U microcontrollore cuntene un bootloader criptatu per l'aghjurnamentu sicuru di u software OTA. Questu vi permette di creà parechje varianti di sistema basate annantu à listesse "IoT smart device". I dispositivi operanu in a banda aperta ISM senza spese di abbonamentu addiziunali. Hè necessariu aduprà LoRaWAN Gateways per copre tutta l'area cù accessu à Internet. In u casu di e porte LoRaWAN esistenti in a gamma di dispositivi (configurati per u servitore TTN), hè pussibile invià informazioni per mezu di elli. L'aghjurnamentu di u firmware richiede un servitore LoRaWAN propiu rete / applicazione è una bona gamma per a cumunicazione.

1.7. Opzioni Business to Business (B2B)


Ci hè parechje opzioni per l'imprese è a cooperazione:

2. @City IoT Funziunalità di Piattaforma

A piattaforma @City supporta un mudellu Front-End persunalizabile per a visualizazione di dati, query, limitazione è elaborazione (Dati attuali / storichi):


U Front-End di l'Usuariu hè accessibile via IP staticu o duminiu / sottodominiu / fugliale di reindirizzamentu DNS s'ellu dispunibule.


Installazione esemplaria & Demo (Hè permessa solu per i futuri clienti).

Per piacè informateci quandu vulete testallu - per abilità l'accessu publicu à a piattaforma.

Puderia richiede IP statica di urdinatore remoto per abilità a cumunicazione à a piattaforma @City.


3. Pagina principale

A pagina principale hè lasciata viota intenzionalmente per ragioni di sicurezza: http: //% YourIP% / IoT /

Pò esse attivatu è modificatu individualmente è cuntene ligami per tutti i servizii dispunibili di @City IoT Piattaforma s'ellu hè necessariu


4. Forma Principale

Main Form hè destinatu à creà novi presets è tabulazioni: http: //%IP%/IoT/que.php

Questa hè una forma iniziale per creà risultati, viste è schede per ogni cunfigurazione




Descrizzioni (Da a cima à a direzzione di sinistra à destra)

4.1. Intestazione

4.1.1. Link in casa - (apre a tavula di risultati effettivi)

4.1.2. "X" casella di cuntrollu - apre / chjude u Modulu di Query

4.1.3. "V" casella di selezzione - apre / chjude u Campu Form

4.1.4. Icone gràfiche - ligami per risultati di visualizazione (modificabile)


4.2. Forma:

4.2.1. "X" casella di selezzione - apre / chjude tuttu u Forme di Query

4.2.2. CSS - Selezziunate Tema di Visualizazione

Mudificà u Tema di Visualizazione U file CSS deve esiste in "mudelli / css /" annuariu - elencatu automaticamente.

4.2.3 Campi Visibili casella di selezzione - mostra / nasconde Lista di Filtri di Campu

4.2.4. Tab: Tab Name per aghjunghje o sguassà

4.2.5. Aghjunghje / Elimina Buttoni - Aghjunghjite o sguassate tabulature cù u nome in Tab campu

4.2.6. Selezziunate Core Buttone

Sceglite i campi principali visibili nantu à a tavula. Hè hè aghjurnata automaticamente.

4.2.7. Deselezziunate tuttu Buttone

Deselezziunate tutti i campi (deve esse seguitatu selezziunendu alcuni di elli manualmente)

4.2.7. Selezziunate tuttu Buttone

Sceglite tutti i campi (deve esse seguitatu cun deselezziunate alcuni di elli manualmente)

4.2.8. Oculta u Filtru - Oculta a Forma sana

Questu hè equivalente à tutte e caselle (X)

4.2.9. Esecutà Buttone - Cambia i paràmetri

4.2.10. "V" casella di selezzione - mostra / campi di filtru altu.


4.3. Schede

Schede create individualmente cù nomi è preselezzioni (archiviate in cfg / tabs.cfg schedariu).

U fugliale cuntene in realtà nome è URL (separati da tab char).


4.4. Table Cuntenutu

Mostra tutti i campi limitati da Filtru Campu.


Campi in a tavula:

4.4.1. Run - viste tippu di risultatu

mappa- risultati di cartografia nantu à a carta (unu o più campi ponu esse selezziunati)

storia - grafichi storichi (unu o più campi ponu esse selezziunati)

tab - mostra a tavula (qualsiasi cumbinazione di campi pò esse selezionata)

bar - solu un campu hè visualizatu nantu à u graficu à barre

Premendu unu di i so valori aprirà novi risultati cù i campi selezziunati (per a fila attuale).


4.4.2. Copia (+/- ligami)

Aggiunta / rimozione di una Tabulazione cù u nome messu in Tab campu. Aduprà solu campi selezziunati in a listessa fila di a tavula.


4.4.3. Ligami di Cellula di Table

A pressione di qualsiasi altru nome di campu inizierà a Visualizazione di Dati di u campu selezziunatu per a fila selezionata.


4.5. Ordine di dati


L'ordine di i campi visualizati sò cum'è u so ordine in forma di campi (tuttavia tm campu hè sempre mandatu à a fine di u testu). Questu ordine pò esse cambiatu solu cù l'editurazione diretta di parametri URL (parte di l'ordine di i campi).


4.6. Esempiu

Per esempiu: Impostazione Tab cù Tracciatu Asset nome è cuntene a carta cù u tempu è a velocità nantu à a carta

Tutte e descrizzioni riferite à a fila induve "Map" u testu hè in "Curriri" culonna.

  1. Ingressu u nome "Tracciatu Asset" in Tab campu (senza virgulette)

  2. Assicuratevi chì tutte e colonne ùn sò micca selezziunate in a fila

  3. selezziunà tm, gps_speed_km solu in a fila

  4. stampa + buttone induve in a fila






5. Mappe

E carte ponu esse lanciate da MainForm cun preconfigurazione


5.1. Inizializazione di a carta

L'inizializazione di a carta hè fatta manualmente quandu eseguita direttamente cù u ligame: > http: //%IP%/IoT/maps.php


  1. L'utilizatore deve Deselezziunà tutti i campi (Press Deselezziunà Buttone)

  2. Pulsà qualchì casella di selezzione per i campi visualizati (per esempiu. Ain5 (per u nivellu Smog) è tm (per a data / ora di misurazione)

  3. stampa "V" casella di selezzione per piattà i campi

  4. stampa Esecutà buttone per eseguisce a quistione di DB è visualizà l'infurmazioni attuali da tutti i sensori / dispositivi

  5. A carta cù i dati hè aghjurnata dopu 30 secondi o più.


5.2. Impostazioni Opzionali per a query

Impostazioni descritte da manca à destra (sopra a screenshot).

5.2.1. Mudificà a scala MAP (Livellu Zoom)

  1. U nivellu di zoom puderia esse mudificatu cù i buttoni (+/-) per scala (current_scale * 2 o current_scale / 2 rispettivamente). A pressione di unu di sti buttoni mudificherà automaticamente a scala.

  2. Un altru modu hè selezziunate Zoom Level in Zoom Combo Box campu è stampa Esecutà buttone. In questu casu tutta a Vista / Mappa hè ricaricata è rinfriscata (dura un pocu durante l'inizializazione).

5.2.2. IMEI (Selezziunà u Campu di Dispositivi)

IMEIcampu cuntene un dispositivu ID unicu o alias Unicu per un dispositivu. A paràmetru predeterminatu hè * (asteriscu) chì mostra i valori più recenti è a geolocalizazione per ogni dispusitivu.

A messa in IMEI à qualsiasi altru valore, mostrerà i dati storichi di u dispositivu selezionatu. Hà sensu solu per i sensori mobili è in muvimentu, altrimenti i risultati si sovrappondenu nantu à a carta à a listessa pusizione.


5.2.3. Lon, Lat (Longitudine, campi di coordinate di latitudine)

Piazzà a pusizione centrale di a carta. Stu campu hè impostatu nantu à a pusizione di u cursore quandu u buttone di u mouse hè pressatu nantu à a carta.


5.2.4. Mudificà u Stile MAP (Tema)

Stile di carta / tema pò esse sceltu da Map Campu ComboBox (per esempiu. Scuru, Gris, Topugraficu).

Diversi temi di carte puderebbenu avè sfarenti livelli di zoom massimi cusì puderia infurzà un Tema propiu per aumentà a scala di a carta.


5.2.5. Clausola DOVE

Induve Clause hè aduprata per una stringa di query addizionale {WHERE part} per MySQL / MariaDB.

Questa clause hè presa in contu per custruisce una stringa QUERY cumpleta per u risultatu di a basa di dati. Pò limità i dati, u tempu è qualsiasi altri valori limitendu u conte di risultati. I nomi di campi originali di a tavula (micca alias) devenu esse aduprati in questu campu. Es.

  1. gps_speed_km> 10 // a velocità hè più di 10km / h

  2. ain5> 3 // ain5 hè più grande di 3 (cuntene 2.5um particule count - smog level)

  3. gps_speed_km> 10 è ain6> 5 // a velocità hè più di 10km / h è ain6 hè più grande di 5 (tenendu 10um count di particule - livellu di smog)


5.2.6. Esecutà (Esecutà u Query Button)

A pressione di stu buttone hè necessariu per cambià qualsiasi paràmetri, parametri (eccettu pressendu +/- buttoni).

A carta hè caricata da u principiu cù novi presets.

A carta ùn hè micca carricata in tuttu, quandu nisuna dati hè dispunibule per a dumanda attuale.

5.2.7. Deselezziunate tuttu (Elimina tutti i campi da a dumanda)

Dopu avè premutu stu buttone, almenu un campu deve esse sceltu manualmente per visualizà i risultati nantu à a carta.


5.2.8. "V" Casella di selezzione (Apri / Chiudi Forma di Campu)

Sta casella di selezzione hè aduprata per mustrà / piattà u selettore di i campi da visualizà.


5.2.9. "X" Casella di selezzione (Mostra / Nascite u Modulu di Query)

Sta casella permette di piattà u Forme sanu eccettu ( +/- buttoni)


I risultati nantu à a carta sò continuamente rinfrescati è aghjurnati cù novi valori

5.3. Esempiu

Es. Risultati Smog (Sensore installatu nantu à a vittura): Livellu Smog particule 2.5um (Ain5), Velocità (gps_speed_km), Data / Ora (tm), mappa (2 - topografica), livellu di zoom 16,

Induva clause:

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

// GPS = risultati 3D validi & data = 18/02/2019 & velocità> 0 km / h



6. Mostra Risultati in a Tabella

Mostra risultati in u tavulu.

On "Forma Principale" stampa "tavula" articulu, dopu avè sceltu alcuni campi per visualizà a tavula preconfigurata




6.1. Inizializazione di u tavulu

Quandu a tavula hè aperta da u ligame http: //%IP%/IoT/que.php? func = tabs richiede inizializazione previa di i paràmetri.

Pudete selezziunà i campi visibili (pressendu "Campi Visibili" ) casella di selezzione.



  1. Pulsà tutte e caselle di selezzione richieste per i campi affissati

  2. Casella di stampa di stampa "Campi Visibili" per piattà i campi formanu

  3. Pulsà Execute buttone per eseguisce a quistione di DB è mostra a tavula


6.2. Impostazioni Opzionali per a query

I paràmetri sò discritti da manca à diritta (nantu à a screenshot).

6.2.1. Ordina - campu di sorte è ordine crescente / discendente

U campu di sorte hè equivalente à pressà l'intestazione di colonna.

6.2.2. DB / IMEI - Selezziunate Dispositivu

IMEIcampu cuntene un dispositivu ID unicu o alias Unicu per un dispositivu. Cù u valore viotu mostra a tavula di i valori più recenti.

A messa in IMEI à qualsiasi altru valore, mostrerà i dati storichi di u dispositivu selezionatu.


6.2.3. CSS - selezziunate stile (Tema di Visualizazione)

6.2.4. Campi Visibili - Mustrà / Nascite i Campi Form

6.2.5. Elimina Vuitu - Ùn vede micca e colonne viote

6.2.6. "X" Casella di selezzione (Mostra / Nascite u Modulu di Query)

6.2.7. Induve Soggiru (per a limitazione di dati)

Questu hè suffissu per MySQL / MariaDB stringa di dumanda addizionale {WHERE part}

Questa clause hè presa in contu per custruisce una stringa QUERY cumpleta per u risultatu di a basa di dati. Pò limità i dati, u tempu è qualsiasi altri valori limitendu u conte di risultati. I nomi di campi originali di a tavula (micca alias) devenu esse aduprati in questu campu. Es.

  1. gps_speed_km> 10 // a velocità hè più di 10km / h

  2. ain5> 3 // ain5 hè più grande di 3 (cuntene 2.5um particule count - smog level)

  3. gps_speed_km> 10 è ain6> 5 // a velocità hè più di 10km / h è ain6 hè più grande di 5 (tenendu 10um count di particule - livellu di smog)


6.2.8. Selezziunate Core Buttone (Attivà i campi più cumuni)


6.2.9. Deselezziunate tuttu Buttone (Elimina tutti i campi da a quistione)

Dopu avè premutu stu buttone, almenu un campu deve esse sceltu manualmente per visualizà i risultati nantu à a carta.


6.2.10. Esecutà (Esecutà u Query Button)

A pressione di stu buttone hè necessariu per cambià qualsiasi paràmetri, parametri (eccettu pressendu +/- buttoni).

Table hè ricaricata da u principiu cù novi presets.



6.2.11. "V" Casella di selezzione (Apri / Chiudi Forma di Campu)

Sta casella di selezzione hè aduprata per mustrà / piattà u selettore di i campi da visualizà.



I risultati in a tavula sò urdinati secondu Ordina paràmetru di campu. L'urdinamentu di l'urdinamentu pò esse mudificatu premendu l'intestazione di fila (una volta per una direzzione duie volte per un'altra direzzione).

Alcuni risultati in colonne liganu à ulteriori schermi di visualizazione (codificati duramente).


Quandu si visualizanu i dati storichi per u dispositivu duveria esse limitatu per ùn visualizà micca l'infurmazioni di a storia sana perchè pò purtà à prestazioni o prublemi di memoria.


7. Grafici à barre.

I grafichi à barre devenu esse eseguiti da a Forma Principale premendu un campu singulu in a fila "Bar".

Mustrà e bar ordinate nurmalizate à u valore massimu, mostrendu da u più altu à u più bassu ordine.

Hè utile per verificà rapidamente risultati estremi è fà alcune azzioni.





L'avvenimentu Mouse Over mostrerà informazioni addiziunali per u dispositivu.


8. Grafichi Storichi.

E carte storiche ponu esse iniziate da u MainForm quandu preme a colonna selezionata in a fila "Storia" (per campu singulu).

Per campi multipli in a fila "Storia" i campi desiderati devenu esse verificati è u ligame "Storia" deve esse pressatu in a colonna "Run".

I risultati storichi sò limitati à l'ultime 24 ore + prossime 24 ore (per eventuali grafichi rinfrescanti), quandu ùn sò stati stabiliti limiti.

8.1. Inizializazione di i grafichi storichi


I grafichi storichi quandu sò aperti da u ligame principale richiedenu inizializazione cum'è altri risultati, quandu sò aperti da u ligame senza parametri di preferenze.

Campi multipli ponu esse selezziunati per visualizà vari elementi. Pò esse ancu impostatu in Forma di Filtru Campu.




  1. Pulsà tutte e caselle di selezzione richieste per i campi affissati

  2. Casella di stampa di stampa "Campi Visibili" per piattà i campi formanu

  3. Pulsà Execute buttone per eseguisce a quistione DB è visualizà a tavula


8.2. Impostazioni Opzionali di Grafici Storichi

Articuli descritti da cima è da manca à diritta (nantu à u screenshot).

8.2.1. IMEI - (Selezziunà u Dispositivu per visualizà i dati storichi)

IMEIcampu cuntene un dispositivu ID unicu o alias Unicu per un dispositivu. Cù u valore * (asterix) mostra a tavula di i valori più recenti chì ùn hà micca sensu.

A messa in IMEI à qualsiasi altru valore, mostrerà i dati storichi di u dispositivu selezionatu.

8.2.2. Min - limite u valore minimu di u primu campu

8.2.3. Max - limite valore massimu di u primu campu

8.2.4. "V" - Mustrà / Nascite i Campi Form

8.2.5. Da: stabilisce data / ora minima (*)

8.2.6. À: stabilisce data / ora massima (*)

8.2.7. "X" Casella di selezzione (Mostra / Nascite u Modulu di Query)

8.2.8. "Induve" Soggiru

Clausula per limità i risultati di dati MySQL / MariaDB stringa di quistione addizionale {WHERE part}.

Questa clause hè presa in contu per custruisce una stringa QUERY cumpleta per u risultatu di a basa di dati. Pò limità i dati, u tempu è qualsiasi altri valori limitendu u conte di risultati. I nomi di campi di tàvule originali (micca alias) devenu esse aduprati in questu campu è una sintassi SQL valida. Es.

  1. gps_speed_km> 10 // a velocità hè più di 10km / h

  2. ain5> 3 // ain5 hè più grande di 3 (cuntene 2.5um particule count - smog level)

  3. gps_speed_km> 10 è ain6> 5 // a velocità hè più di 10km / h è ain6 hè più grande di 5 (tenendu 10um count di particule - livellu di smog)


8.2.9. Deselezziunate tuttu Buttone (Elimina tutti i campi da a quistione)

Dopu avè premutu stu buttone, almenu un campu deve esse sceltu manualmente per visualizà i risultati storichi.


8.2.10. Esecutà (Esecutà u Query Button)

A pressione di stu buttone hè necessariu per cambià qualsiasi paràmetri, parametri (eccettu chì mostra campi o pannellu di query). Table hè ricaricata da u principiu cù novi presets.

8.2.11. "V" Casella di selezzione (Apri / Chiudi Forma di Campu)

Sta casella di selezzione hè aduprata per mustrà / piattà u selettore di i campi da visualizà.


8.3. Bars Variante: (mostra solu i dati dispunibili)



8.4. Cuntinuu variante (cù i stessi dati):



U puntatore di u mouse mostra i valori di e misure è a data / ora.

9. Cumpatibilità di u navigatore Web


Funzione / Navigatore WWW

Cromu 72

FireFox 65

Edge

Opera 58

Mappe

+

+

+

+

Storicu

+

+ (*)

+

+

Bars

+

+

+

+

Schede

+

+

+

+


* - Firefox ùn sustene micca u selezziunatore di data / ora (u campu di testu deve esse modificatu manualmente cù u furmatu di data è ora adattu).

Internet Explorer ùn hè micca suppurtatu (aduprate Edge invece)

Altri navigatori web ùn sò micca stati testati.



10. Personalizazione di i Temi

E pagine Web sò basate nantu à un mudellu di mudellu generale situatu in "mudelli" annuariu "* .template".

Inoltre ogni tippu di pagina cuntene:

  1. File "* .head" chì memorizza l'intestazione di a pagina (ligami, CSS impurtati, JavaScript Files, etc. )

  2. Fichieri "* .foot" chì memorizanu u footer di a pagina (ligami, ecc.) )


U Tema di Visualizazione pò esse cambiatu secondu e preferenze di l'utilizatore affruntendu è mudificendu i fugliali CSS. I fugliali CSS si trovanu in "mudelli / css" annuariu. Diversi Temi di Pagina Web ponu esse aduprati per creà ottimizzati per esempiu. stampatura, SmartPhones, mudelli PAD.


Table viste - anu un campu selezziunabile per sceglie u fugliale CSS per a mudificazione cumpleta di u tema (almacenatu in "mudelli / css / tabs" annuariu).




Map viste - u tema generale hè sceltu da "mappa" tipu scatula combo. Inoltre ci hè un schedariu CSS predefinitu "templates / css / map.css" chì cuntene alcune funzionalità addiziunali cume risultati di nascondere / colorà basati annantu à i so valori. U restu di stu schedariu CSS hè praticamente limitatu à e forme di query è campu.


A maiò parte di Piattaforma @City I fugliali PHP per a visualizazione accettanu cssparàmetru cù valore di nome di fugliale per u Tema (senza estensione). U schedariu deve esse situatu in u repertoriu "mudelli / css" è u nome hè sensibule.


Alcuni elementi di a visualizazione di u Tema si trovanu direttamente in u schedariu located situatu in "mudellu / js" annuariu.

Main @Cità script"@ City.js" si trova in u repertoriu superiore. Ùn ci hè micca pussibilità di mudificazione in questu locu, quantunque u script pò esse cupiatu in "mudelli / js" annuariu è mudificatu quì. L'utilizazione di script individuale richiede un aghjurnamentu di tutti i fugliali di intestazione.

11. Actualizazione d'Algoritmi


Alcuni sensori unici ponu richiede funzioni di calculu dedicate.

Ùn ci hè micca pussibilità di aghjurnà è mantene parechje varianti di Software @City Server, Interfaccia PHP front-end, chì causerebbe assai prublemi, versioni, errori.

U modu u più faciule è u più faciule per ghjunghje, hè d'aghjurnà i fugliali JavaScript "superposizione" per una visualizazione curretta di u valore / descrizzione.

I script JS originali sò un file di testu apertu è ponu esse aduttati à e necessità di i clienti. Cum'è dichjaratu in u capitulu precedente anu da esse copiati in "mudelli / js" annuariu induve u cliente hà diritti d'accessu per mudificà.


Aspettu tecnicu nantu à a prugrammazione di @Cità U sistema ùn hè micca un sughjettu di stu documentu, in ogni modu u sviluppatore Web cun cunniscenze basiche di HTML è JS pò persunalizà l'applicazione Web Front-end per e necessità individuali di i clienti.


12. Struttura di basa di dati


@City Database cù un nome "IoT" o "* IoT" hè divisu in tavule (induve l'asterix hè prefissu secondu u servitore d'ospitu - se necessariu). DataBase pò esse osservatu in PHPAdmin (applicazione web) à u ligame http: //% IP% / phpmyadmin




Tabelle Set per ogni Dispositivu (induve * {asterix} hè l'indirizzu IMEI - ID unicu):

Altri tavuli:



12.1. Struttura di e tavule "ithings_" è "*"

12.2. Cumandamenti di u Dispositivu (Eventi) in coda "* _c" tavula - struttura


Questa tavula hè una fila di eventi / cumandamenti per ogni dispositivu è anu a seguente struttura:



12.3. Accessu à i risultati da e basi di dati - Livellu Mediu (Lettura di Dati)


I dati ponu esse accessibili senza applicazione Web Front-end. U sistema @City cuntene script cù funzioni di livellu mediu. I risultati sò restituiti in furmatu JSON.


12.3.1. Uttenite i statuti attuali di tutti i dispositivi

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


A dumanda torna sana "_citazioni" tabella (stati attuali di tutti i dispositivi) in Formatu JSON:

[{ "paese":"", "cità":"", "cuntinente":"", "paese":"", "regione":"", "sottoregione":"", "sotturregione":"", "cità":"", "distrettu":"", "strada":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "creazione":"2019-02-09 18:12:38", "ultimu":"0000-00-00 00:00:00", "eventi":"", "utilizatore":"", "passà":"", "imei":"351580051067110", "sn":"", "statutu":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c20000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600400", "hash_code":"", "addr":"", "fwnr":"", "disattivatu":"", "gsm_nr":"", "venditore":"", "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":"", "eventi":"", "fora1":"0", "fora2":"0", "fora3":"0", "fora4":"0", "fora5":"0", "fora6":"0", "7":"0", "fora8":"0", "fora9":"0", "fora10":"1", "fora11":"0", "fora12":"0", "fora13":"0", "fora14":"0", "fora15":"0", "fora16":"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", "testu1":"", "testu2":"", "testu3":"", "testu4":"", "testu5":"", "testu6":"" }]

12.3.2. Uttenite dati storichi per u Dispositivu

Interrogazione di i dati storichi di u dispositivu unicu da IMEI nr:

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


Perchè a tavula sana pò cuntene milioni di righe deve esse limitata cù a clausula WHERE per ùn chjappà u servitore.

Parametri addiziunali parametri url:

funz - imeijson

imei - IMEI di u dispositivu

campu - campi da visualizà in i risultati (lista separata da coma)

min - valore minimu per u primu campu di a lista

max - valore massimu per u primu campu di a lista

sot - campu per sorte

tm - U campu hè aghjuntu automaticamente à i risultati.

where - induve clausula per limità i dati


Esempiu:

Vulemu uttene u seguitu risultatu

per u dispositivu cù imei=356345080018095

mostra i campi: ain5, ain6, gps_lat, gps_long

è limite ain5 in portata ( 1, 10000 ) - Deve esse u primu campu di a lista

è gps avè dati validi (gps_fix = 3)

è data / ora (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00


Stringa URL custruita:

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


Risultati di a quistione:

[{ "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. Uttenite l'elencu di dispositivi - campu unicu da stati attuali cun limitazione

Sta funzione restituisce dati limitati da a tavula "_ithings"


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



Parametri:

funz - fieldjson

campu - campu da vede in i risultati - imei è tm sò aghjuntu automaticamente

min - valore minimu per u campu

max - valore massimu per u campu


Per a stringa di quistione sopra torna risultati di ain5, imei, tm campi:

si ain5 hè in portata (13,5000)


Risultati di a quistione:

[{"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" }]