Verwalten des Energiesparzustands für Azure Sphere-Geräte
Wichtig
Dies ist die Dokumentation zu Azure Sphere (Legacy). Azure Sphere (Legacy) wird am 27. September 2027 eingestellt, und Benutzer müssen bis zu diesem Zeitpunkt zu Azure Sphere (integriert) migrieren. Verwenden Sie die Versionsauswahl oberhalb des Inhaltsverzeichniss, um die Dokumentation zu Azure Sphere (Integriert) anzuzeigen.
Für eine allgemeine Azure Sphere-Anwendung kann die API für die Energieverwaltung verwendet werden, um das Gerät in den Energiesparzustand zu versetzen. Der Energiesparzustand ist der niedrigstmögliche Gerätezustand oberhalb des ausgeschalteten Zustands. Das Gerät kann mit einem der beiden folgenden Ereignisse reaktiviert werden:
- Empfang eines Eingabesignals, mit dem der Pin „WAKEUP“ (AUFWACHEN) ausgelöst wird.
- Ablauf eines angegebenen Zeitraums.
Damit Sie dieses Feature verwenden können, müssen die folgenden Bedingungen erfüllt sein:
- Konfigurieren Sie Ihre Hardware.
- Informationen zu den allgemeinen Aspekten des Hardwareentwurfs finden Sie in den Abschnitten RTC-Stromversorgungsanforderungen und Energiesparzustand unter Hinweise zur MT3620-Hardware.
- In den Abschnitten Stromversorgung und Energiesparmodus der Anleitung zum MT3620-Referenzentwicklungsboard ist beschrieben, wie Sie die Hardware des Referenzentwicklungsboards (RDB) für den Energiesparmodus konfigurieren.
- Deklarieren Sie den Wert „ForcePowerDown“ für die Funktion PowerControls im Anwendungsmanifest.
- Verwenden Sie PowerManagement_ForceSystemPowerDown über die API für die Energieverwaltung.
Energiesparzustand
Der Energiesparzustand verfügt über die folgenden Merkmale:
- Alle Komponenten sind ausgeschaltet, mit Ausnahme der Echtzeituhr (Real-Time Clock, RTC). Dies bedeutet, dass alle Komponenten in Bezug auf Konnektivität, RAM, Flash, CPU-Kerne usw. ausgeschaltet sind.
- Zustände werden nicht gespeichert. Die Reaktivierung aus dem Energiesparzustand entspricht einem Kaltstart.
- Das Aufwachen aus dem Energiesparzustand erfolgt, wenn der Echtzeituhr-Alarm ausgelöst wird (zeitbasiertes Aufwachen) oder der WAKEUP-Pin in die untere Einstellung versetzt wird (ereignisbasiertes Aufwachen). Dies hängt davon ab, welcher Fall zuerst eintritt.
Hinweis
Das DAA-Zertifikat (Kunde) wird dauerhaft gespeichert. Daher stellt ein Gerät nach jedem Kaltstart oder power Down, der zwischen normalen 24-Stunden-Updates auftritt, keine Verbindung mit AS3 für ein neues Zertifikat her. Dies reduziert sowohl den Stromverbrauch als auch die Zeit, die erforderlich ist, um eine Verbindung mit der Cloud herzustellen.
Spezifische Informationen zum MT3620
Die Aspekte zum Energiesparzustand für das MediaTek MT3620 sind in den Hinweisen zur MT3620-Hardware beschrieben.
Erzwingen des Energiesparzustands und von Updates
Warnung
Wenn Sie die Anleitung in diesem Abschnitt nicht befolgen, kann dies dazu führen, dass für Ihr Gerät keine Anwendungs- oder Betriebssystemupdates mehr abgerufen werden können und eine Wiederherstellung erforderlich ist. Lesen Sie sich die Informationen sorgfältig durch, bevor Sie „ForcePowerDown“ verwenden.
Da sowohl „ForcePowerDown“ als auch „ForceReboot“ für eine Anwendung jederzeit die Aktivierung des Energiesparzustands für das Gerät ermöglichen, muss diese Anwendung sicherstellen, dass das Gerät bei Verwendung von „ForcePowerDown“ bzw. „ForceReboot“ eine regelmäßige Überprüfung auf Updates durchführen kann. Um die Überprüfung auf Updates für dieses Szenario zu vereinfachen, haben wir Benachrichtigungen zu updatebezogenen Systemereignissen eingeführt, damit Anwendungen über Informationen zum Updateprozess verfügen. So können Ihre Apps anhand von fundierten Informationen entscheiden, wann das Gerät in den Energiesparzustand versetzt werden soll. Die relevanten verfügbaren Benachrichtigungen zu Systemereignissen sind:
- SysEvent_Events_NoUpdateAvailable: Die Updateüberprüfung wurde abgeschlossen, und es sind keine Betriebssystem- oder Anwendungsupdates verfügbar.
- SysEvent_Events_UpdateStarted: Ein Betriebssystem- oder Anwendungsupdate hat mit dem Herunterladen begonnen. Auf dieses Ereignis folgt das Ereignis SysEvent_Events_UpdateReadyForInstall, um anzugeben, dass der Download des Updates abgeschlossen ist und die Installation durchgeführt werden kann. Wenn kein Update verfügbar ist, wird SysEvent_Events_NoUpdateAvailable anstelle dieses Ereignisses gesendet.
- SysEvent_Events_UpdateReadyForInstall: Ein Update wurde heruntergeladen und kann beim Neustart angewendet werden.
Bei Anwendungen, für die „ForcePowerDown“ genutzt wird, muss auf den Updatestatus des Geräts geachtet werden. Anwendungen mit „ForcePowerDown“ sollten diese Ereignisse immer registrieren und beachten, um sicherzustellen, dass ein Update von der App nicht auf unbestimmte Zeit zurückgestellt wird.
Wir haben eine Beispielanwendung bereitgestellt, mit der veranschaulicht wird, wie Sie die Überprüfungen auf Updates richtig in eine Anwendung integrieren, für die „ForcePowerDown“ genutzt wird. Wir empfehlen Ihnen dringend, beim Entwickeln von Apps mit „ForcePowerDown“ mit diesem Beispiel zu beginnen.
Beendigung der Anwendung
Nachdem eine Power Down-Anforderung gestellt wurde, wird ein SIGTERM-Signal an Ihre App gesendet. Wenn Ihre App das Signal verarbeitet, stehen bis zu zwei Sekunden für die Bereinigung zur Verfügung. Andernfalls wird die App sofort beendet. Weitere Informationen, z. B. zur richtigen Verarbeitung des Signals, finden Sie unter Initialisierung und Beendigung.
Beispielanwendung
Anhand der Beispielanwendung für den Energiesparzustand wird veranschaulicht, wie Sie „ForcePowerDown“ richtig zur Reduzierung des Energieverbrauchs einsetzen und gleichzeitig sicherstellen, dass das Gerät regelmäßig aufwacht und eine Überprüfung auf Betriebssystem- und App-Updates durchführt.
In diesem Beispiel blinkt eine LED rot, um anzugeben, dass von einer App Arbeits- bzw. Geschäftslogikschritte ausgeführt werden müssen, während sich das Gerät im Wachzustand befindet. Anschließend wird das Gerät für einen angegebenen Zeitraum in den Energiesparzustand versetzt. Bei jedem n-ten Energiesparzustand/Aufwachen-Zyklus wird das Gerät von der App länger im Wachzustand gehalten, um die Überprüfung auf Updates durchzuführen, anstatt sofort nach Abschluss der Geschäftslogikschritte (hier die blinkende rote LED) wieder den Energiesparzustand zu aktivieren. Um den Abschluss der Updates vor dem Aktivieren des Energiesparzustands sicherzustellen, werden von der Beispiel-App drei Benachrichtigungen zu Systemereignissen („SysEvent_Events_NoUpdateAvailable“, „SysEvent_Events_UpdateStarted“ und „SysEvent_Events_UpdateReadyForInstall“) verwendet, mit denen die App über den Status der Updateüberprüfung bzw. des Downloads informiert wird. Darüber hinaus wird anhand der Beispiel-App veranschaulicht, wie Sie den aktuellen RDB-Verbrauch messen, um zu verifizieren, dass das Gerät in den Energiesparzustand versetzt wird.