Android에서 BLE(Bluetooth Low Energy)

Android 4.3 이상부터 사용할 수 있게 된 Bluetooth LE를 테스트해 보았습니다.

샘플 코드



먼저 구성 파일에서 Bluetooth를 허용합니다.

AndroidManifest.xml
    <!-- Bluetooth -->
    <uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
    <!-- BLE対応端末に限定する場合は以下も追記 -->
    <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

소스는 이런 느낌입니다.

TestActivity.java
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothManager;

public class TestActivity extends Activity {
    // BLE用
    private BluetoothManager mBluetoothManager;
    private BluetoothAdapter mBluetoothAdapter;
    private BluetoothAdapter.LeScanCallback mLeScanCallback;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        // BLE
        mBluetoothManager = (BluetoothManager)getSystemService(Context.BLUETOOTH_SERVICE);
        mBluetoothAdapter = mBluetoothManager.getAdapter();

        // BLEスキャンした際のコールバック
        mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
            @Override
            public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {
                String msg = "ADDRESS=" + device.getAddress() + "\nRSSI=" + rssi;
                Log.d("BLE", msg);
            }
        };
    }

    // BLEスキャン開始ボタン
    public void onBtnStartBleScanClicked(View view) {
        mBluetoothAdapter.startLeScan(mLeScanCallback);
    }

    // BLEスキャン停止ボタン
    public void onBtnStopBleScanClicked(View view) {
        mBluetoothAdapter.stopLeScan(mLeScanCallback);
    }
}

해설



일단, 여기저기의 사이트를 참고로, 심플한 소스에 정리해 보았습니다. startLeScan( ) 에서는, 같은 BLE는 1회 밖에 검지하는 것 같습니다(?) 또 여러가지 알수 있는 대로, 추기해 갑니다.

참고 URL



Android에서 BLE 기기를 찾는 구현 방법
ぃ tp // 코 m / 미야타 y / ms / 3f43bc8348b001914214

Arduino와 Android 기기를 BLE (Bluetooth 4.0)로 연결해보기 | 아사쿠사 기켄
h tp // w w. 로보 tsfx. 코 m/로보 t/이 mg/라 ぢ오/B〇세리아 l/Bㄴ세리아 l_호 w5. HTML

【연재】Bluetooth LE (5) Android 4.3에서 Bluetooth LE 기기를 사용
htp : // bg. 푹리 r-in c. 이 m / jp / 2013 / 10 / b ぅ 에오 th ぇ - 안 d 로이 d. HTML

그리고, GitHub로부터의 프로젝트 소스는 이하가 대단히 참고가 되었습니다. 서비스를 사용하기 때문에 백그라운드에서도 작동합니다.

BLEMonitor
htps : // 기주 b. 코 m / 세르 게이사 f 리긴 / B

(·o·ゞ 이죠.

좋은 웹페이지 즐겨찾기