
此仓库探索了 Osmo Mobile 系列云台所使用的蓝牙低功耗(BLE)协议。
官方移动应用已过时,且需要广泛的系统权限。 然而,云台本身通过简单的 BLE 协议进行通信。
本项目的目标是公开、可复现地记录该协议, 使得可以从任何蓝牙主机(如笔记本电脑)控制该硬件。
本项目仅供教育和互操作性目的。 本仓库中未分发任何专有软件或固件。
Osmo Mobile 2(OM2)是该系列中唯一仍可使用官方 Mobile SDK 进行驱动的云台。
计划是先构建一个最小的 Android 应用(参见 sdk-app),该应用可以发现并连接设备, 然后发送具有精确可控参数的旋转命令。 接下来,开发一个嗅探工具,用于捕获和分析应用产生的 BLE 流量。
请参见 imgur 上的实际演示。
已在以下设备上测试:OM2、OM3、OM4。
duml.py - DUML 包的基本解析器;云台遵循与其他产品(如 Mavic)相同的协议gimbal.py - 一个驱动程序,负责处理连接、MTU 发现、写入输出命令以及订阅通知通道rotate.py - 示例程序,向云台发送若干旋转命令[!NOTE] 在 Linux/BlueZ 中,请确保设备当前未连接到您的系统, 否则 Bleak 将无法连接
另一个 PoC 是基于 Web Bluetooth API 构建的 Web UI,位于 web-bluetooth 中。 它提供了一个极简的浏览器内控制器,用于旋转云台。
您可以在此处尝试:om-research.flab.dev