Text geknüpft

MQTT Broker Tutorial – IoT-Anwendung besser bauen

Schneller Überblick

Bevywise Crystal MQ Broker Übersicht

BevywiseMQTT Brokerist eine komplette IoT Application Suite mit einem eingebauten MQTT Broker. Es handelt sich um einen zentralen MQTT Server, die die Kommunikation zwischen MQTT-fähigen Edge-Geräten / Internet der Dinge (IoT) erleichtert Geräte und sammelt Daten, die für die Datenanalyse und Visualisierung gespeichert werden können.

CrystalMQ Broker verwendet Message Queuing Telemetry Transport (MQTT) Protokoll als Standard-Messaging-Protokoll/Kommunikationsprotokoll.MQTArbeiten auf der Grundlage des Publikationsabonnements Modell. Es bietet Ihnen einen voll ausbaubaren Rahmen, der hilft Sie bauen leistungsstarke IoT/IIoT-Anwendungen für alle industriellen Anwendungsfälle auf.

Unterstützte MQTT-Versionen:

  • MQT 3.1
  • MQ3.1.1
  • MQTT 5
Anmerkung:MQT Broker unterstützt MQTT funplug B für die Industrie Kommunikation.

MQTT Sparkplug B - Bitte überprüfenMQT Sparkplug B-UnterstützungAbschnitt, um mehr zu wissen.
Schlüsselfunktionen

Das ist ein Problem. Messaging:Kristall MQ verwendet ein themenbasiertes Messaging-Modell, bei dem Nachrichten veröffentlicht auf spezifische Themen, es den Abonnenten erlaubt, nur relevante Daten auf Basis ihrer Abonnements zu erhalten.

QoS Handling:CrystalMQ unterstützt verschiedene Servicequalität (QoS) Levels (0, 1, 2), um die Nachricht zu gewährleisten Liefersicherheit und Garantie, basierend auf den Anforderungen des Kommunikationsszenarios.

Das ist der Grund:Es verwaltet Client-Verbindungen, einschließlich Aufbau, Wartung, und Abschluss von MQTT-Verbindungen, sowie Handling-Verbindungs-Retries und Timeouts.

Sicherheit:Es bietet Sicherheitsfunktionen wie TLS-Verschlüsselung, Authentifizierungsmechanismen (Benutzername/Passwort, Kundenzertifikate), und Zugriffskontrolle, um eine sichere und autorisierte Kommunikation zu gewährleisten.

Persistenz:Es bietet die Möglichkeit, Nachrichten zu speichern und zu verwalten, um die Nachrichtenlieferung zu gewährleisten auch bei vorübergehenden Netzstörungen oder Kundenunverfügbarkeit.

Skalierbarkeit:Mit seiner Fähigkeit, Millionen von gleichzeitig zu unterstützen Verbindungen, es zeichnet sich durch die skalierbare und hochperformanteste MQTT Broker aus.

Erste Schritte

Dieser Abschnitt bietet einen umfassenden Leitfaden zum Herunterladen und Installieren die On-Premise oder selbstgehostete Version von Bevywise MQTT Broker auf Ihren gewählten Maschinen oder Server. Zusätzlich umfasst es Anweisungen zum Anschluss von Geräten und zum Testen von Messaging Szenarien (Veröffentlichung und Anmeldung) mit dem Broker.

Anmerkung:Abgesehen von den in diesem Zusammenhang erläuterten Einsatzmethoden Abschnitt, wenn Sie interessiert sind in der Erkundung einer Cloud-hostierten Version des MQTT Broker, einfachAnmeldung für ein Konto. Dies ermöglicht es Ihnen, Ihre Geräte direkt ohne den Aufwand an Serverwartung zu verbinden.
Wählen Sie Ihre Plan

Wir haben verschiedene Pläne für verschiedene Anwendungsfälle, nämlich:

  • Entwicklerplan
  • Lite Plan
  • Starter Plan
  • Enterprise Plan
Entwickler Lite Starter Unternehmen
KOSTENLOSE MQTT Broker Premium Premium Premium
Bis zu 10 Geräteanschlüsse Bis zu 100 Geräteanschlüsse Verbindungen basierend auf kundenspezifischen Anforderungen Verbindungen basierend auf kundenspezifischen Anforderungen
Komplette Protokollunterstützung - 3.1, 3.1.1 und 5.0 Komplette Protokollunterstützung - 3.1, 3.1.1 und 5.0 Komplette Protokollunterstützung - 3.1, 3.1.1 und 5.0 Komplette Protokollunterstützung - 3.1, 3.1.1 und 5.0
Keine Feature Einschränkungen Zolllager Multi-Tenanacy - White Labelling
Eingeschlossene Cluster und mehr und mehr und mehr
Downloads Jetzt kaufen ! Sie haben ! Sie haben

Für Developer Plan (FREE-Version) können Sie direkt Ihre kostenlose Paket mit demLink herunterladen.

Für Premium-Pläne bitteKontaktformularum Ihre Lizenz zu erhalten und zu bauen.

CrystalMQ Broker installieren

Unser Messaging Broker kann auf jedem privaten / lokalen Maschine / physischen Server laufen in einer On-Premise-Umgebung oder kann auch im Docker ausgeführt werden.

Es ist Cloud-Agnostic und kann auf jeder Cloud-Plattform gehostet werden.

Folgende Betriebssysteme werden derzeit unterstützt, um die herunterladbare Paket.

  • Windows 10 oder höher
  • Ubuntu 20 oder höher
  • RHEL 9.x

Sie haben auch die Möglichkeit, den MQTT Broker mit nur einer Klicken Sie ausAWSundAzure Auf dem Markt.

zum Ausführen von MQTT Broker als Docker, bitte nutzen Sie den Link unten, um zu beginnen mit:Als Docks laufen.

Installieren Sie Kristall MQ mit herunterladbarer Datei

Windows

  • Führen Sie die ausführbare Datei aus (Bevywise_CrystalMQ_5.0.exe).
  • Doppelklicken Sie auf die Datei „runbroker.bat“ im Ordner Bevywise/CrystalMQ/bin.

Oder

  • Öffnen Sie cmd als Administrator und gehen Sie in Bevywise/CrystalMQ/bin Ordner.
  • Geben Sie dann „runbroker.bat“ ein und schlagen Sie ein.
cd ./Bevywise/CrystalMQ/bin

wohnzimmer.de

Linux

Öffnen Sie das Terminalfenster. Gehen Sie auf den Pfad, wo der heruntergeladene MQTT Broker Paket befindet sich & entpacken Sie das Archiv.

unzip Bevywise_CrystalMQ_Linux.zip
  • Öffnen Sie den Bin-Ordner im unverpackten Paket. Typische Lage kann Downloads/Bevywise/CrystalMQ/bin
  • Jetzt laufe Sh runbroker. !
cd ./Downloads/Bevywise/CrystalMQ/bin

schreien. !

Broker startet standardmäßig auf localhost IP-Adresse (127.0.0.1) / Maschine IP und hört auf Port 1883.

Öffnen Sie Ihren Webbrowser und navigieren Sie auf http://localhost:8080/ (ersetzt) "localhost" mit Ihrer IP-Adresse in der Adressleiste auf das MQTT Broker Dashboard zugreifen.

Weitere Möglichkeiten zum Starten von MQTT Broker

Die andere Methode, durch die Sie den Nachrichtenbroker starten können, ist von als Service ausgeführt. Wenn Sie Broker als Dienst ausführen, können Sie den Broker automatisch starten, wenn die Maschine beginnt. Sie können vermeiden, es jedes Mal aus dem Terminal oder der Eingabeaufforderung auszuführen.

Für Windows

Um CrystalMQ-Service zu starten,

  • Sie die Eingabeaufforderung im Administratormodus. Gehen Sie zu ./Bevywise/CrystalMQ/bin und Laufen EinnahmenCrystalMQSvc.bat. Dies wird den CrystalMQ-Service erstellen und das gleiche starten.

cd ./Bevywise/CrystalMQ/bin

ErstellenCrystalMQSvc.bat

Um Crystal zu stoppen MQ-Service,

  • Sie die Eingabeaufforderung im Administratormodus. Gehen Sie zu ./Bevywise/CrystalMQ/bin und laufen Löschen SieCrystalMQSvc.bat. Dies wird den Broker fallen und es von Dienstleistungen entfernen.

cd ./Bevywise/CrystalMQ/bin

EntfernenCrystalMQSvc.bat

Für Linux

Der Bin-Ordner (Bevywise/CrystalMQ/bin) enthält RunAsService.sh-Datei. Laufen diese Datei, um zu aktivieren „einrichten der Dienstdatei „ und „Pfad“ (als symbolischer Link in „/opt/Bevywise“-Ordner umgeleitet).

cd ./Bevywise/CrystalMQ/bin

Pressemitteilungen

Jetzt, um den Service zu starten, verwenden

sudo systemctl start crystalmq. Service

Um den Status zu überprüfen, verwenden

sudo systemctl status crystalmq. Service

Um den Service zu stoppen, verwenden

sudo systemctl stop crystalmq. Service

Anmerkung :Bitte beachten Sie, dass vor dem Versuch, Broker als Service zu betreiben sicherstellen, dass Sie hielten es vom manuellen Laufen ab.
Die Verbindung mit Bevywise IoT Simulator testen

DieBevywise IoT Simulatorist ein MQTT-Datensimulationstool, das Sie können mehrere Geräte gleichzeitig erstellen und simulieren. Dies ermöglicht Sie führen Lasttests und Testkonnektivität effizient durch.

MQTT-Protokoll unterstützt - MQTT 3.1, & 3.1.1

Voraussetzungen

Stellen Sie sicher, dass Sie IoT Simulator in Ihrer Maschine heruntergeladen haben, bevor Sie fortfahren. Wenn nicht, laden Sie es mit dem unten stehenden Link herunter.

Internet-Simulator Kostenlos Downloads
  • Öffnen Sie Ihren Webbrowser und navigieren Sie auf http://localhost:9000/ (Ersetzen "localhost" mit Ihrer IP-Adresse) in der Adressleiste auf das IoT Simulator Dashboard zugreifen.
  • Erstellen Sie ein neues Netzwerk und konfigurieren Sie Broker-Einstellungen wie unten.
Manager Anwendungen : Sonstige
Broker IP Adresse :
TLS / SSL : Aktiviert / deaktiviert ( Basierend auf der Konfiguration in broker.conf).
Broker port : 1883 (Es ändert sich automatisch auf 8883, wenn TLS aktiviert ist).
Root-Certificate: Lassen Sie es leer, wenn TLS deaktiviert ist.
Saubere Sitzung: 0 (0-False, 1-True).
  • Erstellen Sie ein neues Gerät.
  • Es kann verschiedene IoT-Eventkonfigurationen geben. Wählen Sie jemanden aus der Liste und definieren Thema, Datenformat, & Variante basierend auf dem Bedarf.
  • Klicken Sie nun auf 'Rot' Taste, um das Gerät mit MQTT Broker zu verbinden. Sie können erstellen & simulieren mehrere Geräte nach demselben Verfahren.
  • Sie können das MQTT Broker Dashboard für Geräteaktivitäten überprüfen.

