0

I've been trying to connect my arduino to a gopro hero 11, which should support BLE communication. The ArduinoBLE example "PeripheralExplorer" finds it and lists all the BLE services contained, roughly a dozen.

However, when trying to connect to a specific Service UUID, it fails and when I use advertisedServiceUuidCount(), it returns 1. Is there something I should do to switch the advertised Service from the Gopro? Or am I doing something wrong to access all of the GoPro's services? Also, other minor question : should I advertise with my arduino as a client?

here's the BLE part of the code I tried : `

while (!BLE.begin()) {
    Serial.println("starting Bluetooth® Low Energy module failed!");
  }
  BLEDevice peripheral;
  do{
    BLE.scan();
    delay(500);
   peripheral = BLE.available();
  }while (peripheral.localName()!="GoPro 3167");
  Serial.println("trouvé le truc");
      BLE.stopScan();
     // if(peripheral.hasService(WifiServiceUUID)) Serial.println("ah?");
     Serial.println(peripheral.advertisedServiceUuidCount());

` thanks!

  • 1
    I never tried to connect to a GoPro 11 using BLE, but some manufacturers don't want to open their protocols to the public and restrict access to their own custom app. This can be done in many ways, sometimes the connection requires some "passcode" to be sent to a specific characteristic before connecting to any other. You should try to connect to your sensor using a generic BLE exploration tool such as [nRF Connect](https://www.nordicsemi.com/Products/Development-tools/nrf-connect-for-mobile) to play around with the characteristics. It even allows "sniffing" a connection through the GoPro app. – Michael Kotzjan Nov 10 '22 at 06:30

0 Answers0