@City IoT Plataforma al núvol




iSys - Sistemes Intel·ligents IoT Solucions









IoE.Systems

Taula de continguts

1. Introducció. 5

1.1 Tipus de dispositius admesos. 5

1.2. Tipus de productes admesos. 5

1.3. Protocols de comunicació compatibles 5

1.4. Tecnologia de comunicació compatible dels dispositius 6

1.5. @City Cloud Server 6

1.5.1. Servidors i passarel·les de comunicació 7

1.5.2 Integració HTTP LoRaWAN 7

1.5.3. Interfície frontal 8

1.5.3. Drets d'accés al servidor 8

1.6. Dispositius intel·ligents 9

1.6.1. CIoT - Dispositius GSM 9

1.6.3. BAS, BMS, IoT - Dispositius Ethernet i WiFi 9

1.6.2. Devices Dispositius LoRaWAN 9

1.7. Opcions Business to Business (B2B) 9

2. @City IoT Funcionalitat de la plataforma 10

3. Pàgina principal 11

4. Formulari principal 11

4.1. Capçalera 12

4.1.1. Enllaç d'inici - (obre la taula de resultats reals) 12

4.1.2. Casella de selecció "X": obre / tanca el formulari de consulta 12

4.1.3. Casella de selecció "V": obre / tanca el formulari 12 de camps

4.1.4. Icones gràfiques: enllaços a resultats de visualització (editables) 12

4.2. Formulari: 12

4.2.1. Casella de selecció "X": obre / tanca tot el formulari de consulta 12

4.2.2. CSS: seleccioneu el tema de visualització 12

4.2.3. Casella de selecció Camps visibles: mostra / amaga la llista de filtres de camps 12

4.2.4. Pestanya: Nom de la pestanya per afegir o eliminar 12

4.2.5. Afegeix o elimina botons: afegiu o elimineu pestanyes amb el nom al camp 12 de la pestanya

4.2.6. Seleccioneu el botó bàsic 12

4.2.7. Desmarqueu el botó Tot 12

4.2.7. Seleccioneu el botó Tot 12

4.2.8. Amaga el filtre: amaga el formulari complet 12

4.2.9. Botó Executa: canvia la configuració dels paràmetres 13

4.2.10. Casella de selecció "V": mostra / mostra filtres elevats. 13

4.3. Pestanyes 13

4.4. Contingut de la taula 13

4.4.1. Executa: visualitza el tipus de resultat 13

4.4.2. Copia (+/- enllaços) 13

4.4.3. Enllaços de cel·la de taula 13

4.5. Ordre de dades 13

4.6. Exemple 13

5. Mapes 15

5.1. Inicialització del mapa 15

5.2. Configuració opcional per a la consulta 15

5.2.1. Modificar l'escala MAP (nivell de zoom) 16

5.2.2. IMEI (Selecciona el camp del dispositiu) 16

5.2.3. Lon, Lat (camps de coordenades de longitud, latitud) 16

5.2.4. Modificar l'estil MAPA (tema) 16

5.2.5. ON Clàusula 16

5.2.6. Executa (botó Executa consulta) 16

5.2.7. Desmarqueu-ho tot (Suprimeix tots els camps de la consulta) 17

5.2.8. Casella de selecció "V" (formulari de camp Obrir / Tancar) 17

5.2.9. Casella de selecció "X" (Mostra / Amaga el formulari de consulta) 17

5.3. Exemple 17

6. Mostra els resultats a la taula 18

6.1. Inicialització de la taula 18

6.2. Configuració opcional per a la consulta 19

6.2.1. Ordena: ordena el camp i ordena ascendent / descendent 19

6.2.2. DB / IMEI: seleccioneu el dispositiu 19

6.2.3. CSS: seleccioneu l'estil (tema de visualització) 20

6.2.4. Camps visibles: mostra / amaga els camps del formulari 20

6.2.5. Elimina buit: no mostri les columnes buides 20

6.2.6. Casella de selecció "X" (Mostra / Amaga el formulari de consulta) 20

6.2.7. Clàusula On (per a limitació de dades) 20

6.2.8. Seleccioneu el botó bàsic (Activa els camps més comuns) 20

6.2.9. Desmarqueu el botó Tot (Suprimeix tots els camps de la consulta) 20

6.2.10. Executa (botó Executa consulta) 20

6.2.11. Casella de selecció "V" (formulari de camp Obrir / Tancar) 20

7. Gràfics de barres. 21

8. Gràfics històrics. 22

8.1. Inicialització de gràfics històrics 22

8.2. Configuració opcional dels gràfics històrics 23

8.2.1. IMEI - (Seleccioneu el dispositiu per mostrar les dades històriques) 23

8.2.2. Límit mínim: valor mínim del primer camp 23

8.2.3. Límit màxim: valor màxim del primer camp 23

8.2.4. "V": Mostra / Amaga els camps del formulari 23

8.2.5. De: defineix la data / hora mínima (*) 23

8.2.6. Per a: estableix la data / hora màxima (*) 23

8.2.7. Casella de selecció "X" (Mostra / Amaga el formulari de consulta) 23

8.2.8. "On" Clàusula 23

8.2.9. Desmarqueu el botó Tot (Suprimeix tots els camps de la consulta) 23

8.2.10. Executa (botó Executa consulta) 23

8.2.11. Casella de selecció "V" (formulari de camp Obrir / Tancar) 24

8.3. Variant de barres: (només mostra les dades disponibles) 24

8.4. Variant contínua (amb les mateixes dades): 24

9. Compatibilitat del navegador web 25

10. Personalització de temes 26

11. Actualització 27 d’algorismes

12. Estructura de la base de dades 28

12.1. Estructura 29 de les taules "ithings_" i "*"

12.2. Taula "* _c" de les ordres del dispositiu (esdeveniments): estructura 30

12.3. Accés als resultats de bases de dades: nivell mitjà (lectura de dades) 30

12.3.1. Obteniu els estats actuals de tots els dispositius 30

12.3.2. Obteniu dades històriques del dispositiu 31

12.3.3. Obteniu la llista de dispositius: camp únic dels estats actuals amb limitació 32


1. Introducció.

@City IoT Cloud Platform està dedicat "micro-núvol" sistema per a clients particulars. La plataforma no es pot compartir i només un client té accés al servidor físic o virtual (VPS o servidors dedicats). El client pot seleccionar un dels dotzenes centres de dades d’Europa o del món.

1.1 Tipus de dispositius admesos.

La plataforma @City is es dedica a seguir els productes iSys.PL



1.2. Tipus de productes admesos.

@City (eCity) Cloud IoT Platform és un sistema de diverses mides per a productes IP ((anomenats junts com a @City Hardware o bé Dispositius CioT ):


1.3. Protocols de comunicació compatibles

La plataforma @City supports admet els protocols de comunicació següents:

Les dades enviades des del controlador al servidor del núvol i viceversa es xifren en format binari únic per obtenir una mida de dades més baixa i una major seguretat. Cada soci obté la seva pròpia clau de xifratge única per a l'autorització del dispositiu, la comprovació de la validesa de les dades, etc.


Per a dispositius que no siguin eHouse / eCity podem subministrar algoritmes de xifratge individuals ( "C" codi font) per a cada soci per microprocessador per protegir les dades abans de la comunicació.

En aquest cas, les dades són totalment segures durant la comunicació bidireccional a través dels mitjans de comunicació públics (Internet, Air, etc.) ).


1.4. Tecnologia de comunicació compatible dels dispositius

La plataforma @City supports admet:


La plataforma @City is està dedicada a dispositius / nodes:


1.5. @City Cloud Server

El programari @City funciona en VPS (servidor privat virtual) o servidor dedicat basat en Linux a Internet, en funció del rendiment sol·licitat de la Servidor (anomenat servidor posterior):


Existeixen diverses variants de VPS en funció de:


Hi ha desenes de servidors dedicats en funció de:


La plataforma @City IoT està dedicada al client únic:


Com que el servidor no es pot compartir entre clients, simplifica l'accés a la seguretat i els problemes de rendiment. Per aquest motiu, només el client és responsable de la seguretat, estabilitat, eficiència, rendiment de dades, etc. En cas de rendiment insuficient, el client pot adquirir un pla superior (VPS o servidor dedicat), més òptim a la funcionalitat i el rendiment esperats.

En casos especials "Cloud to cloud" la comunicació es podria implementar per a la globalització i la centralització de dades a àrees més grans en lloc de núvols multicomptes.

1.5.1. Servidors i passarel·les de comunicació

La comunicació de @City Server es realitza basant-se en una aplicació de baix nivell per maximitzar el rendiment.

Les principals característiques de l’aplicació @City Server són:

El programari @City Server és el mateix per a cada usuari i no es pot personalitzar per a clients diferents.

1.5.2 Integració HTTP LoRaWAN

Els controladors LoRaWAN s’integren amb el núvol @City a través de la interfície HTTP (webhooks) disponible a la xarxa / servidor d’aplicacions LoRaWAN.

S'admeten diversos tipus de servidor d'aplicacions de xarxa:

