Kelola status Power Down untuk perangkat Azure Sphere

Aplikasi Azure Sphere tingkat tinggi dapat menggunakan API manajemen daya untuk menempatkan perangkat ke dalam status Power Down. Status Power Down adalah status daya serendah mungkin yang dapat digunakan perangkat selain dimatikan sepenuhnya. Perangkat dapat dibangunkan oleh salah satu dari dua kejadian:

  • Kedatangan sinyal input yang memicu pin WAKEUP.
  • Bagian dari jumlah waktu yang ditentukan.

Untuk menggunakan fitur ini, Anda harus:

  1. Mengonfigurasi perangkat keras Anda.
  2. Deklarasikan nilai ForcePowerDown untuk kapabilitas PowerControls dalam manifes aplikasi.
  3. Gunakan PowerManagement_ForceSystemPowerDown dari API Manajemen Daya .

Status Power Down

Status Power Down memiliki karakteristik berikut:

  • Semuanya dimatikan kecuali jam real-time (RTC). Ini berarti semua konektivitas, RAM, flash, inti CPU, dan seterusnya, semuanya dimatikan.
  • Tidak ada pelestarian negara. Bangun dari Power Down setara dengan sepatu bot dingin.
  • Bangun dari Power Down terjadi ketika alarm jam real-time menyala (bangun berbasis waktu) atau saat pin WAKEUP ditarik rendah (wakeup berbasis kejadian), mana pun yang lebih dulu.

Catatan

Sertifikat DAA (pelanggan) disimpan terus-menerus. Akibatnya, perangkat tidak tersambung ke AS3 untuk sertifikat baru setelah setiap cold boot atau Power Down yang terjadi antara pembaruan normal 24 jam. Ini mengurangi pemakaian daya dan waktu yang diperlukan untuk menyambungkan ke awan.

Spesifikasi MT3620

Pertimbangan Power Down MediaTek MT3620 disediakan dalam catatan perangkat keras MT3620.

Memaksa Power Down dan pembaruan

Peringatan

Kegagalan mengikuti panduan di bagian ini dapat mengakibatkan perangkat Anda tidak dapat mengambil pembaruan aplikasi atau OS dan memerlukan pemulihan. Harap baca dengan saksama sebelum menggunakan ForcePowerDown.

Karena ForcePowerDown dan ForceReboot memungkinkan aplikasi untuk mematikan perangkat kapan saja, menjadi tanggung jawab aplikasi tersebut untuk memastikan perangkat masih dapat memeriksa pembaruan secara berkala saat menggunakan ForcePowerDown atau ForceReboot. Untuk mempermudah memeriksa pembaruan dalam skenario ini, kami telah memperkenalkan pemberitahuan kejadian sistem terkait pembaruan untuk memberikan informasi aplikasi tentang proses pembaruan sehingga aplikasi Anda dapat membuat keputusan yang tepat tentang kapan harus mematikan perangkat. Pemberitahuan kejadian sistem yang tersedia yang relevan adalah:

  • SysEvent_Events_NoUpdateAvailable: Pemeriksaan pembaruan telah selesai dan tidak ada pembaruan aplikasi atau OS yang tersedia.
  • SysEvent_Events_UpdateStarted: Pembaruan aplikasi atau OS telah mulai diunduh. Acara ini akan diikuti dengan acara SysEvent_Events_UpdateReadyForInstall ketika pembaruan diunduh sepenuhnya dan siap untuk diinstal. Jika tidak ada pembaruan yang tersedia, SysEvent_Events_NoUpdateAvailable akan dikirim sebagai ganti acara ini.
  • SysEvent_Events_UpdateReadyForInstall: Pembaruan telah selesai diunduh dan siap untuk diterapkan pada boot ulang.

Aplikasi yang menggunakan ForcePowerDown harus berhati-hati terhadap status pembaruan perangkat. Aplikasi yang menggunakan ForcePowerDown harus selalu mendaftar untuk acara ini dan memperhatikannya untuk memastikan aplikasi tidak menyebabkan pembaruan ditunda tanpa batas waktu.

Kami menyediakan aplikasi sampel yang menunjukkan cara menyusun pemeriksaan pembaruan dengan benar ke aplikasi yang menggunakan ForcePowerDown. Sangat disarankan agar Anda memulai sampel ini saat mengembangkan aplikasi dengan ForcePowerDown.

Penghentian aplikasi

Setelah permintaan Power Down dibuat, sinyal SIGTERM dikirim ke aplikasi Anda. Jika aplikasi Anda menangani sinyal, aplikasi memiliki waktu hingga 2 detik untuk melakukan pekerjaan pembersihan. Jika tidak, aplikasi akan segera dihentikan. Untuk informasi selengkapnya, termasuk cara menangani sinyal dengan benar, lihat penghentian aplikasi untuk pembaruan.

Aplikasi sampel

Aplikasi sampel Power Down menunjukkan cara menggunakan ForcePowerDown dengan benar untuk mengurangi pemakaian daya sambil tetap memastikan perangkat akan tetap terjaga secara berkala untuk memeriksa pembaruan OS dan aplikasi.

Sampel ini berkedip merah LED, mewakili pekerjaan atau 'logika bisnis' yang mungkin perlu dilakukan aplikasi saat perangkat terjaga, lalu mematikan perangkat untuk jumlah waktu yang ditentukan. Setiap siklus Power Down/wake ke-N, aplikasi akan membuat perangkat tetap terjaga lebih lama untuk memeriksa pembaruan, bukan langsung dimatikan setelah penyelesaian logika bisnis (LED merah berkedip dalam kasus ini). Untuk memastikan pembaruan telah selesai sebelum dimatikan, aplikasi sampel menggunakan tiga pemberitahuan kejadian sistem (SysEvent_Events_NoUpdateAvailable, SysEvent_Events_UpdateStarted, dan SysEvent_Events_UpdateReadyForInstall) yang menginformasikan aplikasi tentang status pemeriksaan/unduhan pembaruan. Aplikasi sampel juga memperlihatkan cara mengukur konsumsi RDB saat ini untuk memvalidasi bahwa perangkat memasuki Power Down.