デバイスへの接続

以下のようにIDを使うことでデバイスの代わりになるインスタンスを作成できます。接続は自動で開始されて、成功するとonconnectに指定した関数が、切断でoncloseに指定した関数が呼ばれます。

var obniz = new Obniz('1234-5678');
obniz.onconnect = async function() {

}
obniz.onclose = async function() {

}

部品の操作やioの操作など、デバイスに対する操作は接続した後でのみ行えるため、onconnect後に操作するように指定します。

var obniz = new Obniz('1234-5678');
obniz.onconnect = async function() {
  obniz.io0.output(true);
}

oncloseは切断後に呼び出される関数です。そのため「デバイスとの接続が切れたのでモーターをOFFにする」という処理は既に接続が切れているのでoncloseにプログラムで書くことはできません。詳しくはこのページの「切断」をご覧ください。

アクセストークン

デバイスにアクセストークンを設定している場合は以下のようにオプションで指定します。

new Obniz('1234-5678', {access_token: 'your token here'})
自動プロンプト

ブラウザ上で実行している場合にobniz idとして正しくない場合は自動的にpromptが表示されます。そこでidを入れることでそのデバイスに接続することが可能です。
これはidとして正しくない形式の場合にのみ表示されます。正しくても存在しないobniz idを入れた場合には表示されません。

登録済みデバイス

obniz.jsではデバイスに初めて接続するときにハードウェア情報を取得し、ioがいくつあるのか、bleはあるのか、内蔵センサーはあるのかなどを元にobnizインスタンスを構成します。

new obniz = new Obniz("1234-5678")
obniz.io0 => undefined
obniz.onconnect = async function() {
  obniz.io0 => exist if device has io0
}

この他に事前にobniz.jsに登録されているデバイスの場合はペリフェラルや内蔵センサーのための関数が用意されているものを利用できます。利用可能なものは以下のobnizクラスのリファレンスより見つけられます。
https://obniz.github.io/obniz/obnizjs/classes/obnizcore.obniz.html

obnizBoardはもちろん、他にもM5StickCなどが事前登録されています。
https://obniz.github.io/obniz/obnizjs/classes/obnizcore.hardware.m5stickc.html
以下のように記載することで利用できます。引数はnew Obniz()と同じです。

new obniz = new Obniz.M5StickC("1234-5678")

これにより内部に登録されているbuttonや赤外線LEDも登録済みの状態で利用できます。

Articles