Die icom Data Suite ermöglicht das Senden von Daten an den Microsoft Azure IoT Hub von einem INSYS Smart Device und das Empfangen von Befehlen, die vom Microsoft Azure IoT Hub an das INSYS Smart Device gesendet wurden.
Situation
Der Wert eines Datenpunkts eines INSYS Smart Device soll durch die icom Data Suite an den Microsoft Azure IoT Hub gesendet werden. Der IoT Hub hingegen sendet eine Meldung an das Smart Device, um einen Ausgang des Routers umzuschalten.
Lösung
Folgende einfache Beispielanwendung überträgt den Zählerstand eines Timers der icom Data Suite in regelmäßigen Abständen an den IoT Hub. Die icom Data Suite wird so konfiguriert, dass sie den Zustand eines Ausgangs jedes mal ändert, wenn sie eine bestimmte Meldung vom IoT Hub erhält.
Konfiguration von Microsoft Azure
Folgende Vorbedingungen werden vorausgesetzt:
Im Folgenden wird im IoT Hub ein neues Gerät (Device) angelegt sowie mit Hilfe des IoT Explorer ein Security Token für dieses Gerät erzeugt.
-
Die Microsoft Azure Webseite mit einem Browser aufrufen: https://portal.azure.com
-
Mit Ihren Microsoft-Zugangsdaten anmelden.
-
Den IoT Hub unter Alle Ressourcen auswählen.
-
IoT-Geräte im Abschnitt Explorer auswählen.
-
Klicken Sie auf Neu in der Kopfzeile.
-
Eine beschreibende Device ID für Ihr Gerät eingeben; weitere Einstellungen müssen nicht vorgenommen werden.
-
Klicken Sie auf Speichern.
-
Unter Richtlinien für gemeinsamen Zugriff durch einen Klick auf die Richtlinie iothubowner die Connection Strings (Verbindungszeichenfolgen) des IoT Hubs anzeigen und dann auf das Kopieren-Symbol () hinter Verbindungszeichenfolge – Primärschlüssel kopieren.
-
Die Software Azure IoT Explorer öffnen.
-
Die oben kopierte Verbindungszeichenfolge – Primärschlüssel in das Feld Select or type an IoT hub connection string einfügen (wenn der Azure IoT Explorer zum ersten Mal mit diesem IoT Hub verwendet wird) und auf Connect klicken.
-
Im IoT Explorer auf das Gerät klicken und unter Connection String with SAS token auf den Pfeil nach unten () klicken, um die Parameter für die Generierung des Tokens anzuzeigen.
-
Im Feld Symmetric key Primary key auswählen, eine ausreichend lange Gültigkeitsdauer im Feld Expiration (minutes) eingeben und auf Generate klicken. [3]
-
Dieses Azure IoT Explorer Fenster für die weitere Verwendung offen lassen, da dieses Token für die Konfiguration der icom Data Suite benötigt wird. Der String muss beginnend mit SharedAccessSignature sr= (hinter SharedAccessSignature=) bis zum Ende kopiert werden.
HostName=<client>.azure-devices.net;DeviceId=xxx;SharedAccessSignature=SharedAccessSignature sr=<client>.azure-devices.net%2Fdevices%2Fxxx\&sig=Uc9yPCZABVtTo7XasecB%2Fe3ldBLXTYndVmxNc37uw80%3D\&se=1511321749
Konfiguration der icom Data Suite
Es wird vorausgesetzt, dass Sie Zugriff auf das Web-Interface der icom Data Suite haben. Das Smart Device (Ihr icom OS-Router) muss über eine Internet-Verbindung verfügen. Folgende Anweisungen setzen voraus, dass sich die icom Data Suite in den Grundeinstellungen befindet und über die erforderliche Lizenz verfügt.
-
Das Web-Interface der icom Data Suite mit einem Browser aufrufen:
-
192.168.1.10 oder ids.local
-
Benutzername: insys (Voreinstellung)
-
Kennwort: icom (Voreinstellung)
-
-
Im Menü Datenpunkte → Digitale I/Os unter Ausgänge einen neuen Ausgang hinzufügen ():
-
Beschreibung: Output 3.1
-
Ausgang: 3.1 [4]
-
-
Auf Einstellungen speichern klicken.
-
Im Menü Datenpunkt → Timer einen neuen Timer hinzufügen () und diesen bearbeiten ():
-
Beschreibung: Count sample timer
-
Typ: Intervall, jede 30 Sekunden ausgelöst [5]
-
-
Auf Einstellungen speichern klicken.
-
Im Menü Datenpunkt → Timer einen neuen Timer hinzufügen () und diesen bearbeiten ():
-
Beschreibung: Message trigger timer
-
Typ: Intervall, jede 4 Sekunden ausgelöst
-
-
Auf Einstellungen speichern klicken.
-
Im Menü Nachrichten → MQTT einen neuen Broker hinzufügen () und diesen bearbeiten ():
-
Beschreibung: Azure
-
Server: <client>.azure-devices.net [6]
-
Port: 8883
-
Version: v3.1.1
-
Benutzername: <client>.azure-devices.net/<Device Id>/api-version=2018-06-30 [7]
-
Passwort: Den oben gekennzeichneten Teil des mit dem Azure IoT Explorer oben erzeugte SAS Tokens eingeben.
-
Client-ID: <Device Id> [8]
-
SSL/TLS verwenden:
-
-
Auf Einstellungen speichern klicken.
-
Im Menü Nachrichten → MQTT einen neuen Meldung hinzufügen () und diese bearbeiten ():
-
Beschreibung: Azure message
-
Topic: devices/<Device Id>/messages/events/
-
Nachricht:
{
"count": $timer1
}
-
-
Auf Einstellungen speichern klicken. [5]
-
Im Menü Ereignis ein neues Ereignis hinzufügen () und dieses bearbeiten ():
-
Beschreibung: Send message to Azure
-
Ereignis: Timer ist abgelaufen
-
Timer: timer2 - Message trigger timer
-
-
Aktion: Nachricht versenden
-
Nachricht … versenden: mqttMsg1 - Azure message
-
-
-
Auf Einstellungen speichern klicken.
-
Im Menü Ereignis ein neues Ereignis hinzufügen () und dieses bearbeiten ():
-
Beschreibung: Receive message from Azure
-
Ereignis: MQTT-Nachricht wurde empfangen
-
Von MQTT-Broker: mqttBrkr1 - Azure
-
Topic: devices/<Device Id>/messages/#
-
Text: Switch [9]
-
-
Aktion: Digitalen Datenpunkt setzen
-
Datenpunkt: output1 - Output 3.1 und umschalten
-
-
-
Auf Einstellungen speichern klicken.
-
Das Profil aktivieren ().
Erfolgskontrolle
Den Verbindungszustand mit dem Azure IoT Explorer prüfen.
-
Im Azure IoT Explorer im Menü Devices auf Refresh () klicken und prüfen, ob der Connection state des Geräts Connected (verbunden) ist.
-
Auf das Gerät klicken und im Abschnitt Telemetry auf Start () klicken, um zu prüfen, ob Nachrichten empfangen werden.
-
Im Abschnitt Cloud-to-device message den Message body Switch eingeben und auf Send message to device () klicken, um zu prüfen, ob das Smart Device auf die Nachricht reagiert, indem es den konfigurierten Ausgang umschaltet.
Der Zustand des Ausgangs kann im Menü Status → Aktuelle Werte der icom Data Suite überprüft werden.
Fehlersuche
-
Im Menü Status → Aktuelle Werte der icom Data Suite prüfen, ob die icom Data Suite mit dem MQTT-Broker (IoT Hub) verbunden ist. Wenn nicht, die Konfiguration des MQTT-Brokers überprüfen.
-
Wenn Probleme beim Versand der MQTT-Nachricht auftreten, die Konfiguration von Topic und Nachricht überprüfen. Der letzte Schrägstrich (/) des Topic wird häufig übersehen, ist aber wichtig.
-
Darauf achten, den richtigen Teil des mit Hilfe des Azure IoT Explorer erzeugten Token-Strings zu kopieren.
-
Im Menü Status → Log-Ansicht der icom Data Suite den MQTT Log anzeigen und die Log-Einträge überprüfen.
Zurück zu den Configuration Guides für die icom Data Suite
Zurück zur Übersicht