TTN (temps limitat "En el aire" i el nombre màxim d’ordres enviades al controlador i que no admeten l’actualització del firmware)

LoraWAN-Stack (requereix allotjament en un dispositiu físic amb accés a Internet).

LoraServer.Io (requereix allotjament en un dispositiu físic amb accés a Internet: només s’envia dades al servidor i no admet l’actualització del firmware)



El @City Cloud per als controladors LoRaWAN es divideix de la mateixa manera que per a altres interfícies. Es tracta al capítol anterior.

1.5.3. Interfície frontal

La interfície frontal es realitza amb scripts PHP per extreure dades personalitzades de la base de dades @City Cloud. Utilitza un mecanisme de cerca molt elàstic, basat en consultes SQL originals per limitar les dades desitjades. La interfície proporciona els resultats de les consultes en format JSON per a una major descodificació i processament mitjançant by "aplicació" web frontal.

La interfície original és la mateixa per a cada usuari i no es pot personalitzar per a diferents clients.

El nostre personal pot crear una interfície de superposició o en col·laboració per garantir la personalització del client.

1.5.3. Drets d'accés al servidor

Els drets d’accés dels clients (al servidor físic) són limitats.

Accés a fitxers només per al directori "plantilles" (fitxers de text natius - .txt, .js, .css, .html):

Altres drets d'accés:


iSys - Personal de sistemes intel·ligents - té accés il·limitat a tot el servidor, inclòs el compte root i l'accés complet a la base de dades per al manteniment.

En determinades circumstàncies, iSys pot concedir drets addicionals limitats al client (scripts PHP, fitxers) després de comprovar el codi font, executar proves, si no afecta la seguretat, l'estabilitat i el rendiment del sistema.


1.6. Dispositius intel·ligents

1.6.1. CIoT - Dispositius GSM

Els nostres dispositius contenen microcontrolador i mòdul GSM / GPS / GNSS (2G..4G, NBIoT, CATM1) per a la comunicació. El microcontrolador conté un gestor d’arrencada xifrat per a una actualització segura del firmware OTA. Això permet crear moltes variants del sistema basades en el mateix "Dispositiu intel·ligent CIoT".


1.6.3. BAS, BMS, IoT - Dispositius Ethernet i WiFi


Els controladors Ethernet i WiFi permeten la comunicació basada en IP al sistema (sense cobrar la transferència de dades a l’operador GSM). Aquests dispositius també tenen el carregador d’arrencada xifrat i és possible que els dispositius s’actualitzin a través de la seva interfície nativa. Per a WiFi té actualització de firmware OTA des del servidor principal


1.6.2. IoT - Dispositius LoRaWAN

LoRaWAN permet la transmissió de dades a distàncies molt llargues (fins a aprox. 15km). Aquest rang depèn de la velocitat de transmissió de dades, la quantitat de dades, la urbanització de la zona i l'eficiència dels camins de ràdio dels dispositius.

Els nostres dispositius inclouen un microcontrolador i un mòdul LoRaWAN per a la comunicació. El microcontrolador conté un carregador d’arrencada xifrat per a l’actualització segura del programari OTA. Això us permet crear diverses variants del sistema basades en la mateixa "IoT smart device". Els dispositius funcionen a la banda oberta ISM sense tarifes de subscripció addicionals. Cal utilitzar LoRaWAN Gateways per cobrir tota la zona amb accés a Internet. En el cas de les portes LoRaWAN existents dins de l’àmbit de dispositius (configurat per al servidor TTN), és possible enviar informació a través d’elles. L’actualització del firmware requereix un servidor LoRaWAN propi de xarxa / aplicació i un bon abast per a la comunicació.

1.7. Opcions Business to Business (B2B)


Hi ha diverses opcions de negoci i cooperació:

2. @City IoT Funcionalitat de la plataforma

La plataforma @City admet plantilles front-end personalitzables per a la visualització, consulta, limitació i processament de dades (dades actuals / històriques):


El Front-End de l’usuari és accessible mitjançant un domini / subdomini / fitxer de redirecció IP o DNS estàtics, si està disponible.


Instal·lació de demostració i exemplar (només està habilitada per a possibles clients).

Informeu-nos quan vulgueu provar-ho, per permetre l'accés públic a la plataforma.

Podria requerir una IP estàtica de l’ordinador remot per permetre la comunicació amb la plataforma @City.


3. Pàgina principal

La pàgina principal es deixa buida intencionadament per motius de seguretat: http: //% YourIP% / IoT /

Es pot habilitar i editar individualment i contenir enllaços a tots els serveis disponibles de Plataforma @City IoT si és necessari


