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.
AWS IoTBibliothek über das Mobilfunknetz (OTA)
Anmerkung
Der Inhalt dieser Seite ist möglicherweise nicht up-to-date. Das neueste Update finden Sie auf der Bibliotheksseite von Freertos.org
Einführung
Mit der AWS IoTOver-the-air (OTA) -Update-Bibliothek können Sie die Benachrichtigung, den Download und die Überprüfung von Firmware-Updates für FreeRTOS-Geräte verwalten, indem Sie HTTP oder MQTT als Protokoll verwenden. Mit der OTA-Agent-Bibliothek können Sie Firmware-Updates und die auf Ihren Geräten laufende Anwendung logisch trennen. Der OTA-Agent kann eine Netzwerkverbindung mit der Anwendung teilen. Durch die gemeinsame Nutzung einer Netzwerkverbindung können Sie möglicherweise eine beträchtliche Menge an RAM einsparen. Darüber hinaus können Sie mit der OTA-Agent-Bibliothek eine anwendungsspezifische Logik zum Testen, Bestätigen oder Zurücksetzen eines Firmware-Updates definieren.
Das Internet der Dinge (IoT) erweitert die Internetkonnektivität auf eingebettete Geräte, die traditionell nicht miteinander verbunden waren. Diese Geräte können so programmiert werden, dass sie nutzbare Daten über das Internet kommunizieren, und sie können fernüberwacht und gesteuert werden. Dank der technologischen Fortschritte erhalten diese traditionellen eingebetteten Geräte in rasantem Tempo Internetfunktionen in Verbraucher-, Industrie- und Unternehmensbereichen.
IoT-Geräte werden in der Regel in großen Mengen und oft an Orten eingesetzt, die für einen menschlichen Bediener schwer oder unpraktisch zugänglich sind. Stellen Sie sich ein Szenario vor, in dem eine Sicherheitslücke entdeckt wird, durch die Daten gefährdet werden können. In solchen Szenarien ist es wichtig, die betroffenen Geräte schnell und zuverlässig mit Sicherheitsupdates zu aktualisieren. Ohne die Möglichkeit, OTA-Updates durchzuführen, kann es auch schwierig sein, Geräte zu aktualisieren, die geografisch verteilt sind. Diese Geräte von einem Techniker aktualisieren zu lassen, ist kostspielig, zeitaufwändig und oft unpraktisch. Durch die Zeit, die für die Aktualisierung dieser Geräte benötigt wird, sind sie für einen längeren Zeitraum Sicherheitslücken ausgesetzt. Der Rückruf dieser Geräte zur Aktualisierung ist ebenfalls kostspielig und kann aufgrund von Ausfallzeiten zu erheblichen Störungen für die Verbraucher führen.
Over the Air (OTA) -Updates ermöglichen die Aktualisierung der Gerätefirmware ohne einen teuren Rückruf oder einen Technikerbesuch. Diese Methode bietet die folgenden Vorteile:
-
Sicherheit — Die Fähigkeit, schnell auf Sicherheitslücken und Softwarefehler zu reagieren, die nach dem Einsatz der Geräte vor Ort entdeckt werden.
-
Innovation — Produkte können regelmäßig aktualisiert werden, wenn neue Funktionen entwickelt werden, was den Innovationszyklus vorantreibt. Die Updates können im Vergleich zu herkömmlichen Aktualisierungsmethoden schnell und mit minimalen Ausfallzeiten wirksam werden.
-
Kosten — OTA-Updates können die Wartungskosten im Vergleich zu den Methoden, die traditionell zur Aktualisierung dieser Geräte verwendet werden, erheblich senken.
Die Bereitstellung der OTA-Funktionalität erfordert die folgenden Entwurfsüberlegungen:
-
Sichere Kommunikation — Updates müssen verschlüsselte Kommunikationskanäle verwenden, um zu verhindern, dass die Downloads während der Übertragung manipuliert werden.
-
Wiederherstellung — Updates können beispielsweise aufgrund einer unterbrochenen Netzwerkverbindung oder des Empfangs eines ungültigen Updates fehlschlagen. In diesen Szenarien muss das Gerät in der Lage sein, in einen stabilen Zustand zurückzukehren und zu vermeiden, dass es blockiert wird.
-
Autorenüberprüfung — Updates müssen verifiziert werden, damit sie von einer vertrauenswürdigen Quelle stammen, zusammen mit anderen Validierungen wie der Überprüfung der Version und Kompatibilität.
Weitere Informationen zum Einrichten von OTA-Updates finden Sie unterKostenlose Over-the-Air-Updates für RTOS.
AWS IoTBibliothek über das Mobilfunknetz (OTA)
DieAWS IoT OTA-Bibliothek ermöglicht es Ihnen, Benachrichtigungen über neu verfügbare Updates zu verwalten, diese herunterzuladen und Firmware-Updates kryptografisch zu überprüfen. Mithilfe der over-the-air (OTA-) Clientbibliothek können Sie die Firmware-Aktualisierungsmechanismen logisch von der Anwendung trennen, die auf Ihrem Gerät ausgeführt wird. Die over-the-air (OTA) -Clientbibliothek kann eine Netzwerkverbindung mit der Anwendung teilen, wodurch Speicherplatz auf Geräten mit beschränkten Ressourcen eingespart wird. Darüber hinaus können Sie mit der over-the-air (OTA) -Clientbibliothek eine anwendungsspezifische Logik für das Testen, Commit oder Rollback eines Firmware-Updates definieren. Die Bibliothek unterstützt verschiedene Anwendungsprotokolle wie Message Queuing Telemetry Transport (MQTT) und Hypertext Transfer Protocol (HTTP) und bietet verschiedene Konfigurationsoptionen, die Sie an Ihren Netzwerktyp und Ihre Netzwerkbedingungen anpassen können.
Die APIs dieser Bibliothek bieten die folgenden Hauptfunktionen:
-
Registriere dich für Benachrichtigungen oder frage nach neuen Aktualisierungsanfragen, die verfügbar sind.
-
Empfangen, analysieren und validieren Sie die Aktualisierungsanfrage.
-
Laden Sie die Datei herunter und überprüfen Sie sie gemäß den Informationen in der Aktualisierungsanforderung.
-
Führen Sie vor der Aktivierung des empfangenen Updates einen Selbsttest durch, um die funktionale Gültigkeit des Updates sicherzustellen.
-
Aktualisieren Sie den Status des Geräts.
Diese Bibliothek verwendetAWS Dienste, um verschiedene Cloud-Funktionen zu verwalten, z. B. das Senden von Firmware-Updates, die Überwachung einer großen Anzahl von Geräten in mehreren Regionen, die Reduzierung des Explosionsradius fehlerhafter Bereitstellungen und die Überprüfung der Sicherheit von Updates. Diese Bibliothek kann mit jeder MQTT- oder HTTP-Bibliothek verwendet werden.
Die Demos für diese Bibliothek demonstrieren vollständige over-the-air Updates mithilfe der CoreMQTT-Bibliothek und derAWS Dienste auf einem FreeRTOS-Gerät.
Funktionen
Hier ist die komplette OTA-Agent-Schnittstelle:
OTA_Init
-
Initialisiert die OTA-Engine, indem der OTA-Agent („OTA Task“) im System gestartet wird. Es darf nur ein OTA-Agent existieren.
OTA_Shutdown
-
Signalisieren Sie dem OTA-Agenten, dass er heruntergefahren werden soll. Der OTA-Agent meldet sich optional von allen Themen zur MQTT-Jobbenachrichtigung ab, stoppt laufende OTA-Jobs, falls vorhanden, und löscht alle Ressourcen.
OTA_GetState
-
Ruft den aktuellen Status des OTA-Agents ab.
OTA_ActivateNewImage
-
Aktiviert das neueste Mikrocontroller-Firmware-Image, das über OTA empfangen wird. (Der detaillierte Jobstatus sollte dann "Selbsttest" sein.)
OTA_SetImageState
-
Legt den Validierungsstatus des aktuell laufenden Mikrocontroller-Firmware-Images fest (Test, Akzeptiert oder Abgelehnt).
OTA_GetImageState
-
Ruft den Status des aktuell laufenden Mikrocontroller-Firmware-Images ab (Test, Akzeptiert oder Abgelehnt).
OTA_CheckForUpdate
-
Fordert das nächste verfügbare OTA-Update vom OTA-Update-Service an.
OTA_Suspend
-
Unterbrechen Sie alle OTA-Agent-Operationen.
OTA_Resume
-
Nehmen Sie den OTA-Agent-Betrieb wieder auf.
OTA_SignalEvent
-
Signalisieren Sie der OTA-Agent-Task ein Ereignis.
OTA_EventProcessingTask
-
Ereignisverarbeitungsschleife für OTA-Agenten.
OTA_GetStatistics
-
Rufen Sie die Statistiken der OTA-Nachrichtenpakete ab, einschließlich der Anzahl der empfangenen, in die Warteschlange gestellten, verarbeiteten und verworfenen Pakete.
OTA_Err_strerror
-
Konvertierung von Fehlercode in Zeichenfolge bei OTA-Fehlern.
OTA_JobParse_strerror
-
Konvertiert einen OTA-Job-Parsing-Fehlercode in eine Zeichenfolge.
OTA_PalStatus_strerror
-
Konvertierung von Statuscode in Zeichenfolge für den OTA-PAL-Status.
OTA_OsStatus_strerror
-
Konvertierung von Statuscode in Zeichenfolge für den OTA-Betriebssystemstatus.
API-Referenz
Weitere Informationen finden Sie im AWS IoTOver-the-air Update: Funktionen
Beispielverwendung
Eine typische OTA-fähige Geräteanwendung, die das MQTT-Protokoll verwendet, steuert den OTA-Agent über die folgende Abfolge von API-Aufrufen.
-
Connect zumAWS IoT CoreMQTT Agent her. Weitere Informationen finden Sie unter Bibliothek für CoreMQTT-Agenten.
-
Initialisieren Sie den OTA-Agenten
OTA_Init
, indem Sie die Puffer, die erforderlichen OTA-Schnittstellen, den Dingnamen und den Anwendungs-Callback aufrufen. Der Callback implementiert eine anwendungsspezifische Logik, die nach Abschluss eines OTA-Update-Jobs ausgeführt wird. -
Wenn das OTA-Update abgeschlossen ist, ruft FreeRTOS den Callback zur Auftragserfüllung mit einem der folgenden Ereignisse auf:
accepted
rejected
, oderself test
. -
Wenn das neue Firmware-Image abgelehnt wurde (z. B. aufgrund eines Validierungsfehlers), kann die Anwendung die Benachrichtigung in der Regel ignorieren und auf das nächste Update warten.
-
Wenn das Update gültig ist und als akzeptiert markiert wurde, rufen Sie
OTA_ActivateNewImage
auf, um das Gerät zurückzusetzen und das neue Firmware-Image zu starten.
Portierung
Informationen zur Portierung von OTA-Funktionen auf Ihre Plattform finden Sie unter Portierung der OTA-Bibliothek im FreeRTOS-Portierungshandbuch.
Speichernutzung
Codegröße vonAWS IoT OTA (mit GCC generiertes Beispiel für ARM Cortex-M) | ||
---|---|---|
Datei | Mit -O1-Optimierung | Mit -Os-Optimierung |
otac | 8,3 TSD. | 7,5 K |
ota_interface.c | 0,1 K | 0,1 K |
ota_base64.c | 0,6 K | 0,6 K |
ota_mqtt.c | 2,4 K | 2,2 K |
ota_cbor.c | 0,8 K | 0,6 K |
ota_http.c | 0,3 K | 0,3 K |
Schätzungen insgesamt | 12,5 K | 11,3 K |