Dragino mini JPとLMICライブラリでSleepさせながらの間欠動作

Dragino mini JPはCPUにATmega328Pを使っていてArduino UNOと互換性を持っています。
Dragino mini JPをLoRaWAN端末として使う場合 LMICライブラリを使いますが
Dragino mini JP と LMICライブラリの組み合わせで Sleepさせながらの間欠動作の実験を行いました。

先ずは、こちらのページから
Lightweight low power library for Arduino
をダウンロードして Arduino IDE に追加してください。

元々次の送信時間を設定していた行、125行目をコメントアウトして

以下の4行を追加してください。

なお [SLEEP_MIN]はスリープさせたい時間を LowPower.powerDown()関数の第一引数に与えた時間で割った値となります。
これはSleep時間に設定できるのが最大8秒なので、それ以上Sleepさせたいときはこのように何回もSleepを繰り返させます。

今回の例では SLEEP_MIN を 37 としていますので
スリープ時間は 8s × 37 = 296s(約5分) となります。

時間設定は
(a) SLEEP_15MS – 15 ms sleep
(b) SLEEP_30MS – 30 ms sleep
(c) SLEEP_60MS – 60 ms sleep
(d) SLEEP_120MS – 120 ms sleep
(e) SLEEP_250MS – 250 ms sleep
(f) SLEEP_500MS – 500 ms sleep
(g) SLEEP_1S – 1 s sleep
(h) SLEEP_2S – 2 s sleep
(i) SLEEP_4S – 4 s sleep
(j) SLEEP_8S – 8 s sleep
(k) SLEEP_FOREVER – WDT以外での起動
これらの値が選択できます。

これで LMICライブラリを使った Dragino mini JP の間欠動作を行うことが出来ます。
ただしArduinoをSleepさせているだけで LoRaチップを低消費電力化しているわけではありません。


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください