raspberry PI zero でBLE ビーコンを使ってみる
ブログにも情報掲載してます♪
今回はラズパイZERO WHを使ってスマホと通信をしていこうと思います。
まずはラズパイZEROをビーコンとして使えるように環境を整えていきます。
1. bluezのインストール
ラズパイには最初からインストールされていますが、もしインストールされていない場合は次のコマンドでインストールします。
$apt install libglib2.0-dev
$apt install libdbus-glib-1-dev
$apt install libudev-dev
$apt install libical-dev
$apt install libreadline-dev
$wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.9.tar.xz
$xz -dv bluez-5.9.tar.xz
$tar -xvf bluez-5.9.tar
$cd bluez-5.9
$./configure --disable-systemd --enable-library
$make
$make install
2. 必要なライブラリのインストール
これをインスールしないとbluetooth.hがないとエラーが出てしまいます。
$apt install libbluetooth-dev
3.bluez-ibeaconのインストール
$git clone https://github.com/carsonmcdonald/bluez-ibeacon.git
$cd ./bluez-ibeacon/bluez-beacon/
$make
4.UUIDを生成する
$apt install uuid-runtime
$uuidgen
fc8cc6cd-1f77-4861-8f3c-0c99b252214
5. 4で生成したUUIDを使ってble通信する
このコマンドでラズパイからビーコン発信できるようになります。
./ibeacon 200 fc8cc6cd-1f77-4861-8f3c-0c99b252214 0 0 -53
6.スマホでbleビーコンを確認する
今回はビーコンを確認するために「Bluetooth Scanner」を使います
7. ラズパイのビーコンを確認してみる
6でインストールした「Bluetooth Scanner」を使ってラズパイの信号を確認してみます。アプリを起動すると下のような画面が開かれ、「BlueZ 5.50」というデバイスがあることがわかります。(バージョンは人によって違います)
![画像1](https://assets.st-note.com/production/uploads/images/34487989/picture_pc_4bc25d9d7d881dbd92342f8319c6a58d.png?width=1200)
「DEVICE FINDER」をタップすると下記のようなグラフが表示されます。
これはラズパイとの信号の強さを表しており、ラズパイとスマホの距離が近いほど数値が0に近づいていきます。
![画像2](https://assets.st-note.com/production/uploads/images/34488025/picture_pc_36cb8128f3fb9736026fdee58dd4e73e.png?width=1200)
以上、ラズパイでBLEビーコンを発信することができました。