概述
StreamDock CPP SDK 是用于在 Linux, Windows, macOS 系统上绕过软件直接控制 StreamDock 设备的SDK,您可以通过本SDK轻松实现对设备的直接控制

StreamDock CPP SDK 如何与设备通信
StreamDock CPP SDK 使用 HIDAPI 与设备通信,HIDAPI 是一个用于与 HID 设备通信的简单跨平台库,查看详情
在不同平台上,SDK使用了不同的系统API来监听设备的插拔事件:
- Windows: 使用 Windows 消息机制 (WM_DEVICECHANGE) 监听设备热插拔事件
- Linux: 使用
libudev来监听设备的插拔事件,实现设备的热插拔支持 - macOS: 使用
IOKit框架监听设备事件
支持的设备型号
StreamDock CPP SDK 目前支持以下设备型号:
- StreamDock 293/293s (旧平台)
- StreamDock 293V3/293sV3 (新平台)
- StreamDock N1/N3/N3V2/N3V25 (新平台)
- StreamDock N4/N4Pro (新平台)
- StreamDock M3/M18/M18V2/M18V3 (新平台)
- K1 Pro (新平台)
- StreamDock XL (新平台)
平台特性
Linux
- 设备热插拔监听:通过
libudev实现设备插拔事件的实时监听 - 多设备支持:可同时连接和控制多个StreamDock设备
- 异步事件处理:支持异步处理设备事件,提高响应速度
- 权限管理:支持通过udev规则配置设备访问权限,或者通过 sudo 权限运行
Windows
- 设备热插拔监听:通过 Windows 消息机制 (WM_DEVICECHANGE) 实现设备插拔事件的实时监听
- 多设备支持:可同时连接和控制多个 StreamDock 设备
- 异步事件处理:支持异步处理设备事件,提高响应速度
- DLL支持:提供预编译的 transport.dll,简化集成过程
macOS
- 多设备支持:可同时连接和控制多个 StreamDock 设备
- 异步事件处理:支持异步处理设备事件,提高响应速度
- 权限管理:需要授予应用程序访问 USB 设备的权限
新旧平台差异
- 旧平台设备(如293/293s):所有命令必须串行执行(同步),不支持异步操作
- 新平台设备(如N系列、M系列):支持设备异步执行命令,响应速度更快
TIP
C++ 的版本推荐 17 或以上,Linux 推荐 Ubuntu 20.04 或以上,zlib推荐 1.2.11,libpng推荐 1.6.37,libjpeg 推荐 v9b , OpenCV: 4.12.0 或更高版本( Windows 平台提供预编译版本)
