#概要
Raspberry PiとNode-REDとAzureを使って、
簡易なIoTシステムをいろいろ開発をしています。
最近使うセンサーが、BLEのAdvertising Messageで
データを送信するものが多いんですが、iBeacon仕様とかではなくて・・・。
iBeaconやEddystoneであれば、
Node-REDのノードがすでに存在するんですが・・・。
ということで、メッセージを解析して、iBeaconやEddystoneでなければ、
ManufactureDataを取得するノードを作成しました。
#ソースコード
gitに上げています。
https://github.com/yossihard/node-red-contrib-blebeacon-scanner
README.mdにも記載していますが、
futomiさんという方がNode.js用に開発されていたコードを流用しています。
#インストール方法
ラズパイで使用するには、先に以下のコマンドを実行してください。
> sudo apt-get install libbluetooth-dev libudev-dev pi-bluetooth
> npm install @abandonware/noble
今回作成したコードは、node-red-contrib-blebeacon-scannerという名前で
npmにも登録してみました。
Node-RED上の「パレットの管理」から「ノードの追加」画面で追加できるようになるはず・・・なんですが、
今はまだ追加されていないようです(汗)。
⇒README.mdの記載量が足りない???
Node-RED上の「パレットの管理」から「ノードの追加」画面で追加できます。
Node-RED公式サイトでのフロー紹介ページはこちら
https://flows.nodered.org/node/node-red-contrib-blebeacon-scanner
ということで、以下のコマンドでインストールしてください。
以下のコマンドでもインストールできます。
> npm install node-red-contrib-blebeacon-scanner
ものすごく大量のデータが取得されるので、
switchノードで欲しいビーコンのIDを指定してくださいませ。