@City IoT Cloud-Plattform
iSys - Intelligente Systeme IoT Lösungen
IoE.Systems
Inhaltsverzeichnis
1. Einführung. 5
1.1 Unterstützte Gerätetypen. 5
1.2. Unterstützte Produkttypen. 5
1.3. Unterstützte Kommunikationsprotokolle 5
1.4. Unterstützte Kommunikationstechnologie der Geräte 6
1.5. @ City Cloud Server 6
1.5.1. Server- und Kommunikationsgateways 7
1.5.2 HTTP LoRaWAN-Integration 7
1.5.3. Front-End-Schnittstelle 8
1.5.3. Serverzugriffsrechte 8
1.6. Intelligente Geräte 9
1.6.1. CIoT - GSM - Geräte 9
1.6.3. BAS, BMS, IoT - Ethernet- und WiFi-Geräte 9
1.6.2. IoT -LoRaWAN-Geräte 9
1.7. Business-to-Business-Optionen (B2B) 9
2. @City IoT Plattformfunktionalität 10
3. Hauptseite 11
4. Hauptformular 11
4.1. Header 12
4.1.1. Home Link - (öffnet die aktuelle Ergebnistabelle) 12
4.1.2. Kontrollkästchen "X" - öffnet / schließt das Abfrageformular 12
4.1.3. Kontrollkästchen "V" - öffnet / schließt das Feld Formular 12
4.1.4. Grafische Symbole - Links zu Visualisierungsergebnissen (bearbeitbar) 12
4.2. Form: 12
4.2.1. Kontrollkästchen "X" - öffnet / schließt das gesamte Abfrageformular 12
4.2.2. CSS - Wählen Sie Visualisierungsthema 12
Kontrollkästchen 4.2.3.Visible Fields - Sichtbare Feldfilterliste ein- / ausblenden 12
4.2.4. Registerkarte: Name der Registerkarte zum Hinzufügen oder Entfernen von 12
4.2.5. Hinzufügen / Entfernen von Schaltflächen - Hinzufügen oder Entfernen von Registerkarten mit dem Namen im Registerkartenfeld 12
4.2.6. Wählen Sie die Kerntaste 12
4.2.7. Deaktivieren Sie die Schaltfläche Alle 12
4.2.7. Wählen Sie die Schaltfläche Alle 12
4.2.8. Filter ausblenden - Ganze Form ausblenden 12
4.2.9. Schaltfläche "Ausführen" - Parametereinstellungen ändern 13
4.2.10. Kontrollkästchen "V" - Filterfelder anzeigen / hoch. 13
4.3. Registerkarten 13
4.4. Tabelleninhalt 13
4.4.1. Run - Views Ergebnistyp 13
4.4.2. Kopieren (+/- Links) 13
4.4.3. Tabellenzellen-Links 13
4.5. Datenreihenfolge 13
4.6. Beispiel 13
5. Karten 15
5.1. Karteninitialisierung 15
5.2. Optionale Einstellungen für die Abfrage 15
5.2.1. Ändern der MAP-Skala (Zoomstufe) 16
5.2.2. IMEI (Gerätefeld auswählen) 16
5.2.3. Lon, Lat (Längen- und Breitengradkoordinatenfelder) 16
5.2.4. Ändern des MAP-Stils (Design) 16
5.2.5. WO Klausel 16
5.2.6. Ausführen (Schaltfläche "Abfrage ausführen") 16
5.2.7. Deaktivieren Sie Alle (Alle Felder aus der Abfrage entfernen) 17
5.2.8. Kontrollkästchen "V" (Feldformular öffnen / schließen) 17
5.2.9. Kontrollkästchen "X" (Abfrageformular anzeigen / ausblenden) 17
5.3. Beispiel 17
6. Ergebnisse in Tabelle 18 anzeigen
6.1. Initialisierung von Tabelle 18
6.2. Optionale Einstellungen für die Abfrage 19
6.2.1. Sortieren - Feld sortieren und aufsteigend / absteigend sortieren 19
6.2.2. DB / IMEI - Gerät auswählen 19
6.2.3. CSS - Stil auswählen (Visualisierungsthema) 20
6.2.4. Sichtbare Felder - Ein- / Ausblenden von Feldern Formular 20
6.2.5. Leer entfernen - Keine leeren Spalten anzeigen 20
6.2.6. Kontrollkästchen "X" (Abfrageformular anzeigen / ausblenden) 20
6.2.7. Where-Klausel (zur Datenbeschränkung) 20
6.2.8. Wählen Sie die Kerntaste (Aktivieren Sie die häufigsten Felder) 20
6.2.9. Deaktivieren Sie die Schaltfläche Alle (Alle Felder aus der Abfrage entfernen) 20
6.2.10. Ausführen (Schaltfläche "Abfrage ausführen") 20
6.2.11. Kontrollkästchen "V" (Feldformular öffnen / schließen) 20
7. Balkendiagramme. 21
8. Historische Diagramme. 22
8.1. Initialisierung historischer Diagramme 22
8.2. Optionale Einstellungen für historische Diagramme 23
8.2.1. IMEI - (Gerät auswählen, um historische Daten anzuzeigen) 23
8.2.2. Min - Limit Minimalwert des ersten Feldes 23
8.2.3. Max - Grenzmaximalwert des ersten Feldes 23
8.2.4. "V" - Felder ein- / ausblenden Formular 23
8.2.5. Von: Mindestdatum / -zeit einstellen (*) 23
8.2.6. An: Maximales Datum, Datum / Uhrzeit (*) einstellen 23
8.2.7. Kontrollkästchen "X" (Abfrageformular anzeigen / ausblenden) 23
8.2.8. "Wo" Klausel 23
8.2.9. Deaktivieren Sie die Schaltfläche Alle (Alle Felder aus der Abfrage entfernen) 23
8.2.10. Ausführen (Schaltfläche "Abfrage ausführen") 23
8.2.11. Kontrollkästchen "V" (Feldformular öffnen / schließen) 24
8.3. Balkenvariante: (zeigt nur verfügbare Daten an) 24
8.4. Kontinuierliche Variante (mit den gleichen Daten): 24
9. Webbrowser-Kompatibilität 25
10. Themenanpassung 26
11. Aktualisierung der Algorithmen 27
12. Datenbankstruktur 28
12.1. Tabellenstruktur "ithings_" und "*" 29
12.2. Warteschlange "* _c" für Gerätebefehle (Ereignisse) - Struktur 30
12.3. Zugriff auf Ergebnisse aus Datenbanken - Mittelstufe (Lesen von Daten) 30
12.3.1. Aktuelle Status aller Geräte abrufen 30
12.3.2. Abrufen historischer Daten für das Gerät 31
12.3.3. Liste der Geräte abrufen - einzelnes Feld aus aktuellen Status mit Einschränkung 32
@City IoT Cloud Platform ist dediziert "Mikrowolke" System für einzelne Kunden. Die Plattform kann nicht gemeinsam genutzt werden und nur ein Kunde hat Zugriff auf physische oder virtuelle Server (VPS oder dedizierte Server). Der Kunde kann eines von Dutzenden Rechenzentren in Europa oder weltweit auswählen.
Die @ City IoT -Plattform widmet sich den folgenden iSys.PL-Produkten
IoT - RF / LoRaWAN (Internet der Dinge)
CIoT - GSM / 2G / 3G / 4G / CATM1 / NBIoT (Mobilfunk-Internet der Dinge)
W-lan
Ethernet
@City (eCity) Cloud IoT Platform ist ein System unterschiedlicher Größe für IP IoT -Produkte (zusammen genannt als @ City Hardware oder CioT-Geräte ):
@Stadt
@Licht
@ Metering
@Spur
@ AirQ
@Behälter
Die @ City IoT -Plattform unterstützt folgende Kommunikationsprotokolle:
UDP - empfohlen für CIoT-Sensoren / -Geräte (insbesondere NBIoT) - niedrigste Datennutzung
TCPIP - empfohlen für Geräte mit bidirektionaler Kommunikation - Handshake / Bestätigung
HTTP - nur für Datenzugriff / Visualisierung / Export / empfohlen "Wolke zu Wolke"
HTTP-Webhooks - für die LoRaWAN-Kommunikation zwischen LoRaWAN-Netzwerk / Anwendungsserver und @City Cloud.
Daten, die vom Controller an den Cloud-Server und umgekehrt gesendet werden, werden in einem eindeutigen Binärformat verschlüsselt, um die geringste Datengröße und die Sicherheit zu erhöhen. Jeder Partner erhält seinen eigenen eindeutigen Verschlüsselungsschlüssel für die Geräteautorisierung, die Überprüfung der Datengültigkeit usw.
Für Nicht-eHouse / eCity-Geräte können wir individuelle Verschlüsselungsalgorithmen bereitstellen ( "C" Quellcode) für jeden Partner des Mikroprozessors zum Schutz der Daten vor der Kommunikation.
In diesem Fall sind die Daten während der bidirektionalen Kommunikation über die öffentlichen Kommunikationsmedien (Internet, Luft usw.) vollständig sicher. ).
@City IoT Plattform unterstützt:
GSM: 2G-, 3G-, 4G- (LTE), CATM1- (LTEM1), NBIoT-Geräte (UDP / TCPIP-Kommunikation)
LoRaWAN-Geräte (HTTP-Webhooks) - über das LoRaWAN-Gateway und die LoRaWAN-Netzwerk- / Anwendungsserver
Ethernet-Controller (UDP / TCP-Kommunikation)
WiFi-Controller (UDP / TCP-Kommunikation)
Zukünftige IP-Produkte
Nicht-IP-Produkte über zusätzliches lokales @ City / eHouse. Hardware-Gateway
@City IoT Die Plattform ist Geräten / Knoten gewidmet:
Native iSys-Produkte:
CIoT (GSM / 2G / 3G / 4G / CATM1 / NBIoT)
IoT (LoRaWAN)
WiFi - dedizierte Produkte für die @City Platform
Ethernet - dedizierte Produkte für die @City Platform
Koproduktionsprodukte (hergestellt von Dritten unter iSys-Lizenz und externer Marke)
Franchise-Produkte (hergestellt von Dritten unter iSys-Lizenz mit iSys-Logos)
Die @ City-Software funktioniert auf Linux-basiertem VPS (Virtual Private Server) oder Dedicated Server auf der Internetseite, abhängig von der angeforderten Leistung des Server (später Server genannt):
privater / öffentlicher Zugang
Gesamtanzahl der Geräte
Aktualisierung der Gerätestatusfrequenz
Datenaktualisierungsrate
Es gibt verschiedene Varianten von VPS, abhängig von:
Preis
Geolokalisierung des Rechenzentrums
Virtuelle Prozessorkerne (1-8)
Virtueller RAM (1-32 GB)
SSD-Festplatte (20 GB - 1 TB)
Dutzende dedizierter Server sind vorhanden, abhängig von:
Preis
Geolokalisierung des Rechenzentrums
Prozessorkerne (4 .. 32)
RAM (16 .. 512 GB)
SSD / HDD (256 GB .. 8 TB)
Die @ City IoT -Plattform richtet sich an Einzelkunden:
Kommunalverwaltungen und Behörden (Stadt, Gemeinde, Land)
B2B (für Drittinhaber)
Da es sich nicht um einen gemeinsam nutzbaren Server zwischen Kunden handelt, vereinfacht es den Sicherheitszugriff und Leistungsprobleme. Aus diesem Grund ist nur der Kunde für effektive Sicherheit, Stabilität, Effizienz, Datendurchsatz usw. verantwortlich. Bei unzureichender Leistung kann der Kunde einen höheren Tarif (VPS oder dedizierter Server) erwerben, der für die erwartete Funktionalität und Leistung optimaler ist.
In besonderen Fällen "Cloud to cloud" Die Kommunikation könnte für die Globalisierung und Zentralisierung von Daten in größeren Bereichen anstelle einer Cloud mit mehreren Kunden implementiert werden.
Die Kommunikation von @City Server basiert auf einer Low-Level-Anwendung zur Leistungsmaximierung.
Hauptmerkmale der @ City Server-Anwendung sind:
asynchronen Empfang von Daten von Geräten (über Protokolle: UDP, TCP IP, HTTP)
Minimieren Sie die Datennutzung und ihre Kosten zwischen Geräten und Cloud (durch Verwendung von Low-Level-Kommunikationsprotokollen UDP, TCP IP).
Verschlüsselungsstatus von Geräten empfangen (über beliebige Kommunikationsmedien)
Autorisierung und Validierung von Daten von Geräten durch Entschlüsseln ihres Status
Dekodieren des Gerätestatus und direktes Aktualisieren in MariaDB / MySQL-Tabellen (im Rohdatenformat)
aktuelle Datentabelle (enthält nur den neuesten Status der einzelnen Geräte)
Verlaufsdatentabelle (enthält alle Status für ein einzelnes Gerät)
Senden Sie ausstehende Befehle (Ereignisse) an Geräte
Gewährleistung von Händedruck, Überprüfung und Bestätigung
Die @ City Server-Software ist für jeden Benutzer gleich und kann nicht für verschiedene Kunden angepasst werden.
LoRaWAN-Controller werden über die HTTP-Schnittstelle (Webhooks), die auf dem LoRaWAN-Netzwerk / Anwendungsserver verfügbar ist, in die @ City-Cloud integriert.
Es werden verschiedene Arten von Netzwerk- / Anwendungsservern unterstützt:
TTN (begrenzte Zeit "In der Luft" und die maximale Anzahl von Befehlen, die an den Treiber gesendet werden und kein Firmware-Upgrade unterstützen)
LoraWAN-Stack (Erfordert Hosting auf einem physischen Gerät mit Internetzugang).
LoraServer.Io (Hosting auf einem physischen Gerät mit Internetzugang erforderlich - nur Daten an den Server senden und kein Firmware-Upgrade unterstützen)
Die @ City Cloud für LoRaWAN-Controller ist wie für andere Schnittstellen unterteilt. Es wird im vorherigen Kapitel besprochen.
Die Front-End-Schnittstelle wird mit PHP-Skripten zum Extrahieren angepasster Daten aus der @ City Cloud-Datenbank realisiert. Es verwendet einen sehr elastischen Suchmechanismus, der auf ursprünglichen SQL-Abfragen basiert, um die gewünschten Daten zu begrenzen. Die Schnittstelle liefert Abfrageergebnisse im JSON-Format zur weiteren Dekodierung und Verarbeitung durch JavaScript Front-End-Webanwendung.
Die ursprüngliche Front-End-Oberfläche ist für jeden Benutzer gleich und kann nicht für verschiedene Kunden angepasst werden.
Die Overlay-Oberfläche kann von unseren Mitarbeitern oder in Zusammenarbeit erstellt werden, um die Anpassung für den Kunden sicherzustellen.
Kundenzugriffsrechte (auf physische Server) sind begrenzt.
Dateizugriff nur für das Verzeichnis "Vorlagen" (native Textdateien - .txt, .js, .css, .html):
Hinzufügen, Entfernen und Ändern von reinen HTML-Dateien (Front-End-GUI / Schnittstellenentwicklung)
Hinzufügen, Entfernen, Ändern von reinen JavaScript-Dateien (Front-End-GUI / Schnittstellenentwicklung und Algorithmen)
Hinzufügen, Entfernen und Ändern von reinen CSS-Dateien (Front-End - Benutzerdefinierte Ansichten / Designs)
Hinzufügen, Entfernen und Ändern von Textdateien von Vorlagen (Front-End-GUI)
Hinzufügen, Entfernen, Ändern von Registerkarten, Verknüpfungen und Links zu Datenergebnissen
Andere Zugriffsrechte:
Voller Zugriff auf die @ City Cloud-Datenbank MySQL / MariaDB, in der alle Gerätedaten gespeichert sind
Der Zugriff auf Webdienste wird für den Kunden definiert (Anmeldeinformationen).
Der Kunde darf keine Anmeldeinformationen an Dritte weitergeben (mehrfacher Zugriff auf Ergebnisse kann die Leistung, Stabilität und Sicherheit des Gesamtsystems beeinträchtigen).
Unter besonderen Umständen und bei Verwendung eines dedizierten Hochleistungsservers kann ein öffentliches Konto eingerichtet werden, um die meisten aktuellen Daten (nicht historisch) zu beobachten.
Der Benutzer kann Daten auf seinen eigenen MySQL-Server duplizieren und eigene Datenanalysen und -verarbeitungen durchführen, um die Leistung von @City Server nicht zu beeinträchtigen
iSys - Mitarbeiter von Intelligent Systems - haben uneingeschränkten Zugriff auf den gesamten Server, einschließlich des Root-Kontos und des vollständigen DB-Zugriffs für Wartungszwecke.
Unter bestimmten Umständen kann iSys dem Kunden nach Überprüfung des Quellcodes und Ausführen von Tests zusätzliche eingeschränkte Rechte (PHP-Skripte, Dateien) gewähren, wenn dies die Gesamtsicherheit, Stabilität und Leistung des Systems nicht beeinträchtigt.
Unsere Geräte enthalten einen Mikrocontroller und ein GSM / GPS / GNSS-Modul (2G..4G, NBIoT, CATM1) für die Kommunikation. Der Mikrocontroller enthält einen verschlüsselten Bootloader für ein sicheres OTA-Firmware-Upgrade. Dies ermöglicht die Erstellung vieler Systemvarianten auf derselben Basis "CIoT Smart-Gerät".
Ethernet- und WiFi-Controller ermöglichen die IP-basierte Kommunikation mit dem System (ohne Gebühren für die Datenübertragung an den GSM-Betreiber). Diese Geräte haben auch einen Bootloader verschlüsselt und Geräte werden möglicherweise über die native Schnittstelle aktualisiert. Für WiFi gibt es ein OTA-Firmware-Upgrade vom Hauptserver
LoRaWAN ermöglicht die Datenübertragung über sehr große Entfernungen (bis ca. 15 km). Dieser Bereich hängt von der Geschwindigkeit der Datenübertragung, der Datenmenge, der Urbanisierung des Gebiets und der Effizienz der Funkwege der Geräte ab.
Unsere Geräte umfassen einen Mikrocontroller und ein LoRaWAN-Modul für die Kommunikation. Der Mikrocontroller enthält einen verschlüsselten Bootloader für ein sicheres OTA-Software-Update. Auf diese Weise können Sie mehrere Systemvarianten basierend auf derselben erstellen "IoT smart device". Die Geräte arbeiten im ISM Open Band ohne zusätzliche Abonnementgebühren. Es ist erforderlich, LoRaWAN-Gateways zu verwenden, um den gesamten Bereich mit Internetzugang abzudecken. Bei vorhandenen LoRaWAN-Gattern innerhalb des Gerätebereichs (konfiguriert für TTN-Server) ist es möglich, Informationen über diese zu senden. Für ein Firmware-Upgrade ist ein eigener LoRaWAN-Netzwerk- / Anwendungsserver und eine gute Kommunikationsreichweite erforderlich.
Es gibt verschiedene Möglichkeiten für Geschäft und Zusammenarbeit:
Import / Export fertige Produkte (Schalttafeln, Geräte) - Endprodukte
Import / Export von OEM-Produkten (Leiterplatten, Steuerungen usw.) - Zwischenprodukte, Ersatzteile
Franchise - Produktion basierend auf unserer Lizenz für lokale Märkte (wir liefern nur programmierte Mikrocontroller) unter iSys - Intelligent Systems Brands
Koproduktion - (wie oben), jedoch unter externen Marken
Die @ City-Plattform unterstützt anpassbare Front-End-Vorlagen für die Datenvisualisierung, -abfrage, -begrenzung und -verarbeitung (aktuelle / Verlaufsdaten).:
Visualisierung ausgewählter Daten auf der Karte (Geolokalisierung)
zeigt ausgewählte Daten und Ergebnisse in den Tabellen
zeigt ausgewählte Daten in Balkendiagrammen an
zeigt ausgewählte Daten in historischen Diagrammen an
Daten in Anwendungen von Drittanbietern exportieren und weiterverarbeiten
Andere Funktionen werden bei einzelnen Anforderungen aktualisiert.
Auf das Front-End des Benutzers kann über statische IP- oder DNS-Umleitungsdomäne / Subdomäne / Datei zugegriffen werden, sofern verfügbar.
Beispielhafte & Demo-Installation (nur für potenzielle Kunden aktiviert).
Bitte teilen Sie uns mit, wann Sie es testen möchten, um den öffentlichen Zugriff auf die Plattform zu ermöglichen.
Möglicherweise ist eine statische IP-Adresse des Remotecomputers erforderlich, um die Kommunikation mit der @ City-Plattform zu ermöglichen.
Die Hauptseite wird aus Sicherheitsgründen absichtlich leer gelassen: http: //% YourIP% / IoT /
Es kann einzeln aktiviert und bearbeitet werden und enthält Links zu allen verfügbaren Diensten von @City IoT Plattform wenn es erforderlich ist
Das Hauptformular dient zum Erstellen neuer Voreinstellungen und Registerkarten: http: //%IP%/IoT/que.php
Dies ist das erste Formular zum Erstellen von Ergebnissen, Ansichten und Registerkarten für jede Konfiguration
Beschreibungen (Von oben und von links nach rechts)
CSS-Datei zum Ändern des Visualisierungsthemas muss in vorhanden sein "Vorlagen / CSS /" Verzeichnis - automatisch aufgelistet.
Wählen Sie die in der Tabelle sichtbaren Hauptfelder aus. Es ist aktualisiert automatisch.
Deaktivieren Sie alle Felder (müssen Sie folgen, indem Sie einige manuell auswählen).
Wählen Sie alle Felder aus (einige müssen manuell deaktiviert werden)
Dies entspricht allen (X) Kontrollkästchen
Individuell erstellte Registerkarten mit Namen und Voreinstellungen (gespeichert in cfg / tabs.cfg Datei).
Die Datei enthält tatsächlich Name und URL (getrennt durch Tabulatorzeichen).
Zeigt alle durch Feldfilter begrenzten Felder an.
Felder in der Tabelle:
Karte- Zuordnungsergebnisse auf der Karte (ein oder mehrere Felder können ausgewählt werden)
Geschichte - historische Diagramme (ein oder mehrere Felder können ausgewählt werden)
tab - Zeigt die Tabelle an (eine beliebige Kombination von Feldern kann ausgewählt werden)
Bar - Im Balkendiagramm wird nur ein Feld angezeigt
Wenn Sie einen seiner Werte drücken, werden neue Ergebnisse mit ausgewählten Feldern (für die aktuelle Zeile) geöffnet.
Hinzufügen / Entfernen einer Registerkarte mit dem eingestellten Namen Tab Feld. Es werden nur Felder verwendet, die in derselben Zeile der Tabelle ausgewählt sind.
Durch Drücken eines anderen Feldnamens wird die Datenvisualisierung des ausgewählten Felds für die ausgewählte Zeile gestartet.
Die Reihenfolge der angezeigten Felder entspricht jedoch der Reihenfolge in Feldform tm Feld wird immer an das Ende des Textes gesendet). Diese Reihenfolge kann nur durch direkte Bearbeitung von URL-Parametern (Feldbestellungsteil) geändert werden.
Zum Beispiel: Einstellen der Registerkarte mit Nachverfolgung von Gütern Name und enthält Karte mit Zeit und Geschwindigkeit auf der Karte
Alle Beschreibungen beziehen sich auf Zeile wo "Map" Text ist in "Lauf" Säule.
Name eingeben "Nachverfolgung von Gütern" im Tab Feld (ohne Anführungszeichen)
Stellen Sie sicher, dass alle Spalten in der Zeile nicht ausgewählt sind
wählen tm, gps_speed_km nur in der Reihe
Drücken Sie + Schaltfläche wo in der Reihe
Karten können über MainForm mit Vorkonfiguration gestartet werden
Die Karteninitialisierung wird manuell durchgeführt, wenn sie direkt mit dem Link ausgeführt wird: > http: //%IP%/IoT/maps.php
Der Benutzer sollte alle Felder abwählen (Drücken Sie Abwählen Taste)
Aktivieren Sie ein Kontrollkästchen für angezeigte Felder (z. Ain5 (für Smog Level) und tm (für Messdatum / -zeit)
Drücken Sie "V" Kontrollkästchen zum Ausblenden von Feldern
Drücken Sie Ausführen Schaltfläche zum Ausführen der DB-Abfrage und Anzeigen der aktuellen Informationen aller Sensoren / Geräte
Karte mit Daten wird nach 30 Sekunden oder länger aktualisiert.
Einstellungen von links nach rechts beschrieben (siehe Screenshot oben).
Die Zoomstufe kann mithilfe der Schaltflächen (+/-) für die Skalierung (aktuelle_Skala * 2 bzw. aktuelle_Skala / 2) geändert werden. Durch Drücken einer dieser Tasten wird die Skalierung automatisch geändert.
Eine andere Möglichkeit ist die Auswahl der Zoomstufe Zoomen Kombinationsfeld und drücken Sie Ausführen Taste. In diesem Fall wird die gesamte Ansicht / Karte neu geladen und aktualisiert (dauert eine Weile während der Initialisierung).
IMEIDas Feld enthält eine eindeutige Geräte-ID oder einen eindeutigen Alias für ein Gerät. Die Standardeinstellung ist * (Sternchen), das die neuesten Werte und die Geolokalisierung für jedes Gerät anzeigt.
Wenn Sie IMEI auf einen anderen Wert einstellen, werden die Verlaufsdaten des ausgewählten Geräts angezeigt. Es ist nur für mobile und sich bewegende Sensoren sinnvoll, da sich die Ergebnisse auf der Karte an derselben Position überlappen.
Stellen Sie die Mittelposition der Karte ein. Dieses Feld wird auf die Cursorposition gesetzt, wenn die Maustaste auf der Karte gedrückt wird.
Kartenstil / -thema kann ausgewählt werden Map ComboBox-Feld (z. Dunkel, Grau, Topografisch).
Verschiedene Kartenthemen haben möglicherweise unterschiedliche maximale Zoomstufen, sodass möglicherweise das richtige Thema erzwungen wird, um den Kartenmaßstab zu erhöhen.
Wobei Klausel für zusätzliche Abfragezeichenfolge {WHERE-Teil} für MySQL / MariaDB verwendet wird.
Diese Klausel wird berücksichtigt, um eine vollständige QUERY-Zeichenfolge für das Datenbankergebnis zu erstellen. Es kann Daten, Zeit und andere Werte begrenzen, indem die Anzahl der Ergebnisse begrenzt wird. In diesem Feld müssen die ursprünglichen Feldnamen der Tabelle (kein Alias) verwendet werden. Z.B.
gps_speed_km> 10 // Geschwindigkeit ist mehr als 10 km / h
ain5> 3 // ain5 ist größer als 3 (mit einer Partikelanzahl von 2,5 um - Smog-Level)
gps_speed_km> 10 und ain6> 5 // Geschwindigkeit ist mehr als 10 km / h und ain6 ist größer als 5 (10um Partikelanzahl - Smog-Level)
Das Drücken dieser Taste ist erforderlich, um Einstellungen und Parameter zu ändern (außer Drücken +/- Tasten).
Die Karte wird von Anfang an mit neuen Voreinstellungen geladen.
Die Karte wird überhaupt nicht geladen, wenn für die aktuelle Abfrage keine Daten verfügbar sind.
Nach dem Drücken dieser Taste muss mindestens ein Feld manuell ausgewählt werden, um die Ergebnisse auf der Karte anzuzeigen.
Dieses Kontrollkästchen wird verwendet, um die Auswahl der anzuzeigenden Felder anzuzeigen / auszublenden.
Dieses Kontrollkästchen aktiviert das Ausblenden des gesamten Formulars mit Ausnahme von ( +/- Tasten)
Die Ergebnisse auf der Karte werden ständig aktualisiert und mit neuen Werten aktualisiert
ZB Smog-Ergebnisse (Sensor im Auto installiert): Smog-Partikel 2,5 um (Ain5), Geschwindigkeit (gps_speed_km), Datum / Uhrzeit (tm), Karte (2 - topografisch), Zoomstufe 16,
Where-Klausel:
"gps_fix = 3 und tm> "2019-02-18 00:00:00" und tm <"2019-02-19 00:00:00" und gps_speed_km> 0".
// GPS = gültige 3D-Ergebnisse & Datum = 2019-02-18 & Geschwindigkeit> 0 km / h
Ergebnisse in der Tabelle anzeigen.
Auf "Hauptform" Drücken Sie "Tabelle" Element, nachdem Sie einige Felder ausgewählt haben, um die vorkonfigurierte Tabelle anzuzeigen
Wenn die Tabelle über den Link geöffnet ist http: //%IP%/IoT/que.php? func = tabs Es erfordert eine vorherige Initialisierung der Einstellungen.
Sie können sichtbare Felder auswählen (durch Drücken von "Sichtbare Felder" ) Kontrollkästchen.
Aktivieren Sie alle erforderlichen Kontrollkästchen für angezeigte Felder
Drücken Sie das Kontrollkästchen "Sichtbare Felder" Felder ausblenden
Klicken Sie auf die Schaltfläche Ausführen, um die DB-Abfrage auszuführen und die Tabelle anzuzeigen
Die Einstellungen werden von links nach rechts beschrieben (auf dem Screenshot).
Das Sortierfeld entspricht dem Drücken der Spaltenüberschrift.
IMEIDas Feld enthält eine eindeutige Geräte-ID oder einen eindeutigen Alias für ein Gerät. Bei leerem Wert wird die Tabelle der neuesten Werte angezeigt.
Wenn Sie IMEI auf einen anderen Wert einstellen, werden die Verlaufsdaten des ausgewählten Geräts angezeigt.
Dies ist ein Sufix für die zusätzliche MySQL / MariaDB-Abfragezeichenfolge {WHERE-Teil}
Diese Klausel wird berücksichtigt, um eine vollständige QUERY-Zeichenfolge für das Datenbankergebnis zu erstellen. Es kann Daten, Zeit und andere Werte begrenzen, indem die Anzahl der Ergebnisse begrenzt wird. In diesem Feld müssen die ursprünglichen Feldnamen der Tabelle (kein Alias) verwendet werden. Z.B.
gps_speed_km> 10 // Geschwindigkeit ist mehr als 10 km / h
ain5> 3 // ain5 ist größer als 3 (mit einer Partikelanzahl von 2,5 um - Smog-Level)
gps_speed_km> 10 und ain6> 5 // Geschwindigkeit ist mehr als 10 km / h und ain6 ist größer als 5 (10um Partikelanzahl - Smog-Level)
Nach dem Drücken dieser Taste muss mindestens ein Feld manuell ausgewählt werden, um die Ergebnisse auf der Karte anzuzeigen.
Das Drücken dieser Taste ist erforderlich, um Einstellungen und Parameter zu ändern (außer Drücken +/- Tasten).
Die Tabelle wird von Anfang an mit neuen Voreinstellungen neu geladen.
Dieses Kontrollkästchen wird verwendet, um die Auswahl der anzuzeigenden Felder anzuzeigen / auszublenden.
Die Ergebnisse in der Tabelle sind nach sortiert Sortieren Feldeinstellung. Die Sortierreihenfolge kann durch Drücken der Zeilenkopfzeile geändert werden (einmal für eine Richtung zweimal für eine andere Richtung).
Einige Ergebnisse in Spalten sind mit weiteren Visualisierungsbildschirmen verknüpft (fest codiert).
Bei der Anzeige von Verlaufsdaten für Geräte sollte diese eingeschränkt werden, um nicht die gesamten Verlaufsinformationen anzuzeigen, da dies zu Leistungsproblemen oder Speicherproblemen führen kann.
Balkendiagramme sollten vom Hauptformular aus ausgeführt werden, indem Sie auf ein einzelnes Feld in der Zeile "Balken" klicken.
Es werden sortierte Balken angezeigt, die auf den Maximalwert normalisiert sind und von der höchsten zur niedrigsten Ordnung zeigen.
Es ist nützlich, um extreme Ergebnisse schnell zu überprüfen und einige Maßnahmen zu ergreifen.
Das Mouse Over-Ereignis zeigt zusätzliche Informationen für das Gerät an.
Verlaufsdiagramme können von der Hauptform aus gestartet werden, wenn Sie auf die ausgewählte Spalte in der Zeile "Verlauf" klicken (für ein einzelnes Feld).
Für mehrere Felder in der Zeile "Verlauf" müssen die gewünschten Felder aktiviert und der Link "Verlauf" in der Spalte "Ausführen" gedrückt werden.
Historische Ergebnisse sind auf die letzten 24 Stunden + die nächsten 24 Stunden (für eventuelle Aktualisierungen der Diagramme) beschränkt, wenn keine Grenzwerte festgelegt wurden.
Historische Diagramme, die über den Hauptlink geöffnet werden, müssen wie andere Ergebnisse initialisiert werden, wenn sie über den Link ohne Voreinstellungsparameter geöffnet werden.
Es können mehrere Felder ausgewählt werden, um verschiedene Elemente anzuzeigen. Sie kann auch im Feldfilterformular festgelegt werden.
Aktivieren Sie alle erforderlichen Kontrollkästchen für angezeigte Felder
Drücken Sie das Kontrollkästchen "Sichtbare Felder" Felder ausblenden
Klicken Sie auf die Schaltfläche Ausführen, um die DB-Abfrage auszuführen und die Tabelle anzuzeigen
Von oben und von links nach rechts beschriebene Elemente (auf dem Screenshot).
IMEIDas Feld enthält eine eindeutige Geräte-ID oder einen eindeutigen Alias für ein Gerät. Mit dem Wert * (Sternchen) wird eine Tabelle der neuesten Werte angezeigt, die keinen Sinn hat.
Wenn Sie IMEI auf einen anderen Wert einstellen, werden die Verlaufsdaten des ausgewählten Geräts angezeigt.
Klausel zur Einschränkung der Datenergebnisse Zusätzliche MySQL / MariaDB-Abfragezeichenfolge {WHERE-Teil}.
Diese Klausel wird berücksichtigt, um eine vollständige QUERY-Zeichenfolge für das Datenbankergebnis zu erstellen. Es kann Daten, Zeit und andere Werte begrenzen, indem die Anzahl der Ergebnisse begrenzt wird. In diesem Feld müssen die ursprünglichen Tabellenfeldnamen (kein Alias) und eine gültige SQL-Syntax verwendet werden. Z.B.
gps_speed_km> 10 // Geschwindigkeit ist mehr als 10 km / h
ain5> 3 // ain5 ist größer als 3 (mit einer Partikelanzahl von 2,5 um - Smog-Level)
gps_speed_km> 10 und ain6> 5 // Geschwindigkeit ist mehr als 10 km / h und ain6 ist größer als 5 (10um Partikelanzahl - Smog-Level)
Nach dem Drücken dieser Taste muss mindestens ein Feld manuell ausgewählt werden, um historische Ergebnisse anzuzeigen.
Das Drücken dieser Taste ist erforderlich, um Einstellungen und Parameter zu ändern (außer das Anzeigen von Feldern oder des Abfragefelds). Die Tabelle wird von Anfang an mit neuen Voreinstellungen neu geladen.
Dieses Kontrollkästchen wird verwendet, um die Auswahl der anzuzeigenden Felder anzuzeigen / auszublenden.
Mauszeiger zeigt Werte von Messungen und Datum / Uhrzeit an.
Funktions- / WWW-Browser | Chrome 72 | FireFox 65 | Kante | Oper 58 |
Karten | + | + | + | + |
Historisch | + | + (*) | + | + |
Riegel | + | + | + | + |
Tabs | + | + | + | + |
* - Firefox unterstützt keine Datums- / Zeitauswahl (das Textfeld muss manuell mit dem richtigen Datums- und Uhrzeitformat bearbeitet werden).
Internet Explorer wird nicht unterstützt (Verwendung Kante stattdessen)
Andere Webbrowser wurden nicht getestet.
Webseiten basieren auf der allgemeinen Vorlagendatei unter "Vorlagen" Verzeichnis "* .template".
Zusätzlich enthält jeder Seitentyp:
"* .head" -Datei, in der der Header der Seite gespeichert wird (Links, importiertes CSS, JavaScript Dateien usw.). )
"* .foot" -Dateien, in denen die Fußzeile der Seite (Links usw.) gespeichert ist. )
Das Visualisierungsthema kann gemäß den Benutzereinstellungen geändert werden, indem CSS-Dateien kopiert und geändert werden. CSS-Dateien befinden sich in "templates / css" Verzeichnis. Verschiedene Webseitenthemen können verwendet werden, um z. Drucken, SmartPhones, PADs Vorlagen.
Table Ansichten - haben ein auswählbares Feld zur Auswahl der CSS-Datei für die vollständige Änderung des Themas (gespeichert in "templates / css / tabs" Verzeichnis).
Map Ansichten - Das allgemeine Thema wird ausgewählt von "Karte" Typ Kombinationsfeld. Zusätzlich gibt es eine Standard-CSS-Datei "templates / css / map.css" Dies enthält einige zusätzliche Funktionen wie das Ausblenden / Färben von Ergebnissen basierend auf ihren Werten. Der Rest dieser CSS-Datei ist praktisch auf Abfrage- und Feldformulare beschränkt.
Die meisten von @ City Platform PHP-Dateien zur Visualisierung akzeptieren CSSParameter mit dem Wert des Dateinamens für das Thema (ohne Erweiterung). Die Datei muss sich im Verzeichnis "templates / css" befinden und der Name unterscheidet zwischen Groß- und Kleinschreibung.
Einige Elemente der Themenanzeige befinden sich direkt in der Datei JavaScript in "template / js" Verzeichnis.
Main @Stadt Skript"@ City.js" befindet sich im oberen Verzeichnis. Hier besteht keine Änderungsmöglichkeit Speicherort, jedoch kann das Skript kopiert werden "templates / js" Verzeichnis und dort geändert. Die Verwendung eines einzelnen Skripts erfordert die Aktualisierung aller Header-Dateien.
Einige einzigartige Sensoren erfordern möglicherweise spezielle Berechnungsfunktionen.
Es gibt keine Möglichkeit, mehrere Varianten von zu aktualisieren und zu warten @ City Server Software, Front-End-PHP-Schnittstelle, was viele Probleme, Versionen, Fehler verursachen würde.
Der beste und einfachste Weg, dies zu erreichen, besteht darin, over "Overlay" -Dateien zu aktualisieren, um den Wert / die Beschreibung korrekt anzuzeigen.
Ursprüngliche JS-Skripte sind offene Textdateien und können an die Kundenbedürfnisse angepasst werden. Wie im vorherigen Kapitel angegeben, müssen sie kopiert werden "templates / js" Verzeichnis, in dem der Kunde Zugriffsrechte zur Änderung hat.
Technischer Aspekt bei der Programmierung von @Stadt Das System ist nicht Gegenstand dieses Dokuments. Webentwickler mit Grundkenntnissen in HTML und JS können jedoch die Front-End-Webanwendung an die individuellen Kundenanforderungen anpassen.
@ City-Datenbank mit einem Namen "IoT" oder "* IoT" ist in Tabellen unterteilt (wobei Asterix je nach Hosting-Server ein Präfix ist - falls erforderlich). Die Datenbank kann in PHPAdmin (Webanwendung) unter Link beobachtet werden http: //% IP% / phpmyadmin
Für jedes Gerät festgelegte Tabellen (wo * {asterix} ist IMEI-Adresse - eindeutige ID):
"* _t" - Token für die Autorisierung aktueller Benutzer (nicht für Einzelkunden-Clouds verwendet)
"* _c" - Befehlswarteschlange (Ereignisse) - zum Senden an das Gerät
"*" - Alle dekodierten Statusergebnisse.
Andere Tabellen:
"ithings_" Tabelle - enthält den dekodierten aktuellen Status aller Geräte (er wird während der Aktualisierung eines beliebigen Geräts kopiert "*" Tabellen). Die Struktur von ithings_ Tabelle ist fast das gleiche wie die "*" Tabellen. "ithings_" haben zusätzliche Felder für Postanschrift und Beschreibungen.
Die Tabelle "Benutzer" ist eingeschränkt und sollte geändert werden.
"idx" - Index
"tm" - automatischer Zeitstempel
"dt" - Unix-Zeitstempel
"imei" - eindeutige Geräteadresse
"rssi" - RSSI-Signalpegel
"rsrp" - RSRP-Signal
"Veranstaltungen" - Warten auf Ereignisse, die an die Steuerung gesendet werden sollen
"out1" .. "out16" - Status der dekodierten Ausgänge
"in 1" .. "in16" - Status der dekodierten Eingänge
"ain1" .. "ain8" - decodierte ADC-Werte (RAW)
"sens1" .. "sens8" - konvertierte Sensorwerte (abhängig vom Gerätetyp)
"dimm1" .. "dimm8" - decodierte Dimmerwerte (abhängig vom Gerätetyp)
"int1" .. "int6" - decodierte Zählerwerte (abhängig vom Gerätetyp)
"Text 1" .. "text6" - decodierte Textwerte (abhängig vom Gerätetyp)
"Schaffung" - Datum / Uhrzeit der Geräteerstellung
"letzte" - letztes Datum / letzte Uhrzeit
"Benutzer" - zukünftige Verwendung
"pass" - zukünftige Verwendung
"sn" - gsm Seriennr
"Status" - Der aktuelle Controller-Status wurde nicht im Hex-Format dekodiert
"hash_code" - zukünftige Verwendung
"addr" - kurze Geräteadresse
"fwnr" - Firmware nr
"disabled" - deaktiviertes Gerät (nicht ausgeführt)
"gsm_nr" - CIoT gsm-Nummer
"Vendor" - Vendor Code (für Franchise / Koproduktion)
"Zeitzone" - Zeitzonenversatz
"dst" - Verwenden Sie die Einstellungen für die tägliche Einsparung
"gps_lat" - GPS Latitude
"gps_long" - GPS-Länge
"gps_hdop" - GPS HDOP
"gps_alt" - GPS-Höhe
"gps_fix" - GPS-Fixierung (muss 3 sein - für gültige Ergebnisse)
"gps_cog" - GPS-Zahnrad
"gps_speed_km" - GPS-Geschwindigkeit in [km / h]
"gps_sat" - GPS-Satelliten gefunden
"Kontinent", "Land", "Region", "Subregion", "Subsubregion", "Stadt", "Bezirk", "Straße", "street_nr", "item_nr" - Kundenadresse und Beschreibungsfelder (!!!! Nicht verfügbar für "*" historische Tabellen)
"log" - Protokolldaten
Die Feldnamen sind wichtig für die Erstellung von SQL-Abfragen, um die Suchfunktionalität zu erhöhen, da der ursprüngliche Name in der SQL-Anweisung verwendet werden muss.
Diese Tabelle ist eine Ereignis- / Befehlswarteschlange für jedes Gerät und hat folgende Struktur:
"Befehl" - Befehl, der gesendet oder bereits an die Steuerung gesendet werden soll
"bestätigt" - Bestätigungsflag, wenn es bereits gesendet und bestätigt wurde
"Datum" - Unix-Zeitstempel des Ereignisses
"aktualisiert" - Flag für automatische Aktualisierung (Datum / Uhrzeit des Zeitstempels)
Auf Daten kann ohne Front-End-Webanwendung zugegriffen werden. Das @ City-System enthält ein Skript mit Funktionen auf mittlerer Ebene. Die Ergebnisse werden im JSON-Format zurückgegeben.
http: //%IP%/IoT/que.php? func = devsjson
Die Abfrage wird als Ganzes zurückgegeben "_ithings" Tabelle (aktueller Status aller Geräte) im JSON-Format:
[{ "Land":"", "Stadt":"", "Kontinent":"", "Land":"", "Region":"", "Subregion":"", "Subsubregion":"", "Stadt":"", "Kreis":"", "Straße":"", "street_nr":"", "item_nr":"", "gps_lat":"0000.0000N", "gps_long":"00000.0000E", "tm":"2019-02-10 12:56:23", "Schaffung":"2019-02-09 18:12:38", "letzte":"0000-00-00 00:00:00", "Veranstaltungen":"", "Benutzer":"", "bestehen":"", "imei":"351580051067110", "sn":"", "Status":"73000200000f360033026800240000002c002c002dffffffffffffffff5b63000001c1000001c2000000000000000009250a4f0a760a7a0a750a780a7e0000031d032205fc34029b025c025600460eb30", "Hash-Code":"", "addr":"", "fwnr":"", "deaktiviert":"", "gsm_nr":"", "Verkäufer":"", "Zeitzone":"", "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":"", "Veranstaltungen":"", "out1":"0", "out2":"0", "out3":"0", "out4":"0", "out5":"0", "out6":"0", "out7":"0", "out8":"0", "out9":"0", "out10":"1", "out11":"0", "out12":"0", "out13":"0", "out14":"0", "out15":"0", "out16":"0", "in 1":"0", "in 2":"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", "Text 1":"", "text2":"", "text3":"", "text4":"", "text5":"", "text6":"" }]
Abfrage historischer Daten eines einzelnen Geräts nach IMEI nr:
http: //%IP%/IoT/que.php? func = imeijson & imei = 356345080018095
Da die gesamte Tabelle möglicherweise Millionen von Zeilen enthält, sollte sie mit der WHERE-Klausel eingeschränkt werden, um den Server nicht aufzulegen.
Zusätzliche Parameter URL-Parameter:
func - Imeijson
imei - IMEI des Geräts
Feld - Felder, die in den Ergebnissen angezeigt werden sollen (durch Koma getrennte Liste)
Mindest - Mindestwert für das erste Feld aus der Liste
max - Maximalwert für das erste Feld aus der Liste
sodert - Feld zum Sortieren
tm - Feld wird automatisch zu den Ergebnissen hinzugefügt.
where - where-Klausel zum Beschränken von Daten
Beispiel:
Wir wollen folgendes Ergebnis erzielen
für Gerät mit imei=356345080018095
Felder anzeigen: ain5, ain6, gps_lat, gps_long
und begrenzen ain5 im Bereich ( 1, 10000 ) - muss das erste Feld in der Liste sein
und Geographisches Positionierungs System gültige Daten haben (gps_fix = 3)
und Datum / Uhrzeit (tm) from2019-02-14 23:00:19 to 2019-02-15 00:00:00
Konstruierte URL-Zeichenfolge:
http: //%IP%/IoT/que.php? func =imeijson& imei =356345080018095& field =ain5, ain6, gps_lat, gps_long& min =1& max =1000& wo =gps_fix = 3 und tm> "2019-02-14 23:00:19" und tm <"2019-02-15 00:00:00"
Abfrageergebnisse:
[{ "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" }]
Diese Funktion gibt begrenzte Daten aus der Tabelle "_ithings" zurück
http: //%IP%/IoT/que.php? func = fieldjson & field = ain5 & min = 13 & max = 5000
Parameter:
func - fieldjson
Feld - Feld, das in den Ergebnissen angezeigt werden soll - imei und tm werden automatisch hinzugefügt
Mindest - Mindestwert für das Feld
max - Maximalwert für das Feld
Für die obige Abfragezeichenfolge wird zurückgegeben Ergebnisse von ain5, imei, tm Felder:
wenn ain5 ist in Reichweite (13.5000)
Abfrageergebnisse:
[{"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" }]