Youtubeも元気に更新中!!

Youtubeのチャンネルで動画公開中。
動画のほうがわかりやすい項目について解説しています!

チャンネル登録

raspberryPiで周辺のBluetooth機器を探してみる方法

raspberrypi-bluetooth-scan-eyecatch_1RaspberryPi(ラズパイ)

今回はRaspberryPiのお話です。
だいぶ久しぶりにRaspberryPiの記事ですが、
実は去年の11月あたりにRaspberryPi400を購入してそのままにしていたんですよね。

ですからちょっとやらなきゃな…
と思っていました。

今回この記事を書くことになったきっかけとしては、
SwitchBotという家中の家電をIot化しようという
アイテムを購入したことですね。

このSwitchBotというアイテムは、Wifiでつなぐモジュールと
Bluetoothでつなぐモジュールの2種類あるんですね。

このBluetoothでつなぐほうのモジュール。
こいつをRaspberryPiで制御・データ取得したいな。

なんて思ったんです。

その時に必要なのがRaspberryPiのBluetooth機能を
しっかり使いこなすことだったわけです。

というわけで本題に行きましょう!

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

転職に成功して現在は超大手企業でシステム系の開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

RaspberryPiでBluetoothを使う準備

これをやらないと、いくらこの先の手順を実行しても意味がありません。
エラーではじかれるので注意してください。

RaspberryPiのBluetooth機能をONにする

まずはRaspberryPi自体のBluetooth機能をONにしていきましょう。
そもそもBluetooth機能がOFFだと当然ですが通信できませんからね。

Bluetooth機能をONにする方法は、
このように初期の状態だと右上にこんなマークがあるはずです。

RaspberryPi Bluetooth のマーク

左から2番目のマークですね。

機能がOFFになっていると、
このようにグレーアウトされます。

BluetoothがOFFの状態のマーク

そんな時は、このbluetoothのマークをクリックして、表示されるこのボタンを押しましょう。

RaspberryPiのBluetoothをONにするボタン

もしも、そもそもBluetoothのマークが右上にない場合は?

そんな時は、パネルの近くで右クリックしてみましょう。
するとこんな感じで出てきますで、

RaspberryPiのパネル上で右クリックして表示される項目

黄色い資格で囲んだパネルのアイテムの追加・削除を選択しましょう。

RaspberryPiのパネルの設定画面

さらにここで追加ボタン(黄色で囲んだボタン)を押していきましょう。
Windowsでもここら辺は似たような感じですよね。

RaspberryPiのパネル追加項目の選択画面

最後に、Bluetoothの項目を選択して、Addボタンを押して追加されます。

ちなみに、この項目追加ですが、Bluetoothを2個でも3個でも追加可能です。
機能は一緒ですから、1個で十分ですがね…

RaspberryPiのパネルのBluetoothの項目を3つに増やした状態

↑実際にやっても特にメリットはなく、
ちょっと邪魔になるというデメリットくらいしかありません。

削除の方法は、追加のところで削除を選択するだけです。
一回やってしまえばなんてことはないですよね。

Bluetoothの機能を使って、周辺の機器を検索する方法

さて、今回の主目的のお話をしていきましょう。
使うのはLXterminalです。

ここで、bluetoothctlと打ち込みます。

bluetoothctlを起動した状態

一番左が[bluetooth]と変わっていれば成功です。

次に、この状態で、scan onと打ち込みます。

するとこんな感じで近くにあるBluetooth機器のアドレスが表示されます。

bluetoothctlでscan onした結果

ちょっとアドレスを丸出しにするのはあまりよろしくないので、
意図的に半分隠した状態で掲載しています。

switchBotだと、スマホのアプリで
所有しているモジュールのアドレスは確認できます。

switchBot以外でもおそらく確認可能なはずです。
そこで確認したものがここに表示されていれば、
RaspberryPiで認識できているよ。

という話になります。

おまけbluetoothctlでできること

どんなBluetoothデバイスが周りにあることが調べられましたが、
当然bluetoothctlの機能はそれだけではありません。

[bluetooth]となった状態でhelpというコマンドを打ってみましょう。

すると、こんな感じでできることの一覧表が表示されます。

bluetoothctlのhelp画面

scanはほんの一部の機能なので、この中から必要なものがあったら
是非試してみてくださいね。

今回はLXterminalからの操作でしたが、
次回以降でbluepyというpythonのライブラリを使用して
bluetoothモジュールで取得した値をRaspberryPiで取得する方法についても
ご紹介する予定です。

今回のまとめ

bluetoothというか無線全般に言えることですが、
GPIOのON/OFFでいろんな制御しているときとは少し違った感覚になりますよね。

GPIOでいじるときは接続がどうとか気にしないですもんね。
有線なので接続は絶対できる…みたいな。

それから、他の記事でも上げていますが、
ArduinoチックにBluetoothの機能を搭載しているマイコンボードも存在します。

名前はESP32というやつですね。
このESP32を搭載したM5StackとかM5Stickとかも実は買ったけど
開けてない…なんて状況です。

bluetoothも低消費電力のBLEが登場してから爆発的に普及している気がします。
いまさらBLEかよ。なんていわないでここらで一緒に使えるようにしてみませんかね。

次回はRaspberryPiでSwitchBotの温湿度計の値をPythonで取得します!

コメント

タイトルとURLをコピーしました