Skip to content

iotkitv3/cloud

Repository files navigation

Cloud IoT Services

Cloud Anbindung an Amazon (AWS), Google und Microsoft (Azure)

Azure IoT


Quelle: https://docs.microsoft.com/de-de/azure/iot-hub/about-iot-hub


IoT Hub ist ein in der Cloud gehosteter, verwalteter Dienst, der als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten dient, die von der Anwendung verwaltet werden. Sie können Azure IoT Hub verwenden, um IoT-Lösungen mit zuverlässiger und sicherer Kommunikation zwischen Millionen von IoT-Geräten und einem in der Cloud gehosteten Lösungs-Back-End zu erstellen. Sie können praktisch jedes Gerät mit IoT Hub verbinden.

IoT Hub unterstützt die Kommunikation sowohl vom Gerät an die Cloud als auch von der Cloud an das Gerät. IoT Hub unterstützt mehrere Messagingmuster wie z.B. Gerät-zu-Cloud-Telemetrie, Dateiuploads von Geräten und Anforderungs-Antwort-Methoden zum Steuern der Geräte über die Cloud. Die IoT Hub-Überwachung unterstützt Sie dabei, die Integrität Ihrer Lösung sicherzustellen, indem Ereignisse wie Geräteerstellung, Geräteausfälle und Geräteverbindungen nachverfolgt werden.

Azure IoT Hub unterstützt folgende Protokolle:

  • HTTPS
  • AMQP
  • AMQP über WebSockets
  • MQTT
  • MQTT über WebSockets

Das Azure IoT Beispiel wurde mit folgenden Boards getestet:

Das NUCLEO-F303RE Board funktioniert nicht, wegen fehlender Unterstützung für TLS.

Einrichten eines Azure IoT Hub-Kontos

Befolgen Sie die offizielle Dokumentation von Azure IoT Hub zu

  • Erstellen Sie einen neuen Hub im Azure-Portal (Dokumentation). Für dieses Beispiel benötigen Sie einen Standard- Tier- Hub, um Cloud-to-Device-Nachrichten zu aktivieren. Dazu reicht die kostenlose Variante (Free Tier).
  • Registrieren Sie ein neues Gerät bei dem von Ihnen erstellten Hub (Dokumentation). Kopieren Sie den "Primary Connection String" des Geräts und übertragen diesen in mbed_app.json ins Feld value von iothub_connection_string.

Jetzt kann der IoT Hub mit diesem Beispiel verwendet werden.

Das mbed Beispiel verbindet sich via dem MQTT Protokoll mit der Azure Cloud.

Dabei werden die Felder correlation_id, message_id und payload übertragen. Im Feld payload steht eine fortlaufende Id, die Id des Temperatursensors und Temperatur und Luftfeuchtigkeit (bei BPM180 Sensor: Luftdruck).

Die Events sehen in etwa so aus:

{
    "event": {
        "origin": "K64F",
        "module": "",
        "interface": "",
        "component": "",
        "properties": {
            "system": {
                "correlation_id": "sensors",
                "message_id": "iotkit"
            },
            "application": {}
        },
        "annotations": {
            "iothub-connection-device-id": "K64F",
            "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
            "iothub-connection-auth-generation-id": "637446820856720308",
            "iothub-enqueuedtime": 1610009322243,
            "iothub-message-source": "Telemetry",
            "x-opt-sequence-number": 985,
            "x-opt-offset": "4295386552",
            "x-opt-enqueued-time": 1610009322243
        },
        "payload": "{ \"message\": 72, \"sensorid\": 0xBC, \"temp\": 23.40, \"hum\": 36.9 }"
    }
}

Neben dem Senden von Daten, kann das Board auch Meldungen empfangen. Dazu ist im IoT Hub zuerst die IoT Device, hier K64F, anzuwählen und dann der Tab Message to device. Dort können Daten an das Board gesendet werden. Im Moment wir die Ansteuerung eines Servos unterstützt.

Beispiel:

servo2=0.2

Setzt den Servo 2 auf die Position 0.2.

Anzeigen der Meldungen

Dazu muss zuerst das Azure CLI installiert werden.

Anschliessend sich einloggen, azure-iot Extension installieren und Events ausgeben

az login
az extension add --name azure-iot
az iot hub monitor-events --hub-name <IoT Hub Name> --props all

Links

Azure PowerBi Pipeline


Azure stellt mit PowerBi einen Möglichkeit zur Verfügung die Sensordaten weiterzuverarbeiten.

Dazu sind einige Schritte nötig.

Zuerst ist ein IoT Hub in der Azure Cloud zu erstellen:

Und in diesem eine IoT Device

Damit sich das IoTKitV3 mit der Azure Cloud verbinden kann, brauchen wir den "Primary Connection String". Dieser ist in die Datei mbed_app.json zur übertragen. Anschliessend ist das Programm zu compilieren und z.B. wie oben beschrieben, zu testen.

Auswerten der Daten

Um die Daten in der Azure Cloud auszuwerten, braucht es einen Stream Analytics Job welcher die Daten sammelt und an PowerPi weiterreicht.

Consumer Gruppe zu IoT hub hinzufügen

Stream Analytics Job erstellen


Input und Output zum Stream Analytics Job hinzufügen und Verlinkung mit IoT Hub

Query anpassen, damit er mit dem Stream Analytics Jobs übereinstimmt. Starten des Jobs, welche die Daten sammelt und an PowerPi weiterreicht.

Zum Schluss sind die anzuzeigenden Daten in PowerPi zu erfassen und der Report zu erstellen (gelbe Markierung beachten).

Das Ergebnis sieht dann wie oben aus.

AWS IoT


Quelle: https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html


Mit AWS IoT können Sie die am besten geeigneten und aktuellsten Technologien für Ihre Lösung auswählen. AWS IoT Core unterstützt die folgenden Protokolle, damit Sie Ihre IoT-Geräte vor Ort verwalten und unterstützen können:

  • MQTT (Message Queuing und Telemetrietransport)
  • MQTT über WSS (Websockets Secure)
  • HTTPS (Hypertext Transfer Protocol - Sicher) .
  • LoRaWAN (Long Range Wide Area Network)

Der AWS IoT Core-Nachrichtenbroker unterstützt Geräte und Clients, die MQTT und MQTT über WSS-Protokolle zum Veröffentlichen und Abonnieren von Nachrichten verwenden. Es werden auch Geräte und Clients unterstützt, die das HTTPS-Protokoll zum Veröffentlichen von Nachrichten verwenden.

Mit AWS IoT Core für LoRaWAN können Sie drahtlose LoRaWAN-Geräte (Low-Power-Wide Area Network mit großer Reichweite) verbinden und verwalten. AWS IoT Core für LoRaWAN ersetzt die Notwendigkeit, einen LoRaWAN Network Server (LNS) zu entwickeln und zu betreiben.

Das mbed Beispiel verbindet sich via dem MQTT Protokoll mit der AWS Cloud.

Weitere Cloud Beispiele

About

Cloud Anbindung an Amazon (AWS), Google und Microsoft (Azure)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages