node-osmo icon indicating copy to clipboard operation
node-osmo copied to clipboard

Start/Stop recording and Wakeup Action4/5 (like GPS Remote)?

Open danergo opened this issue 8 months ago • 33 comments

Is this something achievable?

GPS Remote can do that, but I'm looking for an opensource implementation.

Your description caught my eyes, but I can't find more details. Please confirm this.

danergo avatar Mar 27 '25 18:03 danergo

scan-for-devices.js works, finds my Action4.

Now how can I start recording?

danergo avatar Mar 28 '25 16:03 danergo

Feature list does not have recording as a feature. I am lacking additional documentation of the protocol when it comes to recording etc

datagutt avatar Mar 28 '25 16:03 datagutt

I have a GPS Remote from my friend for a week. I also have a BLE sniffer (TI), which can record pcap to analyse with wireshark. In case I do some logs (start and stop record), would you mind helping to analyze them?

danergo avatar Mar 28 '25 17:03 danergo

Hardest thing IMHO is the linking process, which is already done (my Action4 displayed 'love'), so a few basic commands (start/stop record, turn off, wake up, quickswith pushbutton trigger) shouldn't be hard to detect for a trained eye. All these functions are in the GPS Remote, so I can trigger these functions many times to reproduce in the logs. Let me know your thoughts :)

danergo avatar Mar 28 '25 18:03 danergo

What do you think?

danergo avatar Mar 31 '25 06:03 danergo

Logs are welcome

datagutt avatar Mar 31 '25 07:03 datagutt

Here we go:

Action4.zip

danergo avatar Apr 01 '25 06:04 danergo

This contains:

  • pairing procedure
  • start recording
  • stop recording

Then a few more start/stop,

Then power off command, then wakeup command.

Did you have any luck with it? Would you like having more, specialised logs? (Like only start, only stop, etc)? If so - let me know.

I appreciate your help.

Thanks!

danergo avatar Apr 02 '25 11:04 danergo

Hi! Do you have any news maybe? Let me know how can I help.

danergo avatar Apr 05 '25 07:04 danergo

I will need to give back the GPS Remote to my friend soon. Please let me know if any other logs will be needed to record.

Thank you!

danergo avatar Apr 07 '25 14:04 danergo

Havent had time to start the actual implementation, but this should be fine to start

datagutt avatar Apr 07 '25 14:04 datagutt

Thanks a lot!

On Mon, 7 Apr 2025, 16:39 Thomas Lekanger, @.***> wrote:

Havent had time to start the actual implementation, but this should be fine to start

— Reply to this email directly, view it on GitHub https://github.com/datagutt/node-osmo/issues/3#issuecomment-2783571648, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZKPOCDSKB6RVQIDE2FXZ32YKEYZAVCNFSM6AAAAABZ5VJGF2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOOBTGU3TCNRUHA . You are receiving this because you authored the thread.Message ID: @.***> [image: datagutt]datagutt left a comment (datagutt/node-osmo#3) https://github.com/datagutt/node-osmo/issues/3#issuecomment-2783571648

Havent had time to start the actual implementation, but this should be fine to start

— Reply to this email directly, view it on GitHub https://github.com/datagutt/node-osmo/issues/3#issuecomment-2783571648, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZKPOCDSKB6RVQIDE2FXZ32YKEYZAVCNFSM6AAAAABZ5VJGF2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOOBTGU3TCNRUHA . You are receiving this because you authored the thread.Message ID: @.***>

danergo avatar Apr 07 '25 16:04 danergo

Once we will succeed replaying these commands, I will port this to WearOS, so we can use our smartwatch to control these cameras. Also, I'll create a physical remote, which will work with both cameras, similar to GPS remote, but smaller, and more stable (battery, screen, few buttons). Will be very nice :)

danergo avatar Apr 08 '25 15:04 danergo

Once we will succeed replaying these commands, I will port this to WearOS, so we can use our smartwatch to control these cameras. Also, I'll create a physical remote, which will work with both cameras, similar to GPS remote, but smaller, and more stable (battery, screen, few buttons). Will be very nice :)

That would be very useful, a DIY remote to start/stop recording

issame avatar Apr 09 '25 20:04 issame

Yepp. Will definitely do once we can could reverse engineer these commands. :)

danergo avatar Apr 10 '25 06:04 danergo

Hi all, hi @danergo, would it be possible for you to record different pcaps for different actions? One pcap for pairing, one unpairing, one start, and so on. If you could also record a pcap when both remote and camera, already paired, are switched on from ground up, not from deep sleep (after 30 mins or disconnecting the battery).

invano avatar Apr 14 '25 21:04 invano

Sure, @invano,

Please find attached my new pcap files, and this below table describes it:

