Share via


Azure Sphere cihazları için Power Down durumunu yönetme

Üst düzey bir Azure Sphere uygulaması, cihazı Güç Azaltma durumuna getirmek için güç yönetimi API'sini kullanabilir. Kapatma durumu, bir cihazın tam olarak kapatılması dışında mümkün olan en düşük güç durumudur. Cihaz iki olaydan biri tarafından uyandırılabilir:

  • WAKEUP pin'ini tetikleyen bir giriş sinyalinin gelmesi.
  • Belirtilen sürenin geçişi.

Bu özelliği kullanmak için şunları kullanmanız gerekir:

  1. Donanımınızı yapılandırın.
  2. Uygulama bildirimindePowerControls özelliği için ForcePowerDown değerini bildirin.
  3. Power Management API'sinden PowerManagement_ForceSystemPowerDown kullanın.

Güç Azaltma durumu

Kapatma durumu aşağıdaki özelliklere sahiptir:

  • Gerçek zamanlı saat (RTC) dışında her şey kapalıdır. Bu, tüm bağlantı, RAM, flash, CPU çekirdekleri vb. tüm bağlantıların kapalı olduğu anlamına gelir.
  • Devlet koruması yoktur. Power Down'tan uyanmak, soğuk önyüklemeye eşdeğerdir.
  • Gerçek zamanlı saat alarmı tetiklendiğinde (zamana bağlı uyandırma) veya WAKEUP pin'inin düşük (olay tabanlı uyandırma) çekildiği durumlarda (hangisi önce gerçekleşirse) Power Down'tan uyandırma gerçekleşir.

Not

DAA (müşteri) sertifikası kalıcı olarak depolanır. Sonuç olarak, cihaz normal 24 saatlik güncelleştirmeler arasında gerçekleşen her soğuk önyükleme veya Güç Kesintisi sonrasında yeni bir sertifika için AS3'e bağlanmaz. Bu, hem güç tüketimini hem de buluta bağlanmak için gereken süreyi azaltır.

MT3620 özellikleri

MediaTek MT3620 Power Down ile ilgili dikkat edilmesi gerekenler MT3620 donanım notlarında verilmiştir.

Güç Azaltma ve güncelleştirmeleri zorla

Uyarı

Bu bölümdeki yönergelerin izlenememesi, cihazınızın uygulama veya işletim sistemi güncelleştirmelerini getirememesine ve kurtarma gerektirmesine neden olabilir. ForcePowerDown kullanmadan önce lütfen dikkatle okuyun.

Hem ForcePowerDown hem de ForceReboot bir uygulamanın cihazı istediği zaman kapatmasına izin vermediğinden, ForcePowerDown veya ForceReboot kullanırken cihazın güncelleştirmeleri düzenli aralıklarla denetleyebilmesini sağlamak bu uygulamanın sorumluluğundadır. Bu senaryoda güncelleştirmeleri denetlemeyi kolaylaştırmak için, uygulamalarınızın cihazı ne zaman kapatacakları konusunda bilinçli bir karar verebilmesi için uygulamalara güncelleştirme işlemi hakkında bilgi vermek üzere güncelleştirmeyle ilgili sistem olayı bildirimleri kullanıma sunacağız. Uygun sistem olay bildirimleri şunlardır:

  • SysEvent_Events_NoUpdateAvailable: Güncelleştirme denetimi tamamlandı ve kullanılabilir işletim sistemi veya uygulama güncelleştirmesi yok.
  • SysEvent_Events_UpdateStarted: bir işletim sistemi veya uygulama güncelleştirmesi indirilmaya başladı. Güncelleştirme tam olarak indirildiğinde ve yüklemeye hazır olduğunda bu olayı SysEvent_Events_UpdateReadyForInstall olayı izleyecektir. Güncelleştirme yoksa, bu olay yerine SysEvent_Events_NoUpdateAvailable gönderilir.
  • SysEvent_Events_UpdateReadyForInstall: Bir güncelleştirmenin indirilmesi tamamlandı ve yeniden başlatmada uygulanmaya hazır.

ForcePowerDown kullanan uygulamaların cihazın güncelleştirme durumuna dikkat edilmesi gerekir. ForcePowerDown kullanan uygulamalar her zaman bu olaylara kaydolmalıdır ve uygulamanın bir güncelleştirmenin süresiz olarak ertelenmesine neden olmadığından emin olmak için bunları dikkate almalıdır.

ForcePowerDown kullanan bir uygulamada güncelleştirme denetimlerinin düzgün bir şekilde nasıl derlendiğini gösteren örnek bir uygulama sunuyoruz. ForcePowerDown ile uygulama geliştirirken bu örnekle başlamanız kesinlikle önerilir.

Uygulama sonlandırma

Power Down isteği yapıldıktan sonra uygulamanıza bir SIGTERM sinyali gönderilir. Uygulamanızın sinyali işlemesi durumunda temizleme işleminin 2 saniyeye kadar süresi vardır. Aksi takdirde uygulama hemen sonlandırılır. Sinyali düzgün bir şekilde işleme de dahil olmak üzere daha fazla bilgi için bkz. Güncelleştirme için uygulama sonlandırma.

Örnek uygulama

Power Down örnek uygulaması, güç tüketimini azaltmak için ForcePowerDown'ı nasıl düzgün bir şekilde kullanabileceğinizi gösterirken cihazın işletim sistemi ve uygulama güncelleştirmelerini denetlemek için düzenli aralıklarla uyanık kalmasını sağlar.

Bu örnek, cihaz uyanıkken bir uygulamanın yapması gereken işi veya 'iş mantığını' temsil eden bir LED kırmızı yanıp söner ve ardından cihazı belirli bir süre için devre dışı bırakır. Her N. Güç Azaltma/uyandırma döngüsünde uygulama, iş mantığı tamamlandıktan hemen sonra (bu durumda yanıp sönen kırmızı LED) kapanmak yerine güncelleştirmeleri denetlemek için cihazı daha uzun süre uyanık tutar. Güncelleştirmelerin kapanmadan önce tamamlandığından emin olmak için örnek uygulama, uygulamayı güncelleştirme denetimi/indirme durumu hakkında bilgilendiren üç sistem olayı bildirimi (SysEvent_Events_NoUpdateAvailable, SysEvent_Events_UpdateStarted ve SysEvent_Events_UpdateReadyForInstall) kullanır. Örnek uygulama ayrıca cihazın Güç Azaltma'ya girdiğini doğrulamak için RDB'nin geçerli tüketiminin nasıl ölçüldüğünü gösterir.