返信先: 【質問】LTE-Mリーフの使用方法を教えてください

#11989
KDDI
参加者

 > サンプルのSleep_Resumeを手直して、Serial.println等を追加しました。DeepSleepからResume後、シリアルへの出力ができなくなってしまいます。また、加速度センサから値の取得とLTEの起動もできなくなってしまいます。センサとLTEについて、Setupの中のdigitalWrite(SENS_PWR_ON, LOW)とdigitalWrite(LTE_PWR_ON, LOW)はセンサとLTEの電力供給の設定と思っているから、その処理をやめると、LTEとセンサの動作ができるようになりました。

は、DeepSleepからのResume後に各種デバイス機能を利用するためには、再度利用するデバイスの初期化作業が必要です。
LpwaCtrl::enableSensor(), powerDown()をご利用ください。
個別にdigitalWrite()で設定いただいても同様です。

> これら設定とdigitalWrite(STM_RESET_N, LOW)/digitalWrite(PERI_PWR_ON, LOW)は何のためでしょうか?それを設定しなけらば、省電力に何の影響を与えるでしょうか

STM_RESET_N:システムリセットするためのポート
PERI_PWR_ON:外部リーフを使うためのポート
の初期化処理となります(省電力とは直接関係ありませんが、動作安定化のために設定してください)。

> シリアル出力に関して、どのようにしたら、出力に戻せるでしょうか

Serial.begin();
などで初期化してください。

> もう一つ、SleepDevice.inoとの関係について、DeepSleepに入る場合は、pmctrl.powerDown(LPWA_OFF)にさせた意味があるでしょうか

sleep_resume.ino : STM32の省電力機能確認サンプル
SleepDevice.ino : LTE-Mモデムの省電力機能確認サンプル

STM32側でDeepSleepに入る場合、結果的にLTE-Mも電源OFFされますので、特に意味はありませんが、
明示的に処理しておいた方がコードとしては可読性があがるのではと思います。