Initial commit
This commit is contained in:
115
uni_modules/ak-sbsrv/readme.md
Normal file
115
uni_modules/ak-sbsrv/readme.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# ak-sbsrv
|
||||
|
||||
## 介绍
|
||||
|
||||
ak-sbsrv 是一个多蓝牙设备连接管理插件,基于 uni-app-x UTS 开发,支持同时连接和管理多个蓝牙设备。
|
||||
主要特点:
|
||||
- 支持多蓝牙设备的扫描、连接和通信
|
||||
- 支持多种蓝牙协议(BLE、SLE、BR/EDR等)
|
||||
- 支持多种数据格式(JSON、XML、RAW等)
|
||||
- 统一接口,多平台支持(目前已支持H5平台)
|
||||
|
||||
## 平台支持
|
||||
|
||||
- H5 (Chrome、Edge、Safari等支持Web Bluetooth API的现代浏览器)
|
||||
- Android (开发中)
|
||||
- iOS (开发中)
|
||||
|
||||
> 注:H5端需要在支持Web Bluetooth API的浏览器及安全上下文(HTTPS或localhost)中使用
|
||||
|
||||
## 安装使用
|
||||
|
||||
1. 在插件市场下载或通过HBuilderX导入本插件
|
||||
2. 导入到项目中
|
||||
|
||||
## API列表
|
||||
|
||||
### 基础功能
|
||||
|
||||
#### 扫描设备
|
||||
```js
|
||||
import { bluetoothService } from '@/uni_modules/ak-sbsrv/utssdk/web/index.uts';
|
||||
|
||||
// 扫描设备
|
||||
const result = await bluetoothService.scanDevices();
|
||||
console.log('扫描到设备:', result.devices);
|
||||
```
|
||||
|
||||
#### 连接设备
|
||||
```js
|
||||
// 连接设备
|
||||
await bluetoothService.connectDevice(deviceId);
|
||||
```
|
||||
|
||||
#### 断开连接
|
||||
```js
|
||||
// 断开连接
|
||||
await bluetoothService.disconnectDevice(deviceId);
|
||||
```
|
||||
|
||||
#### 发送数据
|
||||
```js
|
||||
// 发送数据
|
||||
await bluetoothService.sendData({
|
||||
deviceId: '设备ID',
|
||||
serviceId: '服务UUID',
|
||||
characteristicId: '特征值UUID',
|
||||
data: '要发送的数据',
|
||||
format: 2 // 2代表RAW格式
|
||||
});
|
||||
```
|
||||
|
||||
### 事件监听
|
||||
|
||||
#### 监听连接状态变化
|
||||
```js
|
||||
// 监听连接状态变化
|
||||
bluetoothService.onConnectionStateChange((deviceId, state) => {
|
||||
console.log(`设备 ${deviceId} 连接状态变为: ${state}`);
|
||||
// state: 0-断开,1-连接中,2-已连接,3-断开中
|
||||
});
|
||||
```
|
||||
|
||||
#### 监听数据接收
|
||||
```js
|
||||
// 监听数据接收
|
||||
bluetoothService.onDataReceived((payload) => {
|
||||
console.log('收到数据:', payload);
|
||||
});
|
||||
```
|
||||
|
||||
#### 监听错误
|
||||
```js
|
||||
// 监听错误
|
||||
bluetoothService.onError((error) => {
|
||||
console.error('蓝牙错误:', error);
|
||||
});
|
||||
```
|
||||
|
||||
### 其他API
|
||||
|
||||
- `getConnectedDevices()` - 获取已连接设备列表
|
||||
- `getConnectionState(deviceId)` - 获取指定设备的连接状态
|
||||
- `listenCharacteristicNotify(deviceId, serviceId, characteristicId)` - 监听特征值通知
|
||||
|
||||
## 示例项目
|
||||
|
||||
参见仓库中的 [control.uvue](pages/control.uvue) 页面了解完整的使用示例。
|
||||
|
||||
## 常见问题
|
||||
|
||||
1. **H5中无法扫描到设备?**
|
||||
请确保浏览器支持Web Bluetooth API,且页面在HTTPS或localhost环境下运行。
|
||||
|
||||
2. **扫描后无法连接设备?**
|
||||
请确保设备在可连接范围内,且蓝牙服务已打开。
|
||||
|
||||
3. **发送数据失败?**
|
||||
请检查serviceId和characteristicId是否正确,以及特征值是否支持写入。
|
||||
|
||||
## 更新日志
|
||||
|
||||
### 1.0.0 (2025-04-24)
|
||||
- 支持Web平台的蓝牙设备扫描、连接和数据收发
|
||||
- 支持多设备同时连接管理
|
||||
- 实现事件监听机制
|
||||
Reference in New Issue
Block a user