4. Formulari principal

Main Form està dissenyat per crear nous ajustaments i pestanyes: http: //%IP%/IoT/que.php

Aquest és el formulari inicial per crear resultats, visualitzacions i pestanyes per a cada configuració




Descripcions (de direcció superior a esquerra i dreta)

4.1. Capçalera

4.1.1. Enllaç d'inici: (obre la taula de resultats reals)

4.1.2. "X" casella de selecció: obre / tanca el formulari de consulta

4.1.3. "V" casella de selecció: obre / tanca el formulari de camps

4.1.4. Icones gràfiques - enllaços a resultats de visualització (editables)


4.2. Formulari:

4.2.1. "X" casella de selecció: obre / tanca tot el formulari de consulta

4.2.2. CSS - Seleccioneu Tema de visualització

El fitxer CSS Modifica el tema de visualització ha d'existir a "plantilles / css /" directori: apareix automàticament.

4.2.3 Camps visibles casella de selecció: mostra / amaga la llista de filtres de camps

4.2.4. Pestanya: Nom de la pestanya per afegir o eliminar

4.2.5. Afegeix / suprimeix Botons: afegiu o elimineu pestanyes amb el nom a Pestanya camp

4.2.6. Seleccioneu Core Botó

Seleccioneu els camps principals visibles a la taula. Això s’actualitza automàticament.

4.2.7. Deseleccionar tot Botó

Anul·leu la selecció de tots els camps (cal seguir-los seleccionant-ne alguns manualment)

4.2.7. Seleccionar tot Botó

Seleccioneu tots els camps (cal seguir-ne la selecció manualment)

4.2.8. Amaga el filtre - Amaga el formulari sencer

Això equival a tota la casella de selecció (X)

4.2.9. Executar Botó: canvia la configuració dels paràmetres

4.2.10. "V" casella de selecció: mostra / mostra filtres elevats.


4.3. Pestanyes

Pestanyes creades individualment amb noms i presets (emmagatzemades a cfg / tabs.cfg dossier).

El fitxer en realitat conté el nom i l'URL (separats per tabulador).


4.4. Contingut de la taula

Mostra tots els camps limitats pel filtre de camps.


Camps de la taula:

4.4.1. Correr - visualitza el tipus de resultat

mapa- mapatge de resultats al mapa (es pot seleccionar un o més camps)

història - gràfics històrics (es pot seleccionar un o més camps)

tab - mostra la taula (es pot seleccionar qualsevol combinació de camps)

barra - només es mostra un camp al gràfic de barres

En prémer un dels seus valors obrirà nous resultats amb els camps seleccionats (per a la fila actual).


4.4.2. Copia (+/- enllaços)

Afegir o eliminar una pestanya amb el nom definit Pestanya camp. Utilitza només els camps seleccionats a la mateixa fila de la taula.


4.4.3. Enllaços de cel·la de taula

Si premeu qualsevol altre nom de camp, s'iniciarà la visualització de dades del camp seleccionat per a la fila seleccionada.


4.5. Ordre de dades


L'ordre dels camps mostrats és el seu ordre en forma de camps (tanmateix tm camp sempre s’envia al final del text). Aquest ordre només es pot canviar amb l'edició directa de paràmetres d'URL (part de l'ordre de camps).


4.6. Exemple

Per exemple: Configuració de la pestanya amb Seguiment d’actius nom i conté el mapa amb temps i velocitat al mapa

Tota la descripció referida a la fila on "Map" el text està dins "Correr" columna.

  1. Introduïu el nom "Seguiment d’actius" dins Pestanya camp (sense cometes)

  2. Assegureu-vos que totes les columnes no estiguin seleccionades a la fila

  3. seleccioneu tm, gps_speed_km només a la fila

  4. premeu + botó a la fila






5. Mapes

Els mapes es poden llançar des de MainForm amb una configuració prèvia


5.1. Inicialització del mapa

