@ capgo/ 电容- uwb
测量附近设备之间的距离和方向,在你的Capacitor app中标出Ultra-Wideband,用于精确的发现,解锁和相近体验.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-uwb在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-uwb到我的Capacitor应用上,并把它接上 代理设置指南 • 妇女 主机磁共振
主要特点
- 可用性数字 :
isAvailable()检查设备上的 UWB 支持 . - iOS 对等会议数字 :
getDiscoveryToken()财务报告和审定财务报表startPeerSession()与近接互动. - Android 会话数字 :
startControllerSession()财务报告和审定财务报表startControleeSession()与Jetpack UWB。 与Jetpack UWB. - 搜索事件数字 :
rangingUpdate报告距离和方向,sessionStateChanged跟踪会话. - 停下来数字 :
stopSession()结束范围. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 需要 UWB 硬件 。 在网上不可用.
为什么这个插件
此插件将本地的 UWB 范围 API 包裹在 iOS 和 Android 上, 因此 Capacitor app 可以 :
- 检查当前设备是否支持 UWB 范围 .
- 以苹果的"相近互动"框架运行iOS上的对等对等范围.
- 使用 Jetpack 在 Android 上运行控制器/控制器测距
androidx.core.uwb。 。 。 . - 通过插件听众接收距离、方向和会话生命周期更新.
在 iOS 上, 同行交换 NIDiscoveryToken 值出带,然后调用 startPeerSession()。 。 。 .
在Android上,控制器在控制器开始会话前共享范围参数出带.
平台支持
| 平台 | 支助 |
|---|---|
| iOS系统 | 相距和方向的近距离互动对等点 |
| 机器人 | QQJetpack UWB 控制器/控制器会话(Android 12+,UWB硬件) |
| 网页 | 不详 |
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| v八.。 。 。 . | v八.。 。 。 . | ✅ |
| v.。 。 。 . | v.。 。 。 . | 应要求 |
| v6 (英语).。 。 。 . | v6 (英语).。 。 。 . | 应要求 |
插件主版本遵循Capacitor主版本.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-uwb` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
bun add @capgo/capacitor-uwb
bunx cap sync
使用量
import { CapacitorUwb } from '@capgo/capacitor-uwb';
const availability = await CapacitorUwb.isAvailable();
if (!availability.available) {
return;
}
await CapacitorUwb.addListener('rangingUpdate', (update) => {
console.log(update.distanceMeters, update.direction);
});
// iOS: exchange discovery tokens out-of-band, then start ranging
const { discoveryToken } = await CapacitorUwb.getDiscoveryToken();
await CapacitorUwb.startPeerSession({ peerDiscoveryToken: '<peer-token-base64>' });
// Android: controller shares ranging parameters out-of-band
const controller = await CapacitorUwb.startControllerSession();
await CapacitorUwb.startControleeSession({
rangingParameters: {
...controller.rangingParameters,
peerAddress: controller.localAddress,
},
});
await CapacitorUwb.stopSession();
页:1
- 测试真实的UWB硬件. 模拟器和大多数桌面浏览器都不曝光UWB收音机.
- iOS: (英语) 在 Xcode 中添加近接交互能力并设定
NSNearbyInteractionUsageDescription内Info.plist。 。 。 . - 机器人: 插件声明
android.permission.UWB_RANGING。在开始会话之前,控制器和控制器之间交换频段参数. - 网络 :
isAvailable()返回时supported: false。 。 。 .
完整的设置指南 : capgo.app/docs/插件/uwb
示例应用程序
这个 example-app/ 文件夹中包含一个小 Vite 演示,用于检查可用性、交换会话参数、聆听测距更新和停止会话.
API 密码
isAvailable()getDiscoveryToken()startPeerSession(...)startControllerSession(...)startControleeSession(...)stopSession()addListener('rangingUpdate', ...)addListener('sessionStateChanged', ...)removeAllListeners()getPluginVersion()- 接口
- 类型异名
IOS和Android上的超宽波段(UWB)的电容插件.
iOS使用Apple's Nearby Interactive框架进行对等测距.
Android使用喷气式包装 androidx.core.uwb 用于控制器/控制器会话.
两个平台都要求交换发现符或测距参数 出带(例如蓝牙LE或后端).
易读 ()
isAvailable() => Promise<UwbAvailabilityResult>
请检查UWB是否支持, 设备上是否目前可用 .
回返情况: Promise<UwbAvailabilityResult>
自: 8.0.0 (单位:千美元)
获取 Discovery Token ()
getDiscoveryToken() => Promise<DiscoveryTokenResult>
在iOS上获取本地的"近相"发现符.
将返回的令牌与对等的带外键共享, 然后调用
startPeerSession() 与对等符号.
回返情况: Promise<DiscoveryTokenResult>
自: 8.0.0 (单位:千美元)
启动PeerSession (...)
startPeerSession(options: StartPeerSessionOptions) => Promise<void>
在 iOS 上启动一个近接互动对等会话 .
| 参数 | 类型 |
|---|---|
options | StartPeerSessionOptions |
自: 8.0.0 (单位:千美元)
启动控制会议(...)
startControllerSession(options?: StartControllerSessionOptions | undefined) => Promise<AndroidControllerSessionResult>
启动Android UWB控制器会话并返回可共享参数.
| 参数 | 类型 |
|---|---|
options | StartControllerSessionOptions |
回返情况: Promise<AndroidControllerSessionResult>
自: 8.0.0 (单位:千美元)
启动控制会议(...)
startControleeSession(options: StartControleeSessionOptions) => Promise<void>
用控制器提供的参数启动一个Android UWB控制器会话.
| 参数 | 类型 |
|---|---|
options | StartControleeSessionOptions |
自: 8.0.0 (单位:千美元)
停止会议( )
stopSession() => Promise<void>
停止活动的 UWB 测距会话 .
自: 8.0.0 (单位:千美元)
添加倾听器( 范围更新date )..
addListener(eventName: 'rangingUpdate', listenerFunc: (event: RangingUpdateEvent) => void) => Promise<PluginListenerHandle>
正在运行的会话中可听到距离和方向的更新 .
| 参数 | 类型 |
|---|---|
eventName | 'rangingUpdate' |
listenerFunc | (event: RangingUpdateEvent) => void |
回返情况: Promise<PluginListenerHandle>
自: 8.0.0 (单位:千美元)
添加收听器( “session state Changed' ,...)
addListener(eventName: 'sessionStateChanged', listenerFunc: (event: SessionStateChangedEvent) => void) => Promise<PluginListenerHandle>
听听会话周期变化.
| 参数 | 类型 |
|---|---|
eventName | 'sessionStateChanged' |
listenerFunc | (event: SessionStateChangedEvent) => void |
回返情况: Promise<PluginListenerHandle>
自: 8.0.0 (单位:千美元)
删除所有收听器( )
removeAllListeners() => Promise<void>
删除此插件的所有注册听众 .
自: 8.0.0 (单位:千美元)
获取 PluginVersion ()
getPluginVersion() => Promise<PluginVersionResult>
获取当前本地插件版本 .
回返情况: Promise<PluginVersionResult>
自: 8.0.0 (单位:千美元)
接口
Uwb 可用性
返回结果 isAvailable()。 。 。 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
supported | boolean | 设备硬件是否支持 UWB 范围 . | 8.0.0 (单位:千美元) |
available | boolean | UWB目前是否可用并准备进行测距会话. | 8.0.0 (单位:千美元) |
platform | 'ios' | 'android' | 'web' | 由本地或网络执行返回的平台标签 . | 8.0.0 (单位:千美元) |
发现Token结果
返回结果 getDiscoveryToken() (原始内容存档于2018-03-31). On iOS.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
discoveryToken | string | 基础64编码 NIDiscoveryToken 与对等频段外共享. | 8.0.0 (单位:千美元) |
开始会话选项
备选方案 startPeerSession() (原始内容存档于2018-03-31). On iOS.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
peerDiscoveryToken | string | Base64 编码端点 NIDiscoveryToken。 。 。 . | 8.0.0 (单位:千美元) |
isCameraAssistanceEnabled | boolean | 支持时是否启用相机辅助(iOS 16+). | 8.0.0 (单位:千美元) |
机器人控制器
在启动 Android 控制器会话时返回参数 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
rangingParameters | AndroidRangingParameters | 运行参数可与控制对象共享出带. | 8.0.0 (单位:千美元) |
localAddress | string | 本地的 UWB 地址作为 Base64- 编码字节数组. | 8.0.0 (单位:千美元) |
Android Ranging (英语). 参数
Android测距参数在控制器和控制器之间交换出波段.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
sessionId | number | 由两位同行共享会话标识符 . | 8.0.0 (单位:千美元) |
sessionKeyInfo | string | 可选的 Base64 编码会话密钥信息 . | 8.0.0 (单位:千美元) |
subSessionId | number | 提供STS的可选子会话标识符. | 8.0.0 (单位:千美元) |
subSessionKeyInfo | string | 可选的碱基64-编码子会话密钥信息. | 8.0.0 (单位:千美元) |
complexChannel | UwbComplexChannel | 范围会话的频道配置 . | 8.0.0 (单位:千美元) |
peerAddress | string | 端口 UWB 地址为 Base64- 编码字节数组 . | 8.0.0 (单位:千美元) |
uwbConfigType | number | UWB 配置类型 。 默认在Android上独播DS-TWR. | 8.0.0 (单位:千美元) |
slotDurationMillis | number | 持续时间以毫秒计. | 8.0.0 (单位:千美元) |
updateRateType | number | 搜索更新速率类型 RangingParameters 安卓号. | 8.0.0 (单位:千美元) |
Uwb 复合频道
Android UWB 复杂频道与对等端交换出波段.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
channel | number | UWB频道号码. | 8.0.0 (单位:千美元) |
preambleIndex | number | 测距会场使用的序言索引. | 8.0.0 (单位:千美元) |
开始控制会议选项
备选方案 startControllerSession() 安卓号.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
sessionId | number | 与控制对象共享会话标识符 . | 8.0.0 (单位:千美元) |
sessionKeyInfo | string | 可选的 Base64 编码会话密钥信息 . | 8.0.0 (单位:千美元) |
subSessionId | number | 备选子会话标识符. | 8.0.0 (单位:千美元) |
subSessionKeyInfo | string | 可选的碱基64-编码子会话密钥信息. | 8.0.0 (单位:千美元) |
complexChannel | UwbComplexChannel | UWB 频道配置 . | 8.0.0 (单位:千美元) |
uwbConfigType | number | UWB 配置类型 。 默认为 unicast DS- TWR . | 8.0.0 (单位:千美元) |
slotDurationMillis | number | 持续时间以毫秒计. | 8.0.0 (单位:千美元) |
updateRateType | number | 搜索更新速率类型 RangingParameters 安卓号. | 8.0.0 (单位:千美元) |
peerAddress | string | 可选控制器UWB地址. 提供范围时立即开始. | 8.0.0 (单位:千美元) |
启动控制会议选项
备选方案 startControleeSession() 安卓号.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
rangingParameters | AndroidRangingParameters | 从控制器出带得到的测距参数. | 8.0.0 (单位:千美元) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
搜索更新事件
有效载荷 rangingUpdate 听着.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
distanceMeters | number | 估计距离对等方以米计. | 8.0.0 (单位:千美元) |
direction | UwbDirection | 可用时方向矢量为对等点 . | 8.0.0 (单位:千美元) |
azimuthRadians | number | 可用弧度时的半角. | 8.0.0 (单位:千美元) |
elevationRadians | number | 可用弧度时的升角. | 8.0.0 (单位:千美元) |
horizontalAngleRadians | number | 可用弧度时水平角度 . | 8.0.0 (单位:千美元) |
timestamp | number | 收到更新时以毫秒为单位解去九时戳. | 8.0.0 (单位:千美元) |
用户方向
UWB 测距报告3D方向矢量.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
x | number | 方向矢量的X组件. | 8.0.0 (单位:千美元) |
y | number | 方向向量的 Y 组件 . | 8.0.0 (单位:千美元) |
z | number | 方向矢量的 Z 组件 . | 8.0.0 (单位:千美元) |
会话状态已改变
有效载荷 sessionStateChanged 听着.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
state | UwbSessionState | 当前会议状态. | 8.0.0 (单位:千美元) |
reason | string | 可选的人类可读理由或错误描述. | 8.0.0 (单位:千美元) |
插件变压器
请求插件版本时返回结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
version | string | 本地插件版本字符串 . | 8.0.0 (单位:千美元) |
类型异名
开会国
插件报告的会话周期状态 .
'initialized' | 'running' | 'suspended' | 'resumed' | 'invalidated' | 'stopped' | 'peerDisconnected'