Raspberry PiとスマホをBluetooth接続する方法



Raspberry Pi

公開日:2025/5/10  

Raspberry PiとスマホをBluetooth接続する方法を説明します。Raspberry Piの操作はPCからSSH接続で行います。

■Bluetoothペアリングする

① 事前準備
まずはBluetooth接続するのに必要なツールをインストールするため、以下を実行します。

sudo apt install bluetooth bluez blueman


次にBluetoothサービス有効化のため以下を実行します。

sudo systemctl enable bluetooth
sudo systemctl start bluetooth


② スマホをスキャンする
スマホのBluetooth接続を有効化しておき、スキャンするため以下を実行します。

bluetoothctl     #Bluetooth CLIツールを起動
power on     # Bluetooth電源をオンにする
agent on     # エージェント(認証)をオンにする
default-agent     # デフォルトエージェントに設定
scan on     # 周辺デバイスのスキャンを開始


スマホが検出されると以下のように表示されます。XX:XX:XX:XX:XX:XXはスマホのMACアドレスです。

[NEW] Device XX:XX:XX:XX:XX:XX Device_Name


③ ペアリング操作をする
ペアリングするため以下コマンドを順番に実行します。

pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX


これでスマホ側のBluetooth設定で、Raspberry Piが「接続済み」または「ペアリング済み」と表示されていればOKです。 ペアリングされていたらデバイスscanをオフします。

scan off
exit


■Bluetooth通信する

事前にスマホアプリ「Bluetooth Electronics」をインストールしておきます。

以下プログラムをラズパイ上で実行します。初めにbluetoothライブラリをインストールします。

sudo apt install python3-bluetooth


import bluetooth

server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM) #RFCOMM(仮想シリアルポート)プロトコルを使うソケット作成
server_sock.bind(("", 1)) #任意のローカル Bluetooth アダプター("")の ポート1 に固定
server_sock.listen(1)

client_sock, client_info = server_sock.accept() #クライアントからの接続要求を受け入れる
print(f"Accepted connection from {client_info}")

while True:
    data = client_sock.recv(1024) #データを受信
    print(f"Received: {data.decode('utf-8')}")


プログラムを実行するとデータ待機状態になるので、Bluetooth Electronicsを起動して以下のように操作します。




上記のSENDボタンを押すと、以下のようにラズパイがテキストデータを受信したのが分かります。










サブチャンネルあります。⇒ 何かのお役に立てればと

関連記事一覧



Raspberry Pi