La inicialització del mapa es realitza manualment quan s’executa directament amb l’enllaç: > http: //%IP%/IoT/maps.php


  1. L'usuari hauria de desseleccionar tots els camps (premeu Anul·leu la selecció Botó)

  2. Premeu una casella de selecció per als camps mostrats (per exemple, Ain5 (per al nivell Smog) i tm (per mesurar la data / hora)

  3. premeu "V" casella de selecció per amagar el formulari de camps

  4. premeu Executar per executar la consulta de DB i mostrar la informació actual de tots els sensors / dispositius

  5. El mapa amb dades s’actualitza al cap de 30 segons o més.


5.2. Configuració opcional per a la consulta

Configuració descrita d'esquerra a dreta (a la captura de pantalla superior).

5.2.1. Modifica l'escala MAP (nivell de zoom)

  1. El nivell de zoom es pot modificar mitjançant els botons (+/-) per a escala (current_scale * 2 o current_scale / 2 respectivament). En prémer un d'aquests botons, es modificarà automàticament l'escala.

  2. Una altra manera és seleccionar el nivell de zoom Zoom Camp de quadre combinat i premeu Executar botó. En aquest cas, tota la visualització / mapa es torna a carregar i actualitzar (triga una estona durant la inicialització).

5.2.2. IMEI (Seleccioneu el camp del dispositiu)

IMEIEl camp conté un identificador únic del dispositiu o un àlies únic per a un dispositiu. El valor predeterminat és * (asterisc) que mostra els valors i la geolocalització més recents de cada dispositiu.

Si configureu IMEI a qualsevol altre valor, es mostraran les dades històriques del dispositiu seleccionat. Té sentit només per als sensors mòbils i mòbils; en cas contrari, els resultats es superposaran al mapa a la mateixa posició.


5.2.3. Lon, lat (Longitud, camps de coordenades de latitud)

Estableix la posició central del mapa. Aquest camp es defineix a la posició del cursor quan es prem el botó del ratolí al mapa.


5.2.4. Modificar l'estil MAPA (tema)

Es pot seleccionar l'estil / tema del mapa Map Camp ComboBox (per exemple, Fosc, Gris, Topogràfic).

Diversos temes de mapes poden tenir nivells de zoom màxims diferents, de manera que pot aplicar el tema adequat per augmentar l’escala del mapa.


5.2.5. Clàusula ON

Where Clause s'utilitza per a una cadena de consulta addicional {WHERE part} per a MySQL / MariaDB.

Aquesta clàusula es té en compte per construir la cadena QUERY completa per al resultat de la base de dades. Pot limitar les dades, el temps i qualsevol altre valor limitant el recompte de resultats. En aquest camp s’han d’utilitzar noms de camps de taula originals (no àlies). Per exemple.

  1. gps_speed_km> 10 // la velocitat supera els 10 km / h

  2. ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)

  3. gps_speed_km> 10 i ain6> 5 // la velocitat és superior a 10km / h i ain6 és superior a 5 (amb un recompte de partícules de 10um - nivell de fum)


5.2.6. Executar (Botó Executa consulta)

Si premeu aquest botó, cal canviar qualsevol paràmetre i configuració (excepte prémer +/- botons).

El mapa es carrega des del principi amb nous ajustaments predeterminats.

El mapa no es carrega en absolut quan no hi ha dades disponibles per a la consulta actual.

5.2.7. Deseleccionar tot (Elimineu tots els camps de la consulta)

Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats al mapa.


5.2.8. "V" Casella de selecció (formulari Obrir / Tancar camp)

Aquesta casella de selecció s’utilitza per mostrar / amagar el selector dels camps que es volen mostrar.


5.2.9. "X" Casella de selecció (Mostra / Amaga el formulari de consulta)

Aquesta casella de selecció permet amagar tot el formulari excepte ( +/- botons)


Els resultats del mapa s’actualitzen contínuament i s’actualitzen amb nous valors

5.3. Exemple

Per exemple, resultats de smog (sensor instal·lat al cotxe): nivell de fum de partícules 2,5um (Ain5), velocitat (gps_speed_km), data / hora (tm), mapa (2 - topogràfic), nivell de zoom 16,

Clàusula d'on:

"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 = resultats 3D vàlids i data = 18/02/2019 i velocitat> 0 km / h



6. Mostra els resultats a la taula

Mostra els resultats a la taula.

Encès "Formulari principal" premeu "taula" element, després de seleccionar alguns camps per mostrar la taula preconfigurada




6.1. Inicialització de la taula

Quan la taula està oberta des de l'enllaç http: //%IP%/IoT/que.php? func = tabs requereix una inicialització prèvia de la configuració.

Podeu seleccionar camps visibles (prement "Camps visibles" ) casella de selecció.



  1. Premeu tota la casella de selecció necessària per als camps mostrats

  2. Premeu la casella de selecció "Camps visibles" per amagar els camps

  3. Premeu el botó Executa per executar la consulta de DB i mostrar la taula


6.2. Configuració opcional per a la consulta

Els paràmetres es descriuen d'esquerra a dreta (a la captura de pantalla).

6.2.1. Ordena - ordeneu el camp i ordeneu ascendent / descendent

El camp d’ordenació equival a prémer la capçalera de la columna.

6.2.2. DB / IMEI - Seleccioneu Dispositiu

