Bevywise IoT Simulatorist ein GUI-basiertes, Datensimulationstool, das verwendet wird, um die MQTT/IoT Anwendung, um das Leistungsniveau dieser Anwendung zu kennen. Im IoT simulator, du virtuelles IoT-Netzwerk und -Gerät erstellen, Ereignisse mit normalem oder komplexem JSON veröffentlichen Nutzlast, erstellen Sie Abonnement und mehr. IoT-Simulator-Hilfedokumentation lässt Sie wissen, wie simulieren IoT-Netzwerke und IoT-Geräte. Zur Referenz, auf unsere Einführung Video-Tutorial.
OS – Windows 7 oder Windows 8 & 8.1, Ubuntu 14.04 oder höher.
CPU – Pentium 4 oder höher.
Speicher – 512 MB RAM oder mehr.
Festplatte – 100 MB freier Festplattenspeicher
$ sh Runimulator.
Manager Application hat vier Optionen, sie sind
Anmerkung:Die IP-Adresse des Managers Application und Broker Einstellungen nicht nach dem Speichern der Simulator-Einstellungen geändert werden.
Client IP-Adresse:
Diese Funktion gibt jedem Client eine separate IP-Adresse zu in der Netzwerk. Zum Beispiel, wenn Sie 5 Geräte erstellen, dann standardmäßig werden die 5 Geräte mit dem MQT Broker mit der gleichen IP-Adresse. Aber, wenn Sie aktivieren “Client IP-Adresse” und geben IP-Adresse Bereich [wie] 192.168.1.2 bis 192.168.1.5] in First & Last IP-Adresse, dann wird der IoT-Simulator automatisch jedem erstellten Client oder Gerät eine separate IP-Adresse zuweisen. Jetzt wird das Gerät Verbindung zum MQTT Anwendung mit einer anderen IP-Adresse. Befolgen Sie die folgenden Schritte:
Random Start/Stop:
Bevywise IoT Simulator wird zufällig stoppen und starten Sie die erstellt IoT Geräte basierend auf der Mindestlaufzeit oder Laufzeit mit der Funktion „Random Start/Stop“. Für Beispiel, wenn du die Mindestlaufzeit als 50% angeben, dann werden die Geräte zufällig stoppen, wenn sie erreicht 50% Laufen oder Zeit. Befolgen Sie die folgenden Schritte:
Advanced Python Interceptor:
BevywiseIoT Simulatorkann mit einer pythonbasierten Schnittstelle angepasst werden genannt Python-Interceptor. Dieser Interceptor bietet alle erstellten Kundeninformationen und seine empfangen Nutzlast über Python-Datei aufgerufen„default_interceptor.py“. In dieser Python-Datei können Sie Ihre eigenen Code basierend auf der empfangenen Nutzlast und es ermöglicht Ihnen, API zu simulieren Komplex Szenarien. Bitte folgen Sie den folgenden Schritten:
Edge-Gerät-Authentifizierung bietet eine sichere Verbindung zwischen der MQTT-Anwendung und Gerät. Ebenso unterstützt Bevywise IoT Simulator die Edge-Gerät-Authentifizierung zur Verbindung die erstelltes Gerät zur MQTT-Anwendung sicher. Um Authentication zu ermöglichen,
IoT-Simulator hat zwei Arten von Authentication, die Ihnen helfen, Verbindung bis verschiedene MQTT/IoT-Anwendungen. Sie sind:
SAS:Mit einem SAS-Token können Sie erstellte Clients gewähren Zugang zu Ihre MQTT-Anwendung. Es wird nützlich sein, wenn Sie mit MQTT-Anwendungen wie Azure.
Selbst signiert:Wenn Ihre MQTT-Anwendung Zugriff auf Kunden mit Client oder Gerät Zertifikat und Schlüssel, dann können Sie Self Signed auswählen. Hier! sollte Laden Sie das Client-Zertifikat und den Schlüssel hoch, den Sie von der MQTT-Anwendung erhalten haben.
Anmerkung:Dieser Authentication-Typ wird erscheinen bei der AuswahlAzureund AWS in Manager Anwendung auf Simulator-Einstellungen.
Für andere MQTT-Anwendung können Sie direkt kopieren & einfügen Client. Zertifikat und Schlüssel im Client Ordner[./Bevywise/IotSimulator/Certificate]. Nach das Zertifikat und den Schlüssel einfügen, müssen Sie den Zertifikats-Client.crt umbenennen und Client.key. Für Root-Zertifikat, Sie können es über Simulator-Einstellungen hinzufügen.
Falls eines der IoT-Geräte aufgrund eines Problems abgeschaltet wurde, kann es die Veranstaltungen nur dann, wenn die WILL-Nachricht ist aktiviert. Um die WILL-Nachricht zu aktivieren, wählen Sie das WILL-Checkbox und geben Sie das Thema, Nachricht, QoS, usw.
Veranstaltungen werden verwendet, um eine zeitbasierte Publikationsnachricht für die IoT-Geräte zu erstellen. Basierend auf die zeitbasiertes Publizieren Nachricht, Broker wird die Daten von IoT Device sammeln und senden die Daten an den Teilnehmer.
Vor der Konfiguration des IoT Veranstaltungen, die Sie kennen müssen Parameter:
ANHANGSystemvariabel –Dieser Wert wird verwendet, um die Veranstaltungen mit die Systemvariablen wie $Client_ID, $Current_time, etc.
2.Random –Dieser Wert wird verwendet, um die Ereignisse in wie wenn das System ON|OFF ist
3.DieDieser Wert wird verwendet, um die Ereignisse für eine Sicherheit Nummernbereich wie 1-100
4.konstant– Dieser Wert wird verwendet, um die Ereignisse in Alphabetisierung und Zahlen
JSON syntax
{ “KEY 1” : “ VALUE1” , “KEY2” : “ VALUE2 “, “KEY 3” : “VALUE 3” }
Beispiel für Eingebettete JSON
{\cHFFFF}
„Accelerometer“:
{\cHFFFF}
„Status“: „On|Off-RANDOM“,
„Vibration_level“: „50-55-RANGE“,
„Sensor_On_Time“: „$Client_uptime-SYSTEMVARIABLE“
},
„Gas_Sensor“
{\cHFFFF}
“Status”:”On|Off-RANDOM”,
‚Methan_level‘: ‚10-20-RANGE‘
„Sensor_On_Time“: „$Client_uptime-SYSTEMVARIABLE“
}
}
Parameter
Parameter
Parameter
Parameter
Parameter
Parameter
Parameter
Beispiele
INSGESAMT | SECOND TOPIC |
---|---|
Abonnieren Sie auf: | Abonnieren: Spezifische Zeit |
Thema:Coal_Mines/Gas_Sensor/Harmful_gases_Level | Uhrzeit: 10:00 Uhr Thema:Coal_Mines/Oxygen_Sensor/Oxygen_Percent | QoS: Am meisten einmal | QoS: höchstens einmal |
In Vorlagen können Sie ein vordefiniertes Gerät mit Ereignissen, Abo und Gerät erstellen Antwort. Dies wird Zeit sparen, indem Sie ein neues Gerät erstellen und Ihnen auch helfen, eine große Anzahl von Geräte.
Microsoft Azure verfügt über eine integrierte IoT-Anwendung namens IoT Hub. Azure wird die Kunden über TLS/SSL-Verbindung nur. Message Broker wird mit TLS/SSL am Port 8883 laufen. Es gibt zwei Methoden zur Verbindung mit Azure IoT über TLS/SSL.
Sie sind wie folgt:
Anforderungen:
Selbstsigniert
ANHANG Installieren Sie OpenSSL in Ihrer Umgebung. Für Fensterbenutzer, bitte eingeben Umweltvariable für OpenSSL
2. Öffnen Sie das Terminal oder die Eingabeaufforderung und geben Sie den folgenden Befehl
openl req -x509 -sha256 -nodes -days 365 -newkey Rsa:2048 - Keyout privat. Schlüssel -out Certificate.crt
3. Als nächstes überspringen Sie alle anderen Schritte, indem Sie eingeben und nur geben Der Gemeinsame Name als Gerätename
4. Jetzt Certificate.crt und privat. Schlüssel wird in der Strom Standort.
5. Als nächstes müssen Sie den Fingerabdruck für das erstellte Zertifikat erhalten die in Azure IoT hochgeladen werden Hubgerät als Daumendruck. Verwenden Sie den folgenden Befehl, um eine Fingerabdruck für das erstellte Zertifikat.
openl x509 -noout -fingerprint -sha1 -inform pem -in Zertifikat.crt
6. Ausgabe wird ähnlich sein
SHA1 Fingerprint= D7:A8:16:71:AF:22:DA:E0:AA:26:7A:48:4A:52:A5:83:B7:89:C7:96
7. Jetzt kopieren Sie den Fingerabdruck allein und fügen Sie ihn in jedem Texteditor ein und entfernen „:“
[Beispiel: D7A81671AF22DAE0AA267A484A52A583B789C796]
8. Kopieren Sie nun den Fingerabdruck vom Texteditor und fügen Sie ihn in Primary und Sekundär Daumendruck.
ANHANG Klicken Sie auf Speichern, um ein Azure IoT Hub-Gerät zu erstellen.
Bevor Sie den Simulator starten, müssen Sie ein Azure-Root-Zertifikat benötigen. Um zu erstellen, folgen die folgenden Schritte:
ANHANG Schließen oder laden Sie den Reißverschluss im Azure IoT SDK für C abGithub
2. Extrahieren Sie den heruntergeladenen Zip und gehen Sie in den Certs Ordner
3. Im Certs Ordner, öffnen certs.c und Sie können viele Wurzeln sehen Zertifikate für Azure IoT Hub.
4. Als nächstes erstellen Sie die Datei mit dem Namen root.crt und copy & paste eine Zertifikat [einschließlich der Zeilen BEGIN CERTIFICATE und END CERTIFICATE, auch entfernen“,\r,\n aus allen Linien].
Sie ein Gerät in Azure IoT Wir haben, können Sie führen Sie den IoT Simulator in Ihrer Umgebung.
„ Gerätename> „
ANHANGWir sind hier– Azure IoT Hub Wir sind hier
2.Vorname– Der Name des Vorrichtung
Lassen Sie die Registerkarte Access Token leer. Als nächstes erstellen Sie Ereignisse für das Gerät, Sie die folgende Thema-Syntax verwenden.
Anmerkung:Änderung des Gerätenamens Nur allein Andere als das andere Feld.
Starten Sie das Netzwerk, Sie auf die Starttaste und wenn die Verbindung ist erfolgreich, Sie können die veröffentlichte Nachricht im Simulator sehen Netzwerkprotokoll oder Gerät log.
Die AWS-Plattform als integrierte IoT-Plattform wird als AWS IoT-Kern bezeichnet. AWS ermöglicht Client über TLS/SSL-Verbindung nur und hat Message Borker mit TLS/SSL am Port 8883. Unten Schritte hilft Ihnen, IoT Simulator mit AWS IoT-Kern zu verbinden
AWS Konfiguration
ANHANG Geben Sie den Richtliniennamen und im Aktionsbereich auswählen *
2. Im Feld 'Resource ARN' geben Sie *
Folgen Sie den folgenden Schritten, um “Thing TYPE” zu erstellen:
Zertifikate, die zum Download benötigt werden :
Simulator Konfiguration
Hinweis: Die Authentifizierung muss einzelne Client-Zertifikate hochladen und Schlüssel, jeweils umbenannt für bestimmte Geräte als client.crt, client.key, client1.crt, client1.key, client2.crt, client2.key, und so weiter.
Folgen Sie den folgenden Schritten, um “Thing group” zu erstellen:
Nach den Bedürfnissen wurde der IoT-Simulator so abgestimmt, dass er sich ergänzt mit AWS IoT Core.
Bevywise IoT-Plattformkonfiguration
Folgen Sie den folgenden Schritten, um IoT Simulator mit der Bevywise IoT Plattform zu verbinden.
Es gibt drei Arten von Genehmigung. Sie sind:
Klicken Sie auf die Schaltfläche „Einfügen“.
Sobald Sie fertig sind, wird das neu erstellte Gerät zusammen mit seiner Auth-Taste und Auth-Token werden in der Authentication Schlüsselliste angezeigt.
Hier wird die Auth-Taste als Benutzername und Auth-Token fungieren als die Passwort.
IoT Simulator Konfiguration
Anmerkung: Um die Schritte zu erkennen Veranstaltungen, Bitte beachten SieIn den Warenkorb VeranstaltungenAbschnitt.
Wenn Sie MQTT/IoT-Anwendung außer AWS, Azure oder Bevywise IoT-Plattform verwenden,
Simulator Konfiguration
Hinweis: Wenn Ihre MQTT-Anwendung ein Thema Einschränkung hat, dann Sie muss eine Veranstaltung erstellen mit diesem Thema Format. Zum Beispiel sieheAzure IoT Hub.
Hinweis: Für mehr Hilfe und Unterstützung, um IoT Simulator auf eigene Faust zu verbinden MQTT-Anwendung, bitte kontaktierenBevywise Unterstützung Team.
Dieser Abschnitt hilft Ihnen, IoT Simulator mit MQTT Broker zu verbinden. Unten haben wir die Anbindung von IoT-Simulator an MQTT Broker mit TLS/SSL und an MQTT Broker ohne TLS/SSL.
Weitere Informationen finden Sie in unsererVideo Tutorial.
Simulator Konfiguration
ANHANGManager– Sonstige
2.Broker IP Adresse– IP-Adresse PC oder Server, wo Sie den MQTT ausführen Broker
3.TLS/SSL– Ermöglichen
4.Hafen– Standardmäßig 8883, wenn Sie MQT Broker läuft in einem anderen Hafen, hier angeben.
5.Root Certificate– Hochladen der Root.crt Datei, die Sie erstellt haben oder vor[4] Vergessen Sie nicht, auf Hochladen klicken]
Anschluss an MQTT Broker ohne TLS/SSL aktiviert.
Simulator Konfiguration
ANHANG Klicken Sie auf das rote Kontrollkästchen neben der Authentication.
2. Klicken Sie im Dropdown auf das Editier-Symbol neben der Access-Taste und Paste die Benutzername von MQTT Broker und dann speichern
3. Für Access Token, fügen Sie Passwort aus dem MQTT Broker und speichern es
Protokoll-Puffer sind Googles strukturiertes Format, das verwendet wird, um zu serialisieren und kodieren Ihre Daten. Sie können angeben, wie Ihre Daten in einem strukturierten Format sein sollten und Sie können solche machen strukturiert Daten einfach zu lesen & schreiben mit der Sprache, die Sie bevorzugen.
Hier ist der Schritt für Schritt-Prozeß zu verwendenDas ist ein Fehler.in Python. Du kann den folgenden Schritten folgen, um Python-Unterstützung für MQTT-Zahlung von Protokollpuffer hinzuzufügen Typ Bevywise IoT Simulator.
Starten Sie die compiling .proto-Datei
Syntax = „proto2“;
Ladebildschirm;
Nachricht Payload {\cHFFFF}
optionaler String Kontrast_ratio = 1;
optionale String-View_tech = 2;
optionaler String color_tiefe = 3;
optional string touch_type = 4;
optional int32 ntsc = 5;
optional int32 Temperatur = 6;
optional int32 Backlight_longevity = 7;
optional int32 Leuchtdichte = 8;
}
Das Erstellen der .proto-Datei ist der nächste Schritt. Sie können es kompilieren Verwendung protobuf compiler. Die compiler erzeugt dann eine Python-Datei.
Anmerkung: Protobuf compiler kann installiert mit dem folgenden Befehl :
$ sudo apt install protobuf-compiler
Zur Erstellung der Datei verwenden Sie den folgenden Befehl :
$ protoc --python_out=. Dokumente/screen.proto
An der Stelle der "Dokumente" müssen Sie den Weg geben, wo Ihr .proto Datei befindet sich.
Wenn Sie Bevywise MQTT Broker verwenden, müssen Sie herunterladen bindend MQTT Broker mit dem Protokollpuffer ausgenutzt werden. Der Link zuZurück zur Übersicht binärer MQTT-Brokerist vorgesehen Hier. Dann folgen Sie den ähnlichen Schritten, Bevywise IoT-Simulator mit MQTT zu verbinden Broker. Vor Verbinden des Simulators, müssen Sie Protokollpuffer-Unterstützung zu beiden Simulatoren hinzufügen & MQTT-Broker. Fangen wir damit an.
Wählen Sie im Simulator UI ein bestehendes Gerät aus oder erstellen Sie ein neues Gerät. Auch erstellen Sie ein Ereignis, das der .proto-Datei entspricht, die verwendet wird.
Fügen Sie beispielsweise die folgenden Befehle in den Nachrichtentext ein. Fläche.
{”Leuchte”: “100-1000-RANGE”, “color_tiefe”: „65M-CONSTANT“, ‚Temperatur‘: ‚1-100-RANGE‘, ‚ntsc‘: ‚45-60-RANGE‘, ‚contrast_ratio‘: „200:1-KONSTANT“, ‚backlight_longevity‘: ‚20000-60000-RANGE‘, ‚touch_type‘: „Kapazitiv-CONSTANT“, „viewing_tech“: „oled-CONSTANT“}
Mit Default wird IoT Simulator mit SQLite laufen. Aber für mehr Geräteanschluss oder Last Prüfung, SQLite ist nicht effizient. Für diesen Fall können Sie die Speicherkonfiguration ändern MySQL. Bevor Sie MySQL im IoT Simulator konfigurieren, müssen Sie MySQL 5.7 oder höher auf Ihrem PC. Nach der Installation von MySQL folgen Sie bitte den folgenden Schritten.
Für Linux-Benutzer:
Für Windows Server-Benutzer:
Im Fenster Systemvariable bearbeiten (oder neue Systemvariable) geben die Pfad, wo wget. exe befindet sich. Klicken Sie auf OK. Schließen Sie alle übrigen Fenster durch Klicken Okay.
Hinweis: Die oben genannten Abhängigkeiten können übersprungen werden, wenn sie bereits installiert ist in PC.
In dieser Datei ändern Sie die folgenden :
Hinweis: Überprüfen Sie, ob MySQL auf 3306 Port läuft.
Hinweis: Bitte verwenden Sie nicht XAMPP oder MAMP für MySQL.
Python Installation in Fenstern
Wenn Sie die Datei install_mysql_connector.bat ausführen, wird python2.7 sein automatisch geladen und die Installation wird sofort gestartet, sobald sie heruntergeladen wird. [Die Python Installation Schritt kann übersprungen werden, wenn es bereits installiert ist]
Folgen Sie den folgenden Schritten, um python2.7 zu installieren: