obniz Parts Library

linking

GitHub
linking
Usable Devices :
obniz_board
m5stickc
obnizble
esp32
esp32gateway
m5stackbasic
ak-030
obnizble_lte
obniz_plc

Linking Devices

Linking Devices の共通ライブラリです。

このライブラリはForkされたプロジェクトです。Thanks for https://github.com/futomi/node-linking.

使い方

ライブラリの詳しい使い方は親プロジェクトを参照ください https://github.com/futomi/node-linking/blob/master/README_ja.md.

サンプルプログラム

Tomoru https://codesandbox.io/s/linking-tomoru-l89lu

Sizuku 6x https://codesandbox.io/s/linking-acc-406cj

wired(obniz)

Linkingの親クラスをobnizのデバイスに登録し、Linkingデバイスの検索・接続ができるようにします。

// Javascript Example
const linking = obniz.wired("Linking");
await linking.initWait();
const device_list = await linking.discoverWait({
  duration: 5000,
  nameFilter: "Tomoru"
});
if (device_list.length == 0) {
  console.log("not found");
  return;
}
device = device_list[0];
device.onconnectprogress = obj => {
  console.log(obj);
};
await device.connect();
await device.services.led.turnOn("Red", "Pattern1");

pairing

デバイスとのペアリングは必要に応じて自動で行われます。
ペアリングキーを保存する場合は、onPairedCallbackを使用してください

// Javascript Example
const linking = obniz.wired("Linking");
await linking.initWait();
const device_list = await linking.discoverWait({
  duration: 5000,
  nameFilter: "Tomoru"
});
if (device_list.length == 0) {
  console.log("not found");
  return;
}
device = device_list[0];
device.onconnectprogress = obj => {
  console.log(obj);
};
await device.connect({
  pairingOption : {
    onPairedCallback : (keys) =>{
       //store key 
       console.log(keys);
    }
  }
});

また、2回目以降の接続でペアリングキーを使用する場合はconnectの際にkeyを指定して下さい

// Javascript Example
const keys = "xxxxxx"; //stored keys

const linking = obniz.wired("Linking");
await linking.initWait();
const device_list = await linking.discoverWait({
  duration: 5000,
  nameFilter: "Tomoru"
});
if (device_list.length == 0) {
  console.log("not found");
  return;
}
device = device_list[0];
device.onconnectprogress = obj => {
  console.log(obj);
};
await device.connect({
  pairingOption : {
    keys : keys  
  }
});

Supported from: obniz.js 3.5.0