弊社では内部で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公式の操作方法に従います。