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も実行する?
コメント
ka_satou
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 のどちらかを使ってください。