PR

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

raspberrypi-bluetooth-scan-eyecatch_1

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

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

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

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

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

なんて思ったんです。

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

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

この記事を読むことでわかること

自己紹介

サラリーマンしてます。

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

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

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

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をコピーしました