MQTT Clients

Wir haben umfassende Dokumentationen, um Ihnen bei der Verbindung verschiedenerMQTT Kundenzu unserem CrystalMQ Broker. Diese Anleitungen werden detaillierte Anweisungen und Einblicke liefern, Sicherstellung einer nahtlosen Integrationserfahrung mit CrystalMQ. Klicken Sie auf den folgenden Link, um zu beginnen mit unsere sofortigen MQTT Clients.

MQTT Clients Dokumentation

Technische Details und Support

Dieser Abschnitt erklärt die Hardwareanforderungen und Dateien & Verzeichnisse für hochrangige Konfigurationen.

Hardwareanforderungen

Hardware-Anforderungen variieren je nach Nachrichtenrate und Größe.

Allerdings finden Sie die minimalen Anforderungen unten für Ihre Referenz.

  • CPU - 1 Kern oder höher
  • RAM – 2 GB oder höher
  • Festplatte – 50 GB oder höher

Einführung von MQTT Broker Folders

Nach Abschluss des Installationsprozesses entdecken Sie die folgende Dateien und Ordner auf dem angegebenen Pfad.

Ordner Warenbezeichnung Dateien
Bin Enthält ausführbare Dateien 1. runbroker.bat / runbroker.sh - Um Broker zu starten
2. stopbroker.bat / stopbroker.sh - Um Broker zu stoppen
3. Kristallmq. service - systemd linux service file
4. RunAsService.sh - Broker als Service in linux ausführen
5. install_mysql_connector.sh /
install_mysql_connector.bat - Um mysql Connector und andere Abhängigkeiten zu installieren.
Bescheinigung
./wurzel
./server
./client
Zertifikate für TLS / SSL-Kommunikation .root/root.crt - Selbstsignierte CA.
.server/server.crt - Serverbasiertes CA signiert Zertifikat
.server/server.key - Serverbasierter privater Schlüssel
.client/client.crt - Kundenbasierte CA signiert Zertifikat
.client/client.key - Privatschlüssel auf Clientbasis
Süßigkeiten Enthält konfigurierbare Dateien mqtt.conf
MQTT Authentication
TLS Konfiguration
UTF Unterstützung
ACL
Clustering

Anwendung.conf
UI Konfiguration
Logbuch

Datenspeicher.conf
Datenbankbezogene Konfigurationen
Erweiterungen ausziehbare Pythonhaken custom_auth.py - Authentifizierung anpassen
custom_scheduler.py - KI / ML-Algorithmen hinzufügen
custom_store.py - Anwendungen von Drittanbietern integrieren
custom_ui_server.py - UI nach Bedarf anpassen
Freiheit Bibliotheksdateien, die für die Funktion des Brokers unerlässlich sind
Lizenz Enthält Broker Lizenz Lizenz.dat - Premium-Lizenzdatei
Logs Fehlerprotokolle broker.log - Erfasst neueste Fehlerprotokolle
ui Vollständige Liste der HTML-Dateien, css, jss of MQTT Broker
Daten SQLite Datenbank bevywise - Datenbank, die von Broker empfangene und gesendete Daten speichert (wenn SQLITE ist ausgewählt als Datenspeicheroption)

Technischer Support

Für technische Fragen zu MQTT Broker oder müssen Sie über Ihre Anforderungen, können Sie immer erreichen uns

E-Mail:[email protected]
Nachricht: http://www.bevywise.com/contact-us.html
Telefon:Indien - +91 8072398868 / US - +1 707 879 8999

MQTT 5 Broker Properties

Dieser Abschnitt gibt einen detaillierten Überblick überMQTT 5Eigenschaften und die Konfigurationen, die Sie mit dieser Protokollversion spielen können.

Sitzungsablauf

MQTT 5 führt das Konzept von Session und Message Ablauf ein. Kunden kann Sitzungsablaufintervalle festlegen, dem Broker die getrennten Client-Sitzungen nach einem bestimmten Zeitraum zu reinigen.

Sie können das Sitzungsablaufintervall im Broker konfigurieren und festlegen. Süßigkeiten

SESSION_EXPIRY_INTERVAL = -1

#If set to (-1) Wert von CONNECT Paket wird für jeden Client verwendet

Sie können einen bestimmten Zeitrahmen für Sitzungsablauf definieren. Einmal konfiguriert, abgeschaltete Client-Sitzungen werden nach der angegebenen Dauer automatisch entfernt.

Sie haben die Möglichkeit, ein universelles Ablaufintervall für alle Sitzungen festzulegen Geräte.

Zusätzlich können Sie für jede einzelne Sitzung Ablaufintervalle festlegen Client, indem der Wert auf -1 gesetzt wird. In diesem Fall wird der Broker das CONNECT-Paket jedes Clients für den Ablauf der Sitzung überprüfen Intervallwert, und es wird diese Werte verwenden, um die Sitzungsreinigung entsprechend zu verwalten.

Maximal

Die Eigenschaft RECEIVE MAXIMUM wird verwendet, um die maximale Anzahl an QoS 1 und QoS 2 Nachrichten, die der Client gleichzeitig verarbeiten kann. Dies erhöht die Flexibilität und Effizienz der Nachrichtenlieferung für gleichzeitige Nachrichtenverarbeitung, bessere Ressourcennutzung und verbesserte Nachrichtenhandling Dynamik zwischen Kunden und Broker.

Sie können die Zahlen im Broker konfigurieren und festlegen. beschlagnahmt SERVER_RECEIVE_MAXIMUM.

#Default: 65535

SERVER_RECEIVE_MAXIMUM = 65535

Der Wert von SERVER_RECEIVE_MAXIMUM kann zwischen 1 und 65,535 liegen.

Ein Wert von 0 gibt an, dass der Client keine QoS 1 oder QoS verarbeiten kann 2 Nachrichten gleichzeitig, diese QoS-Levels für den Client effektiv deaktivieren.

Maximale QoS

MQTT Brokerkann den Kunden über den höchsten informierenQoS-Ebenees unterstützt einschließlich Maximale QoS im CONNACK Paket während des Verbindungsaufbaus.

Beim Empfang des Maximum QoS vom Broker im CONNACK-Paket, der Client muss sich an dieser maximalen QoS-Ebene beim Senden von PUBLISH-Paketen halten.

Der Broker kann jedoch noch SUBSCRIBE-Pakete von Kunden akzeptieren mit einem beantragten QoS von 0, 1, oder 2, unabhängig von seiner Unterstützung für QoS 1 oder QoS 2 ÖFFENTLICHE Pakete.

Sie können Maximum QoS im Broker definieren. Süßigkeiten

#Standard: 2

MAXIMUM_QOS = 2

Maximale Packungsgröße

Die maximale Packung Größe Eigenschaft wird vom Broker verwendet, um die Client über das Maximum erlaubte Größe für Pakete. Der Client ist verpflichtet, Pakete nicht größer als diese Grenze zu senden den Server. Wenn der Server erhält ein Paket, das diese Größengrenze überschreitet, es gilt als Protokollfehler, und der Server wird den Client mit DISCONNECT-Paket abschalten.

Sie können die maximale Paketgröße im Broker einstellen. wie unten.

#Standard: 268435460

SERVER_MAXIMUM_PACKET_SIZE = 268435460

#Maximum 5 Bytes for Fixed Header + maximale Restlänge 268435455

Thema Alias Maximum

Das "Topic Alias Maximum" ist eine Eigenschaft, die verwendet wird, um das Maximum anzugeben Anzahl Das Thema beschreibt, dass ein Client während der MQTT-Kommunikation mit dem Broker verwenden kann. Dies ermöglicht es dem Broker, den Client über die maximale Anzahl von Thema Aliases zu informieren, die es kann Verwendung.

Themen-Aliase sind kurze Referenzen zu Themen, die helfen, die Größe von MQTT-Steuerpaketen indem der Name des Themas durch eine kürzere Kennung ersetzt wird (Alias).

Sie können Maximum Topic Alias in broker.conf festlegen.

#Standard: 0

SERVER_TOPIC_ALIAS_MAXIMUM = 99

Ein Wert von 0 gibt an, dass der Broker das Thema Alias nicht unterstützt, und der Client sollte das Thema Aliases in seinen Nachrichten nicht verwenden.

Server halten Alive

Die"Server halten Alive"Mechanismus bezieht sich auf eine Funktion, die es dem MQTT Broker (Server) ermöglicht, Clients zu benachrichtigen etwa das maximale Zeitintervall für die Aufrechterhaltung einer aktiven Verbindung erlaubt.

Während der Verbindungsaufbauphase (CONNACK-Paket), der MQTT Broker informiert den Kunden über das "Server Alive halten" Intervall. Das Intervall "Server Alive halten" gibt das Maximum an Zeitdauer (in Sekunden) dass der Kunde kann leer bleiben, ohne irgendwelche Steuerpakete (z.B. PINGREQ) an den Broker zu senden.

Sie können dies in mqtt definieren. Süßigkeiten

SERVER_KEEP_ALIVE = 90

#If set to (-1) Wert von CONNECT Paket wird für jeden Client verwendet

Wenn Sie hier den Halten am Leben angeben, wird der Client diesen Wert nutzen anstatt des in seinem CONNECT-Paket bereitgestellten Erhaltungswerts.

Wird jedoch der Wert auf -1 gesetzt, was bedeutet, dass der Broker nicht die Eigenschaft Server Keep Alive senden, und der Broker wird den von der Kunden in sein CONNECT-Paket.

Zurück zur Verfügung

Die Funktion "Retain Available" bezieht sich auf die Fähigkeit eines MQTT Broker zur UnterstützungZurück zur Übersicht. Eingehaltene Nachrichten sind spezielle MQTT-Nachrichten, die auf dem Broker und an neue Abonnenten geliefert, wenn sie ein Thema abonnieren.

Sie können aktivieren / deaktivieren Retain in mqtt.conf

#Default:1

RETAIN_AVAILABLE = 1

# 0 || 1

Ein Wert von 0 bedeutet, dass gespeicherte Nachrichten deaktiviert sind. Ein Wert von 1 Mittel werden gespeicherte Nachrichten aktiviert.

Wild Card Abonnement Verfügbar