IMEIEl camp conté un identificador únic del dispositiu o un àlies únic per a un dispositiu. Amb el valor buit, mostra la taula dels valors més recents.

Si configureu IMEI a qualsevol altre valor, es mostraran les dades històriques del dispositiu seleccionat.


6.2.3. CSS - seleccioneu l'estil (tema de visualització)

6.2.4. Camps visibles - Mostra / Amaga el formulari de camps

6.2.5. Elimina el buit: No mostreu columnes buides

6.2.6. "X" Casella de selecció (Mostra / Amaga el formulari de consulta)

6.2.7. On Clàusula (per a limitació de dades)

Aquest és el sufix de la cadena de consulta addicional MySQL / MariaDB {WHERE part}

Aquesta clàusula es té en compte per construir una cadena QUERY completa per al resultat de la base de dades. Pot limitar les dades, el temps i qualsevol altre valor limitant el recompte de resultats. En aquest camp s’han d’utilitzar noms de camps de taula originals (no àlies). Per exemple.

  1. gps_speed_km> 10 // la velocitat supera els 10 km / h

  2. ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)

  3. gps_speed_km> 10 i ain6> 5 // la velocitat és superior a 10km / h i ain6 és superior a 5 (amb un recompte de partícules de 10um - nivell de fum)


6.2.8. Seleccioneu Core Botó (Activa els camps més comuns)


6.2.9. Deseleccionar tot Botó (Suprimeix tots els camps de la consulta)

Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats al mapa.


6.2.10. Executar (Botó Executa consulta)

Si premeu aquest botó, cal canviar qualsevol paràmetre i configuració (excepte prémer +/- botons).

La taula es torna a carregar des del principi amb nous ajustaments predeterminats.



6.2.11. "V" Casella de selecció (formulari Obrir / Tancar camp)

Aquesta casella de selecció s’utilitza per mostrar / amagar el selector dels camps que es volen mostrar.



Els resultats de la taula s’ordenen segons Ordena configuració del camp. L'ordre d'ordenació es pot canviar prement la capçalera de fila (una vegada per una direcció dues vegades per una altra direcció).

Alguns resultats en columnes enllacen a pantalles de visualització addicionals (codificades de manera dura).


Quan es mostrin les dades històriques del dispositiu, s'hauria de limitar per no mostrar tota la informació de l'historial, ja que pot comportar problemes de rendiment o de memòria.


7. Gràfics de barres.

Els gràfics de barres s’han d’executar des del formulari principal prement un sol camp a la fila "Barra".

Mostra les barres ordenades normalitzades al valor màxim, que mostren de l'ordre més alt al més baix.

És útil per comprovar ràpidament resultats extrems i fer algunes accions.





L'esdeveniment Mouse Over mostrarà informació addicional per al dispositiu.


8. Gràfics històrics.

Els gràfics històrics es poden iniciar des del formulari principal en prémer la columna seleccionada a la fila "Historial" (per a un camp únic).

Per a diversos camps de la fila "Historial", s'han de marcar els camps desitjats i s'ha de prémer l'enllaç "Historial" a la columna "Executar".

Els resultats històrics es limiten a les últimes 24 hores i les properes 24 hores (per a eventuals gràfics actualitzadors), quan no es van establir límits.

8.1. Inicialització de gràfics històrics


Els gràfics històrics quan s'obren des de l'enllaç principal requereixen inicialització com altres resultats, quan s'obren des de l'enllaç sense paràmetres de preferències.

Es poden seleccionar diversos camps per mostrar diversos elements. També es pot configurar al formulari de filtre de camp.




  1. Premeu tota la casella de selecció necessària per als camps mostrats

  2. Premeu la casella de selecció "Camps visibles" per amagar els camps

  3. Premeu el botó Executa per executar la consulta de DB i mostrar la taula


8.2. Configuració opcional dels gràfics històrics

Elements descrits des de dalt i d'esquerra a dreta (a la captura de pantalla).

8.2.1. IMEI - (Seleccioneu el dispositiu per mostrar les dades històriques)

IMEIEl camp conté un identificador únic del dispositiu o un àlies únic per a un dispositiu. Amb el valor * (asterix) mostra la taula dels valors més recents que no té sentit.

Si configureu IMEI a qualsevol altre valor, es mostraran les dades històriques del dispositiu seleccionat.

8.2.2. Min - valor mínim límit del primer camp

8.2.3. Màx. - valor màxim límit del primer camp

8.2.4. "V" - Mostra / Amaga el formulari de camps

8.2.5. Des de: estableix la data / hora mínima (*)

