
Documentation du protocole BLE d'Osmo Mobile

Ce dépôt explore le protocole Bluetooth Low Energy (BLE) utilisé par la série de gimbals Osmo Mobile.
Les applications mobiles officielles sont obsolètes et nécessitent des autorisations système étendues. Cependant, les gimbals eux-mêmes communiquent via un protocole BLE simple.
L'objectif de ce projet est de documenter ce protocole de manière ouverte et reproductible, permettant de contrôler le matériel depuis n'importe quel hôte Bluetooth, comme un ordinateur portable.
Ce projet est uniquement à des fins éducatives et d'interopérabilité. Aucun logiciel ou firmware propriétaire n'est distribué dans ce dépôt.
L'Osmo Mobile 2 (OM2) est le seul gimbal de la série qui peut encore être actionné à l'aide du Mobile SDK officiel.
Le plan est de d'abord construire une application Android minimale (voir sdk-app) capable de découvrir et de se connecter à l'appareil, puis d'envoyer des commandes de rotation avec des paramètres précis et contrôlables. Ensuite, développer un outil de sniffing pour capturer et analyser le trafic BLE généré par l'application.
Voir en action sur imgur.
Testé sur : OM2, OM3, OM4.
duml.py - analyseur de base des paquets DUML ; le gimbal suit le même protocole utilisé dans d'autres produits, comme le Mavicgimbal.py - un pilote gérant la connexion, la découverte MTU, l'écriture des commandes de sortie et l'abonnement au canal de notificationrotate.py - programme d'exemple, émet plusieurs commandes de rotation au gimbal[!NOTE] Sous Linux/BlueZ, assurez-vous que l'appareil n'est pas actuellement connecté à votre système, sinon Bleak ne pourra pas se connecter
Une autre preuve de concept est une interface utilisateur web construite sur l'API Web Bluetooth dans web-bluetooth. Elle fournit un contrôleur minimal dans le navigateur pour faire tourner le gimbal.
Vous pouvez l'essayer sur om-research.flab.dev