From 7c4a7ea6547991d3583f57cdbf546dd3edc2df7b Mon Sep 17 00:00:00 2001 From: BrainL Date: Sat, 21 Jun 2025 12:56:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E6=A2=B0=E4=BD=93=E8=AE=BE=E5=A4=87ap?= =?UTF-8?q?i=E8=B5=84=E6=96=99=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: BrainL --- .../js-apis-mechanicManager.md | 741 ++++++++++++++++++ 1 file changed, 741 insertions(+) create mode 100644 zh-cn/application-dev/reference/apis-distributedservice-kit/js-apis-mechanicManager.md diff --git a/zh-cn/application-dev/reference/apis-distributedservice-kit/js-apis-mechanicManager.md b/zh-cn/application-dev/reference/apis-distributedservice-kit/js-apis-mechanicManager.md new file mode 100644 index 00000000000..8eee1b67074 --- /dev/null +++ b/zh-cn/application-dev/reference/apis-distributedservice-kit/js-apis-mechanicManager.md @@ -0,0 +1,741 @@ +# @ohos.distributedHardware.mechanicManager (机械体控制模块) + +本模块提供与机械设备交互的能力,包括设备连接管理、控制和监控功能。 + +> **说明** +> +> 本模块首批接口从API version 20开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## 导入模块 + +```ts +import { mechanicManager } from '@kit.MechanicKit' +``` + +## mechanicManager.on + +on(type: 'attachStateChange', callback: Callback): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'attachStateChange' | 是 | 注册监听事件的类型 | +| callback | Callback | 是 | 注册用于返回状态变化的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | + +**示例:** +```ts +``` + +## mechanicManager.off + +off(type: 'attachStateChange', callback?: Callback): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'attachStateChange' | 是 | 取消注册监听事件的类型 | +| callback | Callback | 否 | 取消注册用于返回状态变化的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | + +**示例:** +```ts +``` + +## mechanicManager.getAttachedMechDevices + +getAttachedMechDevices(): MechInfo[] + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| MechInfo[] | 已连接机械体设备的列表 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | + +**示例:** +```ts +``` + +## mechanicManager.setUserOperation + +setUserOperation(operation: Operation, mac: string, params: string): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| operation | Operation | 是 | 操作类型 | +| mac | string | 是 | MAC地址 | +| params | string | 是 | 操作参数 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | + +**示例:** +```ts +``` + +## mechanicManager.setCameraTrackingEnabled + +setCameraTrackingEnabled(isEnabled: boolean): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| isEnabled | boolean | 是 | 是否启用摄像头跟踪 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | +| 33300003 | 设备不支持 | + +**示例:** +```ts +``` + +## mechanicManager.getCameraTrackingEnabled + +getCameraTrackingEnabled(): boolean + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| boolean | 摄像头跟踪启用状态 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +**示例:** +```ts +``` + +## mechanicManager.on + +on(type: 'trackingEvent', callback: Callback): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'trackingEvent' | 是 | 注册跟踪事件类型 | +| callback | Callback | 是 | 用于返回跟踪事件信息的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | + +```ts +``` + +## mechanicManager.off + +off(type: 'trackingEvent', callback?: Callback): void; + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'trackingEvent' | 是 | 取消注册跟踪事件类型 | +| callback | Callback | 否 | 取消注册用于返回跟踪事件信息的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | + +```ts +``` + +## mechanicManager.setCameraTrackingLayout + +setCameraTrackingLayout(trackingLayout: CameraTrackingLayout): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| trackingLayout | CameraTrackingLayout | 是 | 摄像头跟踪布局 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | +| 33300003 | 设备不支持 | + +```ts +``` + +## mechanicManager.getCameraTrackingLayout + +getCameraTrackingLayout(): CameraTrackingLayout + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| CameraTrackingLayout | 获取到的摄像头跟踪布局 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.rotate + +rotate(mechId: int, angles: RotationAngles, duration: int): Promise + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | +| angles | RotationAngles | 是 | 相对角度 | +| duration | int | 是 | 旋转持续时间,单位:毫秒 | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| Promise | 返回执行结果的 Promise | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.rotateToEulerAngles + +rotateToEulerAngles(mechId: int, angles: EulerAngles, duration: int): Promise + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | +| angles | EulerAngles | 是 | 绝对角度 | +| duration | int | 是 | 旋转持续时间,单位:毫秒 | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| Promise | 返回执行结果的 Promise | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.getMaxRotationTime + +getMaxRotationTime(mechId: int): int + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| int | 最大旋转持续时间,单位:毫秒 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.getMaxRotationSpeed + +getMaxRotationSpeed(mechId: int): RotationSpeed + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| RotationSpeed | 最大速度,仅返回速度的绝对值 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.rotateBySpeed + +rotateBySpeed(mechId: int, speed: RotationSpeed, duration: int): Promise + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | +| speed | RotationSpeed | 是 | 旋转速度 | +| duration | int | 是 | 旋转持续时间,单位:毫秒 | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| Promise | 返回执行结果的 Promise | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.stopMoving + +stopMoving(mechId: int): Promise + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| Promise | 返回无值的 Promise | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.getCurrentAngles + +getCurrentAngles(mechId: int): EulerAngles + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| EulerAngles | 旋转角度 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.getRotationLimits + +getRotationLimits(mechId: int): RotationLimits + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| RotationLimits | 最大旋转角度 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.getRotationAxesStatus + +getRotationAxesStatus(mechId: int): RotationAxesStatus + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| mechId | int | 是 | 机械体设备ID | + +**返回值** +| 类型 | 说明 | +| ------------------------------------------- | --------- | +| RotationAxesStatus | 旋转轴状态 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | +| 33300002 | 设备未连接 | + +```ts +``` + +## mechanicManager.on + +on(type: 'rotationAxesStatusChange', callback: Callback): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'rotationAxesStatusChange' | 是 | 注册事件类型 | +| callback | Callback | 是 | 注册旋转轴状态变化的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | + +```ts +``` + +## mechanicManager.off + +off(type: 'rotationAxesStatusChange', callback?: Callback): void + +### 属性 + +**系统能力:** SystemCapability.Mechanic.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ---------------------------------------------------- | ---- | ----------------------------------------------------------- | +| type | 'rotationAxesStatusChange' | 是 | 取消注册事件类型 | +| callback | Callback | 否 | 取消注册旋转轴状态变化的回调 | + +**错误码:** +| 错误码ID | 错误信息 | +| -------- | --------------------------------------------------------------- | +| 202 | 非系统应用 | +| 33300001 | 服务异常 | + +```ts +``` + +## MechInfo + +机械体设备信息。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| mechId | int | 是 | 机械体设备ID | +| mechDeviceType | MechDeviceType | 是 | 机械设备的类型 | +| mechName | string | 是 | 机械体设备名称 | + +## RotationAngles + +相对当前位置的旋转角度。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| yaw | double | 否 | 偏航角,范围从 -2π 到 2π,以弧度为单位测量 | +| roll | double | 否 | 横滚角,范围从 -2π 到 2π,以弧度为单位测量 | +| pitch | double | 否 | 俯仰角,范围从 -2π 到 2π,以弧度为单位测量 | + +## EulerAngles + +相对于初始位置的绝对欧拉角。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| yaw | double | 否 | 偏航角,范围从 -2π 到 2π,以弧度为单位测量 | +| roll | double | 否 | 横滚角,范围从 -2π 到 2π,以弧度为单位测量 | +| pitch | double | 否 | 俯仰角,范围从 -2π 到 2π,以弧度为单位测量 | + +## RotationSpeed + +旋转速度。负值表示顺时针旋转,正值表示逆时针旋转。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| yawSpeed | double | 否 | 偏航速度,以弧度每秒为单位测量 | +| rollSpeed | double | 否 | 横滚速度,以弧度每秒为单位测量 | +| pitchSpeed | double | 否 | 俯仰速度,以弧度每秒为单位测量 | + +## RotationLimits + +相对于参考点的旋转角度限制。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| negativeYawMax | double | 否 | 最大偏航旋转角度(负方向),范围从 -2Math.PI 到 0,以弧度为单位测量。如果值小于或等于 -2Math.PI,则没有限制 | +| positiveYawMax | double | 否 | 最大偏航旋转角度(正方向),范围从 0 到 2Math.PI,以弧度为单位测量。如果值大于或等于 2Math.PI,则没有限制 | +| negativeRollMax | double | 否 | 最大横滚旋转角度(负方向),范围从 -2Math.PI 到 0,以弧度为单位测量。如果值小于或等于 -2Math.PI,则没有限制 | +| positiveRollMax | double | 否 | 最大横滚旋转角度(正方向),范围从 0 到 2Math.PI,以弧度为单位测量。如果值大于或等于 2Math.PI,则没有限制 | +| negativePitchMax | double | 否 | 最大俯仰旋转角度(负方向),范围从 -2Math.PI 到 0,以弧度为单位测量。如果值小于或等于 -2Math.PI,则没有限制 | +| positivePitchMax | double | 否 | 最大俯仰旋转角度(正方向),范围从 0 到 2Math.PI,以弧度为单位测量。如果值大于或等于 2Math.PI,则没有限制 | + +## RotationAxesStatus + +旋转轴状状态。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| yawEnabled | boolean | 是 | 是否启用了偏航轴 | +| rollEnabled | boolean | 是 | 是否启用了横滚轴 | +| pitchEnabled | boolean | 是 | 是否启用了俯仰轴 | +| yawLimited | RotationAxisLimited | 是 | 是否限制了偏航轴 | +| rollLimited | RotationAxisLimited | 是 | 是否限制了横滚轴 | +| pitchLimited | RotationAxisLimited | 是 | 是否限制了俯仰轴 | + +## RotationAxisLimited + +旋转轴限制状态。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| NOT_LIMITED | 0 | 无限制 | +| NEGATIVE_LIMITED | 1 | 负方向受限 | +| POSITIVE_LIMITED | 2 | 正方向受限 | + +## RotationAxesStateChangeInfo + +旋转轴状态变化信息。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| mechId | int | 是 | 机械体设备ID | +| status | RotationAxesStatus| 是 | 旋转轴状态 | + +## TrackingEventInfo + +跟踪事件回调信息。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| event | TrackingEvent | 是 | 跟踪事件 | + +## AttachStateChangeInfo + +设备连接状态变化的回调信息。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 类型 | 必填 | 说明 | +| ---------------------- | ------------------------- | ---- | -------- | +| state | AttachState | 是 | 设备连接状态 | +| mechInfo | MechInfo | 是 | 机械体设备信息 | + +## Operation + +用户操作。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| CONNECT | 0 | 连接 | +| DISCONNECT | 1 | 取消连接 | + +## TrackingEvent + +跟踪事件。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| CAMERA_TRACKING_USER_DISABLED | 0 | 用户禁用了摄像头跟踪 | +| CAMERA_TRACKING_USER_ENABLED | 1 | 用户启用了摄像头跟踪 | +| CAMERA_TRACKING_LAYOUT_CHANGED | 2 | 摄像头布局更改 | + +## Result + +旋转执行结果。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| COMPLETED | 0 | 操作成功完成 | +| INTERRUPTED | 1 | 操作被中断 | +| LIMITED | 2 | 操作受设备限制 | +| TIMEOUT | 3 | 操作超时 | +| SYSTEM_ERROR | 100 | 系统错误导致失败 | + +## MechDeviceType + +机械体设备类型。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| GIMBAL_DEVICE | 0 | 便携式云台设备 | + +## AttachState + +设备连接状态。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| ATTACHED | 0 | 设备已连接 | +| DETACHED | 1 | 设备已断开 | + +## CameraTrackingLayout + +摄像头跟踪布局。 + +**系统能力:** SystemCapability.Mechanic.Core + +| 名称 | 值 | 说明 | +| ----------- | ---- | --------------- | +| DEFAULT | 0 | 系统默认跟踪布局 | +| LEFT | 1 | 左侧跟踪布局 | +| MIDDLE | 2 | 居中跟踪布局 | +| RIGHT | 3 | 右侧跟踪布局 | \ No newline at end of file -- Gitee