Ein Wildcard-Abonnement bezieht sich auf ein Abonnement-Muster, das erlaubt Kunden abonnieren mehrere Themen mit Wildcard-Zeichen (+, #).

Sie haben die Möglichkeit, den MQTT Broker zu konfigurieren, um entweder zu aktivieren oder die Wildcard Funktion basierend auf Ihren Anforderungen deaktivieren.

#Default:1

WILDCARD_SUBSCRIPING_AVAILABLE = 1

# 0 || 1

Ein Wert von 0 bedeutet, dass Wild Card Subscription deaktiviert ist. Ein Wert von 1 bedeutet, dass das Wild Card Subscription aktiviert ist.

Subscription Identifiers Verfügbar

Subscription-Identifier sind ein Feature, das MQTT-Clients ermöglicht Empfänger Kennungen zu ihren Abonnements. Abonnementkennzeichen werden verwendet, um einzelne Abonnements eindeutig zu identifizieren hergestellt durchMQTT Kundenzu spezifischen Themen. Jedes Abonnement kann einer eindeutigen Kennung zugeordnet werden.

#Default:1

SUBSCRIPTION_IDENTIFIERS_AVAILABLE = 1

# 0 || 1

Ein Wert von 0 bedeutet, dass Abonnementkennzeichen deaktiviert sind. Ein Wert von 1 bedeutet, dass Abonnement-Kennzeichen aktiviert werden.

MQT Geteiltes Abonnement

Unser Broker unterstützt standardmäßig freigegebene Abonnements und ermöglicht Daten werden unter abonnierte Geräte. Wenn ein Publisher Daten an ein Thema sendet, wird es unter allen abonniert Kunden. Zum Beispiel, wenn zwei Kunden sind abonniert auf 'Topic 1', der Broker wird das Senden von Nachrichten zwischen ihnen wechseln.

Geteilte Abonnements folgen dem untenstehenden Format

$shared/subscriptionname/topic

Sie können das gleiche in mqtt aktivieren / deaktivieren. Süßigkeiten

#Default:1

SHARED_SUBSCRIPING_AVAILABLE = 1

# 0 || 1

Anmerkung:Bitte beachten Sie, dass während der Funktion der gemeinsamen Abonnements innerhalb von Knoten in einer Clusterumgebung erstrecken sie sich nicht über den gesamten Cluster.

MQTT Broker Benutzeroberfläche und Dashboard

Unser Broker UI ermöglicht Ihnen die Überwachung, Visualisierung und Verwaltung Ihrer angeschlossenen Geräte und Daten. Dieser Abschnitt bietet einen tiefen Blick auf wie Sie auf das Dashboard zugreifen und MQTT-Daten in einer gewünschten Weise visualisieren können.

Zugang zum UI / Dashboard

Standardmäßig startet die UI des Brokers im Port 8080. Sie können darauf zugreifen, indem Sie zum Browser navigieren und eingeben

http://localhost:8080

Oder

:8080
UI Konfiguration

Dieser UI-Port kann durch Aktualisierung von UI_HTTP_PORT geändert werden in konfis/application.conf

Benutzeroberflächenkonfiguration [UI]

UI_HTTP_PORT = 8080
  • Starten Sie einmal den Broker
  • Jetzt können Sie beginnen, auf Ihre UI im definierten Port zugreifen.
Anmerkung :UI-Portwechsel kann in Szenarien erforderlich sein, in denen der Hafen 8080 von anderen besetzt ist Anwendung auf Ihrem System. Wenn Sie nicht wissen, eine andere Anwendung Laufen, Sie erhalten [Error 98] während MQTT Broker.
Überblick

Diese Seite enthält Verbindungsinformationen des Brokers. TLS Encryption kann von dieser Seite aktiviert oder deaktiviert werden.

Overview

API Token zum ZugriffMQTT Broker REST APIskann auf dieser Seite erzeugt werden.

Das ist das

Das Dashboard bietet einen schnellen Snapshot der neuesten Ereignisse in der Broker, wo man kann die Echtzeitdaten von Ihren Geräten anzeigen. Neben Rohdaten erwarten Sie den schnellen Echtzeitstatus des Brokers.

dashboard

  • Active Devices – Geräte, die derzeit aktiv sind
  • Total Devices – Gesamtzahl der bisher mit dem Broker verbundenen Geräte
  • Veranstaltungen – Gesamtzahl der Nachrichten / veröffentlichte Daten
  • Befehle – Gesamtzahl der empfangenen Nachrichten / Daten
  • Jüngste Ereignisse – Die Echtzeit-Ansicht neuer Daten veröffentlicht.
  • Neueste Geräteprotokoll – Die jüngste Ansicht auf Fehler trat während der Verbindung von Geräten auf.
  • Aktuelle Verbindungen – Die aktuelle Liste der angeschlossenen Geräte
  • Neueste Disconnections – Die jüngste Liste von Geräten getrennt

Neben dem Standard-Dashboard unterstützt MQTT Broker Custom eine, die es Benutzern erlaubt, mehrere Dashboards zu erstellen ihre Anwendungen. Lassen Sie uns tiefer graben, um zu wissen, wie es Ihrer Anwendung helfen kann.

In den Warenkorb

Die Nutzung von Dashboards variiert mit Use-case & Anwendung und es ist nicht fair, statische Dashboards für alle IoT-Implementierungen. Daher unterstützt unser Broker-System benutzerdefinierte Dashboards mit Set von vorgefertigten Widgets zu helfen Benutzern bessere Visualisierung spezifisch auf ihre Anwendung oder industrielle Bedürfnisse.

Im Gegensatz zu anderen MQTT Broker/Servern benötigen Sie keine Drittanbieter Plugin, um Ihre Daten zu visualisieren. Sie können mehrere Dashboards mit dieser Funktionalität von der UI selbst erstellen. Legen Sie einfach die Widgets auf dem Dashboard und stellen Sie eine Mehrwertvisualisierung zu Ihrem Daten.

Liste der unterstützten Widgets :

  • Text
  • Farbe
  • Liniendiagramm
  • Balkendiagramm
  • Schaubild
  • Vertikale Spur
  • Horizontale Spur
  • LED Licht
  • Schalter
Wie erstellen Sie Custom Dashboards?

Um ein Custom Dashboard zu erstellen:

  • Klicken Sie auf '+' im Menü Dashboard, Wählen Sie "Neues Dashboard" und geben Sie den Namen Dashboard ein und Beschreibung.
  • Klicken Sie nach Abschluss auf die Schaltfläche “Kreieren” um die Registerkarte “Widgets” zu öffnen.
  • Klicken Sie dann auf das "+"-Symbol an der rechten oberen Ecke der Widgets-Tab. Fenster 'Add Widget' wird erscheinen zusammen mit dem Dropdown-Menü, das die Arten von Widgets listet.
custom dashboard

Um ein Widget zu erstellen:

Widgets unterstützen JSON-Daten und TEXT. Stellen Sie sicher, dass Sie Widget erstellen nur für Zahlendaten.

widget

Die Schritte, um 9 verschiedene Arten von Widgets zu machen, sind unten aufgeführt.

ANHANG Text Widget
  • Wählen Sie das „Text-Widget“ aus, wenn Sie Daten in Form von Klartext anzeigen möchten. Dies hilft Ihnen, die Werte bestimmter Parameter in einer Daten zu markieren.
text widget

  • Geben Sie nun einen Titel und wählen Sie ein Gerät aus der Geräteliste.
  • Das Dropdown-Menü wird alle Clients (beide aktiv und inaktiv) mit dem Plattform.
  • Wählen Sie das Gerät, das aktiv ist (Ihr bevorzugtes Gerät) aus der Liste, um Daten anzuzeigen in Echtzeit fließen.
  • Jetzt müssen Sie ein Thema eingeben, für das Ihr ausgewähltes Gerät zugeordnet ist.
  • Wenn Sie mehrere Themen für ein bestimmtes Gerät haben, werden alle Themen in das Dropdown-Menü.

Klicken Sie auf um mehr zu erfahrenMQT Themen.

  • Dann müssen Sie einen Schlüssel auswählen. Der Schlüssel bezieht sich auf die Parameter, die Ihre JSON-Daten haben.

Zum Beispiel – JSON-Syntax wird wie
{ “KEY 1” : “ VALUE1” , “KEY2” : “ VALUE2 “, “KEY 3” : “VALUE 3” }

Beispiel für JSON-Daten
{ "Sensor" :"99", "Temperatur" : "90", "Status" : on" }

In den obigen Daten werden Sensor, Temperatur, Status als Tasten und 99, 90 und ON sind Werte für die Tasten.

Wenn ich beispielsweise Temperaturdaten anzeigen möchte, muss ich Wählen Sie den Schlüssel als "Temperatur". Dann muss ich Einheit für die Daten eingeben. Wie ich die Temperatur als Schlüssel gewählt habe, Ich habe Celsius als Einheit gegeben. Sie können die richtige Einheit basierend auf Ihren Daten eingeben.

  • Mit der Farbauswahl können Sie die Farbe für das gesamte Widget auswählen.
  • Dann Minimum und Maximum beziehen sich auf den Bereich Ihrer Daten. Wenn ich weiß, dass meine Daten im Bereich von 0 bis 100 oder 40 bis 80 usw., Ich kann hier erwähnen.
  • Schließlich ist es eine optionale Spalte. Die Wirkung dieses Parameters wird abhängig von auf dem Widget.
  • Zum Beispiel, bei Text Widget, wenn die Temperatur normal oder niedrig ist, muss ich zeigen, dass als GREEN farbiger Text. In ähnlicher Weise, wenn es sehr hoch ist, muss ich zeigen, dass, wie RED farbigen Text zeigt eine Alarm!! So hilft Offset im Text Widget. So kann ich den niedrigen Temperaturwert als Offset in der ersten Spalte eingeben und grüne Farbe dafür geben. Und dann in der nächsten Spalte, werde ich die hohe Temperatur als Offset eingeben und RED Farbe geben.
  • Jetzt werden die Eingaben angegeben und Sie können das Text-Widget auf der Vorlage anzeigen.
text widget
2. Farbe Widget

Color Widget hilft Ihnen, Daten in einer farbigen Form anzuzeigen. Auch können Sie verschiedene Farben für jeden optimalen Wertebereich einstellen.

Die Schritte sind die gleichen wie die der Erstellung eines TEXT Widgets.

add color widget

  • Nach der Bereitstellung der Gerätedetails, Thema & Schlüsselauswahl & minimal & maximale Reichweite, Sie die Offsetwerte eingeben.
  • Die Verwendung von Offset wird hier variieren, da Sie Ihre gewünschte MESSAGE anzeigen lassen können mit ausgewählter Hintergrundfarbe.
  • Zum Beispiel veröffentlicht mein Gerät die Geschwindigkeitsdaten und der Geschwindigkeitsbereich zwischen 0 und 200. Ich möchte sofort Alarm basierend auf Geschwindigkeit in drei verschiedenen Formaten wie Normal, Medium & Hohe Geschwindigkeit im Armaturenbrett in farbigem Format.

0 bis 50 normale Geschwindigkeit, 50 bis 100 mittlere Geschwindigkeit und mehr als 100 sind hohe Geschwindigkeit. Jetzt überprüfen Sie die Schritte unten.

  • Geben Sie den ersten Offsetwert als 50 ein und geben Sie den Untertitel als „Normal“ ein (wie ich will) den Text in einem Widget anzeigen). Dann können Sie die bevorzugte Farbe (Background) wählen werden angezeigt.
  • Geben Sie den zweiten Offsetwert als 100 ein und geben Sie den Untertitel als „Medium“ ein (wie ich will) den Text in einem Widget anzeigen). Dann können Sie die bevorzugte Farbe (Background) wählen werden angezeigt.
  • Geben Sie den dritten Offsetwert als 100 ein und geben Sie den Untertitel als „Speed Alert“ ein (wie ich will) um den Text in einem Widget anzuzeigen). Dann können Sie die bevorzugte Farbe auswählen (Background) angezeigt werden.
  • Jetzt werden Sie mit der Geschwindigkeit in Ihrer bevorzugten Farbe alarmiert
