nobleを利用したプロジェクトからの移植 (非推奨)

弊社では内部でobnizのBLEを利用するnobleプロジェクト”obniz-noble”を提供しています。
いまnobleを利用しているプロジェクトからobnizを簡単に始められます。

(注: obniz-nobleは動作しますが、メンテナンスしておりませんので非推奨です。obniz.jsで書き換えることを推奨します。)

インストール

Nodejsの場合

Nodejsであればnobleの代わりにobniz-nobleをインストールします。

npm install obniz-noble

そしてobnizIDを使いnobleをインスタンス化します。
この時、第2引数にobnizOptionsを、第3引数に任意のobnizClassを指定することができます。
指定がない場合はobniz-nobleのpackage.jsonで指定されたバージョンが自動的に使用されます。

// use default obniz

var obnizNoble = require('obniz-noble')
var noble = obnizNoble("OBNIZ_ID_HERE")
// or  var noble = obnizNoble("OBNIZ_ID_HERE", {obnizOptions})

任意のobnizClassを指定する場合は以下のようになります。

// use a specific obniz

var obniz = require('obniz')
var obnizNoble = require('obniz-noble')
var noble = obnizNoble("OBNIZ_ID_HERE", {}, obniz)

ブラウザの場合

ブラウザであれば以下のScriptを取り込みインスタンス化します。

<!-- use default obniz -->
<script src="https://unpkg.com/obniz-noble/obniz-noble.js" crossorigin="anonymous"></script>
<script>
  var noble = obnizNoble("OBNIZ_ID_HERE")
</script>

任意のobnizClassを指定する場合は以下のようになります。

<!-- use a specific obniz -->
<script src="https://unpkg.com/obniz/obniz.js"></script>
<script src="https://unpkg.com/obniz-noble/obniz-noble.js" crossorigin="anonymous"></script>
<script>
  var noble = obnizNoble("OBNIZ_ID_HERE", {}, Obniz)
</script>

プログラム例(スキャン)

以下は最も簡単にBLEのスキャンを行う場合のサンプルコードです。

noble.startScanning(); // any service UUID, no duplicates

noble.on('discover', function(peripheral) {
  console.log('Found device with local name: ' + peripheral.advertisement.localName);
  console.log('advertising the following service uuid\'s: ' + peripheral.advertisement.serviceUuids);
  console.log();
});

nobleの利用方法はnoble公式またはobniz-nobleをご覧ください。接続・サービス・キャラクタリスティクスの詳しい操作などについてはnoble公式の操作方法に従います。

Github