Bluetooth デバイスに接続する Android クライアントを作成する方法

ここでは「Bluetooth で遠隔端末に温度データを送る」で作成した、"Bluetooth 温度計" に接続してデータを読み取る、アンドロイド・アプリを作る方法を紹介します。

アンドロイドにおける Bluetooth の使い方については、アンドロイド開発入門の記事「Bluetooth」に書きましたので、 そちらをみてください。

ここでは、「Android 間での RFCOMM チャネルの Bluetooth 通信 2/2」で作成したクライアントプログラムをベースにして、 Bluetooth シリアルモジュール HC-06 に接続するのに必要な変更点について記載します。

クライアントからサーバーに接続するときに、RFCOMM チャネルを作成して BluetoothSocket を作成する必要がありますが、 このときに指定する UUID は SPP (シリアルポートプロファイル) の UUID である "00001101-0000-1000-8000-00805f9b34fb" を指定します。

またデバイス名は "MYBT1" にしていますので、Bonded リストから BluetoothDevice を探す際の名前も変更します。

これらは Constants.java に記載していますので、そこを変更します。

package com.keicode.android.testapps.bttest1c;

import java.util.UUID;

public interface Constants {
    public static final String BT_DEVICE = "MYBT1";
    public static final UUID BT_UUID = UUID.fromString(
        "00001101-0000-1000-8000-00805f9b34fb");

    public static final String STATE_TEMP = "STATE_TEMP";

    public static final int MESSAGE_BT = 0;
    public static final int MESSAGE_TEMP = 2;
}

さらに、プログラミングというよりは環境設定ですが、デバイス名はここでは "MYBT1" ですが、これをあらかじめペアリングしておきます。

以上の変更を行い、Arduino 温度計と Android の両方を起動すれば自動的に接続して、Android 画面に温度が表示されるはずです。

Bluetooth を利用すると、ここで紹介したようにスマートフォンなどとの接続も非常に容易になり便利ですね。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 基礎からの IoT 入門