color widget
3. Line Widget

Linie Widget ermöglicht es Ihnen, Trends zu erstellen, die Daten anzeigen, die Änderungen im Laufe der Zeit. Dies hilft Ihnen, eine Reihe von Werten zu erstellen, die mit einer geraden Linie verbunden sind. Sie können auch Änderungen im gleichen Zeitraum für mehr als einen Wert vergleichen.

Die Schritte sind die gleichen wie die der Erstellung eines TEXT & Color Widget. Aber es wird keine Option, eine minimale und maximale Reichweite & Offset, da dies ein Trend ist Diagramm.

add line chart

  • Wählen Sie das Zeilendiagramm aus der Widgets-Liste.
  • Wählen Sie, welche Art von Daten Sie bevorzugen: Live oder Historisch
  • Geben Sie dann einen Titel und wählen Sie ein Gerät aus der Geräteliste.
  • Das Dropdown-Menü wird alle Clients (beide aktiv und inaktiv) mit dem Plattform.
  • Wählen Sie das Gerät, das aktiv ist (Ihr bevorzugtes Gerät) aus der Liste, um Daten anzuzeigen in Echtzeit fließen.
  • Jetzt müssen Sie ein Thema eingeben, für das Ihr ausgewähltes Gerät zugeordnet ist.
  • Wenn Sie mehrere Themen für ein bestimmtes Gerät haben, werden alle Themen in das Dropdown-Menü.
  • Dann müssen Sie einen Schlüssel auswählen und einen geeigneten Untertitel & Einheit für den Schlüssel zur Verfügung stellen.
line chart

Da es sich um ein Trenddiagramm handelt, zeigt es Daten über die Zeit. Daher ist es Diagramm Ihrer Daten vs Zeit. Daten (Wert) besetzen y-Achse und Zeit wird x-Achse. Die subtitle & unit, die Sie bereitstellen, wird in y-Achse angezeigt.

  • Jetzt können Sie Ihre bevorzugte Farbe für die Zeile zur Verfügung stellen, die Ihre Daten verbindet.
  • Klicken Sie auf Absenden und Ihr Zeilendiagramm wird erstellt.

Anmerkung:Wenn Sie historische Daten ausgewählt haben, können Sie die Daten für Ihren bevorzugten Zeitraum exportieren.

Um zwei oder mehr Werte zu vergleichen :

Es können zwei oder mehr Werte (Daten) eines einzigen Geräts verglichen werden mit Linie Widget.

Folgen Sie den folgenden Schritten, um ein Datenvergleichsdiagramm zu erstellen.

  • Verwenden Sie notwendige Schritte bei der Erstellung von Zeilen-Widget wie erwähnt.
  • Bevor Sie die Details einreichen, klicken Sie auf + Symbol in der Nähe der Farbauswahlleiste des ersten Schlüssels.
  • Gehen Sie nun weiter, indem Sie einen anderen Schlüssel in eine Daten, Untertitel, Einheit und Farbe eingeben.
  • Sie können mehr Tasten hinzufügen, basierend auf, wie viele Tasten die Daten des ausgewählten Geräts hat.
  • Klicken Sie nun auf Einreichen und Sie können das Datenvergleichsdiagramm anzeigen.
4. Bar Widget

Die Nutzung von Bar Widget ist die gleiche wie die der Linie Widget und es die Daten in rechteckigen Balken mit den von ihnen angegebenen Werten proportionalen Höhen darstellt.

add bar chart

  • Wählen Sie das Balkendiagramm aus der Widgets-Liste.
  • Wählen Sie, welche Art von Daten Sie bevorzugen : Live oder Historisch
  • Geben Sie dann einen Titel und wählen Sie ein Gerät aus der Geräteliste.
  • Das Dropdown-Menü wird alle Clients (beide aktiv und inaktiv) mit dem Plattform.
  • Wählen Sie das Gerät, das aktiv ist (Ihr bevorzugtes Gerät) aus der Liste, um Daten anzuzeigen in Echtzeit fließen.
  • Jetzt müssen Sie ein Thema eingeben, für das Ihr ausgewähltes Gerät zugeordnet ist.
  • Wenn Sie mehrere Themen für ein bestimmtes Gerät haben, werden alle Themen in das Dropdown-Menü.
  • Dann müssen Sie einen Schlüssel auswählen und einen geeigneten Untertitel & Einheit für den Schlüssel zur Verfügung stellen.

Da es sich um ein Trenddiagramm handelt, zeigt es Daten über die Zeit. Daher ist es Diagramm Ihrer Daten vs Zeit, Daten (Wert) besetzen y-Achse und Zeit wird x-Achse. Die subtitle & unit, die Sie bereitstellen, wird in y-Achse angezeigt.

  • Jetzt können Sie Ihre bevorzugte Farbe für die Bar, die den Schlüssel darstellt.
  • Klicken Sie auf Einreichen und Ihr Bar-Diagramm wird erstellt.
bar chart

Anmerkung:Bei der Auswahl historischer Daten, Sie können Daten für Ihren bevorzugten Zeitraum von Tagen exportieren.

Um zwei oder mehr Werte zu vergleichen :

Es können zwei oder mehr Werte (Daten) eines einzigen Geräts verglichen werden mit Bar Widget.

Folgen Sie den folgenden Schritten, um ein Datenvergleichsdiagramm zu erstellen.

  • Verwenden Sie notwendige Schritte bei der Erstellung von Bar Widget wie erwähnt.
  • Um die Details einzureichen, klicken Sie auf + Symbol in der Nähe der Farbauswahlleiste der ersten Schlüssel.
  • Gehen Sie nun weiter, indem Sie einen anderen Schlüssel in eine Daten, Untertitel, Einheit und Farbe eingeben.
  • Sie können mehr Tasten hinzufügen, basierend auf, wie viele Tasten die Daten des ausgewählten Geräts hat.
  • Klicken Sie nun auf Einreichen und Sie können das Datenvergleichsdiagramm anzeigen.
5. Widget von Gaumen

Ein Messgerät, das ein Geschwindigkeitsmesser visuell darstellt, wird verwendet, um progressive Werte darstellen.

Die Schritte sind die gleichen wie die des TEXT & COLOR Widgets.

add gauge

  • Nach der Bereitstellung der Gerätedetails, Thema & Schlüsselauswahl & minimal & maximale Reichweite, Sie die Offsetwerte eingeben.
  • Der minimale & maximale Wert stellt dabei den Start- und Endpunkt in einem Zifferblatt dar.
  • Die Verwendung von Offset variiert hier, da jeder Offset den Datenbereich in einem Zifferblatt darstellt die schließlich von einer Nadel gespitzt wird. Sie können verschiedene Farben für verschiedene wählen Offsets.

Betrachten wir einen Druckmesser und die Daten über Druckabfall zwischen dem Bereich 0 bis 100. Jetzt kann ich das Zifferblatt in 5 verschiedene Bereiche teilen.

  • 0 bis 20
  • 20 bis 40
  • 40 bis 60
  • 60 bis 80
  • 80 bis 100

Jede Kategorie repräsentiert jeden Offset und ich werde verschiedene Farben für die gleiche. Die Nadel wird den Druckwert anhand der Daten im Zifferblatt erhalten.

gauge chart
6. Vertikal und horizontal Prüfung

Die Verwendung von Vertical & Horizontal Messgerät ist die gleiche wie die von Erfassen, aber verwendet, um lineare progressive Werte zu repräsentieren.

Die Schritte für die Widget-Erstellung sind genau die gleichen, aber Sie werden haben die lineare Skala (horizontal oder vertikal) anstelle des Zifferblatts. Sie können die Offset-Basis einstellen dazu.

vertical gauge


horizontal gauge

Für Schritt-für-Schritt-Verfahren, überprüfen Sie bitte Gauge Widget.

7. LED Widget

Es ist ein bedingtes Widget, das für zufällige Daten arbeitet. Es kann in einem Szenario der Überprüfung des Status des Geräts entweder aktiv oder inaktiv verwendet werden.

Folgen Sie den folgenden Schritten, um ein LED-Widget zu erstellen.

  • Wählen Sie LED aus der Widgets-Liste.
  • Wählen Sie, welche Art von Daten Sie wünschen : Live oder Historisch
  • Geben Sie dann einen Titel und wählen Sie ein Gerät aus der Geräteliste.
  • Das Dropdown-Menü wird alle Clients (beide aktiv und inaktiv) mit dem Plattform.
  • Wählen Sie das Gerät, das aktiv ist (Ihr bevorzugtes Gerät) aus der Liste, um Daten anzuzeigen in Echtzeit fließen.
  • Jetzt müssen Sie ein Thema eingeben, für das Ihr ausgewähltes Gerät zugeordnet ist.
  • Wenn Sie mehrere Themen für ein bestimmtes Gerät haben, werden alle Themen in das Dropdown-Menü.
  • Dann müssen Sie einen Schlüssel auswählen.
add led light

Anmerkung:Bei der Auswahl historischer Daten können Sie Daten für Ihren bevorzugten Zeitraum von Tagen exportieren.

Anmerkung:LED funktioniert nur für das Gerät, das Daten in RANDOM sendet. Zum Beispiel On|Off oder Open|Close

Geben Sie nun den Wert (ON) an, den Sie erhalten, wenn Ihr Gerät aktiv ist und (OFF) wenn das Gerät inaktiv ist in dem jeweils angegebenen Raum. Wählen Sie Ihre gewünschte Farbe. Basierend auf der gewählten Farbe blinkt die LED den Gerätestatus.

led light

8. Schalter Widget

Dies ist ein interaktives Widget, in dem Sie die Aktivität des Geräts von der UI selbst.

Sie können wählen, welche Art von Daten Sie erhalten möchten : leben oder Historisch. Basierend auf dem vom Gerät empfangenen Thema/Ereignis können Sie Ihr Gerät ON/OFF oder die Aktion, die Sie mit den abonnierten Daten ausführen müssen.

add switch widget

Mit dem Switch Widget können Sie das Gerät manuell ein- und ausschalten.

Anmerkung:Bei der Auswahl historischer Daten können Sie Daten für Ihren bevorzugten Zeitraum von Tagen exportieren.

Anmerkung:Stellen Sie sicher, dass das Gerät, das Sie steuern möchten, zum Thema abonniert wird, das zufällige Daten hat (ON / OFF oder öffnen / schließen).

switch widget
Kunden

Dieses Menü zeigt die komplette Liste der Geräte (beide aktiv & inaktiv) die mit demMQTT Broker. Dies bietet Ihnen eine hohe Sicht auf jedes angeschlossene Gerät.

clients

Lassen Sie uns tiefer graben, um zu wissen, wie das helfen kann.

Dashboard bietet die neuesten schnellen Ereignisse von Geräten. Aber wie kann wir erhalten die komplette Liste der Ereignisse veröffentlicht und die Befehle empfangen, wenn es ein Abonnent ist?

