how to read bluetooth UUID?

Posted on
  • Hello ,
    when I scan the bluetooth , I get this message:

     BluetoothDevice: {
        "id": "3c:bd:3e:2f:0f:18",
        "rssi": -90,
        "data": new Uint8Array([2, 1, 2, 17, 7, 252, 157, 208, 179, 203, 132, 224, 132, 6, 66, 243, 247, 225, 224, 191, 203]).buffer,
        "services": [
          "cbbfe0e1-f7f3-4206-84e0-84cbb3d09dfc"
         ]
       },
      BluetoothDevice: {
        "id": "c8:d0:83:e3:4b:1f public",
        "rssi": -83,
        "data": new Uint8Array([2, 1, 26, 2, 10, 12, 10, 255, 76, 0, 16, 5, 1, 16, 239, 212, 67]).buffer,
        "manufacturer": 76,
        "manufacturerData": new Uint8Array([16, 5, 1, 16, 239, 212, 67]).buffer
       },
    

    for the first devive I see:
    why there is no manufacturer number?
    and how can I read the services ? what does it mean? can one expalin ?
    also , what does "data" mean? how can I understadn what he sending?

    for the second device:
    is there a list of manufacturers? so number 76 is iphone (for example?)
    also what does the manufacturerData mean? how can I understand it?

    the reason I'm asking is - I have a blutooth device I want to write for him application , and I want to see how and I can read from it

    Thanks ,

  • why there is no manufacturer number?

    The device isn't advertising one

    and how can I read the services ? what does it mean? can one expalin ?

    You just need to start reading through the documentation on the Espruino site. Here's one I linked for you previously which explains it: https://www.espruino.com/About+Bluetooth­+LE

    also , what does "data" mean? how can I understadn what he sending?

    It's the 'raw' Bluetooth data that describes the other fields. You can ignore it.

    is there a list of manufacturers? so number 76 is iphone (for example?)

    Literally just google bluetooth le manufacturer: https://www.bluetooth.com/specifications­/assigned-numbers/company-identifiers/

    also what does the manufacturerData mean? how can I understand it?

    It's unique to the manufacturer - so you'll have to google it and see if it is described somewhere

  • in the manufacturer the number shown is in Decimal ,right ?
    so 76 - Creative Technology Ltd.
    6 - Microsoft?

    I read the link - jsut want to be sure
    there is no way to know what is the service been send right ?
    If I look at the first device
    and take look at the second group of 4 digits :"e0e1"
    this is the sevice name ? and this is not a standart one ?
    it could mean 'sensor value' (for example ....)?
    if this I understadn it correct - where is the value of it?

    also if the 4 digits were "0x2A80" that mean that the service was Age? (according to GATT) , and where was the value of this ?

    Thanks ,

  • It's just normal JSON, so decimal. From that link:

    76	0x004C	Apple, Inc.
    

    If I look at the first device and take look at the second group of 4 digits

    From the 'about bluetooth' page, it's a 128 bit UUID - so you can't just take 16 bits out of it. It's the full thing that is the service name - it's non-standard as you say. A quick google doesn't seem to show anyone's written any code to use it either.

    it could mean 'sensor value' (for example ....)?

    When it's in advertising like this (it can appear in other ways) it means "when you connect, this device has a sensor value", rather than advertising the sensor value to everyone

    if this I understadn it correct - where is the value of it?

    You'd have to connect first. There are some examples at https://www.espruino.com/About+Bluetooth­+LE#connecting-puck-as-central-

    What I'd suggest is using nRF connect app first to connect to the device and figure out what services it has and what the values are. It's a nice user-friendly way to see them.

    When you connect you may find a whole bunch more services. What you see being advertised as "cbbfe0e1-f7f3-4206-84e0-84cbb3d09dfc" is probably just the device saying I'm a XYZ so that the relevant app knows which device to connect to.

    also if the 4 digits were "0x2A80" that mean that the service was Age?

    If it was just those 4 digits then yes. But when it's the whole 128 but UUID it's not.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

how to read bluetooth UUID?

Posted by Avatar for David1234321 @David1234321

Actions