如何使用android原生BLE蓝牙进行 *** 作?

如何使用android原生BLE蓝牙进行 *** 作?,第1张

之前的涉及的物联网项目中使用的: BLE 低功耗蓝牙(蓝牙40), 支持android 43以上的手机
主从关系: BLE低功耗蓝牙只能做从端设备 ,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯

1)低功耗
低功耗的原理:
1\低功耗蓝牙仅使用了3个广播通道,传统蓝牙技术采用 16~32 个频道
2\每次广播开启时间也由传统的 225ms 减少到 06~12ms(毫秒)

2)传输距离极大提高
传统蓝牙传输距离为 2~10m,而蓝牙40的有效传输距离可达到 60~100m

3)安全性
使用AES-128 CCM加密算法进行数据包加密和认证。
更多BLE蓝牙的解析参考博客 : BLE40教程一 蓝牙协议连接过程与广播分析

添加权限
打开蓝牙
1先拿到BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(ContextBLUETOOTH_SERVICE);
2再拿到BluetoothAdapter bluetoothAdapter = bluetoothManagergetAdapter();
判断是否打开蓝牙
未打开d出 系统d框 ,除了 魅族手机 是打开系统设置

设备/手机都是蓝牙信号

在回调方法中:

一般在扫描的过程中,我们还会设置 设备过滤原则 (因为我只想要搜索到我们想要的设备,忽略无关设备)
如:从 scanRecord -- beacon -- beacontype == 0xFF代表Manufacture,通过与嵌入式软件定义 自己的 Manufacture值即可

用BluetoothDevice得到BluetoothGatt:

断连:

关键问题:连接后一般要做什么事

( 必须在刚连接成功后2秒内app写一个值给设备,否则会被设备断开连接)

主要是读写 characteristic
gattwirteCharacteristic(mCurrentcharacteristic);

gattreadCharacteristic(characteristic);

bluetoothGattsetCharacteristicNotification(data, true);

真实工作中使用的蓝牙库BlueToothKit请参考我的另一篇博客:
android蓝牙入门知识和优秀蓝牙第三方库BluetoothKit的使用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/10687569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存