1## SPPManager测试使用说明文档
2
3​		本文档主要介绍蓝牙专项测试程序的Spp部分(ohos.bluetoothManager.d.ts)的功能使用说明。
4
5### 从主界面跳转到SPP蓝牙部分
6
7SPP测试分为SPPClient测试和SPPServer测试
8
9
10
11### SPPClient
12
13选择SPP_Client测试,进行SPP客户端的测试
14
15
16
17#### SPPClient的主要接口(ohos.bluetoothManager.d.ts)
18
19|         method名称          |       API名称        |                           所需参数                           |         返回值         | 备注 |
20| :-------------------------: | :------------------: | :----------------------------------------------------------: | :--------------------: | :--: |
21|           开蓝牙            |    enablBluetooth    |                              ()                              |          void          |      |
22|           关蓝牙            |   disableBluetooth   |                              ()                              |          void          |      |
23|       设置SPP扫描模式       | setBluetoothScanMode |              (mode: ScanMode, duration: number)              |          void          |      |
24|          获取状态           |       getState       |                              ()                              |     BluetoothState     |      |
25|        获取扫描模式         | getBluetoothScanMode |                              ()                              |        ScanMode        |      |
26|      获取当前连接状态       | getBtConnectionState |                              ()                              | ProfileConnectionState |      |
27|  SPP客户端链接(安全模式)  |      sppConnect      | (device: string, option: SppOption, callback: AsyncCallback<number>) |          void          |      |
28| SPP客户端连接(非安全模式) |      sppConnect      | (device: string, option: SppOption, callback: AsyncCallback<number>) |          void          |      |
29|          配对设备           |      pairDevice      |                      (deviceId: string)                      |          void          |      |
30|        SPP客户端写入        |       sppWrite       |          (clientSocket: number, data: ArrayBuffer)           |          void          |      |
31|      SPP客户端读取打开      |      on.sppRead      | (type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>) |          void          |      |
32|      SPP客户端读取关闭      |     off.sppRead      | (type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>) |          void          |      |
33|        SPP客户端关闭        | sppCloseClientSocket |                       (socket: number)                       |          void          |      |
34
35>**接口所需的参数配置:**
36>
37>| 参数名   | 类型                  | 必填 | 说明                                      |
38>| :------- | :-------------------- | :--- | :---------------------------------------- |
39>| device   | string                | 是   | 对端设备地址,例如:“XX:XX:XX:XX:XX:XX”。 |
40>| option   | **SppOption**         | 是   | spp客户端连接配置参数。                   |
41>| callback | AsyncCallback<number> | 是   | 表示回调函数的入参,客户端socket的id。    |
42>
43>
44>
45>#### SppOption   描述spp的配置参数
46>
47>| 名称   | 类型    | 可读 | 可写 | 说明             |
48>| :----- | :------ | :--- | :--- | :--------------- |
49>| uuid   | string  | 是   | 是   | spp单据的uuid。  |
50>| secure | boolean | 是   | 是   | 是否是安全通道。 |
51>| type   | SppType | 是   | 是   | Spp链路类型。    |
52>
53>
54>
55>#### SppType   枚举,Spp链路类型
56>
57>| 名称       | 值   | 说明                 |
58>| :--------- | :--- | :------------------- |
59>| SPP_RFCOMM | 0    | 表示rfcomm链路类型。 |
60>
61>**参数:**
62>
63>| 参数名       | 类型        | 必填 | 说明               |
64>| :----------- | :---------- | :--- | :----------------- |
65>| clientSocket | number      | 是   | 客户端socket的id。 |
66>| data         | ArrayBuffer | 是   | 写入的数据。       |
67
68
69
70#### SPPClient测试功能
71
721. 开/关蓝牙
73
74   - 同"Br功能界面使用说明文档"中的"开/关蓝牙"功能。
75
76
77
782. 设置SPP扫描模式
79
80   - 同"Br功能界面使用说明文档"中的"设置扫描模式"功能。
81
82
83
843. 获取状态
85
86   - 同"Br功能界面使用说明文档"中的"获取状态"功能。
87
88
89
904. 获取扫描模式
91
92   - 同"Br功能界面使用说明文档"中的"获取扫描模式"功能。
93
94
95
965. 获取当前连接状态
97
98   - 同"Br功能界面使用说明文档"中的"获取当前连接状态"功能。
99
100
101
1026. SPP客户端连接(安全)
103
104   - 使用指导:
105
106     > 通过套接字连接到远程设备。
107     >
108     > device要连接的远程设备的地址。
109     >
110     > option表示连接参数{@link SppOption}。
111     >
112     > callback回调用于返回客户端套接字ID。
113
114   - 限制条件:
115
116     - 需要在相关类型事件发生改变前,开启监听。
117     - @throws { BusinessError } 201 - Permission denied.
118     * @throws { BusinessError } 401 - Invalid parameter.
119     * @throws { BusinessError } 801 - Capability not supported.
120     * @throws { BusinessError } 2900001 - Service stopped.
121     * @throws { BusinessError } 2900003 - Bluetooth switch is off.
122     * @throws { BusinessError } 2900004 - Profile is not supported.
123     * @throws { BusinessError } 2900099 - Operation failed.
124
125   - 验证方法:在事件变化后,查看是否有弹窗信息显示。
126
127
128
1297. SPP客户端连接(非安全)
130
131   - 与"SPP客户端连接(安全)"的区别是 "secure: false"
132
133
134
1358. 配对设备
136
137   - 同"Br功能界面使用说明文档"中的"配对设备"功能。
138
139
140
1419. SPP客户端写入
142
143   - 使用指导 :
144
145     > - 通过套接字写入数据。
146     >
147     > - clientSocket指示客户端套接字ID,sppAccept或sppConnect返回。
148     > - data指示要写入的数据。
149     > - return如果数据写入成功,则返回true;否则返回false。
150
151   - 限制条件:
152
153     - SPPServer存在。
154     - @throws { BusinessError } 401 - Invalid parameter.
155     * @throws { BusinessError } 801 - Capability not supported.
156     * @throws { BusinessError } 2901054 - IO error.
157     * @throws { BusinessError } 2900099 - Operation failed.
158
159   - 验证方法:查看显示信息。
160
161
162
16310. SPP客户端读取打开/关闭
164
165    - 使用指导:为回调函数,用来监听相关类型事件的变化,并弹窗显示信息。
166
167      > 订阅从套接字读取数据时报告的事件。
168      >
169      > type为要侦听的spp读取事件的类型。
170      >
171      > callback回调用于侦听spp读取事件。
172
173    - 限制条件:
174
175      - 需要在相关类型事件发生改变前,开启监听。
176      - @throws { BusinessError } 401 - Invalid parameter.
177      * @throws { BusinessError } 801 - Capability not supported.
178      * @throws { BusinessError } 2901054 - IO error.
179      * @throws { BusinessError } 2900099 - Operation failed.
180
181    - 验证方法:在事件变化后,查看是否有弹窗信息显示。
182
183
184
18511. SPP客户端关闭
186
187    - 使用指导:禁用spp客户端套接字并释放相关资源。
188
189    - 限制条件:
190
191      - SPPClient未打开。
192      - @throws { BusinessError } 401 - Invalid parameter.
193      * @throws { BusinessError } 801 - Capability not supported.
194      * @throws { BusinessError } 2900001 - Service stopped.
195      * @throws { BusinessError } 2900099 - Operation failed.
196
197    - 验证方法:无法搜索到本设备的Spp客户端。
198
199
200
201### SPPServer
202
203#### SPPServer的主要接口(ohos.bluetoothManager.d.ts)
204
205|         method名称          |       API名称        |                           所需参数                           |         返回值         | 备注 |
206| :-------------------------: | :------------------: | :----------------------------------------------------------: | :--------------------: | ---- |
207|           开蓝牙            |   enableBluetooth    |                              ()                              |          void          |      |
208|           关蓝牙            |   disableBluetooth   |                              ()                              |          void          |      |
209|        设置扫描模式         | setBluetoothScanMode |              (mode: ScanMode, duration: number)              |          void          |      |
210|          获取状态           |       getState       |                              ()                              |     BluetoothState     |      |
211|        获取扫描模式         | getBluetoothScanMode |                              ()                              |        ScanMode        |      |
212|      获取当前连接状态       | getBtConnectionState |                              ()                              | ProfileConnectionState |      |
213|  SPP服务器创建(安全模式)  |      sppListen       | (name: string, option: SppOption, callback: AsyncCallback<number>) |          void          |      |
214| SPP服务器创建(非安全模式) |      sppListen       | (name: string, option: SppOption, callback: AsyncCallback<number>) |          void          |      |
215|        注册pin码变化        |    on.pinRequired    | (type: "pinRequired", callback: Callback<PinRequiredParam>)  |          void          |      |
216|        SPP服务器写入        |       sppWrite       |          (clientSocket: number, data: ArrayBuffer)           |          void          |      |
217|        SPP服务器接受        |      sppAccept       |   (serverSocket: number, callback: AsyncCallback<number>)    |          void          |      |
218|      SPP服务器读取打开      |      on.sppRead      | (type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>) |          void          |      |
219|      SPP服务器读取关闭      |     off.sppRead      | (type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>): void |          void          |      |
220|        SPP服务器关闭        | sppCloseServerSocket |                      (socket: number):                       |          void          |      |
221|        SPP客户端关闭        | sppCloseClientSocket |                      (socket: number):                       |          void          |      |
222
223#### SPPServer测试功能
224
2251. 开/关蓝牙
226
227   - 同"Br功能界面使用说明文档"中的"开/关蓝牙"功能。
228
229
230
2312. 设置SPP扫描模式
232
233   - 同"Br功能界面使用说明文档"中的"设置扫描模式"功能。
234
235
236
2373. 获取状态
238
239   - 同"Br功能界面使用说明文档"中的"获取状态"功能。
240
241
242
2434. 获取扫描模式
244
245   - 同"Br功能界面使用说明文档"中的"获取扫描模式"功能。
246
247
248
2495. 获取当前连接状态
250
251   - 同"Br功能界面使用说明文档"中的"获取当前连接状态"功能。
252
253
254
2556. SPP服务器创建(安全)
256
257   - 使用指导:
258
259     > 创建蓝牙服务器侦听套接字。
260     >
261     > name表示服务名称。option表示侦听参数SppOption。
262     >
263     > callback回调用于返回服务器套接字ID。
264
265   - 限制条件:
266
267     - 需要在相关类型事件发生改变前,开启监听。
268
269     - @throws { BusinessError } 201 - Permission denied.
270
271     - @throws { BusinessError } 401 - Invalid parameter.
272     - @throws { BusinessError } 801 - Capability not supported.
273     - @throws { BusinessError } 2900001 - Service stopped.
274     - @throws { BusinessError } 2900003 - Bluetooth switch is off.
275     - @throws { BusinessError } 2900004 - Profile is not supported.
276     - @throws { BusinessError } 2900099 - Operation failed.
277
278   - 验证方法:在事件变化后,查看是否有弹窗信息显示。
279
280
281
2827. SPP服务器创建(非安全)
283
284   - 与"SPP服务器创建(安全)"的区别是 "secure: false"
285
286
287
2888. 注册pin码变化
289
290   - 同"Br功能界面使用说明文档"中的"注册pin码变化"功能。
291
292
293
2949. SPP服务器写入
295
296   - 同"SPPClient"中的"SPP服务器写入"功能。
297
298
299
30010. SPP服务器接受
301
302    - 使用指导:
303
304      > 等待远程设备连接。serverSocket表示服务器套接字ID,由sppListen返回。
305      >
306      > callback回调用于返回客户端套接字ID。
307
308    - 限制条件:
309
310      - 发送了clientSocketID。
311      - @throws { BusinessError } 401 - Invalid parameter.
312      * @throws { BusinessError } 801 - Capability not supported.
313      * @throws { BusinessError } 2900001 - Service stopped.
314      * @throws { BusinessError } 2900003 - Bluetooth switch is off.
315      * @throws { BusinessError } 2900004 - Profile is not supported.
316      * @throws { BusinessError } 2900099 - Operation failed.
317
318    - 验证方法:查看显示信息。
319
320
321
32211. SPP服务器读取打开
323
324    - 同"SPPClient"中的"SPP服务器读取关闭"功能。
325
326
327
32812. SPP服务器读取关闭
329
330    - 同"SPPClient"中的"SPP服务器读取关闭"功能。
331
332
333
33413. SPP服务器关闭
335
336    - 使用指导:
337
338      > 禁用spp服务器套接字并释放相关资源。
339      >
340      > 套接字指示服务器套接字ID,由sppListen返回。
341
342    - 限制条件:
343
344      - SPP服务器打开。
345      - @throws { BusinessError } 401 - Invalid parameter.
346      - @throws { BusinessError } 801 - Capability not supported.
347      - @throws { BusinessError } 2900001 - Service stopped.
348      - @throws { BusinessError } 2900099 - Operation failed.
349
350    - 验证方法:服务端无法被搜索到。
351
352
353
35414. SPP客户端关闭
355
356    - 同"SPPClient"中的"SPP客户端关闭"功能。