Hello all, Im a newbie in terms of BLE I read the documentation regarding the bluetooth protocol but still, when I read how to connect to the nuki I can’t understand these steps:
CL registers itself for indications on GDIO
CL writes Request Data command with Public Key command identifier to GDIO
CL sends 0100030027A7
Im tryng to build an integration in C++, these are the steps in my flow:
scan for devices near by
looking for the nuki - strcmp(nameBuffer, “Nuk”)
once nuki detected try to connect to the address but all the attempts seems to fail
can somebody guide me on these in order to continue the development, thanks in advance for any help.
You could look to my JavaScript implementation of a Nuki client connecting to the lock by BLE: https://github.com/as19git67/nukible to see the necessary steps. There is also a python implementation from another developer…
Hey @aschegg looking at your code I noticed when you retrieve the manufacturer data the lenght of the message has to be >= 24, but when I retrieve this data the length is 21 so is a bit different, do you know if this is ok?
I’ve looked at my code (it’s already a while ago when I implemented it) and I believe that the nukiServiceUuid ‘a92ee200550111e4916c0800200c9a66’ that is in the manufacturer data is prefixed by 4 bytes which might be the length ( I don’t remember exactly). But this could be depending on the library you are using for the bluetooth stuff. In the case of nukible the library is noble and that might use 4 bytes for the length.
In your case it could be that it’s only one byte and because auf that you get only 21 bytes in the manufacturer data.
Thanks Anton fo the clarification, I printed the data inside manufatcurer_data but I can’t distinguish any known service/charcater, so I’ll kepp looking around fo these, thanks for your help man!!