Skip to content

gopro-livestream not connecting from Raspberry Pi #765

@CrabbyPete

Description

@CrabbyPete

I am running the SDK on a headless raspberry pi zero 2 W. I installed it in a virtual environment and installed the the sdk via pip. I can run the connect to wifi but I need to livestream from the pi. I ran the demo

gopro-livestream
I get the following:

Scanning for GoPro [A-Z0-9]{4} bluetooth devices...                                             bleak_wrapper.py:121
INFO     10:20:11.037    Discovered: DF:81:83:A8:D0:E3: GoPro 6516                                                    bleak_wrapper.py:134
INFO     10:20:11.054 Found 1 matching devices.                                                                       bleak_wrapper.py:149
INFO     10:20:11.062 Establishing the BLE connection                                                                        client.py:108
INFO     10:20:11.069 Establishing BLE connection to DF:81:83:A8:D0:E3: GoPro 6516...                                 bleak_wrapper.py:216
INFO     10:20:14.714 Pairing with bluetoothctl                                                                       bleak_wrapper.py:265
INFO     10:20:15.064 Discovering characteristics...                                                                  bleak_wrapper.py:361
INFO     10:20:16.030 Done discovering characteristics!                                                               bleak_wrapper.py:406
INFO     10:20:16.042 Enabling notifications...                                                                       bleak_wrapper.py:324
INFO     10:20:17.003 Done enabling notifications                                                                     bleak_wrapper.py:330
INFO     10:20:17.016                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "QueryCmdId.REG_STATUS_VAL_UPDATE",
             "status_id" : "StatusId.ENCODING",
             "protocol" : "Protocol.BLE",
             "uuid" : "Query",
         <<<<<<<<--------------

INFO     10:20:17.153                                                                                                gopro_wireless.py:738
         -------------->>>>>>>>
             "id" : "QueryCmdId.REG_STATUS_VAL_UPDATE",
             "status" : "ErrorCode.SUCCESS",
             "protocol" : "Protocol.BLE",
             "data" : {
                 "StatusId.ENCODING" : "False",
             },
         -------------->>>>>>>>

INFO     10:20:17.175                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "QueryCmdId.REG_STATUS_VAL_UPDATE",
             "status_id" : "StatusId.BUSY",
             "protocol" : "Protocol.BLE",
             "uuid" : "Query",
         <<<<<<<<--------------

INFO     10:20:17.298                                                                                                gopro_wireless.py:738
         -------------->>>>>>>>
             "id" : "QueryCmdId.REG_STATUS_VAL_UPDATE",
             "status" : "ErrorCode.SUCCESS",
             "protocol" : "Protocol.BLE",
             "data" : {
                 "StatusId.BUSY" : "False",
             },
         -------------->>>>>>>>

INFO     10:20:17.315 BLE is ready!                                                                                  gopro_wireless.py:685
INFO     10:20:17.324                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "CmdId.SET_THIRD_PARTY_CLIENT_INFO",
             "protocol" : "Protocol.BLE",
             "uuid" : "Command",
         <<<<<<<<--------------

INFO     10:20:17.445                                                                                                gopro_wireless.py:738
         -------------->>>>>>>>
             "id" : "CmdId.SET_THIRD_PARTY_CLIENT_INFO",
             "status" : "ErrorCode.SUCCESS",
             "protocol" : "Protocol.BLE",
         -------------->>>>>>>>

INFO     10:20:17.632                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "CmdId.SET_DATE_TIME_DST",
             "protocol" : "Protocol.BLE",
             "uuid" : "Command",
             "date_time" : "2025-05-28 10:20:17.631914-04:00",
             "tz_offset" : "-240",
             "is_dst" : "True",
         <<<<<<<<--------------

INFO     10:20:17.651                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "ActionId.REQUEST_GET_COHN_STATUS",
             "feature_id" : "FeatureId.QUERY",
             "protocol" : "Protocol.BLE",
             "uuid" : "Query",
             "register_cohn_status" : "1",
         <<<<<<<<--------------

INFO     10:20:17.736                                                                                                gopro_wireless.py:738
         -------------->>>>>>>>
             "id" : "CmdId.SET_DATE_TIME_DST",
             "status" : "ErrorCode.INVALID_PARAM",
             "protocol" : "Protocol.BLE",
         -------------->>>>>>>>

WARNING  10:20:17.749 Received non-success status: ErrorCode.INVALID_PARAM                                           gopro_wireless.py:829
INFO     10:20:17.757                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "CmdId.GET_THIRD_PARTY_API_VERSION",
             "protocol" : "Protocol.BLE",
             "uuid" : "Command",
         <<<<<<<<--------------

No parser exists for ActionId.SCAN_WIFI_NETWORKS
INFO     10:20:17.930                                                                                                gopro_wireless.py:744
         ----ASYNC----->>>>>>>>
             "id" : "CmdId.GET_THIRD_PARTY_API_VERSION",
             "status" : "ErrorCode.SUCCESS",
             "protocol" : "Protocol.BLE",
             "data" : "2.0",
         ----ASYNC----->>>>>>>>

INFO     10:20:19.594                                                                                                gopro_wireless.py:806
         <<<<<<<<--------------
             "id" : "SettingId.LED",
             "setting_id" : "SettingId.LED",
             "protocol" : "Protocol.BLE",
             "uuid" : "Settings",
         <<<<<<<<--------------

INFO     10:20:19.685                                                                                                gopro_wireless.py:744
         ----ASYNC----->>>>>>>>
             "id" : "SettingId.LED",
             "status" : "ErrorCode.SUCCESS",
             "protocol" : "Protocol.BLE",
         ----ASYNC----->>>>>>>>

ERROR    10:20:22.834 Response timeout of 5 seconds when sending ActionId.RESPONSE_GET_COHN_STATUS!                  gopro_wireless.py:817
ERROR    10:20:22.928 Response timeout of 5 seconds when sending CmdId.GET_THIRD_PARTY_API_VERSION!                  gopro_wireless.py:817
ERROR    10:20:22.941 Error while opening: ResponseTimeout('Response timeout occurred of 5 seconds')                 gopro_wireless.py:477
Traceback (most recent call last):
  File "/usr/lib/python3.11/asyncio/tasks.py", line 490, in wait_for
    return fut.result()
           ^^^^^^^^^^^^
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/util/util.py", line 247, in get
    return await super().get()
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/queues.py", line 158, in get
    await getter
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/gopro_wireless.py", line 815, in _send_ble_message
    response = await asyncio.wait_for(self._sync_resp_ready_q.get(), WirelessGoPro.WRITE_TIMEOUT)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/tasks.py", line 492, in wait_for
    raise exceptions.TimeoutError() from exc
TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/gopro_wireless.py", line 450, in open
    version = (await self.ble_command.get_open_gopro_api_version()).data
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/api/builders.py", line 288, in wrapper
    return await instance._communicator._send_ble_message(message, rules, **(await wrapped(**kwargs) or kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/gopro_base.py", line 111, in enforce_message_rules
    return await instance._enforce_message_rules(wrapped, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/gopro_wireless.py", line 607, in _enforce_message_rules
    response = await wrapped(message, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/face/lib/python3.11/site-packages/open_gopro/gopro_wireless.py", line 820, in _send_ble_message
    raise ResponseTimeout(WirelessGoPro.WRITE_TIMEOUT) from e
open_gopro.domain.exceptions.ResponseTimeout: Response timeout occurred of 5 seconds
INFO     10:20:22.987 Terminating the BLE connection                                                                         client.py:132
INFO     10:20:22.997 Disconnecting...                                                                                bleak_wrapper.py:416
INFO     10:20:25.682 Device disconnected!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfeedback requestedFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions