当前位置: 首页 > news >正文

OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明

softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具,文件结构如下图所示。

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

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 程序

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

3.WiFi 组网

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

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

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

5.File 传输指定 p2p 链路

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

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

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

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

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

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

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

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

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

相关文章:

OpenHarmony分布式软总线API调用测试工具 softbus_tool使用说明

softbus_tool 是 OpenHarmony 分布式软总线 API 调用测试工具,文件结构如下图所示。 softbus_tool 能够将软总线 interfaces 目录下的一些常用接口集中起来,供设备间搭建一些场景时使用(比如设备绑定、BR 组网,BLE 组网&#xff…...

Go第三方框架--ants协程池框架

1. 背景介绍 1.1 goroutine ants是站在巨人的肩膀上开发出来的,这个巨人是goroutine,这是连小学生都知道的事儿,那么为什么不继续使用goroutine(以下简称go协程)呢。这是个思考题,希望讲完本文大家可以有个答案。 go协程只涉及用…...

【原创】springboot+vue个人财务记账管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…...

MySQL基础练习题:习题2-3

这部分主要是为了帮助大家回忆回忆MySQL的基本语法,数据库来自于MySQL的官方简化版,题目也是网上非常流行的35题。这些基础习题基本可以涵盖面试中需要现场写SQL的问题。上期帮助大家建立数据库,导入数据,接下来让我们继续练习。 …...

超图SuperMap-Cesium,地形图层,可以渲染一个或多个地形(地形可缓存DEM,TIN方式),webGL代码开发(2024-04-08)

1、缓存文件类型TIN格式,TIN的地形sct只能加一个 const viewer new Cesium.Viewer(cesiumContainer); viewer.terrainProvider new Cesium.CesiumTerrainProvider({isSct: true, // 是否为iServer发布的TIN地形服务,stk地形设置为falserequestWaterMask : true,…...

PCB学习记录---原理图

一、注释 NC:no connect,默认不连接 NF: no fix,默认不安装 0R: 0R的电阻,即可以短路 二、看图流程 1、看标题,了解功能 2、浏览有几个模块 3、找芯片对应的数据手册,了解芯片功能和使用 例如CH224&#xff…...

结构型模式--3.组合模式【草帽大船团】

1. 好大一棵树 路飞在德雷斯罗萨打败多弗朗明哥之后,一些被路飞解救的海贼团自愿加入路飞麾下,自此组成了草帽大船团,旗下有7为船长,分别是: 俊美海贼团75人 巴托俱乐部56人 八宝水军1000人 艾迪欧海贼团4人 咚塔塔海…...

网络基础三——其他周边问题

3.1ARP原理 ​ ARP不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议; ​ 以广播的形式(主机号填成全1)构建Mac帧,发送ARP请求包,告诉所有在局域网的主机我的IP地址和Mac帧,与目的IP相同的主…...

学习周报:文献阅读+Fluent案例+水力学理论学习

目录 摘要 Abstract 文献阅读:物理信息的神经网络与湍流传质的非封闭机制模型相结合 文献摘要 提出问题 提出方案 实验设置 所需方程介绍 雷诺时均方程(RANS) K-epsilon两方程模型 神经网络框架 DNN部分 损失函数定义 PINN部分…...

Redis(持久化 -- RDB AOF)

持久化 通常我们认为持久化为: 重启进程/重启主机之后, 数据仍然存在不丢失 把数据存储在硬盘上 – 持久 把数据存储在内存中 – 不持久 Redis 持久化 redis 是一个内存数据库, 也就是说本身是不持久的(但是快[效率高]), 于是 Redis 提供了持久化机制 — RDB 和 AOF 二者都是对…...

LDR6328助力Type-C普及,便捷充电,绿色生活更精彩

随着科技的进步和全球统一接口的需求,Type-C接口正日益受到青睐。越来越多的设备正选择采纳这一先进的接口设计,它的普及无疑在改善着我们的日常生活。 在过往,许多小功率设备如小风扇、蓝牙音箱、桌面台灯以及家用加湿器等,都普遍…...

redis主从复制、哨兵模式、集群

文章目录 redis主从复制主从复制的配置**安装Redis**配置主服务器配置从服务器验证主从效果 哨兵模式哨兵的工作机制哨兵模式的搭建启动哨兵 集群分布式集群的搭建 redis主从复制 Redis主从复制(Redis replication)是Redis提供的一种数据备份和故障转移…...

shell免登陆脚本

#!/bin/bash ## 脚本接收的参数,也就是要互相配置 SSH 免密登录的服务器列表参数 BASE_HOST_LISTip ## 密码,默认用户是当前运行脚本的用户,比如 root 用户 ## 这里改成你的用户对应的密码 BASE_PASSWORD"password" ## shell 函…...

基于springboot+vue+Mysql的职称评审管理系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

GitLab教程(一):安装Git、配置SSH公钥

文章目录 序一、Git安装与基本配置(Windows)下载卸载安装基本配置 二、SSH密钥配置 序 为什么要使用代码版本管理工具: 最近笔者确实因为未使用代码版本管理工具遇到了一些愚蠢的问题,笔者因此认为代码版本管理工具对于提高团队…...

【算法】无序数组的两数之和 - map标记

题目 在一个无序数组中找到两个数,两个数之和为给定的一个数,返回两个数在数组中的下标。 原理 遍历数组,遍历到一个数字的时候,记录下这个数及其下标,遍历时判断给定数减去这个数为key在map中是否存在,…...

Prime (2021): 2

前言 这个靶机有亿点难,收获很多。打靶的时候,前面很顺,到创建ssh公钥之后就一点不会了。 1 01 arp扫描,发现有一个130,再查看端口 有22,80,129,445,10123 dirb扫描目录 这…...

React 状态管理:安全高效地修改对象属性的 3 种方法

在 React 应用程序中,状态(state)是驱动整个应用程序的核心。当应用程序的状态发生变化时,React 会自动重新渲染相应的组件,以确保用户界面的更新。 与数组状态一样,对象状态在 React 中也需要特别处理。直接修改对象属性是不被允许的,因为 React 的不可变性原则要求我们创建一…...

python实现pdf的页面替换

利用第三方库PyPDF2,下面例子中进行的是将 origin.pdf 的第17页替换为 s17.pdf 的第1页: import PyPDF2def replace_pages(original_pdf_path, replacement_pages):with open(original_pdf_path, rb) as original_file:original_pdf PyPDF2.PdfReader(…...

[AIGC] Java List和Map常用API以及其Python实现方式对照介绍

Java和Python作为当今非常浅显易懂的编程语言,其数据结构中对于List和Map(Java)或List和Dict(Python)的操作无疑是每个程序员都非常必需的知识。本文将介绍在Java中对List和Map常用的一些操作,并给出在Pyth…...

NAT 类型详解:四种 NAT 的数据流与原理解析

NAT 类型详解:四种 NAT 的数据流与原理解析摘要:NAT(Network Address Translation)是 P2P 通信中绕不开的关卡。不同的 NAT 类型决定了内网设备能否被外部直接访问,直接影响 WebRTC 等 P2P 技术的穿透成功率。本文通过…...

归档日志较多导致磁盘使用率100%,数据库停止服务

文章目录环境症状问题原因解决方案环境 系统平台:银河麒麟 (鲲鹏) 版本:9.0 症状 数据库服务停止,对外停止响应。 问题原因 服务器磁盘使用率100%,数据库服务因此停止。 解决方案 1、检查服务器磁盘…...

Python语法进阶篇 --- 单例模式、魔法方法

Python语法进阶篇 --- 单例模式、魔法方法前置补充内容单例模式魔法方法🐹🐹🐹🐹🐹一只正在努力学习计算机技术的小仓鼠🐹🐹🐹🐹🐹 前置补充内容 一个对象的实…...

职得Offer校园求职助手Pro深度评测:一个AI Agent陪你跑完求职全流程

一、 职得Offer是什么?—— 不止是工具,更是全程陪伴的AI求职伙伴 在AI应用爆发的今天,面对市面上众多的简历模板、面经题库和招聘平台,求职者尤其是学生群体,依然会陷入“信息过载却无从下手”的困境。“职得Offer校…...

基于Hive的淘宝用户购物行为数据分析及可视化

第1章 绪论1.1 课题背景互联网技术迅猛发展,电子商务平台聚集了庞大的用户数据,其中包含着大量的用户行为信息以及消费习惯。淘宝是中国最大的电子商务平台之一,其用户购物行为数据具有很高的研究价值。在大数据的背景下,怎样对数…...

树莓派Pico舵机控制库picoclaw:从PWM原理到多舵机机器人应用

1. 项目概述:一个为树莓派Pico量身打造的舵机控制库如果你玩过树莓派Pico,并且尝试过用它来控制舵机,那你大概率会遇到一个头疼的问题:Pico的MicroPython固件本身并没有内置专门的舵机控制库。这意味着你需要自己动手,…...

国省考备考常见 10 大误区 上岸考生总结

作为上岸过来人,我太懂 “努力却没结果” 的无力。其实公考失败,大多不是不够努力,而是踩了本可以避开的坑。这 10 条避坑指南,覆盖备考方向、复习方法、心态调整,全是实战总结的干货,帮备考的你少走弯路。…...

JAVA练习:单一职责原则重构

问题背景原始Login类同时承担界面展示、登录校验、数据库连接、用户查询、程序入口多重职责,功能高度耦合,违反单一职责原则(一个类只负责一类功能),修改某部分功能易影响其他模块。重构思路按职责拆分,分为…...

当AI的键值记忆遇上大脑:原来我们和AI共享同一套记忆逻辑

导语在日常经验中,我们常把“遗忘”理解为信息的流失:时间久了,记忆就会慢慢消失;学习新知识,也可能覆盖旧内容。然而,从短视频推荐到大语言模型,再到人类被线索唤醒的记忆体验,这些…...

Simulink仿真PMSM时,那个神秘的‘4’和‘30/π’到底怎么来的?手把手带你算清楚

Simulink仿真PMSM时关键参数转换原理与实战解析 在永磁同步电机(PMSM)的Simulink仿真过程中,工程师们常常会遇到几个看似"神秘"的增益系数——特别是30/π和4这两个数值。这些参数并非随意设置,而是深植于电机物理本质与单位系统转换的数学表达…...