2021年07月30日 更新
ラズパイをセントラルにしてBLE機器との通信を行う方法です。
ペリフェラルとしてmicro:bitを使いました。アプリはBlueJellyのサンプルコードにあるnotify_uart.html
を使っています。micro:bitを傾けるとラズパイのディスプレイ上に表示されている数値がリアルタイムで変化します。
[TOC]
使用したラズパイはRaspberry Pi 4 Bですが、Bluetoothが搭載されているラズパイであればどれでも大丈夫だと思います。特にBluetooth自体の設定は不要です。
Web Bluetoothを使えるようにします。
Raspberry Pi OSにデフォルトでインストールされているChromium
を起動します。ラズパイアイコンの横にある青い地球儀のアイコンです。
アドレスバーに以下を打ち込みます。
chrome://flags
Search flags
と書かれている検索ボックスに以下を打ち込みます。
Experimental Web Platform features
右側のプルダウンメニューをDisabled
からEnabled
に変えます。
少し動きが鈍い場合は、スペースキー
> Eキー
> Enterキー
とキーボードを使うと上手くいく場合があります。
Relaunch
というボタンをクリックするとchromiumが自動で再起動されます。
これでWeb Bluetooth設定OK!
今回は以下のページのブロックを書き込みました。
https://monomonotech.jp/kurage/webbluetooth/microbit_ble_block.html
BlueJellyをgit cloneして実行しました。
LXTerminalを立ち上げて以下のコマンドを打ち込んでください。
git clone https://github.com/electricbaka/bluejelly.git
pi
ディレクトリにbluejelly
フォルダが出来ているので、その中にあるnotify_uart.html
を起動して実行します。ペア設定
ボタンが押せるようになるまでと、押した後に接続されるまで時間がかかりましたが、その後はうまく通信できました。
他のサンプルも問題なく動きました。
この画像はadvance_slick.html
の例です。micro:bitを傾けることでスライドが動きます。
:::warning BLE通信がうまくいかない場合は、micro:bitの電源をOFF/ONしたり、chromiumを更新したりしてみて下さい。 :::
以上、RaspberryPiでBlueJelly でした。