切断とリセット

デバイスがインターネットから切断されたり、意図的にclose()関数を呼ぶことで通信は切断され、oncloseに指定した関数が呼ばれます。

切断後はデバイスに指示を送ることができませんが、デバイスとクラウドが自動的にリセット処理を行うようになっています。

デバイスがWi-Fiなどから切断された場合

デバイスの電源は正常なのに、ネットワークから切断されるとデバイスは自動的に「リセット」を行い、IOなどすべての状態が電源投入後と同じ状態に戻ります。その場合にリセットを行うのをやめさせてIOなどの状態を最後のまま維持する(highのioはそのままhigh)には接続後に以下のように設定しておくことで、デバイスはIOなどの状態を維持します。

obniz.jsなどクラウドとの接続が切断された場合

デバイス自体は正常にクラウドと通信しているのに、プログラムを動かしているブラウザを閉じたりnodejsのプログラムを止めた場合はobnizクラウドがデバイスに対してリセットを指示します。

ただし、複数接続された状態で、まだ他のプログラムから接続がある場合はリセットは送信されません。

この設定は接続時オプションでオフにすることが可能です。オフにした場合はプログラムを終了したとしてもデバイスのIOなどは最後の状態のまま維持されます。