Android APP 蓝牙低功耗控制安信可TB02开发板 ,Android源码;
蓝牙基础哭基于第三方库 H-Ble,Android Ble类库,基于回调,暴露搜索、连接、发送、接收、断开连接等接口,无需关心细节操作即可进行Ble通信。
具体使用请参考本项目提供的例子
- BleController.getInstance().init(this);
- BleController.getInstance().scanBle(int time,ScanCallback scanCallbak);
- BleController.getInstance().connect(int time,String deviceAdress,ConnectCallback connectCallback);
- BleController.getInstance().writeBuffer(byte[] buf,OnWriteCallback onWriteCallback);
- BleController.getInstance().registReciveListener(String requestKey,OnReceiverCallback onReceiveCallback);
- BleController.getInstance().unregistReciveListener(String requestKey);
- BleController.getInstance().closeBleConn();
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
定位权限必须添加,否则Android 5.0以上的手机搜索不到设备
-
打开BleController.class
-
修改以下成员变量的值为自己所要通信的TB-02模块对应的UUID
private static final String BLUETOOTH_S = "0000fff0-0000-1000-8000-00805f9b34fb"; private static final String BLUETOOTH_NOTIFY_C = "0000fff7-0000-1000-8000-00805f9b34fb"; private static final String BLUETOOTH_WRITE_C = "0000fff6-0000-1000-8000-00805f9b34fb";
变量名最后一位字母:
S 代表service的UUID;
C 代表characteristic的UUID;
本库满足Android 4.3以上手机和安信可TB-02模块之间的连接与互发数据。