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 IoT Over-the-Air-Bibliothek (OTA)
Anmerkung
Der Inhalt dieser Seite ist möglicherweise nicht vorhanden up-to-date. Das neueste Update finden Sie auf der Seite der RTOS Free.org-Bibliothek
Einführung
Mit der Update-Bibliothek AWS IoT Over-the-air (OTA) können Sie die Benachrichtigung, den Download und die Überprüfung von Firmware-Updates für kostenlose RTOS Geräte verwalten, die das Protokoll HTTP oder MQTT als Protokoll verwenden. Mithilfe der OTA Agentenbibliothek können Sie Firmware-Updates und die auf Ihren Geräten ausgeführte Anwendung logisch voneinander trennen. Der OTA Agent kann eine Netzwerkverbindung mit der Anwendung gemeinsam nutzen. Durch die gemeinsame Nutzung einer Netzwerkverbindung können Sie potenziell eine beträchtliche Menge an Daten sparenRAM. Darüber hinaus können Sie mit der OTA Agentenbibliothek anwendungsspezifische Logik für das Testen, Festschreiben oder Zurücksetzen eines Firmware-Updates definieren.
Das Internet der Dinge (IoT) erweitert die Internetkonnektivität auf eingebettete Geräte, die traditionell nicht verbunden waren. Diese Geräte können so programmiert werden, dass sie nutzbare Daten über das Internet übertragen, und sie können fernüberwacht und gesteuert werden. Dank technologischer Fortschritte verfügen diese herkömmlichen eingebetteten Geräte in rasantem Tempo über Internetfunktionen für Verbraucher, Industrie und Unternehmen.
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 offengelegt 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 verstreut sind. Die Aktualisierung dieser Geräte durch einen Techniker ist kostspielig, zeitaufwändig und oft unpraktisch. Aufgrund der 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-Updates (OTA) ermöglichen die Aktualisierung der Gerätefirmware ohne teuren Rückruf oder 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 häufig aktualisiert werden, wenn neue Funktionen entwickelt werden, was den Innovationszyklus vorantreibt. Die Updates können schnell und mit minimalen Ausfallzeiten im Vergleich zu herkömmlichen Aktualisierungsmethoden wirksam werden.
-
Kosten — OTA Updates können die Wartungskosten im Vergleich zu 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 z. B. aufgrund einer unterbrochenen Netzwerkverbindung oder aufgrund 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 verhindern, dass es beschädigt wird.
-
Autorenverifizierung — Es muss verifiziert werden, dass Updates von einer vertrauenswürdigen Quelle stammen, zusammen mit anderen Validierungen wie der Überprüfung von Version und Kompatibilität.
Weitere Informationen zum Einrichten von OTA Updates mit Free finden Sie RTOS unter. Kostenlose RTOS Over-the-Air Updates
AWS IoT Drahtlose Bibliothek (OTA)
Mit der AWS IoT OTA Bibliothek können Sie Benachrichtigungen über neu verfügbare Updates verwalten, diese herunterladen und eine kryptografische Überprüfung von Firmware-Updates durchführen. Mithilfe der Clientbibliothek over-the-air (OTA) können Sie die Firmware-Aktualisierungsmechanismen logisch von der Anwendung trennen, die auf Ihrem Gerät ausgeführt wird. Die Clientbibliothek over-the-air (OTA) kann eine Netzwerkverbindung mit der Anwendung gemeinsam nutzen, wodurch Speicherplatz auf Geräten mit beschränkten Ressourcen gespart wird. Darüber hinaus können Sie mit der over-the-air (OTA) -Clientbibliothek anwendungsspezifische Logik für das Testen, Festschreiben oder Zurücksetzen 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.
Diese Bibliothek APIs bietet die folgenden Hauptfunktionen:
-
Registrieren Sie sich für Benachrichtigungen oder fragen Sie nach neuen Aktualisierungsanfragen ab, die verfügbar sind.
-
Empfangen, analysieren und validieren Sie die Aktualisierungsanfrage.
-
Laden Sie die Datei herunter und überprüfen Sie sie anhand der Informationen in der Aktualisierungsanfrage.
-
Führen Sie vor der Aktivierung des empfangenen Updates einen Selbsttest durch, um die Funktionsfähigkeit des Updates sicherzustellen.
-
Aktualisieren Sie den Status des Geräts.
Diese Bibliothek verwendet AWS Dienste zur Verwaltung verschiedener Cloud-bezogener Funktionen wie dem Senden von Firmware-Updates, der Überwachung einer großen Anzahl von Geräten in mehreren Regionen, der Reduzierung des Explosionsradius fehlerhafter Bereitstellungen und der Überprüfung der Sicherheit von Updates. Diese Bibliothek kann mit jeder beliebigen MQTT Bibliothek verwendet werden. HTTP
Die Demos für diese Bibliothek zeigen vollständige over-the-air Updates unter Verwendung der MQTT Kernbibliothek und der AWS Kerndienste auf einem kostenlosen RTOS Gerät.
Features
Hier ist die vollständige OTA Agent-Oberfläche:
OTA_Init
-
Initialisiert die OTA Engine, indem der OTA Agent („OTATask“) im System gestartet wird. Es darf nur ein OTA Agent existieren.
OTA_Shutdown
-
Signalisieren Sie dem OTA Agenten, dass er herunterfahren soll. Der OTA Agent meldet sich optional von allen Themen zur MQTT Auftragsbenachrichtigung ab, beendet laufende OTA Aufträge, falls vorhanden, und löscht alle Ressourcen.
OTA_GetState
-
Ruft den aktuellen Status des OTA Agenten ab.
OTA_ActivateNewImage
-
Aktiviert das neueste Mikrocontroller-Firmware-Image, das über OTA empfangen wurde. (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 OTA Update vom Aktualisierungsdienst an.
OTA_Suspend
-
Unterbrechen Sie alle OTA Agentenoperationen.
OTA_Resume
-
Nehmen Sie den Betrieb OTA des Agenten wieder auf.
OTA_SignalEvent
-
Signalisieren Sie der OTA Agentenaufgabe ein Ereignis.
OTA_EventProcessingTask
-
OTAVerarbeitungsschleife für Agentenereignisse.
OTA_GetStatistics
-
Rufen Sie die Statistik 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 OTA PAL den Status.
OTA_OsStatus_strerror
-
Konvertierung von Statuscode in Zeichenfolge für den OTA Betriebssystemstatus.
APIReferenz
Weitere Informationen finden Sie im AWS IoT Over-the-air Update: Funktionen
Beispielverwendung
Eine typische OTA -fähige Geräteanwendung, die das MQTT Protokoll verwendet, steuert den OTA Agenten mithilfe der folgenden Reihenfolge von API Aufrufen.
-
Connect zum AWS IoT MQTT Core-Agenten her. Weitere Informationen finden Sie unter zentrale MQTT Agentenbibliothek.
-
Initialisieren Sie den OTA Agenten, indem Sie ihn aufrufen
OTA_Init
, einschließlich der Puffer, der erforderlichen OTA-Schnittstellen, des Dingnamens und des Anwendungs-Callbacks. Der Callback implementiert anwendungsspezifische Logik, die nach Abschluss eines Aktualisierungsauftrags ausgeführt wird. OTA -
Wenn das OTA Update abgeschlossen ist, RTOS ruft Free den Callback zum Abschluss des Jobs mit einem der folgenden Ereignisse auf:, oder.
accepted
rejected
self 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 Leitfaden zur kostenlosen RTOS Portierung.
Speichernutzung
Codegröße von AWS IoT OTA (Beispiel generiert mit GCC für ARM Cortex-M) | ||
---|---|---|
Datei | Mit -O1-Optimierung | Mit -Os-Optimierung |
ota.c | 8,3 K | 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 |