Wie kann ich einen sofortigen Befehl an die Geräte senden?

Alle diese Fragen können beantwortet werden, wenn Sie die optimale Nutzung von Clients Menu.

  • Gehen Sie zu Kunden
  • Klicken Sie auf einen Client
Veranstaltungen

Die vollständige Liste der Ereignisse, die vom ausgewählten Gerät veröffentlicht werden. Sie können auch die Liste der Nachrichten veröffentlicht zusammen mit seinen zugehörigen Themen von den ausgewählten Gerät.

  • QoS-Ebene jedes Themas veröffentlicht. Lesen Sie unseren Blog, um mehr über Quality of Service (QoS) zu erfahren Niveau.
  • Der Zeitpunkt, zu dem die Nachricht veröffentlicht wurde.
events

Befehle

Die vollständige Liste der von dem ausgewählten Gerät abonnierten Befehle. Du kann auch erhalten,

  • Die Liste der Nachrichten, die vom ausgewählten Gerät zusammen mit seinen zugehörigen Themen empfangen werden.
  • QoS-Ebene jedes Themas abonniert.
  • Der Zeitpunkt, zu dem die Nachricht vom empfangenen empfangen wurde.
commands

Themen eintragen

Dies ist eine Liste der Themenfilter, die vom jeweiligen Client abonniert werden.

topics

Befehl senden

„Send Command“ hilft Ihnen, Sofortnachrichten an den Client zu senden.

active subscriptions

Folgen Sie den Schritten, um einen sofortigen Befehl zu senden :

  • Wählen Sie den Themennamen aus dem Dropdown-Menü.
  • Stellen Sie sicher, dass das Thema durch das Gerät abonniert wird, an das Sie den Befehl senden.
  • Geben Sie den Befehl ein, der im Nachrichten-Tab gesendet werden soll.
Themen

Die absolute Liste der von allen Geräten veröffentlichten und abonnierten Themen mit dem Broker verbunden.

Systemprotokoll

Die Verbindung der Vorrichtung mit dem Broker kann sein aus so vielen Gründen eingeschränkt/unterbrochen. Die Registerkarte Device Log enthält eine Liste von Fehlern, die während der Verbindung eines Geräts mit dem Broker aufgetreten. Das hilft Ihnen, den Grund hinter der Scheitern.

Die folgende Liste hilft Ihnen, den Grund für den Fehler zu identifizieren.

ERROR BEGRÜNDUNG
Server beschäftigt Server beschäftigt, Anzahl der Steckverbindung überschritten Server physikalische Grenze erreicht
Unbekannter Client Kundendaten werden nicht richtig angegeben. Invalide Kundendaten angegeben
Client-ID Null Client id Null, Verbindungseingang eingeschränkt Client Identifier ist NULL
Anschluss verweigert Die gleiche Client-ID bereits gefunden, versuchen, mit einer anderen Client-ID zu verbinden Wiederholen eines vorhanden Client Identifier nicht erlaubt
Invalides Credo Benutzername oder Passwort falsch. Verbinden Sie mit dem richtigen Benutzer-Anmeldesystem. Invalidität Authentication Details
Ping Response verfehlt Gerät ging offline. TCP Es gab Zeit.
SSL Akzeptieren Fehler beim Herstellen einer sicheren Verbindung. Invalid SSL-Zertifikat oder Verbindung
Protokoll nicht unterstützt Ungültiges Protokoll. Die empfangene Nachricht ist nicht im richtigen MQTT Format
Socket geschlossen Server ist beschäftigt
Gerät deaktiviert Unerwartet Geräte getrennt
Regel Motor

Regeln sind der erste Schritt, um Intelligenz für den Broker zu bauen. Es ist eine Automatisierungsmaschine, bei der Sie Alarme basierend auf der empfangenen Nachricht erstellen können.

Der Regelmotor besteht aus bedingten und zeitbasierten Regeln.

Zustandsabhängige Regelerstellung :

  • Client & Topic – Regelerstellung basierend auf Client & Thema
  • Thema & Nachricht – Basierend auf Thema & Nachricht
  • Client & Topic & Message – basierend auf Clientname, Thema & Nachricht
rules type

Kunde & Thema

Mit diesem Regeltyp können Sie Regeln auf Basis des Clients erstellen & das Thema, mit dem es verbunden ist.

Lassen Sie uns das Szenario betrachten. Mein Verlag veröffentlicht die Daten mit dem Thema, Pub / Test in 2 Minuten Intervall. Und ich will meinen Abonnenten mit dem Thema sub/test abonniert zu wissen, dass der Verlag die Daten veröffentlicht oder nicht.

So kann ich eine Regel erstellen, die, wenn der Publisher Daten sendet, die Der Abonnent erhält die Nachricht „Message Sent“.

Anmerkung : Dies ist nur ein Beispiel-Szenario, Sie können eigene erstellen Regel basierend auf Ihrem Bedarf.

Schritte zum Erstellen von Client & Topic Regeltyp :

  • Gehen Sie auf die Registerkarte Regeln & klicken Sie auf + Symbol in der oberen rechten Ecke.
  • Das Dialogfeld wird angezeigt, um Regeln zu generieren.
  • Wählen Sie nun „Client & Topic“ in Regeltyp aus.
  • Geben Sie die Client-ID Ihres Publishers & Themas an, mit dem der Publisher verbunden ist.
client topic rule

Wenn es mehrere Themen hat, wählen Sie das Thema, für das Sie sind beabsichtigt, eine Regel zu erzeugen.

Geben Sie nun das Thema ein, das die zufällige Nachricht erhalten soll (bitte in Regeln konfigurieren)

Hinweis : Gerät, das zu diesem Thema abonniert wird die konfigurierte Nachricht.

Geben Sie die zu sendende Nachricht ein und klicken Sie auf Senden.

Alternativ, wenn Sie die Nachricht senden möchten, wie es von der Herausgeber, klicken Sie auf „weiter“. Dies wird die veröffentlichten Meldungen, wie sie Teilnehmer.

Thema und Nachricht

Dieser Regeltyp ermöglicht es Ihnen, eine Antwort basierend auf der Nachricht zu senden empfangen und nur mit dem Thema & nicht mit dem Gerät verbunden ist. (i.e) Sie können Regel spezifisch für jedes Verlagsthema erstellen & es ist nicht auf das Gerät beschränkt mit.

Dieser Regeltyp wird für das unten genannte Szenario hilfreich sein.

Lassen Sie uns meinen Temperatursensor betrachten, die Temperatur zu veröffentlichen Daten in einem Bereich von 0 bis 50 und wenn es den optimalen Wert von 50 erreicht, muss ich eine Alarmmeldung an die Teilnehmer. Also mit Thema & Nachrichtenregeltyp, Ich kann die Bedingung festlegen, dass wenn die empfangenen Daten = 50 sind, senden Sie eine Alarmnachricht „Temperatur High“.

Anmerkung:Dies ist nur ein Beispiel-Szenario, Sie können Ihre eigene Regel basierend auf Ihrem Bedarf erstellen.

  • Gehen Sie auf die Registerkarte Regeln & klicken Sie auf + Symbol in der oberen rechten Ecke.
  • Das Dialogfeld wird angezeigt, um Regeln zu generieren.
  • Wählen Sie nun „Topic & Message“ im Regeltyp aus.
  • Geben Sie Thema Ihr bevorzugtes Verlagsthema.
  • Wählen Sie die Bedingung (=, <,>) und geben Sie den Wert ein. (Wenn die Bedingung = 50 ist, dann können Sie die Bedingung als = auswählen und die Wert als 50).
topic message rule

Geben Sie nun das Thema ein, das die zufällige Nachricht erhalten soll (bitte in Regeln konfigurieren)

Anmerkung:Gerät, welches dieses Thema abonniert wird, wird die Nachricht empfangen, die konfiguriert ist, wenn die Zustand ist zufrieden.

Geben Sie die zu sendende Nachricht ein und klicken Sie auf Senden.

Alternativ, Wenn Sie die Nachricht senden möchten, wie es von der Herausgeber, klicken Sie auf „weiter“. Dies wird die Nachrichten, die veröffentlicht werden, wie es dem Abonnenten über die Erfüllung der Zustand eingestellt.

Client-Topic-Message

