3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バッテリレス漏水センサのビーコンをNode-REDで受信する

Last updated at Posted at 2023-12-02

はじめに

ABLIC社のバッテリレス漏水センサのビーコン(BLE Beacon)をNode-REDで受信する手順をまとめます。

IMG_1943.jpg

仕様書(ユーザーズマニュアル)

Wiresharkでビーコン情報を確認する

nRF Sniffer for Bluetooth LEツールとWiresharkでビーコン情報を確認します。
XIAO BLEにnRF Sniffer for Bluetooth LEツール(バージョン: v4.1.1)を書き込みます。

Wiresharkの設定を行い、起動してパケットをキャプチャーします。
流れるパケットの量が多い場合はフィルターを設定します。(BLEのアドレスを設定します)

btle.advertising_address == fc:c8:13:08:bf:09

1.jpg

サンプルのキャプチャーデータ

データ構造

基本的に同じデータを受信します。

スクリーンショット 2023-08-28 14.07.00.png

Node-RED

ラズパイにNode-REDをインストールします。
最初にNode.js 18.x系をインストールします。

$ curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
$ sudo apt install -y nodejs
$ node -v
v18.14.2
$ npm -v
9.5.0
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

以下のモジュールをインストールします。

  • node-red-contrib-beacon-scanner

$ cd ~/.node-red
$ sudo apt install bluetooth bluez libbluetooth-dev libudev-dev
$ sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
$ npm i node-red-contrib-beacon-scanner

Node-REDを起動します。

$ sudo systemctl start nodered.service

ブラウザを開いて、http://[ラズパイのIPアドレス]:1880へアクセスし、フローを作成します。

2.jpg

reTerminal

reTerminalの場合、Raspberry Pi OSとNode-REDがインストールされているため、以下のモジュールをインストールします。

  • node-red-contrib-beacon-scanner
  • node-red-contrib-reterminal

$ cd ~/.node-red
$ npm i node-red-contrib-reterminal

漏水センサのビーコンを受信したらreTerminalのブザーを鳴らし、reTerminalのボタンを押したらブザーの音を消す、といった使い方ができます。

3.jpg

スクリーンショット 2023-08-28 14.36.43.png
スクリーンショット 2023-08-28 14.36.28.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?