OpenHarmony开发者论坛

标题: OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明 [打印本页]

作者: 陈美汝    时间: 2024-3-28 15:46
标题: OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明
[md]**softbus\_tool是OpenHarmony分布式软总线API调用测试工具**,文件结构如下图所示。

softbus\_tool能够将软总线interfaces目录下的一些常用接口集中起来,供设备间搭建一些场景时使用(比如设备绑定、BR组网,BLE组网, 指定P2P链路传输等)。

![image.png](https://forums-obs.openharmony.c ... l7culdracmaz8zv.png "image.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程序

出现如下图,即为执行成功。

![image.png](https://forums-obs.openharmony.c ... dsn5f4pynss4f7s.png "image.png")

##### 3.WiFi组网

确认A,B两端设备均已打开wifi开关,且已连接同一WiFi网络。

1. A端执行 0 - PublishService,发布服务。
2. B端执行 2 - StartDiscovery,订阅服务。
3. B端执行 4 - JoinLNN,组网。

![image.png](https://forums-obs.openharmony.c ... ssj6sxssv6wpsco.png "image.png")

![image.png](https://forums-obs.openharmony.c ... qlu6wawv7hhh1la.png "image.png")

![image.png](https://forums-obs.openharmony.c ... uq2930q820ou7po.png "image.png")

##### 4.WiFi退网

1. A端(或B端)执行 6 - GetLocalDeviceInfo,查看本端NetworkId值。
2. B端(或A端)执行 5 - LeaveLNN,退网。

![image.png](https://forums-obs.openharmony.c ... 1hpi1f2p1ib7377.png "image.png")

![image.png](https://forums-obs.openharmony.c ... 2tdt2kaz6at7a9b.png "image.png")

##### 5.File传输指定p2p链路

开始传输前,设备间需要WiFi组网成功。

1. A端执行14 - CreateSessionServer,创建会话服务。
2. B端执行14 - CreateSessionServer,创建会话服务。

![image.png](https://forums-obs.openharmony.c ... p18tmtsyqbbmmzm.png "image.png")

3. A端(或B端)选择为文件发送端,执行18 - SetFileSendListener, 注册文件发送监听。
4. B端(或A端)选择为文件接收端,执行19 - SetFileRecvListener, 注册文件接收监听。

![image.png](https://forums-obs.openharmony.c ... wmwwsgwwebilelk.png "image.png")

![image.png](https://forums-obs.openharmony.c ... pvuvv7prkmv877t.png "image.png")

5. B端(或A端)执行 6 - GetLocalDeviceInfo,查看本端NetworkId值。

![image.png](https://forums-obs.openharmony.c ... rjcr3n3zt5j53tz.png "image.png")

6. A端(或B端)执行16 - OpenSession,打开会话。

![image.png](https://forums-obs.openharmony.c ... oxsc6xomtomcqct.png "image.png")

7. A端(或B端)执行23 - SendFile,发送文件。

![image.png](https://forums-obs.openharmony.c ... rehyvynmumwyji2.png "image.png")

![image.png](https://forums-obs.openharmony.c ... 8msm7wvmtgzsg2m.png "image.png")

![image.png](https://forums-obs.openharmony.c ... or858ky3w38oko6.png "image.png")

![image.png](https://forums-obs.openharmony.c ... j25bel213542h9a.png "image.png")

8. A端(或B端)执行17 - CloseSession,关闭会话。

![image.png](https://forums-obs.openharmony.c ... i2bxcboqz4slbfs.png "image.png")

9. A端执行15 - RemoveSessionServer,删除会话服务。
10. B端执行15 - RemoveSessionServer,删除会话服务。

![image.png](https://forums-obs.openharmony.c ... usn87aelmmhs81g.png "image.png")
[/md]
作者: juddvinet    时间: 2024-4-1 11:00
你好,文章中提到“修改后为:deps = [ ":SoftBusDumpDeviceInfo", "softbus”能提供完成的修改字段或者文件吗?现在遇到编译失败的问题、
作者: shixiaocheng    时间: 2024-4-1 14:19
回复 juddvinet: deps = [ ":SoftBusDumpDeviceInfo", "softbus_tool:softbus_tool"]
作者: juddvinet    时间: 2024-4-1 15:53
回复 shixiaocheng: !!请指正一下我的操作错误,感谢

我的BUILD.gn已经修改
group("tool") {
  deps = [ ":SoftBusDumpDeviceInfo", "softbus_tool:softbus_tool"]
}

编译命令是:(在SDK根目录)
sudo ./build.sh --product-name rk3568 --ccache --build-target softbus_tool

提示的错误是
[OHOS INFO] ERROR at //foundation/communication/dsoftbus/tools/BUILD.gn:31:38: Unable to load "/home/ubuntu/openharmony/4.0/SDK/foundation/communication/dsoftbus/tools/softbus_tool/BUILD.gn".
[OHOS INFO]   deps = [ ":SoftBusDumpDeviceInfo", "softbus_tool:softbus_tool"]
[OHOS INFO]                                      ^--------------------------
[OHOS INFO] e2fsprogs installed successfully


作者: shixiaocheng    时间: 2024-4-1 17:22
回复 juddvinet: 全量编译试试
作者: juddvinet    时间: 2024-4-2 09:37
回复 shixiaocheng: 您好,感谢您的回复。
我通过清理编译文件后,重新全量编译也是会提示之前的错误。(错误内容与上段粘贴一致)
从错误内容里面分析 ,我的SDK 的 foundation/communication/dsoftbus/tools/ 目录下面没有softbus_tool 这个文件夹。只有一个device_info的文件夹。
作者: shixiaocheng    时间: 2024-4-2 11:11
回复 juddvinet: 将 softbus_tool 目录代码下载到本地,拷贝到 OpenHarmony 源码 \foundation\communication\dsoftbus\tools路径 下
不会是没有下载代码吧,这个代码要自己去gitee上下载的
作者: 陈美汝    时间: 2024-4-2 11:17
回复 juddvinet: 不好意思写文章时编辑错误误删了 导致不完成 已修改
作者: juddvinet    时间: 2024-4-2 15:15
回复 shixiaocheng: 可以分享一下代码吗?子啊 https://gitee.com/openharmony/communication_dsoftbus.git 这个仓库里面没有找到softbus_tool。
作者: shixiaocheng    时间: 2024-4-3 09:46
回复 juddvinet: https://gitee.com/shixiaocheng12138/dsoftbus_tool
作者: Hazel    时间: 2024-6-6 10:31
bind_tool是32位的,请问有64位的吗,或者源码
作者: liuxinli    时间: 2024-7-9 11:09
回复 Hazel: 请问一下,你找到bind_tool的源码了吗?
作者: sudo_huxin    时间: 2024-8-14 11:31
请问,无屏幕情况下如何进行设备绑定
作者: liuxinli    时间: 2024-8-22 10:36
无屏模式的认证撸代码搞定




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5