Control
This page will detail operations to command and control the GoPro.
Operations
- Keep Alive
-
- Type:
- ID:
- 0x5B
In order to maximize battery life, GoPro cameras automatically go to sleep after some time. This logic is handled by a combination of the
Auto Off
setting which most (but not all) cameras support and a Keep Alive message that the user can regularly send to the camera. The camera will automatically go to sleep if both timers reach zero.The Auto Power Down timer is reset when the user taps the LCD screen, presses a button on the camera, programmatically (un)sets the shutter, sets a setting, or loads a Preset.
The Keep Alive timer is reset when the user sends a keep alive message.
The best practice to prevent the camera from inadvertently going to sleep is to start sending Keep Alive messages every 3.0 seconds after a connection is established.
- UUID:
- Parameters:
-
- keep_alive (uint8) - hard-coded data set to 0x42
- UUID:
- Set Analytics
-
- Type:
- ID:
- 0x50
Configure the client as third-party for analytic tracking.
- UUID:
- UUID:
- Set AP Control
-
- Type:
- ID:
- 0x17
Enable / disable the camera’s WiFi access point.
- UUID:
- Parameters:
-
- mode (uint8) - 0 to disable, 1 to enable
- UUID:
- Set Camera Control
-
- Type:
- UUID:
- Feature ID:
- 0xF1
- Action ID:
- 0x69
- Message:
- UUID:
- Feature ID:
- 0xF1
- Action ID:
- 0xE9
- Message:
- Set Date Time
-
- Type:
- ID:
- 0x0D
Set the camera’s date and time (without timezone and daylight-savings information).
The date_time parameter is a 7 byte value defined as such:
uint16 year
uint8 month (1-12)
uint8 day (1-31)
uint8 hour (0-23)
uint8 minute (0-59)
uint8 second (0-59)
For example, date time “2023-01-31 03:04:05” is serialized as 07:e7:01:1f:03:04:05
- UUID:
- Parameters:
-
- date_time (7 byte date_time defined above) - Date time to set
- UUID:
- Set Local Date Time
-
- Type:
- ID:
- 0x0F
Set the cameras date and time with timezone and daylight-savings information.
The date_time parameter is a 10 byte value defined as such:
uint16 year
uint8 month (1-12)
uint8 day (1-31)
uint8 hour (0-23)
uint8 minute (0-59)
uint8 second (0-59)
int16 UTC offset in minutes
uint8 is_dst (1 if daylight savings time is enabled, 0 otherwise)
For example, date time “2023-01-31 03:04:05 (utc-02:00) (dst: on)” is serialized as 07:E7:01:1F:03:04:05:FF:88:01
- UUID:
- Parameters:
-
- date_time (10 byte date_time defined above) - Date time to set
- UUID:
- Set Shutter
-
- Type:
- ID:
- 0x01
Set Shutter On / Off
- UUID:
- Parameters:
-
- mode (uint8) - 0 for off, 1 for on
- UUID:
- Set Turbo Transfer
-
- Type:
- UUID:
- Feature ID:
- 0xF1
- Action ID:
- 0xEB
- Message:
- Sleep
-
- Type:
- ID:
- 0x05
Put the camera to sleep.
Note
The camera is still be connectable via BLE in sleep.
- UUID:
- UUID: