@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
@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.
La plataforma @City is es dedica a seguir els productes iSys.PL
IoT - RF / LoRaWAN (Internet de les coses)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (Internet mòbil de les coses)
WiFi
Ethernet
@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 ):
@Ciutat
@Lum
@Metering
@Trace
@AirQ
@Bin
La plataforma @City supports admet els protocols de comunicació següents:
UDP: suggerit per a sensors / dispositius CIoT (especialment NBIoT): utilització de dades més baixa
TCPIP: suggerit per a dispositius amb comunicació bidireccional: apretament de mans / confirmació
HTTP: suggerit només per a accés de dades / visualització / exportació / "núvol a núvol"
HTTP Webhooks: per a la comunicació LoRaWAN entre la xarxa LoRaWAN / servidor d'aplicacions i @City Cloud.
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.) ).
La plataforma @City supports admet:
GSM: 2G, 3G, 4G (LTE), CATM1 (LTEM1), dispositius NBIoT (comunicació UDP / TCPIP)
Dispositius LoRaWAN (HTTP Webhooks): mitjançant la passarel·la LoRaWAN i els servidors d'aplicacions i xarxes LoRaWAN
Controladors Ethernet (comunicació UDP / TCP)
Controladors WiFi (comunicació UDP / TCP)
Futurs productes IP
Productes que no són IP a través de passarel·la de maquinari local @ City / eHouse. additional addicional
La plataforma @City is està dedicada a dispositius / nodes:
Productes iSys natius:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi: productes dedicats a la plataforma @City
Productes dedicats a Ethernet per a @City Platform
Productes de coproducció (fabricats per tercers amb llicència iSys i marca externa)
Productes de franquícies (fabricats per tercers amb llicència iSys amb logotips iSys)
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):
accés privat / públic
nombre total de dispositius
actualització de la freqüència d'estat dels dispositius
freqüència d’actualització de dades
Existeixen diverses variants de VPS en funció de:
Preu
geolocalització del centre de dades
Nuclis de processador virtual (1-8)
RAM virtual (1-32 GB)
Disc SSD (20 GB-1 TB)
Hi ha desenes de servidors dedicats en funció de:
Preu
geolocalització del centre de dades
Nuclis de processador (4 .. 32)
RAM (16 .. 512 GB)
SSD / HDD (256 GB .. 8 TB)
La plataforma @City IoT està dedicada al client únic:
governs i autoritats locals (ciutat, comunitat, país)
B2B (per a un tercer propietari)
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.
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:
rebre dades asíncronament de dispositius (mitjançant protocols: UDP, TCP IP, HTTP)
minimitzar la utilització de dades i els seus costos entre dispositius i Cloud (mitjançant l'ús de protocols de comunicació de baix nivell UDP, TCP IP)
rebre l'estat xifrat dels dispositius (mitjançant qualsevol mitjà de comunicació)
autorització i validació de dades dels dispositius desxifrant els seus estats
descodificar l'estat dels dispositius i actualitzar-lo directament a les taules MariaDB / MySQL (en format de dades en brut)
taula de dades actual (només conté l'estat més recent de cada dispositiu)
taula de dades històriques (conté tots els estats d'un dispositiu únic)
enviar ordres pendents (Esdeveniments) als dispositius
assegurant la comprovació de mans, la verificació i les confirmacions
El programari @City Server és el mateix per a cada usuari i no es pot personalitzar per a clients diferents.
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.
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.
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):
afegir, eliminar, modificar fitxers HTML purs (interfície gràfica d’usuari / desenvolupament d’interfícies)
afegir, eliminar, modificar fitxers pure purs (interfície gràfica d’usuari / desenvolupament d’interfícies i algorismes)
afegir, eliminar, modificar fitxers CSS purs (Front-End: visualitzacions / temes personalitzats)
afegir, eliminar, modificar fitxers de text de plantilles (Front-End GUI)
afegir, eliminar, modificar pestanyes, dreceres, enllaços a resultats de dades
Altres drets d'accés:
Accés complet a la base de dades @City Cloud MySQL / MariaDB on s’emmagatzemen totes les dades dels dispositius
Es defineix l'accés als serveis web (credencials) per al client.
No es permet al client passar credencials a tercers (l'accés múltiple dels resultats pot afectar el rendiment, l'estabilitat i la seguretat del sistema general)
En circumstàncies especials i en l'ús del servidor dedicat d'alt rendiment, es pot configurar un compte públic per observar la majoria de dades actuals (no històriques).
L'usuari pot duplicar dades al seu propi servidor MySQL i realitzar el seu propi anàlisi i processament de dades, per tal que no afecti el rendiment de @City Server
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.
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".
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
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ó.
Hi ha diverses opcions de negoci i cooperació:
importació / exportació de productes preparats (quadres, dispositius): productes finals
importació / exportació de productes OEM (PCB, controladors, etc.): productes intermedis, recanvis
franquícia: producció basada en la nostra llicència per a mercats locals (subministrem només microcontroladors programats) sota iSys - Intelligent Systems Brands
Coproducció - (com es va esmentar anteriorment) però sota marques externes
La plataforma @City admet plantilles front-end personalitzables per a la visualització, consulta, limitació i processament de dades (dades actuals / històriques):
visualitzar les dades seleccionades al mapa (geolocalització)
mostra les dades i els resultats seleccionats a les taules
mostra les dades seleccionades als gràfics de barres
mostra les dades seleccionades als gràfics històrics
exportar dades a aplicacions de tercers i processar-les posteriorment
altres funcionalitats s'actualitzaran a peticions individuals.
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.
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
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)
El fitxer CSS Modifica el tema de visualització ha d'existir a "plantilles / css /" directori: apareix automàticament.
Seleccioneu els camps principals visibles a la taula. Això s’actualitza automàticament.
Anul·leu la selecció de tots els camps (cal seguir-los seleccionant-ne alguns manualment)
Seleccioneu tots els camps (cal seguir-ne la selecció manualment)
Això equival a tota la casella de selecció (X)
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).
Mostra tots els camps limitats pel filtre de camps.
Camps de la taula:
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).
Afegir o eliminar una pestanya amb el nom definit Pestanya camp. Utilitza només els camps seleccionats a la mateixa fila de la taula.
Si premeu qualsevol altre nom de camp, s'iniciarà la visualització de dades del camp seleccionat per a la fila seleccionada.
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).
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.
Introduïu el nom "Seguiment d’actius" dins Pestanya camp (sense cometes)
Assegureu-vos que totes les columnes no estiguin seleccionades a la fila
seleccioneu tm, gps_speed_km només a la fila
premeu + botó a la fila
Els mapes es poden llançar des de MainForm amb una configuració prèvia
La inicialització del mapa es realitza manualment quan s’executa directament amb l’enllaç: > http: //%IP%/IoT/maps.php
L'usuari hauria de desseleccionar tots els camps (premeu Anul·leu la selecció Botó)
Premeu una casella de selecció per als camps mostrats (per exemple, Ain5 (per al nivell Smog) i tm (per mesurar la data / hora)
premeu "V" casella de selecció per amagar el formulari de camps
premeu Executar per executar la consulta de DB i mostrar la informació actual de tots els sensors / dispositius
El mapa amb dades s’actualitza al cap de 30 segons o més.
Configuració descrita d'esquerra a dreta (a la captura de pantalla superior).
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.
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ó).
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ó.
Estableix la posició central del mapa. Aquest camp es defineix a la posició del cursor quan es prem el botó del ratolí al mapa.
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.
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.
gps_speed_km> 10 // la velocitat supera els 10 km / h
ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)
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)
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.
Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats al mapa.
Aquesta casella de selecció s’utilitza per mostrar / amagar el selector dels camps que es volen mostrar.
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
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
Mostra els resultats a la taula.
Encès "Formulari principal" premeu "taula" element, després de seleccionar alguns camps per mostrar la taula preconfigurada
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ó.
Premeu tota la casella de selecció necessària per als camps mostrats
Premeu la casella de selecció "Camps visibles" per amagar els camps
Premeu el botó Executa per executar la consulta de DB i mostrar la taula
Els paràmetres es descriuen d'esquerra a dreta (a la captura de pantalla).
El camp d’ordenació equival a prémer la capçalera de la columna.
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.
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.
gps_speed_km> 10 // la velocitat supera els 10 km / h
ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)
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)
Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats al mapa.
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.
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.
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.
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.
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.
Premeu tota la casella de selecció necessària per als camps mostrats
Premeu la casella de selecció "Camps visibles" per amagar els camps
Premeu el botó Executa per executar la consulta de DB i mostrar la taula
Elements descrits des de dalt i d'esquerra a dreta (a la captura de pantalla).
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.
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.
gps_speed_km> 10 // la velocitat supera els 10 km / h
ain5> 3 // ain5 és superior a 3 (amb un recompte de partícules de 2,5um - nivell de fum)
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)
Després de prémer aquest botó, cal seleccionar almenys un camp manualment per mostrar els resultats històrics.
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.
Aquesta casella de selecció s’utilitza per mostrar / amagar el selector dels camps que es volen mostrar.
El punter del ratolí mostra els valors de les mesures i la data / hora.
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.
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é:
Fitxer "* .head" que emmagatzema la capçalera de la pàgina (enllaços, CSS importats, JavaScript Fitxers, etc. )
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.
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.
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):
"* _t" - fitxes per a l'autorització d'usuaris actuals (no s'utilitzen per als núvols d'un sol client)
"* _c" - cues d’ordres (Esdeveniments): s’enviaran al dispositiu
"*" - tots els resultats de l'estat descodificat.
Altres taules:
"ithings_" taula: conté l'estat actual descodificat de tots els dispositius (es copia durant l'actualització de qualsevol dels fitxers "*" taules). Estructura de ithings_ taula és gairebé el mateix que el "*" taules. "ithings_" tenen camps addicionals per a adreces postals i descripcions.
La taula "usuaris" està restringida i s'hauria de modificar.
"idx" - índex
"tm" - marca de temps automàtica
"dt" - marca de temps Unix
"imei" - adreça única del dispositiu
"rssi" - Nivell de senyal RSSI
"rsrp" - Senyal RSRP
"esdeveniments" - Esdeveniments en espera per enviar-se al controlador
"fora1" .. "fora16" - estat de les sortides descodificades
"en1" .. "en16" - estat d’entrades descodificades
"ain1" .. "ain8" - valors ADC descodificats (RAW)
"sens1" .. "sens8" - Valors del sensor convertits (depèn del tipus de dispositiu)
"dimm1" .. "dimm8" - valors dimmers descodificats (depèn del tipus de dispositiu)
"int1" .. "int6" - valors de comptadors descodificats (depèn del tipus de dispositiu)
"text1" .. "text6" - valors de text descodificats (depèn del tipus de dispositiu)
"creació" - data / hora de creació del dispositiu
"darrer" - última data / hora
"usuari": ús futur
"passar": ús futur
"sn" - gsm serial nr
"estat" - l'estat actual del controlador no es descodifica en format hexadecimal
"hash_code": ús futur
"addr": adreça del dispositiu curta
"fwnr" - firmware núm
"disabled": dispositiu desactivat (no realitzat)
"gsm_nr": número gsm de CIoT
"venedor": codi de venedor (per a franquícia / coproducció)
"zona horària": desplaçament de la zona horària
"dst": utilitzeu la configuració d'estalvi diari
"gps_lat" - Latitud GPS
"gps_long" - Longitud GPS
"gps_hdop" - GPS HDOP
"gps_alt" - Altitud GPS
"gps_fix" - Fixació GPS (ha de ser 3 - per obtenir resultats vàlids)
"gps_cog" - GPS Cog
"gps_speed_km" - Velocitat GPS en [km / h]
"gps_sat" - S'han trobat satèl·lits GPS
"continent", "país", "regió", "subregió", "subsubregió", "ciutat", "districte", "carrer", "carrer_nr", "article_nr" - Camps d'adreça i descripció del client (!!!! No disponible per a "*" taules històriques)
"registre": dades de registre
Els noms dels camps són importants per crear consultes SQL per augmentar la funcionalitat de cerca, ja que cal utilitzar el nom original a la sentència SQL.
Aquesta taula és una cua d'esdeveniments / ordres per a cada dispositiu i té la següent estructura:
"ordre": ordre que s'ha d'enviar o ja s'envia al controlador
"confirmat": indicador de confirmació si ja s'ha enviat i confirmat
"data": marca de temps unix de l'esdeveniment
"actualitzat": indicador d'actualització automàtica (data / hora de marca de temps)
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.
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":"" }]
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" }]
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" }]