Voraussetzungen für OTA-Updates mit MQTT - FreeRTOS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Voraussetzungen für OTA-Updates mit MQTT

In diesem Abschnitt werden die allgemeinen Anforderungen für die Verwendung von MQTT zur Ausführung over-the-air (OTA-Updates) beschrieben.

Mindestanforderungen

  • Die Gerätefirmware muss die erforderlichen FreeRTOS-Bibliotheken (CoreMQTT-Agent, OTA-Update und deren Abhängigkeiten) enthalten.

  • FreeRTOS Version 1.4.0 oder höher ist erforderlich. Wir empfehlen jedoch, wenn möglich die neueste Version zu verwenden.

Konfigurationen

Ab Version 201912.00 kann FreeRTOS OTA entweder das HTTP- oder das MQTT-Protokoll verwenden, um Firmware-Update-Images von auf Geräte zu übertragen. AWS IoT Wenn Sie beide Protokolle angeben, wenn Sie ein OTA-Update in FreeRTOS erstellen, bestimmt jedes Gerät das Protokoll, das für die Übertragung des Images verwendet wird. Weitere Informationen finden Sie unter Voraussetzungen für OTA-Updates mit HTTP.

Standardmäßig verwendet die Konfiguration der OTA-Protokolle in ota_config.hdas MQTT-Protokoll.

Gerätespezifische Konfigurationen

Keine.

Speicherauslastung

Wenn MQTT für die Datenübertragung verwendet wird, ist kein zusätzlicher Speicher für die MQTT-Verbindung erforderlich, da sie von Steuerungs- und Datenvorgängen gemeinsam genutzt wird.

Geräterichtlinie

Jedes Gerät, das mithilfe von MQTT ein OTA-Update erhält, muss als Ding in registriert sein AWS IoT und dem Ding muss eine Richtlinie wie die hier aufgeführte beigefügt sein. Weitere Informationen zu den Elementen finden Sie unter den "Action"- und "Resource"-Objekten der AWS IoT Core-Richtlinienaktionen und AWS IoT Core-Aktionsressourcen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:partition:iot:region:account:client/${iot:Connection.Thing.ThingName}" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": [ "arn:partition:iot:region:account:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/streams/*", "arn:partition:iot:region:account:topicfilter/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] }, { "Effect": "Allow", "Action": [ "iot:Publish", "iot:Receive" ], "Resource": [ "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/streams/*", "arn:partition:iot:region:account:topic/$aws/things/${iot:Connection.Thing.ThingName}/jobs/*" ] } ] }
Hinweise
  • Die iot:Connect Berechtigungen ermöglichen es Ihrem Gerät, eine Verbindung AWS IoT über MQTT herzustellen.

  • Die iot:Subscribe iot:Publish Berechtigungen zu den Themen AWS IoT Jobs (.../jobs/*) ermöglichen es dem verbundenen Gerät, Job-Benachrichtigungen und Job-Dokumente zu empfangen und den Abschlussstatus einer Job-Ausführung zu veröffentlichen.

  • Die iot:Publish Berechtigungen iot:Subscribe und zu den Themen AWS IoT OTA-Streams (.../streams/*) ermöglichen es dem verbundenen Gerät, OTA-Aktualisierungsdaten von AWS IoT abzurufen. Diese Berechtigungen sind zum Ausführen von Firmware-Updates über MQTT erforderlich.

  • Die iot:Receive Berechtigungen ermöglichen es AWS IoT Core , Nachrichten zu diesen Themen auf dem angeschlossenen Gerät zu veröffentlichen. Diese Berechtigung wird bei jeder Zustellung einer MQTT-Nachricht überprüft. Sie können diese Berechtigung verwenden, um den Zugriff auf Clients zu widerrufen, die derzeit ein Thema abonniert haben.