Dieser Regeltyp ermöglicht es Ihnen, eine Antwort basierend auf der Nachricht zu senden empfangen und zugeordnet mit dem Thema und der Botschaft (d.h. Sie können Regel erstellen spezifisch für jedes Veröffentlichungsthema, das dem jeweiligen Gerät zugeordnet ist.

Die Schritte sind die gleichen wie die des Client-Topic-Message Regeltyps.

  • Gehen Sie zu Regeln Tab & klicken + Symbol an der oberen rechten Ecke.
  • Das Dialogfeld wird angezeigt, um Regel zu erzeugen.
  • Wählen Sie nun „Client-Topic-Message“ im Regeltyp aus.
  • Geben Sie die Client-ID Ihres Publishers & Themas an, mit dem der Publisher verbunden ist. (Wenn es mehrere Themen hat, wählen Sie das Thema, für das Sie eine Regel.)
  • Wählen Sie die Bedingung (=, <,>) und geben Sie den Wert ein. (Wenn die Bedingung > 40 dann, Sie kann wählen Sie Zustand als > und Wert als 40 eingeben
  • Geben Sie nun das Thema ein, das die zufällige Nachricht empfangen soll (ja, um in Vorschriften
client topic message

Anmerkung:Gerät, welches dieses Thema abonniert wird, wird die Nachricht empfangen, die konfiguriert ist, wenn die Zustand ist zufrieden.

Geben Sie die zu sendende Nachricht ein und klicken Sie auf Senden.

Alternativ, wenn Sie die Nachricht senden möchten, wie es von der Herausgeber, klicken Sie auf „weiter“. Dies wird die Nachrichten, die veröffentlicht werden, wie es dem Abonnenten über die Erfüllung der Zustand eingestellt.

Zeitbasierte Regelerstellung

Timer Rule – Regelerstellung basierend auf dem gegebenen Datum und der Zeit.

Timer-Regel hilft bei der Planung der Regel, um sie in einer bevorzugtes Datum und Uhrzeit. (i.e) Sie können eine Warnung für das angegebene Datum und die Uhrzeit senden.

  • Wählen Sie „Timer“ im Regeltyp.
  • Geben Sie die Client-ID des Verlegers.
  • Geben Sie dann das Thema ein, das von dem oben angegebenen Gerät abonniert wird, dem Sie sind dabei, den Alarm zu senden.
  • Geben Sie die zu sendende Nachricht ein.
  • Dann kann die Ausschreibung für :
    • Datum
    • Datumsbereich
    • Tag der Woche
  • Wählen Sie Ihre bevorzugte ein und klicken Sie auf Erstellen.
timer rule

Sobald dies geschehen ist, wird die Ausschreibung vom Teilnehmer empfangen Client für das erwähnte Datum und Uhrzeit.

rules
Sicherheit

SicherheitMQTT-Sicherheitist unerlässlich, um sensible Daten zu schützen und die Integrität von Messaging-Systemen zu erhalten. von die wichtigsten Aspekte der MQTT-Sicherheit zu behandeln, können Organisationen eine robuste Sicherheit schaffen Haltung für MQTT-basierte Bereitstellungen, Schutz sensibler Daten, unberechtigten Zugriff verhindern und die Integrität und Vertraulichkeit von MQTT aufrecht erhalten Kommunikation.

Hier sind drei Sicherheitsstufen in Bevywise MQTT Broker:

Geräte-Level Authentication

Die Authentifizierung auf Geräteebene beinhaltet die Validierung der Identität von Geräten Verbindung zum MQTT-Broker. Dies ist entscheidend, um nicht autorisierte Geräte zu verhindern vom Zugriff auf den Broker und stellt sicher, dass nur vertrauenswürdige Geräte veröffentlichen und abonnieren können Themen.

Damit können Sie Ihre Geräte sicherer mit Authentifizierungsdaten. Dies erfordert, dass Sie Authentication Feld in mqtt aktivieren. conf-Datei in conf-Ordner vorhanden.

Authentication aktivieren :

  • Gehen Sie zu ./CrystalMQ/conf (Path kann variieren)
  • Open mqtt.conf
  • Das Feld AUTHENTICATION_ENABLED ist auf DISABLED eingestellt. Ändern Sie es auf DEFAULT.
mqtt.conf

(DEVICE_AUTHENTIC)
BEHANDLUNG = DEFAULT
# DEFAUT | DISABLED | CUSTOM

Speichern Sie die Datei und starten Sie den Broker neu.

Geh zur UI von MQTT Broker. Sie finden das Menü „Sicherheit“ angezeigt. Sie können Ihre Authentication Anmeldeinformationen für eine sichere Geräteverbindung erstellen.

security

Authentication erstellen Angaben:

Fügen Sie MQTT Benutzername (Access Key) und Passwort (Access Token) hinzu, die sein können verwendet von bestimmten ClientIds. 'Clients' - kann auf einen einzelnen ClientId geändert werden, oder eine Liste von Komma getrennt Kunde Ids (Wildcards werden unterstützt). '*' bedeutet, dass Clients mit jedem Client Id kann verbinden.

add auth

Diese Anmeldeinformationen können auch gelöscht werden.

MQTT Benutzername (Access Token) kann entweder einfach oder als Verdauung gespeichert werden in der Datenbank. Einstellung SECURE_MQTT_PASSWORD = TRUE in conf/datastore. konvertiert wird MQT Passwörter als Verdauung und wird nicht in der UI angezeigt.

Datenspeicher.conf

SECURE_MQTT_PASSWORD = TRUE
# TRUE | FALSE

Speichern Sie die Datei und starten Sie den Broker neu.

Bitte beachten Sie, dass das Schalten dieser Konfiguration erforderlich ist, um die bestehende Datenbank.

Zugangskontrolllisten (ACLs)

ACLs werden verwendet, um körnige Berechtigungen zu definieren und zu steuern, welche Geräte oder Kunden können ausführen spezifische Aktionen (z.B. veröffentlichen, abonnieren) aufMQT Themen. Diese Höhe Sicherheit hilft bei der Durchsetzung feinkörniger Zugangskontrollrichtlinien innerhalb des MQTT-Brokers.

Mit ACL aktiviert, können Sie festlegen, welche Themen die Geräte erlaubt sind bis publizieren oder abonnieren, sowie welche Themen sie vom Zugriff beschränkt sind.

ACL aktivieren

Um ACL zu aktivieren, gehen Sie in die Datei "mqt.conf" im Ordner "conf". Dann setzen Sie sich wie : TOPIC_ACL = TRUE. Speichern Sie die Datei und starten Sie den Broker neu.

# Dies ermöglicht Client Id & Benutzername basierte Zugangskontrollliste zu Themen

# Wenn TRUE, alle Themen standardmäßig erlaubt sind, es sei denn, Themen werden vergeben/verleugnet basierend auf Client Id oder Username.

TOPIC_ACL = TRUE

# TRUE | FALSE

MQT Benutzername ACL

Aktivieren Sie Geräte-Authentifizierung, um MQTT Username basierend ACL zu verwenden.

Navigieren Sie zum Menü 'Sicherheit'

Wählen Sie unter dem Abschnitt Access Control List MQTT Username aus

acl username

Bei der Erstellung von MQTT Username/Password sind Standard-ACL-Einstellungen automatisch generiert, die ÖFFENTLICHE/SUBSCRIBE aller Themen erlaubt. Dies kann durch Klicken auf 'Bearbeiten' im MQTT-Benutzernamen bearbeitet werden.

Comma Getrennte Liste der Themen kann konfiguriert werden, um erlaubt/geregelt werden für Publizieren und Abonnieren eines jeden Kunden Verbindung mit diesem MQTT Username. Sowohl die Publish als auch Abonnieren von Themen akzeptieren MQTT-like Filter.

(z.B. Raum/+/Temperatur)

Kundenbasiertes ACL

Sie können auch ACL basierend auf dem ClientId festlegen. ACL kann nur hinzugefügt werden bereits angeschlossene Kunden.

Wählen Sie im Sicherheitsmenü unter der Abschnitt "Zugriffskontrolle" aus 'Clients' und ACL für einen angeschlossenen Client hinzufügen.

add acl for client


acl clients
TLS / SSL Verschlüsselung

Transport Layer Security (TLS) oder Secure Sockets Layer (SSL) Verschlüsselung fügt eine Sicherheitsschicht hinzu Verschlüsselung von MQTT-Kommunikation zwischen Clients und dem Broker. Dadurch wird verhindert, dass während des Zugriffs auf MQTT-Nachrichten eavesdropping, tampering oder unberechtigter Zugriff auf MQTT-Nachrichten erfolgt Übertragung.

TLS / SSL aktivieren

Um TLS zu aktivieren, setzen Sie TLS_ENCRYPTION = TRUE in conf/mqtt.conf :

TLS_ENCRYPTION = TRUE

(TLS)

# Nur verwendet, wenn TLS_ENCRYPTION = TRUE

TLS_PORT = 8883

TLS_PORT muss 88xx sein.

WSS_PORT = 11443

# Secure Websocket port of the Broker

SERVER_CERTIFICATE = ./../Zertifikat/server/server.crt

SERVER_KEY = ./../Zertifikat/Server/Server.key

CA_CERTIFICATE = ./../Zertifikat/root/root.crt

Da TLS aktiviert ist, startet Broker im Port 8883 statt von 1883.

Anmerkung:WSS_PORT_NO startet die MQTT SSL-Version in Websocket.

MQTTRoute kommt standardmäßig mit Self-Signed Certificate for Server. Die Zertifikate finden Sie inCrystalMQ/Zertifikat

SERVER_CERTIFICATE = ./../Zertifikat/server/server.crt

SERVER_KEY = ./../Zertifikat/Server/Server.key

CA_CERTIFICATE = ./../Zertifikat/root/root.crt

Root-Zertifikat (root.crt) muss auf dem Gerät / Client hochgeladen werden Seite, so dass der Client Überprüfen Sie, ob das Zertifikat des Servers (server.crt) durch sein vertrauenswürdiges Root-Zertifikat signiert wurde.

Wenn Sie Ihr eigenes selbstsigniertes Zertifikat erstellen müssen, überprüfen Sie unten.

Selbstsignierte Zertifikatserstellung - Linux

Erzeugen Sie den Schlüssel der Bescheinigungsbehörde

$ openl genrsa -des3 -out ca.key 2048

Geben Sie die Passform für den Schlüssel ein und speichern Sie ihn.

Ergebnis:

RSA-Privatschlüssel generieren, 2048 Bit lang Modul (2 Primes)

......+++++

.+++++

e ist 65537 (0x010001)

Geben Sie Passwort für ca.key ein:

Verifying - Geben Sie Passphrase für ca.key ein:

Erstellung eines Zertifikats-Antrags für die CA

$ openl req -new -key ca.key -out ca-cert-request.csr -sha256

Geben Sie einen beliebigen Organisationsnamen ein (z.B. Bevywise) und lassen Sie andere leer.

Ergebnis:

Geben Sie Passwort für ca.key ein:

Sie werden gebeten, Informationen einzugeben, die eingebunden werden

in Ihre Zertifikatsanfrage.

Was Sie eingeben wollen, ist das, was ein distinguished Name oder ein DN genannt wird.

Es gibt einige Felder, aber Sie können etwas leer lassen

Für einige Felder gibt es einen Standardwert,

Wenn Sie '.' eingeben, wird das Feld leer gelassen.

----

Landname (2 Briefcode) [AU]:

Name des Staates oder der Provinz (Vollname):

Ortsname (z.B. Stadt) []:

Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]:Bevywise

Name der Organisationseinheit (z.B. Abschnitt) []:

Common Name (z.B. Server FQDN oder YOUR Name) []:

E-Mail Adresse []:

Bitte geben Sie die folgenden 'extra' Attribute ein

zu senden mit Ihrem Zertifikatsantrag

Ein Challenge-Passwort []:

Ein optionaler Firmenname []:

Erstellen Sie das Wurzelzertifikat der CA

$ openl x509 -req -in ca-cert-request.csr -signkey ca.key -out ca-root.crt -days 365 -sha256

Ergebnis :

Unterschrift ok

Subjekt=C = AU, ST = Some-State, O = Bevywise

Private Schlüssel bekommen

Geben Sie Passwort für ca.key ein:

Erstellen Sie den Server / MQTT Brokers Schlüsselpaar

$ openl genrsa -out Server. Schlüssel 2048

Ergebnis :

RSA-Privatschlüssel generieren, 2048 Bit lang Modul (2 Primes)

..................................+++

......................................+++++

e ist 65537 (0x010001)

Erstelle eine Bescheinigungsunterzeichnungsanfrage

Dies kann mit dem Serverschlüssel (server.key) geschehen, um zu senden. sie an die Bescheinigungsbehörde für die Identitätsprüfung

$ openl req -new -key server. key -out server-cert-request.csr -sha256

Geben Sie einen beliebigen Organisationsnamen (z.B.Bevywise Inc) an und geben Sie den gemeinsamen Name. Comman-Name (z.B. tempmyaccount.mqttserver.com) sollte der Domain-Name Ihres Servers in der MQTT Broker läuft.

Oder geben Sie localhost ein, wenn MQTT Broker auf einer lokalen Maschine arbeitet.

Ergebnis :

Sie werden gebeten, Informationen einzugeben, die eingebunden werden

in Ihre Zertifikatsanfrage.

Was Sie eingeben wollen, ist das, was ein distinguished Name oder ein DN genannt wird.

Es gibt einige Felder, aber Sie können etwas leer lassen

Für einige Felder gibt es einen Standardwert,

Wenn Sie '.' eingeben, wird das Feld leer gelassen.

----

Landname (2 Briefcode) [AU]:

Name des Staates oder der Provinz (Vollname):

Ortsname (z.B. Stadt) []:

Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]:Bevywise Inc

Name der Organisationseinheit (z.B. Abschnitt) []:

Common Name (z.B. Server FQDN oder YOUR Name) []:tempmyaccount.mqtserver.com

E-Mail Adresse []:

Bitte geben Sie die folgenden 'extra' Attribute ein

zu senden mit Ihrem Zertifikatsantrag

Ein Challenge-Passwort []:

Ein optionaler Firmenname []:

Erstellung und Unterzeichnung des Serverzertifikats

Dieser Schritt ist es, ein neues Server-Zertifikat zu erstellen und es mit der Leistung zu unterschreiben der Bescheinigungsbehörde.

$ openl x509 -req -in server-cert-request.csr -CA ca-root.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360

Ergebnis :

Unterschrift ok

Subjekt=C = AU, ST = Some-State, O = Bevywise Inc, CN = tempmyaccount.mqtserver.com

Erhalten CA Privater Schlüssel

Geben Sie Passwort für ca.key ein:

Jetzt haben Sie die folgenden Zertifikate und Schlüssel in der Hand.

  • ca-root.crt (Name an root.crt)
  • Server
  • Server.key

Jetzt, server.crt und server. Schlüssel sollte auf dem Server hochgeladen werden ../MQTTRoute/Zertifikat/Server, und root.crt sollten auf dem Client bereitgestellt werden, so dass der Client kann Überprüfen Sie, ob das Zertifikat des Servers (server.crt) durch sein vertrauenswürdiges Root-Zertifikat signiert wurde.

root.crt - .../MQTTRoute/Zertifikat/root

server.crt - .../MQTTRoute/Zertifikat/Server

server.key - .../MQTTRoute/Zertifikat/Server

Selbstsignierte Zertifikatserstellung - Windows
  • CA Zertifikat erstellen
  • Windows File Explorer öffnen.
  • Navigieren Sie zum OpenSSL Bin Verzeichnis.
  • Klicken Sie mit der rechten Maustaste auf die Datei opensl.exe und wählen Sie Run als Administrator aus.
  • Geben Sie den folgenden Befehl ein, um ein Zertifikat und einen privaten Schlüssel zu generieren:

req -new -x509 -sha256 -nodes -days365 -newkey rsa:2048 - Keyout root.key -out root.crt

Sie werden dann aufgefordert, den gültigen Distinguished Name einzugeben (DN) Informationen, insgesamt sieben Felder:

Landname (2 Briefcode) [AU]:.

Name des Staates oder der Provinz (Vollname) [Some-State]:.

Lokalität Name (z.B. Stadt) []:.

Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]:Bevywise

Organisationseinheit Name (z.B. Abschnitt) []:.

Common Name (z.B. Server FQDN oder YOUR Name) []:

Email Adresse []:[email protected]

Sie können die Details basierend auf Ihrem Bedarf ändern.

Sobald Sie fertig sind, finden Sie die Wurzel. crt und root. Schlüsseldateien erstellt unter der ..\\ OpenSSL\\bin\\ Verzeichnis

Server-Schlüsselpaar erstellen :

Wieder navigieren Sie in den Bin-Ordner von opensl und geben Sie den folgende Befehle:

genrsa -out server.key2048

req -new -out server.csr - Schlüsselserver. Schlüsselwörter

Sie werden dann aufgefordert, den gültigen Distinguished Name einzugeben (DN) Informationen, insgesamt sieben Felder:

Landname (2 Briefcode) [AU]:.

Name des Staates oder der Provinz (Vollname) [Some-State]:.

Lokalität Name (z.B. Stadt) []:.

Organisationsname (z.B. Firma) [Internet Widgits Pty Ltd]:Bevywise

Name der Organisationseinheit (z.B. Abschnitt) []:

Common Name (z.B. Server FQDN oder YOUR Name) []:mqtt.server.com

E-Mail-Adresse []:[email protected]

Bitte geben Sie die folgenden „extra“ Attribute ein, die Sie mit Ihrem Zertifikatsanfrage.

Ein Challenge Passwort []:

Ein optionaler Firmenname []:

Geben Sie den folgenden Befehl in die Aufforderung ein

x509 -req -in server.csr -CA root.crt - CAkey Wurzel. Schlüsselwörter -CACreateserial -out server.crt

Laden Sie die erstellten Zertifikate in den jeweiligen Ordnern hoch.

root.crt in ../MQTTRoute/Certificate/root

server.crt in ../MQTTRoute/Zertifikat/Server

server.crt in ../MQTTRoute/Zertifikat/Server

Trusted CA Certificate Creation - Linux

In diesem Beispiel verwenden wir Certbot zur Erzeugung von LetsEncrypt Zertifikat und Nutzung dieses Zertifikats eine sichere TLS-Kommunikation zwischen MQTTRoute und seinen Kunden zu ermöglichen.

Certbot installieren:

$ sudo Snap install -classic certbot

$ sudo ln -s/snap/bin/certbot/usr/bin/certbot/

Zertifikat erstellen :

$ sudo certbot certonly -standalone -d ================================================================================================================================================================================================================================================================

Die Zertifikate werden erstellt und gespeichert /etc/letssencrypt/live/<your_domain>

Stellen Sie die Pfade dieser generierten Zertifikate in Bevywise/MQTTRoute/conf/mqtt.conf

TLS_ENABLED = TRUE

SERVER_CERTIFIZIERUNG = /etc/letssencrypt/live/<your_domain>/fullchain.pem

SERVER_KEY = /etc/letssencrypt/live/<your_domain>/privkey.pem

CA_CERTIFICATE = /etc/letssencrypt/live/<your_domain>/chain.pem

Trusted CA Certificate Creation - Windows

In diesem Beispiel verwenden wir Certbot zur Erzeugung von LetsEncrypt Bescheinigung und Verwendung Zertifikat, um eine sichere TLS-Kommunikation zwischen MQTTRoute und seinen Kunden zu ermöglichen.

Certbot installieren:

Laden Sie die neueste Version der Certbot-Installation für Windows herunter aus dem Url, https://dl.eff.org/certbot-beta-installer-win_amd64.exe.

Zertifikat erstellen :

Windows Start Menu öffnen und Windows PowerShell als ein Administrator.

Geben Sie die folgenden Befehle ein, um einen kostenlosen Let’s Encrypt SSL anzufordern Zertifikat.

PS> certbot -d <your_domain>

Die Zertifikate werden im Live-Ordner erstellt und gespeichert Installationsverzeichnis. Stellen Sie die Pfade dieser generierten Zertifikate in Bevywise/MQTTRoute/conf/mqtt.conf

TLS_ENABLED = TRUE

SERVER_CERTIFIZIERUNG = /etc/letssencrypt/live/<your_domain>/fullchain.pem

SERVER_KEY = /etc/letssencrypt/live/<your_domain>/privkey.pem

CA_CERTIFICATE = /etc/letssencrypt/live/<your_domain>/chain.pem

Datenbankkonfiguration

Die Optionen, um zu konfigurieren, wie Daten von der Broker wird in Bevywise/CrystalMQ/conf/datastore.conf gesetzt.

Geräteinformationen (Geräte-IDs und Abonnements) und MQTT Payload (Veröffentlichte/Empfehlte Nachrichten) werden vom Broker in einer der relationalen Datenbanken standardmäßig gespeichert. Die Beziehung Datenbanken, die von die Broker sind: SQLite, MySQL, MSSQL & PostgreSQL. Die UI nutzt diese Datenbank.

Wenn die Daten jedoch in einer anderen Datenbank gespeichert werden müssen, außerhalb der Broker, dann kann es auch konfiguriert werden.

Aktivieren / Deaktivieren von Speicher in Relational Datenbank

Um beide Geräteinformationen (Geräte-IDs, Abonnements) zu speichern und Payload (veröffentlichte/empfangte Nachrichten) in der Datenbank,

  • Gehen Sie zu Bevywise/CrystalMQ/conf/datastore.conf
  • Set, RELATIONAL_PERSISTENCE_ENABLED als Wahr und aktivieren Sie PAYLOAD_TO_DB

RELATIONAL_PERSISTENCE_ENABLED = TRUE

PAYLOAD_TO_DB = ENABLED

Wenn Sie beide Geräteinformationen und Payload nicht speichern möchten Datenbank, dann eingestellt

RELATIONAL_PERSISTENCE_ENABLED = FALSE

In diesem Fall ist CrystalMQ UI NICHT verfügbar. Daher PAYLOAD_TO_DB ist als DISABLED angenommen.

Um nur die Geräteinformationen in der Datenbank zu speichern und NICHT das MQTT Payloads, eingestellt

RELATIONAL_PERSISTENCE_ENABLED = TRUE

PAYLOAD_TO_DB = DISABLED

In diesem Fall sind im UI nur Geräteinformationen zu erkennen.

Lassen Sie uns unten die Relational Database Configurations sehen.

SQLITE konfigurieren

SQLITE ist die Standardspeicheroption in MQTTRoute. Und standardmäßig, Broker speichert Daten in SQLITE.

Sie können die Konfigurationen im Datastore überprüfen. conf. DB_SERVER wird in SQLITE gesetzt.

[KONFIG]
DB_SERVER = SQLITE
SQLITE || MYSQL || POSTGRES || MSSQL

Überprüfen Sie auch SQLite Server-Informationen. Eine Probenkonfiguration ist gegeben unten:

(SQLITE)
SQLITE || MYSQL || POSTGRES || MSSQL

SQLite Datenbank wird im Pfad Source/Bevywise/CrystalMQ/data gespeichert.

MySQL konfigurieren

Um MySQL Server als die von CrystalMQ verwendete relationale Datenbank zu konfigurieren, in Bevywise/CrystalMQ/conf/data_store.conf

DB_SERVER = MYSQL

Setzen Sie auch MySQL Server Informationen. Im Folgenden wird eine Probenkonfiguration angegeben.

(MYSQL)

DBHOST = 127.0.0.1

DBPORT = 3306

MYSQL_DB = bevywise

MYSQL_USER = Wurzel

MYSQL_PASSWORD = Wurzel

Hinweis: Die Serverkonfiguration muss von Ihrem MySQL-Server erhalten werden.

MYSQL Connector Installation :

Installieren Sie den MYSQL-Steckverbinder und andere Abhängigkeiten, indem Sie unten laufen Befehl.

../MQTTRoute/bin

Windows

install_mysql_connector.bat

Linux

$ sh install_mysql_connector.sh

MSSQL konfigurieren

Um MSSQL Server als die von CrystalMQ verwendete relationale Datenbank zu konfigurieren, in Bevywise/CrystalMQ/conf/datastore.conf

DB_SERVER = MSSQL

Setzen Sie auch MSSQL Server Informationen. Eine Beispielkonfiguration ist unten angegeben

(MSSQL)

DRIVER = ODBC Treiber 17 für SQL Server

SERVER_NAME =

DBPORT = 1434

MSSQL_DB = bevywise

MSSQL_USER = sa

MSSQL_PASSWORD =

In Linux setzen Sie SERVER_NAME als den Wert von „Beschreibung“ in Datei: /etc/odbcinst.ini

PostgreSQL konfigurieren

Um PostgreSQL zu konfigurieren Server als relationale Datenbank von CrystalMQ, in Bevywise/CrystalMQ/conf/datastore.conf