8.2.6. Per a: defineix la data / hora màxima (*)

8.2.7. "X" Casella de selecció (Mostra / Amaga el formulari de consulta)

8.2.8. "On" Clàusula

Clàusula per limitar els resultats de dades Cadena de consulta addicional MySQL / MariaDB {WHERE part}.

Aquesta clàusula es té en compte per construir la cadena QUERY completa per al resultat de la base de dades. Pot limitar les dades, el temps i qualsevol altre valor limitant el recompte de resultats. En aquest camp s’han d’utilitzar noms de camps de taula originals (no àlies) i una sintaxi SQL vàlida. Per exemple.

  1. gps_speed_km> 10 // la velocitat supera els 10 km / h

  2. ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)

  3. gps_speed_km> 10 i ain6> 5 // la velocitat és superior a 10km / h i ain6 és superior a 5 (amb un recompte de partícules de 10um - nivell de fum)


8.2.9. Deseleccionar tot Botó (Suprimeix tots els camps de la consulta)

Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats històrics.


8.2.10. Executar (Botó Executa consulta)

Si premeu aquest botó, cal canviar qualsevol paràmetre i configuració (excepte mostrar camps o tauler de consulta). La taula es torna a carregar des del principi amb nous ajustaments predeterminats.

8.2.11. "V" Casella de selecció (formulari Obrir / Tancar camp)

Aquesta casella de selecció s’utilitza per mostrar / amagar el selector dels camps que es volen mostrar.


8.3. Bars Variant: (només mostra les dades disponibles)



8.4. Continu variant (amb les mateixes dades):



El punter del ratolí mostra els valors de les mesures i la data / hora.

9. Compatibilitat del navegador web


Funció / Navegador WWW

Chrome 72

FireFox 65

Edge

58pera 58

Mapes

+

+

+

+

Històric

+

+ (*)

+

+

Bars

+

+

+

+

Pestanyes

+

+

+

+


* - Firefox no admet el selector de data / hora (el camp de text s’ha d’editar manualment amb el format d’hora de data adequat).

Internet Explorer no és compatible (utilitzeu Edge en el seu lloc)

No s’han provat altres navegadors web.



10. Personalització de temes

Les pàgines web es basen en un fitxer de plantilla general ubicat a "plantilles" directori "* .template".

A més, cada tipus de pàgina conté:

  1. Fitxer "* .head" que emmagatzema la capçalera de la pàgina (enllaços, CSS importats, JavaScript Fitxers, etc. )

  2. Fitxers "* .foot" que emmagatzemen el peu de pàgina de la pàgina (enllaços, etc.) )


El tema de visualització es pot canviar segons les preferències de l'usuari copiant i modificant fitxers CSS. Els fitxers CSS es troben a "plantilles / css" directori. Es poden utilitzar diferents temes de pàgines web per crear optimitzats, per exemple. impressió, telèfons intel·ligents, plantilles PAD.


Pestanyale vistes: tenen un camp seleccionable per triar el fitxer CSS per a la modificació completa del tema (emmagatzemat a "plantilles / css / pestanyes" directori).




Map vistes - el tema general és seleccionat per "mapa" escriviu quadre combinat. A més, hi ha un fitxer CSS per defecte "templates / css / map.css" que conté algunes funcionalitats addicionals, com ara resultats d'amagar / acolorir, en funció dels seus valors. La resta d’aquest fitxer CSS es limita pràcticament als formularis de consulta i de camp.


La majoria de Plataforma @City Els fitxers PHP per a la visualització s’accepten cssparàmetre amb el valor del nom del fitxer per al tema (sense extensió). El fitxer s’ha d’ubicar al directori "templates / css" i el nom distingeix entre majúscules i minúscules.


Alguns elements de la visualització de temes es troben directament al fitxer located situat a "plantilla / js" directori.

Principal @Ciutat guió"@ City.js" es troba al directori superior. No hi ha cap possibilitat de modificació en això ubicació, tot i que es pot copiar a l'script "plantilles / js" directori i allà modificat. L’ús de seqüències d’ordres individuals requereix actualitzar tots els fitxers de capçalera.

11. Actualització d’algorismes


Alguns sensors únics poden requerir funcions de càlcul dedicades.

No hi ha possibilitat d'actualitzar i mantenir diverses variants de Programari de servidor @City, Interfície PHP frontal, la qual cosa provocaria molts problemes, versions, errors.

La forma més fàcil i senzilla d’aconseguir-ho és actualitzar els fitxers over "superposats" per mostrar correctament el valor / descripció.

Els scripts JS originals són un fitxer de text obert i poden adoptar-se segons les necessitats del client. Com s'ha dit al capítol anterior, cal copiar-los "plantilles / js" directori on el client té drets d'accés per a la seva modificació.


Aspecte tècnic sobre programació de @Ciutat El sistema no és un tema d’aquest document, però el desenvolupador web amb coneixements bàsics d’HTML i JS pot personalitzar l’aplicació web frontal per a les necessitats del client.


12. Estructura de la base de dades


Base de dades @City amb un nom "IoT" o bé "* IoT" es divideix en taules (on l'asterix és el prefix segons el servidor d'allotjament, si cal). DataBase es pot observar a PHPAdmin (aplicació web) a l’enllaç http: //% IP% / phpmyadmin




Taules establertes per a cada dispositiu (on * {asterix} és l'adreça IMEI: identificador únic):

Altres taules:



12.1. Estructura de taules "ithings_" i "*"

12.2. Les ordres del dispositiu (Esdeveniments) fan cua: estructura de la taula "* _c"


Aquesta taula és una cua d'esdeveniments / ordres per a cada dispositiu i té la següent estructura:



12.3. Accés als resultats de bases de dades: nivell mitjà (lectura de dades)


Es pot accedir a les dades sense una aplicació web frontal. El sistema @City conté scripts amb funcions de nivell mitjà. Els resultats es retornen en format JSON.


12.3.1. Obteniu els estats actuals de tots els dispositius

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


La consulta torna sencera "_its" taula (estats actuals de tots els dispositius) en format JSON:

[{ "país":"", "ciutat":"", "continent":"", "país":"", "regió":"", "subregió":"", "subsubregió":"", "ciutat":"", "districte":"", "carrer":"", "carrer_nr":"", "article_nr":"", "gps_lat":"0000,0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "creació":"09-02-2019 18:12:38", "darrer":"0000-00-00 00:00:00", "esdeveniments":"", "usuari":"", "passar":"", "imei":"351580051067110", "sn":"", "estat":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c20000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600400", "codi hash":"", "addr":"", "fwnr":"", "discapacitat":"", "gsm_nr":"", "venedor":"", "fus horari":"", "primer":"", "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":"", "esdeveniments":"", "fora1":"0", "fora2":"0", "fora3":"0", "fora4":"0", "fora5":"0", "fora6":"0", "fora7":"0", "fora8":"0", "fora9":"0", "fora10":"1", "fora11":"0", "fora12":"0", "fora13":"0", "fora14":"0", "fora15":"0", "fora16":"0", "en1":"0", "en2":"0", "a3":"0", "a4":"0", "in5":"0", "en6":"0", "en7":"0", "a8":"0", "in9":"0", "el 10":"0", "el 11":"0", "el 12":"0", "el 13":"0", "el 14":"0", "el 15":"0", "en16":"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. Obteniu dades històriques del dispositiu

Consulteu dades històriques d'un dispositiu únic per IMEI nr:

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


Com que tota la taula pot contenir milions de files, s'hauria de limitar amb la clàusula WHERE per no penjar el servidor.

Paràmetres addicionals paràmetres d'URL:

func - Imeijson

imei - IMEI del dispositiu

camp - camps que es mostraran als resultats (llista separada per coma)

mín - valor mínim per al primer camp de la llista

màx - valor màxim per al primer camp de la llista

so bét - camp per ordenar

tm - el camp s'afegeix automàticament als resultats.

where - clàusula where per limitar les dades


Exemple:

Volem obtenir el següent resultat

per a dispositius amb imei=356345080018095

mostra els camps: ain5, ain6, gps_lat, gps_long

i límit ain5 a l'abast ( 1, 10000 ) - ha de ser el primer camp de la llista

i gps tenir dades vàlides (gps_fix = 3)

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


Cadena d'URL construïda:

http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& camp =ain5, ain6, gps_lat, gps_long& min =1& màx =1.000i on =gps_fix = 3 i tm> "14-02-2019 23:00:19" i tm <"15-02-2019 00:00:00"


Resultats de la consulta:

[{ "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. Obteniu la llista de dispositius: camp únic dels estats actuals amb limitació

Aquesta funció retorna dades limitades de la taula "_ithings"


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



Paràmetres:

func - fieldjson

camp - camp que es mostrarà als resultats - imei i tm s’afegeixen automàticament

mín - valor mínim per al camp

màx - valor màxim per al camp


Per a la cadena de consulta anterior, torna resultats de ain5, imei, tm camps:

si ain5 està a l'abast (13.5000)


Resultats de la consulta:

[{"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":"07/03/2019 a les 13:08:22", "ain5":"103" }]