"ボタンが押された"や"人が来た"などの外部要因をきっかけに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/