目的
授業教材として利用できるかどうかを検証するため。検証の期待結果:Gatewayがtoioに接続できれば、様々な応用が実現可能。
必要なもの
1.obniz BLE/Wi-Fi Gatway Gen2.0(obniz社の無料レンタルサービスで、2週間借りた)2.toio
BLE-gateway-otio.rb
//put your obniz ID
var obniz = new Obniz("OBNIZ_ID_HERE");
//during obniz(Wi-Fi Gateway) connection
obniz.onconnect = async function() {
await obniz.ble.initWait();
const Toio_CoreCube = Obniz.getPartsClass("toio_CoreCube");
obniz.ble.scan.onfind = async (peripheral) => {
if (Toio_CoreCube.isDevice(peripheral)) { #BLEで受信したアドバタイズ情報をもとに、toio コアキューブかどうかを判定する。
console.log("find");
const device = new Toio_CoreCube(peripheral);
device.ondisconnect = (reason) => { #toio コアキューブの情報を確認する
console.log(reason)
}
console.log(device);
await device.connectWait(); #toio コアキューブに接続する
console.log("connected");
const batteryEquip = await device.getBatteryStateWait();#toio コアキューブバッテリー値を取得する
console.log(batteryEquip);
const data = await device.getMotionWait();
console.log(data);
await device.moveAroundWait(100, 255); #toio コア キューブのモータをPosition IDと無関係に動かす
await device.disconnectWait();
console.log("disconnected");
}
};
await obniz.ble.scan.startWait();
気づいたこと
1.デバイスを検知しても、上手く接続できないことがある。 ⇒ 対処方法:Gatewayを再起動するか、toio コア キューブを一度電源切って再起動するか2.複数台のtoio コア キューブを接続できないみたい。
参考資料