Imitating a BLE device with a ESP32

faijeya
Posts: 1
Joined: Thu May 10, 2018 2:39 pm

Imitating a BLE device with a ESP32

Postby faijeya » Thu May 10, 2018 2:53 pm

Hi.

I'm trying to imitate a BLE wireless controller (for a standalone VR helmet), so I've looked what services does the controller advertise and tried to replicate them.
And failed.

1) First things first, BLEDevice::createServer() seems to automatically create GenericAccess service with DeviceName and Appearance characterstics (and another numeric one) in it.
I'd like to insert PeripheralPreferredConnectionParameters characteristic into it, but:
- I couldn't find an easy way to hook up to an existing BLEService (is it possible using BLEServiceMap?)
- I couldn't find in the libraries down to Espressif documentation where is it exactly created

2) When I create another GenericAccess it is created fine, though PeripheralPreferredConnectionParameters characteristic in it appears, but is not populated at all, no matter how I try.

3) And PnPID characteristic in DeviceInformation service isn't shown whatsoever.
Everything else is there, but for PnPID.

I'm not sure this is why my imitation is not recognized by the device I want it to pair, but I'd like to eliminate all possibilities.

Also I want to apologize if I'm trying to overwrite things specifically not meant to be overwritten.
Aside from this project I have no BLE or BT experience, so I'm playing copycat without understanding fully what these characteristics are for.

Thank you.

chegewara
Posts: 426
Joined: Wed Jun 14, 2017 9:00 pm

Re: Imitating a BLE device with a ESP32

Postby chegewara » Fri May 11, 2018 5:32 pm

Hi,
points 1 and 2, i cant help you here, because i couldnt find esp-idf API to set preffered connection setup.

3) Could you paste part of code with PnPID, all my examples display this info properly in nRF connect

Code: Select all

Also I want to apologize if I'm trying to overwrite things specifically not meant to be overwritten.

This is open source code, feel free to overwrite it if you need it. Class is designed to easy creating ble hid devices with minimum code required from programmer. It could have happen that something is missing or should be changed. Like i said, feel free to change it or request changes.


Could you open issue here:
https://github.com/nkolban/esp32-snippets/issues

Who is online

Users browsing this forum: No registered users and 3 guests