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