Azure Sphere 디바이스에 대한 Power Down 상태 관리

상위 수준 Azure Sphere 애플리케이션은 전원 관리 API를 사용하여 디바이스를 Power Down 상태로 전환할 수 있습니다. Power Down 상태는 디바이스가 완전히 꺼지는 것 외에 있을 수 있는 가장 낮은 전원 상태입니다. 디바이스는 다음 두 가지 이벤트 중 하나에 의해 절개될 수 있습니다.

  • WAKEUP 핀을 트리거하는 입력 신호의 도착입니다.
  • 지정된 시간의 통과입니다.

이 기능을 사용하려면 다음을 수행해야 합니다.

  1. 하드웨어를 구성합니다.
  2. 애플리케이션 매니페스트에서 PowerControls 기능에 대한 ForcePowerDown 값을 선언합니다.
  3. Power Management API에서 PowerManagement_ForceSystemPowerDown 사용합니다.

Power Down 상태

Power Down 상태에는 다음과 같은 특성이 있습니다.

  • RTC(실시간 시계)를 제외한 모든 전원이 꺼집니다. 즉, 모든 연결, RAM, 플래시, CPU 코어 등이 모두 꺼져 있습니다.
  • 상태 보존은 없습니다. Power Down에서 해제하는 것은 콜드 부팅과 동일합니다.
  • Power Down에서 절전 모드 해제는 실시간 클록 알람이 발생하거나(시간 기반 절전 모드 해제) WAKEUP 핀이 낮게 당겨질 때(이벤트 기반 절전 모드 해제) 중 먼저 발생할 때 발생합니다.

참고

DAA(고객) 인증서는 영구적으로 저장됩니다. 따라서 디바이스는 일반 24시간 업데이트 사이에 발생하는 콜드 부팅 또는 전원 다운 이후에 새 인증서를 위해 AS3에 연결하지 않습니다. 이렇게 하면 전력 소비와 클라우드에 연결하는 데 필요한 시간이 모두 줄어듭니다.

MT3620 세부 정보

MediaTek MT3620 Power Down 고려 사항은 MT3620 하드웨어 정보에서 제공됩니다.

Power Down 및 업데이트 강제 적용

경고

이 섹션의 지침을 따르지 않으면 디바이스가 애플리케이션 또는 OS 업데이트를 가져올 수 없고 복구가 요구될 수 있습니다. ForcePowerDown을 사용하기 전에 주의 깊게 읽으세요.

ForcePowerDown과 ForceReboot는 애플리케이션이 언제든지 디바이스의 전원을 낮출 수 있도록 하기 때문에 ForcePowerDown 또는 ForceReboot를 사용할 때 디바이스가 업데이트를 주기적으로 검사 수 있도록 하는 것은 해당 애플리케이션의 책임이 됩니다. 이 시나리오에서 업데이트를 보다 쉽게 검사 수 있도록 업데이트 관련 시스템 이벤트 알림을 도입하여 앱이 디바이스 전원을 낮추는 시기에 대해 정보에 입각한 결정을 내릴 수 있도록 업데이트 프로세스에 대한 정보를 애플리케이션에 제공했습니다. 사용 가능한 관련 시스템 이벤트 알림은 다음과 같습니다.

  • SysEvent_Events_NoUpdateAvailable: 업데이트 검사 완료되었으며 OS 또는 애플리케이션 업데이트를 사용할 수 없습니다.
  • SysEvent_Events_UpdateStarted: OS 또는 애플리케이션 업데이트가 다운로드되기 시작했습니다. 이 이벤트는 업데이트가 완전히 다운로드되고 설치 준비가 되면 SysEvent_Events_UpdateReadyForInstall 이벤트가 뒤따릅니다. 사용할 수 있는 업데이트가 없으면 이 이벤트 대신 SysEvent_Events_NoUpdateAvailable 전송됩니다.
  • SysEvent_Events_UpdateReadyForInstall: 업데이트 다운로드가 완료되었으며 다시 부팅 시 적용할 준비가 되었습니다.

ForcePowerDown을 사용하는 애플리케이션은 디바이스의 업데이트 상태를 염두에 두어야 합니다. ForcePowerDown을 사용하는 애플리케이션은 항상 이러한 이벤트에 등록하고 앱이 업데이트를 무기한 연기하지 않도록 주의해야 합니다.

ForcePowerDown을 사용하는 애플리케이션에 업데이트 검사를 올바르게 빌드하는 방법을 보여 주는 샘플 애플리케이션을 제공합니다. ForcePowerDown을 사용하여 앱을 개발할 때 이 샘플로 시작하는 것이 좋습니다.

애플리케이션 종료

Power Down 요청이 완료되면 SIGTERM 신호가 앱으로 전송됩니다. 앱이 신호를 처리하는 경우 정리 작업을 수행하는 데 최대 2초가 걸립니다. 그렇지 않으면 앱이 즉시 종료됩니다. 신호를 올바르게 처리하는 방법을 비롯한 자세한 내용은 업데이트에 대한 앱 종료를 참조하세요.

샘플 애플리케이션

Power Down 샘플 애플리케이션은 ForcePowerDown을 적절하게 사용하여 전력 소비를 줄이는 동시에 디바이스가 OS 및 앱 업데이트를 위해 검사 주기적으로 깨어 있게 하는 방법을 보여 줍니다.

이 샘플은 디바이스가 절전 모드에 있는 동안 앱이 수행해야 할 수 있는 작업 또는 '비즈니스 논리'를 나타내는 LED 빨간색을 깜박인 다음 지정된 시간 동안 디바이스를 작동합니다. 모든 Nth Power Down/절전 모드 해제 주기에서 앱은 비즈니스 논리가 완료된 후 즉시 전원을 켜지 않고(이 경우 깜박이는 빨간색 LED) 업데이트를 위해 검사 디바이스를 더 오래 절전 모드에서 유지합니다. 전원을 켜기 전에 업데이트가 완료되었는지 확인하기 위해 샘플 앱은 업데이트 검사/다운로드의 상태 대해 앱에 알리는 세 가지 시스템 이벤트 알림(SysEvent_Events_NoUpdateAvailable, SysEvent_Events_UpdateStarted 및 SysEvent_Events_UpdateReadyForInstall)을 사용합니다. 또한 샘플 앱은 RDB의 현재 사용량을 측정하여 디바이스가 Power Down에 들어가는지 확인하는 방법을 보여줍니다.