Armadilloフォーラム

スリープ機能に関して

iwaya_yoke

2024年11月19日 18時48分

以下のコマンドでスリープ機能を試しています。
1800sec(30分)であれば、設定どおりに起床するのですが、
86400sec(1日)と設定すると、約10分後に起床してしまいます。
設定方法に誤りがあれば教えていただけないでしょうか?

aiot-set-wake-trigger all disabled
aiot-set-wake-trigger rtc enabled +[wakeup second]
aiot-sleep-sms

==========
製品型番:A6E
Debian/ABOSバージョン:3.20.2-at.2
カーネルバージョン:Linux armadillo 5.10.224-0-at
==========

コメント

アットマークテクノの古賀です。

iwaya_yokeさん:
>以下のコマンドでスリープ機能を試しています。
>1800sec(30分)であれば、設定どおりに起床するのですが、
>86400sec(1日)と設定すると、約10分後に起床してしまいます。
>設定方法に誤りがあれば教えていただけないでしょうか?
>

aiot-set-wake-trigger all disabled
aiot-set-wake-trigger rtc enabled +[wakeup second]
aiot-sleep-sms

aiot-set-wake-trigger コマンドの使い方は、ご提示のもので正しいです。
そして、指定した秒数が経過するかまたは LTE モジュールが SMS 受信ときに起床させたいのであれば、上記コマンド列で正しいです。

一点確認ですが、aiot-sleep-sms ではなく aiot-sleep コマンドでスリープした場合も、同じ症状が発生するでしょうか?
指定した秒数の経過時のみ起床する動作、つまり RTC アラーム割り込みのみを起床要因とする場合は aiot-sleep コマンドを使います。

古賀さん

ご対応ありがとうございます。
13時ごろからaiot-sleepコマンドで86400secを指定して動作させていますが、
現状では、3時間以上は起床していません。
一応、明日の13時に起床することを確認予定なので、このまま確認を続けます。

古賀さん

aiot-sleepコマンドでの確認結果ですが、86400secを指定して適切に1日スリープした後に起床することを確認できました。
aiot-sleep-smsコマンドでスリープさせたときは、特にSMSは送っていない(過去送って起床させたことはある)のですが、
何が原因として考えられるでしょうか?
SIMはsoracomです。

aiot-sleep-smsで起床してしまう際は以下のメッセージが出ています。

aiot-sleep-sms: change mode CPU Idle
modemmanager             | * Starting modemmanager ... [ ok ]
aiot-sleep-sms: redial.

アットマークテクノの古賀です。

iwaya_yokeさん:
>aiot-sleepコマンドでの確認結果ですが、86400secを指定して適切に1日スリープした後に起床することを確認できました。

ご確認有り難うございます。
もし、スリープ機能をお使いになる目的が省電力なのであれば、aiot-sleep よりも省電力な aiot-alarm-poweroff コマンドの使用もご検討ください。
aiot-sleep は、OS をスリープモード (Suspend to RAM) にしますが、aiot-alarm-poweroff は、OS をシャットダウンして SoC (CPU ) への給電をオフします。
どちらの場合も RTC アラーム割り込みで起床できますが、aiot-alarm-poweroff は、SoC ではなく電源管理 IC が割り込みを受けて、電源管理 IC が SoC に給電再開・起動する、という違いがあります。

aiot-alarm-poweroff コマンドについては、マニュアルの「シャットダウンモードへの遷移と起床」で説明しています:
 https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

>aiot-sleep-smsコマンドでスリープさせたときは、特にSMSは送っていない(過去送って起床させたことはある)のですが、
>何が原因として考えられるでしょうか?
>SIMはsoracomです。

LTE 網から LTE モジュールに何らかのデータが届いた可能性がある、ということまでしか分かりません。ごめんなさい。
aiot-sleep-sms では、LTE モジュールがスリープモード状態から起床した時に出す割り込み通知を要因として SoC を起床させるのですが、LTE モジュールは、SMS を受信した時だけでなく LTE 網から何らかのデータを受信した場合にも起床するようです。
そのため、SMS 受信を起床要因にする必要がない場合は、aiot-sleep か aiot-alarm-power-off を使っていただくのがよいです。

いかがでしょうか?