HarmonyOS 设备管理开发:USB 服务开发指导

基本概念
USB 服务是应用访问底层的一种设备抽象概念。开发者根据提供的 USB API,可以获取设备列表、控制设备访问权限、以及与连接的设备进行数据传输、控制命令传输等。
运作机制
USB 服务系统包含 USB API、USB Service、USB HAL。
图 1 USB 服务运作机制

● USB API:提供 USB 的基础 API,主要包含查询 USB 设备列表、批量数据传输、控制命令传输、权限控制等。
● USB Service:主要实现 HAL 层数据的接收、解析、分发以及对设备的管理等。
● USB HAL 层:提供给用户态可直接调用的驱动能力接口。
场景介绍
Host 模式下,可以获取到已经连接的 USB 设备列表,并根据需要打开和关闭设备、控制设备权限、进行数据传输等。
接口说明
USB 服务主要提供的功能有:查询 USB 设备列表、批量数据传输、控制命令传输、权限控制等。
USB 类开放能力如下,具体请查阅API参考文档。
表 1 USB 类的开放能力接口




开发步骤
USB 设备可作为 Host 设备连接 Device 设备进行数据传输。开发示例如下:
1. 获取设备列表。
复制代码
2. 获取设备操作权限。
复制代码
3. 打开 Device 设备。
复制代码
let pipe : USBDevicePipe = usb.connectDevice(deviceList[0]);
4. 数据传输。
复制代码
let inEndpoint : USBEndpoint = interface1.endpoints[2];
5. 释放接口,关闭设备。
复制代码
评论