スリープ

Sleep Class リファレンス
Sleep API リファレンス

obniz Board 1YまたはOS7以降のOSが入ったデバイスでは端末の動作を停止させることで消費電力を抑えることができます。これによりバッテリーを利用した電源レス動作が可能となります。

各スリープ動作について、詳しくはOSのスリープページも参考にしてください。

スリープ方法

スリープに入るとデバイスの機能はすべて停止され、Wi-Fiやディスプレイ表示などを含む全てが利用できなくなり低消費電力な状態(実際の消費電流はこのページの下に記載)となります。

スリープはスリープに入るときに指定した次回起動方法(トリガー)に従って自動的に解除されて起動します。スリープ開始時に指定できるトリガーは以下の通りです。

  1. 経過時間後(秒) 1秒後から64800秒後(18時間後)
  2. 経過時間後(分) 1分後から64800分後(45日後)
  3. (obniz Board 1Yの場合)io0のピンの立ち上がり(しきい値はTTLレベル。ただし供給されている電源電圧に従う)
  4. (obniz Board 1Yの場合)io0のピンの立ち下がり(しきい値はTTLレベル。ただし供給されている電源電圧に従う)

スリープが解除されると電源が再投入されるのと同じように再起動し、クラウドに接続します。スリープ中のデバイスの電源を切って再度投入するとスリープは解除され即座に起動します。

obniz.sleepSeconds(number)

obniz.sleepMinute(number)

obniz.sleepSeconds()obniz.sleepMinute()により経過時間を指定したスリープが可能です。また、obniz.sleep()ではdateオブジェクトを利用した指定時間までのスリープを行います。

// Javascript Example

obniz.sleepSeconds(60); //60 sec = 1min

obniz.sleepMinute(60*24); // one day

const dt = new Date();
dt.setHours(dt.getHours()+1,0,0,0); // Next 00 minites.
obniz.sleep(dt);

obniz.sleepIoTrigger(boolean)

obniz Board 1Yの場合は時間を指定した起動に加えて obniz.sleepIoTrigger()を利用することでio0が変化するまでスリープすることができます。

// Javascript Example

obniz.sleepIoTrigger(true);  // wake up when rising edge on io0

電池で稼働可能な時間(obniz Board 1Yの場合)

デバイスによって稼働可能な時間は異なるのでそれぞれのデバイス詳細をご覧ください。例として、obniz Board 1Yのスリープ中の消費電流は 20uA-40uA(電源電圧5V)となります。稼働可能な時間はobniz Board 1Y単体の平均消費電力(120mA)と合わせて以下のように計算することになります。

// Javascript Example

バッテリーの自己放電や電圧降下を無視し単純に計算すると以下のようになります

S: 平均的に1時間の間にobniz Boardを起動する時間(分)
Q: バッテリーの容量(mA)

(稼働可能時間(h)) = Q/(S/60*120 + (60-s)/60*0.04)


(例)
アルカリ単三乾電池(2000mA)3本で
1日1度、2分程度起動してスリープの動作で約1年。