
Documentazione del protocollo BLE di Osmo Mobile

Questo repository esplora il protocollo Bluetooth Low Energy (BLE) utilizzato dalla serie di gimbal Osmo Mobile.
Le app ufficiali mobili sono obsolete e richiedono estese autorizzazioni di sistema. Tuttavia, i gimbal stessi comunicano attraverso un semplice protocollo BLE.
L'obiettivo di questo progetto è documentare tale protocollo in modo aperto e riproducibile, consentendo di controllare l'hardware da qualsiasi host Bluetooth, come un laptop.
Questo progetto è solo a scopo educativo e di interoperabilità. Nessun software o firmware proprietario è distribuito in questo repository.
L'Osmo Mobile 2 (OM2) è l'unico gimbal della serie che può ancora essere azionato utilizzando l'Mobile SDK ufficiale.
Il piano è di costruire prima un'applicazione Android minima (vedi sdk-app) che possa scoprire e connettersi al dispositivo, poi inviare comandi di rotazione con parametri precisi e controllabili. Successivamente, sviluppare uno strumento di sniffing per catturare e analizzare il traffico BLE generato dall'app.
Vedi in azione su imgur.
Testato su: OM2, OM3, OM4.
duml.py - parser base dei pacchetti DUML; il gimbal segue lo stesso protocollo usato in altri prodotti, come Mavicgimbal.py - un driver che gestisce la connessione, la scoperta MTU, la scrittura di comandi di output e l'iscrizione al canale di notificarotate.py - programma di esempio, invia diversi comandi di rotazione al gimbal[!NOTE] Su Linux/BlueZ, assicurati che il dispositivo non sia attualmente connesso al tuo sistema, altrimenti Bleak non sarà in grado di connettersi
Un'altra PoC è un'interfaccia web costruita sull'API Web Bluetooth in web-bluetooth. Fornisce un controller minimo nel browser per ruotare il gimbal.
Puoi provarlo su om-research.flab.dev