Filename Init Action1 Action2 Repeat Note
Action4Idle Action4: OFF, Remote: OFF Action4: ON, Remote: OFF N/A 0
Action4Idle_ConnectRemote Action4: OFF, Remote: OFF Action4: ON, Remote: ON, CONNECT Action4: OFF, Remote: OFF 5
Action4ON_RemoteON_Start-Stop recording Action4: ON, Remote: ON, CONNECTED Start Recording Stop Recording 5 Video lengths: 5s; 10s; 5s; 10s; 5s (approx)
Action4ON_RemoteON_QS Action4: ON, Remote: ON, CONNECTED QuickSwitch N/A 12 ScreenSwitch; C1: 4K50HB; C2: 4K50RS+; C3: SLO 4K 4X; Photo 16:9; Timelapse 4K0.5s
Action4ON_TurnOffWakeup Action4: ON, Remote: ON, CONNECTED Remote: Trigger camera OFF Remote: Trigger camera ON (Wakeup) 5

2 Extra info is coming from camera to remote:

  • SDcard's capacity (in time usually - depends on mode)
  • Video mode (4K50HB in logs before QS)

Action4-Separated.zip

danergo avatar Apr 16 '25 14:04 danergo

Thank you for the effort. The first pcap was enough actually but I forgot to write back..

All commands work good, including parsing all the info sent by the camera. The only missing bit is the wake-up function which I still don't understand why doesn't work...

invano avatar Apr 16 '25 17:04 invano

Thanks for confirming! What's the next step? Can you maybe extend this repo with the commands you're referring "work good"?

Then I can do more logs focusing on wakeup command.

danergo avatar Apr 16 '25 20:04 danergo

Folks, any update on this? I'll have to give back this remote soon to my friend. No rush, just I really wish to know if we are lucky enough to control this (these) cameras with this repository.

danergo avatar Apr 21 '25 13:04 danergo

Hi I confirm it's totally controllable and everything works really nice, all thanks to your pcap. I wrote some python and esp32 code which I can surely upload. Otherwise I can share some docs to help you put support in this repo, if there is interest.

The only remaining side where your remote and recordings can help is multi linking feature. I think that's the only bit I'm missing atm.

invano avatar Apr 21 '25 13:04 invano

Thanks! Great news!

I have only once Action4, so I can't test the "multi-linking" feature unfortunately. But my friend has another Action4 (or 5, I don't remember), so I can borrow it from him to test & record. I'll be busy in the couple of 2-3 weeks, so I don't think I can create this recording in the (very) near future.

Python and ESP32 code is more than enough now, would be great if you could share (either within this repo, or in a different one).

danergo avatar Apr 21 '25 14:04 danergo

Hi I confirm it's totally controllable and everything works really nice, all thanks to your pcap. I wrote some python and esp32 code which I can surely upload. Otherwise I can share some docs to help you put support in this repo, if there is interest.

The only remaining side where your remote and recordings can help is multi linking feature. I think that's the only bit I'm missing atm.

Nice to read this! Could you upload the code somwhere? Thanks!

issame avatar Apr 22 '25 12:04 issame

Hi, @invano ,

Could you please share your codes/docs? Thank you!

danergo avatar Apr 25 '25 10:04 danergo

@invano would you mind uploading these resources/esp samples somewhere? Or in case you need more captures, please let me know.

Thx!

danergo avatar Apr 29 '25 11:04 danergo

Hi @invano, are you OK?

danergo avatar May 01 '25 18:05 danergo

I still didn't have enough time to complete this as my availability is mostly night-based, when possible. I will upload everything once the last bits are complete. No other recordings are needed from my side, thank you. Wake up function is done and probably multilink too. Currently focusing on gps data for telemetry overlay.

invano avatar May 01 '25 19:05 invano

Hello everyone, I found this project in DJI's official repository: https://github.com/dji-sdk/Osmo-GPS-Controller-Demo . I think this might be useful for you

yon1ng avatar May 15 '25 02:05 yon1ng

Hello everyone, I found this project in DJI's official repository: https://github.com/dji-sdk/Osmo-GPS-Controller-Demo . I think this might be useful for you

Problem solved, unexpected but we have official code I'd say :)

invano avatar May 15 '25 06:05 invano

Hello everyone, I found this project in DJI's official repository: https://github.com/dji-sdk/Osmo-GPS-Controller-Demo . I think this might be useful for you

Problem solved, unexpected but we have official code I'd say :)

@invano: I have tested this and it can indeed do almost anything with Action4 (and I guess also Action5), but it simply doesn't connect to my Pocket3.

This repository however claims

Typescript library for controlling DJI Osmo Action 3/4/5 and Pocket 3 using BLE (Bluetooth Low Energy)

My intention is build a remote which can control both Action cameras and Pocket3. Do you have any idea on why the above repository is not connecting to my Pocket3?

Is Pocket3 having different connection method?

danergo avatar May 17 '25 18:05 danergo