センサー変化でのWakeup

"ボタンが押された"や"人が来た"などの外部要因をきっかけにSleepを解除することができます。

obnizBoard 1Yにおいてはio0が特別なピンになっていて、このピンの電圧変化によってsleep状態を解除することができます。


obniz.onconnect = async function(){
  var tempsens = obniz.wired("LM61", { gnd:0 , output:1, vcc:2});
  var temp = await tempsens.getWait();
  console.log(temp);  //output tempeature

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

sleepIoTriggerでio0が 0V → 5Vに変化したときにスリープを解除します。このio0にボタンを接続して、ボタンが押されていないときは0V、ボタンが押されると5Vの電圧になるようにすれば、ボタンが押されたときにSleep状態が解除されて起動します。 

センサを工夫することで、ドアが開いたらsleepを解除してslackに通知を送るプログラムも作ることができます。

https://blog.obniz.com/make/obniz-board-1y-open-close-detection/