Armadilloフォーラム

A6Eのスリープについて

ka_satou

2023年5月22日 11時11分

Armadillo-IOT A6Eのスリープ動作に関する質問です。
周期起床+イベント起床という形でスリープ動作を行いたいのですが、
aiot-sleepとaiot-sms-sleepを同時に動作させることは可能ですか。
例:1時間に1度起床→処理後にsleep:aiot-set-wake-trigger rtc enabled +3600
  と同時に、イベント起床させたいので:aiot-sleep-smsも実行する?

コメント

at_shinya.koga

2023年5月22日 16時30分

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

ka_satouさん:
>Armadillo-IOT A6Eのスリープ動作に関する質問です。
>周期起床+イベント起床という形でスリープ動作を行いたいのですが、
>aiot-sleepとaiot-sms-sleepを同時に動作させることは可能ですか。
>例:1時間に1度起床→処理後にsleep:aiot-set-wake-trigger rtc enabled +3600
>  と同時に、イベント起床させたいので:aiot-sleep-smsも実行する?

aiot-sleep と aiot-sleep-sms を同時に動作させることはできませんが、ご提示の例で、RTC アラーム割り込みによる起床と SMS 受信による起床を両方有効にした状態でスリープできます。

ここで、マニュアルの「スリープモードへの遷移と起床」に記載している通り、aiot-set-wake-trigger は RTC アラーム割り込み以外での起床と RTC アラーム割り込みでの起床の、どちらに対しても使用できます。そして、aiot-set-wake-trigger を複数回実行することで、複数の起床要因を設定できます:
 https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
ただし、SMS 受信による起床については、aiot-set-wake-trigger ではなく、aiot-sleep-sms を実行しないと有効になりません。aiot-sleep と aiot-sleep-sms の違いは、LTE モジュール(EMS31)をスリープさせるかどうかであり、Armadillo がスリープする前後での LTE モジュールに対する制御動作が異なるために、aiot-sleep-sms を使う必要があるのです。LTE モジュールをスリープさせると SMS 受信できないため、SMS 受信による起床を有効にする場合は、Armadillo のスリープ中も LTE モジュールをスリープさせません。

まとめると、SMS 受信以外の起床要因は aiot-set-wake-trigger を使って設定し、その後、起床要因に SMS 受信を含めるかどうかにより、aiot-sleep-sms と aiot-sleep のどちらかを使ってください。

ka_satou

2023年5月25日 12時58分

アットマークテクノの古賀さま
回答ありがとうございます。
トリガはaiot-set-wake-triggerで設定し、スリープに入るときにaiot-sms-sleepという手順で
期待した動作ができました。