OpenHarmony分布式软总线API调用测试工具 softb
softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具,文件结构如下图所示。
softbus_tool 能够将软总线 interfaces 目录下的一些常用接口集中起来,供设备间搭建一些场景时使用(比如设备绑定、BR 组网,BLE 组网, 指定 P2P 链路传输等)。
![](https://img.haomeiwen.com/i23087443/9383cfd44d0218b2.png)
softbus_tool 一般的使用流程为:
1.使用编译命令生成可执行文件;
2.将生成的可执行文件推送到设备;
3.在 hdc shell 界面执行,会显示 Softbus Tool Command List 命令列表,选择接口前面的序号即可执行相应的接口,有些接口在执行时,需要用户输入参数来实现不同的场景, 这些在下文演示部分做了示例。
下面我们来看一下具体的使用流程。
编译说明
1.将 softbus_tool 目录代码下载到本地,拷贝到 OpenHarmony 源码 \foundation\communication\dsoftbus\tools路径
下
2.L2 修改步骤:
在 \foundation
下添加:
修改前为:deps = [ ":SoftBusDumpDeviceInfo" ]
修改后为:deps = [ ":SoftBusDumpDeviceInfo", "softbus_tool:softbus_tool" ]
3.单编 softbus_tool 编译命令:
RK3568:/build.sh --product-name rk3568 --ccache --build-target softbus
4.编译结果输出路径为:
/out/rk3568/communication/dsoftbus/
使用流程
1.绑定
设备间在组网前,需要绑定,绑定成功才可以进行后续组网,传输功能。
1.启动 A,B 两端设备,打开设置->WLAN,连接同一 WiFi;
2.A 端打开计算器,点击右上角“向上 →”图标,B 端设备上会弹出 6 位数字的验证图片;
3.在 A 端输入 6 位验证码;
4.绑定成功;
2.执行 softbus_tool 程序
出现如下图,即为执行成功。
![](https://img.haomeiwen.com/i23087443/4600518925f3ba93.png)
3.WiFi 组网
确认 A,B 两端设备均已打开 wifi 开关,且已连接同一 WiFi 网络。
- A 端执行 0 - PublishService,发布服务。
- B 端执行 2 - StartDiscovery,订阅服务。
- B 端执行 4 - JoinLNN,组网。
![](https://img.haomeiwen.com/i23087443/6707952be847522a.png)
![](https://img.haomeiwen.com/i23087443/af0e858d3ad3acf1.png)
![](https://img.haomeiwen.com/i23087443/843019159de1ac77.png)
4.WiFi 退网
- A 端(或 B 端)执行 6 - GetLocalDeviceInfo,查看本端 NetworkId 值。
- B 端(或 A 端)执行 5 - LeaveLNN,退网。
![](https://img.haomeiwen.com/i23087443/21487e5dc3e0517c.png)
![](https://img.haomeiwen.com/i23087443/21ee1e0a6d0f4ae6.png)
5.File 传输指定 p2p 链路
开始传输前,设备间需要 WiFi 组网成功。
- A 端执行 14 - CreateSessionServer,创建会话服务。
- B 端执行 14 - CreateSessionServer,创建会话服务。
![](https://img.haomeiwen.com/i23087443/452a5fdaaf9d22e5.png)
- A 端(或 B 端)选择为文件发送端,执行 18 - SetFileSendListener, 注册文件发送监听。
- B 端(或 A 端)选择为文件接收端,执行 19 - SetFileRecvListener, 注册文件接收监听。
![](https://img.haomeiwen.com/i23087443/6b3310ca12f69a71.png)
![](https://img.haomeiwen.com/i23087443/17f8a18771542b5c.png)
- B 端(或 A 端)执行 6 - GetLocalDeviceInfo,查看本端 NetworkId 值。
![](https://img.haomeiwen.com/i23087443/dfee7cb3ae38ada4.png)
- A 端(或 B 端)执行 16 - OpenSession,打开会话。
![](https://img.haomeiwen.com/i23087443/875b79c3f035cf7b.png)
- A 端(或 B 端)执行 23 - SendFile,发送文件。
![](https://img.haomeiwen.com/i23087443/e35c8fcb8aa30288.png)
![](https://img.haomeiwen.com/i23087443/65ca1130ab79bda1.png)
![](https://img.haomeiwen.com/i23087443/502763fd13ad6559.png)
![](https://img.haomeiwen.com/i23087443/d9afe9ef73a1f6a0.png)
- A 端(或 B 端)执行 17 - CloseSession,关闭会话。
![](https://img.haomeiwen.com/i23087443/8a7ab5f8d6b3a309.png)
- A 端执行 15 - RemoveSessionServer,删除会话服务。
- B 端执行 15 - RemoveSessionServer,删除会话服务。
![](https://img.haomeiwen.com/i23087443/29ccdeef3555348b.png)
写在最后
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
- 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
- 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
- 想要获取更多完整鸿蒙最新学习知识点,请移步前往小编:
https://gitee.com/MNxiaona/733GH/blob/master/jianshu
![](https://img.haomeiwen.com/i23087443/9f5a28c449f5d7d1.png)