IoT

ラズパイのDocker版Node-REDからSensorTagを使う

前回の 「ラズパイのDockerコンテナからSensorTagにアクセス」 に続き、今回はもう一歩進んで、Docker版Node-REDを使ったSensorTagへのアクセスを試してみます。

Docker版Node-RED(ラズパイ用)

https://hub.docker.com/r/nodered/node-red-docker/

Node-RED公式がラズパイ用Dockerイメージを公開しています。

コンテナを起動

1
$ docker run -d --user=root --net host -p 1880:1880 --name mynodered nodered/node-red-docker:rpi

ここでのポイントはHCIを扱うために --net host--user=root をつけることです。

node-red-contrib-sensortag

Node-REDでSensorTagを使うために以前の記事の 「Raspberry Pi 3 Model B の Node.js と Node-RED で SensorTag の BatteryLevel を Read する。」 と同様のセットアップをします。

コンテナシェルを起動

1
$ docker exec -it mynodered /bin/bash

必要パッケージのインストールとSensorTag用nodeの追加

1
2
3
# apt-get install libbluetooth-dev
# npm install https://github.com/yagitsawa/node-red-contrib-sensortag.git
# exit

コンテナを再起動

1
$ docker restart mynodered

Node-RED

http://raspberrypi.local:1880

簡単なフローを作って確認します。

SensorTagへのアクセスができました。

バッテリーレベルの値も取得できています。