obniz BLE ゲートウェイ Getting Start

BLEが利用可能な公式デバイス ( Storeはこちら )は安価なプログラマブルBLEゲートウェイとして活用することができます。

特徴

  • 数千円からの買い切りでクラウド経由でのデバイスへの常時接続・プログラムからの柔軟な操作が可能
  • JavaScript/Node.js でのプログラムが可能。特にnoble(Node.jsライブラリ)で組まれた既存のプログラムに2行追加するだけでそのままインターネット経由でクラウドから全国に設置したゲートウェイを操作可能に。

導入

このセクションは「エンコアード IoT Hub [obnizOS installed]」を利用した導入ガイドとなっております。

1. インターネットへの接続

まず、IoT Hub[obnizOS installed]を電源(コンセント)に接続します。すると、LEDが緑色に点灯し、Wi-Fi設定待となります。設定はobnizOS標準の「アクセスポイントとなったESP32への接続(Wi-Fiのみ)」となります。スマートフォンまたはPCを用意の上、以下のURLに記載の手順で設定を行ってください。

https://obniz.io/ja/doc/obnizos/os_networksetup

クラウドとの常時接続が成立すると緑色のLEDが青色に変わります。

(1) obnizIDは本体に貼付されているobnizIDまたはWi-Fi設定時に表示されるSSIDから確認できます。

(2) エンコアードIoTHub サンプル評価用製品のデバイスのアカウントへの紐付けはについては弊社へご連絡ください。その際にobnizIDとobnizクラウドで作成したユーザー(無料で作成できます)のメールアドレスをお知らせください。

2. noble-obnizからの利用

nobleはNodejs向けに作成されたオープンソースのBLEスタックライブラリでドキュメントが豊富です。弊社ではobniz.jsでのBLEのサポート以外にもnobleのままobnizで利用できるobniz-nobleプロジェクトを公開しています。通常のnobleのプログラムをそのままに、obnizIDを入力するだけでそのobnizのBLEを遠隔で操作することが可能です。かつobniz-nobleはブラウザでも動作するように作られています。

インストール(nodejs)

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

npm install obniz-noble

そしてobnizidを使いnobleをインスタンス化します

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

インストール(HTML)

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

<script src="https://unpkg.com/obniz-noble/obniz-noble.js" crossorigin="anonymous"></script>

<script>
   var noble = obnizNoble("OBNIZ_ID_HERE")

</script>

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

nobleの利用方法はnoble公式またはobniz-nobleをご覧ください。
以下は最も簡単にBLEのスキャンを行う場合の例です。

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

noble.on('discover', function(peripheral) {
    console.log('Name: ' + peripheral.advertisement.localName);
    console.log('UUID\'s: ' + peripheral.advertisement.serviceUuids);
    console.log();
});

接続・サービス・キャラクタリスティクスの詳しい操作などについてはnoble公式の操作方法に従います。(公式nobleとの違いはobniz-nobleを使うという点とobnizIDの入力が必要な点の2点のみです)

リポジトリREADMEへ
https://github.com/obniz/obniz-noble