DB_SERVER = POSTGRES

Auch, setzen PostgreSQL Serverinformationen. Eine Probenkonfiguration ist gegeben unten

(STÖHNT)

PSQLHOST = 127.0.0.1

PSQLPORT = 5432

PSQL_DB = bevywise

PSQL_USER = Postgres

PSQL_PASSWORD = admin

MQT Sparkplug B-Unterstützung

MQT Sparkplug Bsetzt auf einen MQTT-Broker, um die Kommunikation zwischen Industriegeräten zu erleichtern, Sensoren und Anwendungen wie SCADA, Historians, etc. Der MQTT-Broker dient als Basis Kommunikation Infrastruktur, die an derMQT Das ist alles.Standards und behandelt das Routing von Sparkplug B-konformen Nachrichten.

Sparkplug B-konforme Geräte und Anwendungen veröffentlichen und abonnieren Themen zum MQTT-Broker, nach den durch das Sparkplug B-Protokoll vorgegebenen strukturierten Datenformaten und Richtlinien.

Der MQTT-Broker liefert das Kommunikations-Backbone und Protokoll Unterstützung, während MQTT Sparkplug B die Standards und Konventionen für den Datenaustausch innerhalb industrieller IoT-Ökosysteme definiert, die Nutzung der Fähigkeiten des MQTT-Protokolls für effiziente, zuverlässige und skalierbare industrielle Automatisierung und Überwachung.

Unser Broker unterstützt standardmäßig Sparkplug-fähige Geräte ohne Änderungen der Konfiguration erfordern Datei. Aber es ist Wesentlich zu überprüfen, ob die Einstellung "Authentifizierung" im mqtt aktiviert ist. beschlagnahmt.

BEHANDLUNG = TRUE

MQT Clustering

GewährleistungDas ist gut. Wie man sieht, mehr als 1 robuste Broker können verwendet werden. Unser CrystalMQ mit dem eingebautInter-Broker Communicator (IBC)ermöglicht es allen Brokern im Cluster, miteinander zu sprechen, um sicherzustellen, kontinuierliche Kommunikation mit den Geräten unabhängig von Kunden, die sich mit einem Broker im Cluster verbinden.

Ein Lastausgleich kann an der geräteseitigen Kante eingerichtet werden, um die Last.

Um mehr über die interbroker Kommunikationsfunktionalität zu erfahren, lesen Sie unser hochverfügbares Blog.

Um hohe Verfügbarkeit in CrystalMQ zu aktivieren, sollten Sie die interbroker kommunikator zuerst.

InterBroker Communicator aktivieren

Die eingebaute Inter-Broker Communicator-Funktion (IBC) sorgt für nahtlose Kommunikation zwischen allen Brokern innerhalb eines Clusters. Dies garantiert eine kontinuierliche Verbindung mit Geräten in beide Richtungen, unabhängig davon, mit welchen Broker-Clients sich verbinden.

Um IBC nach der Installation von MQTTRoute auf Brokermaschinen zu aktivieren, ändern Sie die Konfiguration in Bevywise/MQTTRoute/conf/mqtt.conf wie folgt:

ENTWICKLUNG = JA

Die folgende Abbildung zeigt den Aufbau:

ibccluster

Dabei werden zwei oder mehr Broker mit aktiviertem IBC gruppiert einen Cluster bilden. Ein Lastwaager ist dann konfiguriert, um Workloads gleichmäßig über diese Broker zu verteilen. Alle MQTT Broker im Cluster bleiben aktiv, und IBC innerhalb jedes Brokers sorgt für dauerhafte Kommunikation durch die Nutzung eines gemeinsamen Datenbank (DB). Das heißt dass Broker nicht direkt miteinander kommunizieren. Stattdessen drücken sie Daten auf die Zentrale Datenbank, die andere erlaubt Broker auf diese Daten zugreifen. Als Ergebnis hat jeder Broker Zugriff auf Client-Details und Daten.

Anmerkung:Sie haben die Flexibilität, jeden Lastausgleich auszuwählen Das passt zu Ihren Bedürfnissen.

Für ein umfassenderes Verständnis der Nginx Load Balancer Konfiguration empfehlen wir in unserem detaillierten Blog auf hoher Verfügbarkeit.

Wenn Sie sich entschieden haben, Azure als Ihr Last Balancer zu verwenden, empfehlen wir, auf unsere engagierte Blog-Post auf Facebook Azure Load Balancer Konfiguration für verbesserte Klarheit.

Bezug:IoT Auf der Karte ansehen

Prozessüberwachung mit Monit

Um den MQTT Broker als Service zu betreiben, benötigen wir die Monit Version 5.25. Monit ist eine Open Source Dynamik Monitoring-Tool für Linux-Systeme, die zur Überwachung und Verwaltung von Systemprozessen verwendet wird. Und auch, es führt automatisch Wartung oder Reparatur eines bestimmten Prozesses (d.h. Neustart des Dienstes) und Ausführung signifikant wenn erforderlich, informelle Aktionen unter Fehlerbedingungen.

&amp; Installation Monit:

$ sudo apt install monit

$ sudo systemctl disable monit

$ wget https://monit.com/monit/dist/binary/5.25.2/monit-5.25.2-linux-x64.tar.gz

Extrahieren Sie das Archiv mit dem Befehl unten :

$ tar -xvzf Datei < > herunterladen (zum Beispiel -$ tar -xvzf monit-5.25.2-linux-x64.tar.gz

Kopieren Sie die Monitrc-Datei und fügen Sie sie unten an Ort:

$ sudo cp monit-5.25.2/con/monitrc/etc/

$ sudo chmod 700 /etc/mmonitrc

Enable Monit HTTP interface :

Aktivieren Sie die HTTP-Schnittstelle, indem Sie die folgenden Zeilen nicht kommentieren /etc/monitrc Datei.

httpd port 2812 und
Adresse localhost # nur akzeptieren Verbindung von localhost (drop if you use M/Monit)
localhost # erlauben localhost zu verbinden mit dem Server und
lassen admin: monit # benötigen Benutzer ‘admin’ mit Passwort ‘monit „

Wenn Sie möchten, können Sie admin:monit mit Benutzername und Passwort ändern verwenden wollen

Starten Sie Monit:

$ cd monit-5.25.2/bin/

$ sudo pkill -9 monit

$ sudo ./monit

Öffnen Sie Monit UI mit der folgenden URL in Ihrem Webbrowser http://localhost:2812

Erweiterungen

CrystalMQ hat bestimmte Erweiterungen, um es für Benutzer flexibel zu machen. Du kannst anpassen Sie es basierend auf Ihren Bedürfnissen.

Diese benutzerdefinierten Erweiterungen können einzeln oder in Kombinationen verwendet werden erfüllen Ihre Anforderungen über einen MQTT Broker hinaus.

In CrystalMQ/extensions/extension_globals.py gibt es Objekte, die kann verwendet werden, um die interne Datenbank abzufragen, Live-Updates an UI zu senden und Nachrichten an eine verbundener Client.

Diese Objekte können in den Erweiterungen verwendet werden, um zwingende Anpassungen.

Kundenspezifische Authentifizierung

Standardmäßig erfolgt die Authentifizierung von Geräten durch den Broker. Aber wenn Authentifizierung muss außerhalb des Brokers erfolgen, dann kann diese Option durch die Einstellung in Bevywise/MQTTRoute/conf/mqtt.conf

  • Gehen Sie zu ./CrystalMQ/conf (Path kann variieren)
  • Open mqtt.conf
  • Stellen Sie sicher, dass AUTHENTICATION auf True gesetzt ist

BEHANDLUNG = ZOLL

(DEVICE_AUTHENTIC)

In diesem Fall wird der von Geräten gesendete Benutzername/Passwort beim Methode custom_authenticate(Benutzername, Passwort, clientid, ipaddress) in CrystalMQ/extensions/custom_authentication.py

Diese Methode kann aktualisiert werden, um die Geräte zu authentifizieren, wie Sie erfordern. (z.B. HTTP Anfrage an einen externen LDAP Server)

Zolldatenspeicher

AI / ML spielt bei jeder IoT-Implementierung eine wichtige Rolle. Die erhaltenen Daten von den verschiedenen Sensoren muss in jeder BIG-Datenmaschine modelliert und gespeichert werden, um weiter Analyse und Entscheidungsfindung. MQT Route bietet eine Option, die der benutzerdefinierte Speicher genannt wird, um Daten zu empfangen am rückwärtigen Ende gespeichert werden, je nach Bedarf.

Zoll Store-Implementierung wird verwendet, um die empfangene Nutzlast von MQTT anzuschließen Broker und speichern Sie die Nutzlast in einer Ihrer Analytik / Big Data Engine. Konfigurieren in conf/datastore.conf

DATA_INTEGRATION = TRUE

In CrystalMQ/extensions/custom_store.py gibt es zwei Haken-Methode:
on_message_received_hook(data) - Diese Methode erhält jedes Mal Daten, wenn ein Client es veröffentlicht.
on_message_sent_hook(data) - Diese Methode erhält jedes Mal Daten, wenn sie an einen Client gesendet wird.
Die Daten werden in einem JSON-Format mit folgenden Schlüsseln weitergegeben:

Daten: { 'sender':, 'topic':, "Nachricht":, 'unixtime':, Datum:} Diese Methoden können verwendet werden, um die Daten auf andere Datensenken zu drücken/speichern.

Benutzerdefinierte UI Server

UI Custom Server bietet eine Möglichkeit, die Benutzeroberfläche anzupassen. Du kann den Code in CrystalMQ/extensions/custom_ui_server.py Datei ändern, wie Sie es anpassen müssen. Du Sie können Ihr Dashboard so konfigurieren, dass Sie Gerätedaten nach Ihren Bedürfnissen anzeigen können. Sie können Ihre eigene hinzufügen Anforderungen, Gerätedetails oder Benachrichtigungen an die Benutzeroberfläche nach Bedarf. Die UI benutzerdefinierte Der Server wird Ihnen dabei helfen, die UI des CrystalMQ anzupassen, indem Sie auf der Serverseite Ihren eigenen Code hinzufügen. Fügen Sie Ihre neue Funktionalität mit der URL und der entsprechenden Methode hinzu. Diese URLs können aufgerufen werden von Ihrer Benutzeroberfläche zur Verarbeitung von Daten.

Zollplaner

Der Custom Scheduler hilft Ihnen, Ihre eigenen geplanten Jobs in Kristall MQ durch Hinzufügen Ihres eigenen Codes auf der Serverseite.

Jobs und Termine zu CrystalMQ/extensions/custom_scheduler.py werden von der Broker. Um dies zu aktivieren, setzen Sie in der Methode custom_schedules()EnableCustomSchedules = Wahr

Bereit, die Macht Ihres selbstgehosteten Brokers zu erweitern?

Verbessern Sie Zuverlässigkeit, Kontrolle und Anpassung
mit erweiterten Optionen.

Entsperren Sie Monitoring-Tools, Automatisierungsmerkmale und Unterstützung auf Expertenebene – erweitern Sie unsere erweiterten Pläne, um mit Ihnen wachsen.